All methods to flash firmware

Please include the following information, in order for us to help you as effectively as possible.

  • What product do you wish to discuss? RAK4631

  • What firmware are you using?

  • Computer OS? windows

  • What Computer OS version? windows 11

I am going to be using a RAK4631 with the RAK19010 base board. Since this board doesn’t have a usb port I am wondering what methods I could use to flash my firmware. I am a university student and have experience with arduino boards and a little bit of raspberry pi experience, so I’ve only ever used a direct usb connection to flash an arduino/communicate with the pi.

From what I’ve seen I could use the RAKDAP1 to flash code via the swd pins and can also use it to read serial outputs. This seems to be the preferred option since I am using the rs485 module on the I/O slot.

Would using the RAK5804 I/O expansion be able to flash code and receive serial comm via the USB connection? This wouldn’t be preferred unless I also got the dual I/O board so I could use both the I/O expansion and the RS485 modules.

Are there any other options I’ve missed? I need a board with the power slot since I’m supplying 5V. Apologies if I’m way off base here I’m still pretty new to all this.

Welcome to the forum @lukasj1

You covered two out of three options.
(1) RAKDAP1 or JLink over SWD pins
(2) RAK5804 USB port (need to double check, it was working on the first boards I got, but then I never used it)
(3) OTA DFU over BLE (the one you missed)

For (3) you have to implement the BLE service for the update in your code. If you use my WisBlock-API-V2, OTA DFU is already implemented. Otherwise look at this ble_ota_dfu example code.

Thank you for the reply! I’ll look into the OTA DFU option, never thought about flashing via BLE. I’ll probably going to end up getting the RAKDAP1 just since that’s more familiar and I understand wired connections a little better haha.

Good morning,

Don´t forget about RAKWireless WisDM and the LoRa Network Server, both can send the Gateway firmware:
RAKWireless WisDM configuration:

The Things Network configuration: