How to update the RAK5205 firmware from a Mac

Yes that’s right.

The specific memory locations of the bootloader and the application code can be found here Low Level Development Reference | RAKwireless Documentation Center

OK, so the application binary should start at 0x8003000 and be of 116KiB in length, according to your documentation. However, the app binary you have supplied is way larger:


In fact, it is exactly 128KiB, which is the total size of the flash. Hence my impression that this binary contains the bootloader.


I see your concern. However, we cannot exactly correlate the .hex size to the actual ROM usage. Because it is not the actual size uploaded to it. Hex files are in ASCII format. In theory, you’ll get twice the size of the actual ROM usage because each byte will be represented by 2 ASCII in the hex file.

Actually, if you open the FW V3.0.0.14 you’ll see that the size of the .hex file is 310 kilobytes. Way bigger because it has the bootloader code in it.

I was discussing the bin file, not the hex file. The bin file is a raw image of bytes, right? The RUI_RAK5205_V3.0.0.12.H.T1_Release.bin is 128KiB in size, hence my assertion that it must contain the bootloader as the flash itself is 128KiB in size.

Any more thoughts in relation to my response?

Hi @huntc ,

The V3.0.0.12 has no bootloader. It uses a different bootloader FW as I mentioned above. The bigger size is created because of some padding data. That size is fine :+1:

Thanks for the reply. Sorry to keep pursuing this, but I need to get the device back to V3.0.0.12. “.14” isn’t working for me. I don’t have a Windows machine; just Unix. There must be a way… I’m able to flash and interact with many types of microcontrollers and, honestly, I can’t believe I’m having so much difficulty with this one. Anything you can do to help further is greatly appreciated.

Hi @huntc ,

Sadly, there is no work around on the old RAK LoRa Button tool since it only runs in Windows. The new RAK DFU Tool solves that issue so it runs now on different OS platform. But the FW was changed too to include the bootloader and application FW in one .hex file. The V3.0.0.12 bin file can only be uploaded via the RAK LoRA Button tool.

That’s unfortunate and surprising. This RAK device is of no use to me. I’ve appreciated your help, but I will not look at RAK for any more devices.

Hi @huntc ,

That’s sad and it breaks my heart to hear that. I wish I can help you further with the situation :cry:

It is really a shame that old tool only works in windows. I am still hoping that you can consider to use our products with the improvements we are doing.


I have a RAK7205 (EU868) with solar panel. I can see that the board inside is WisTrio-Lora, RAK5205, VER C; and the LoRa Module is RAK811-H. I tried to upgrade the firmware from, using the firmware update tool on a Mac (RAK DFU Tool v1.4).

I must have done something wrong because now the RAK7205 is not sending data anymore to the TTN. Can someone guide me with the procedure to restore my RAK7205? That would be very much appreciated.

Hi @lls ,

Did you follow the RAK7205/RAK5205 quick start guide here after the upgrade? Were you able to follow the steps or there was a roadblock a long the way?

Hi, the RAK7205 was registered on TTN and was working fine. After the upgrade, I am not even able to send any AT command. I can open the port using the RAK serial port tool, but I don’t receive any output on the AT commands. For example at+version does not print anything although I am connected through the serial (COM1 - 115200)

Hi @lls ,

What is your previous FW version before you did the update? And also it’s configuration/state?

I tried the FW you uploaded and it still works fine.

Here’s using Arduino serial terminal with at+version

Maybe you can try to approach of using STM32CubeProgrammer so your device will be a fresh one.

But you need to configure the BOOT pin in this approach…

Hi and Merry Christmas!

Many thanks for your guidance. Unfortunately, I am having issues with the first step of connecting to the RAK.

With the RAK Serial Port Tool, the AT commands does not return any output (it was working well before)

With the STM32CubeProgrammer tool, when trying to connect, I see the following:

14:38:49 : RTS low
14:38:49 : DTR low
14:38:49 : Serial Port COM1 is successfully opened.
14:38:49 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off
14:38:49 : Timeout error occured while waiting for acknowledgement.
14:38:49 : Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again…

I have configured the boot pin before connecting.

It seems completely out of use… If I cannot manage, would it be possible to send it somewhere for reconfiguration?

Hi @lls ,

Unless the RAK811 module is already damaged, the module should respond to STM32CubeProgrammer.

Some pointers:

  1. BOOT pin must be pulled up to VDD level at start. You can also click the RST pin J26 after connecting to USB port.
  2. COM port must be correct. I find it strange that on your setup, you use COM1. I rarely see COM1 on USB-Serial converters. Usually COM1 is the direct RS232 Serial port in DB9 connection.
  3. (For sanity check) When it seems I tried everything, I also try different USB cable, USB port or other PC/laptop.