Read DeviceEUI programmatically?

Is there a way to read a WisBlock DeviceEUI through software so I don’t have to create custom code for each device? My goal is to write a set of code and then just install it on the device without having to edit it for the nodeDeviceEUI.

Two options,

(1) You can look into the sources of WisBlock-API. at_cmd.cpp is an AT command interface that you can use to setup most of the LoRa/LoRaWAN stuff and flash-nrf52.cpp saves everything into the flash.

(2) RUI3 API, available now for writing custom firmware for our RAK4631/RAK4630. It includes as well an AT command interface, the complete LoRa/LoRaWAN handling is inside the API and can be used from your custom code. It has still some incompatibilities with Arduino libraries, but we are working hard to fix this.
RAK4631 with RUI3 documentation
RUI3 API documentation

The difference between the two:

WisBlock API RUI3
Open Source API is prorietary RAK code and not published
Uses SX126x-Arduino library MAC stack V1.0.2 Uses RAK MAC stack V1.0.3
Class A and C Class A, B and C
Has FreeRTOS Barebone Nordic SDK code
lowest power consumption ~30uA lowest power consumption ~6uA
written by me in my free time Developed by RAK R&D team