RAK811 UART 1 & 3 stuck in USER MODE


I have been working with RAK811 Evaluation board v1.2 and facing some issues to flash customized RUI code using DFU tool.
So i followed steps as shown below:

  1. I checked the issue and connected the eval board to RAK serial port tool and saw that both UART 1&3 are changed to USER mode as shown below:

  2. After this i tried to erase the chip contents and upgrade the firmware (RAK811_v3.0.0.14.H_20200810.hex) using STM32cube programmer. I got the same results (both UART 1 & 3 stuck in user mode as shown above).

  3. So i tried to upload the old bootloader using STM32cube programmer as shown below

    and upgrade the firmware as shown below:

The UART 1 after firmware upgrade shows normal mode as shown below

but i am not able to upload the RUI based customized code using this firmware

  1. So i upgraded the RAK811 eval board as described in step 2 and surprisingly got the same results (both UART in user mode).

So i am not sure, how to go about this problem. Any help will be greatly appreciated. Thanks.

Welcom to RAK forum @Ron ,

I can confirm the firmware you use is correct. I tried it now to double check and it seems to work and in Normal mode.


Few insights/questions I have.

  1. You can forget for now the old bootloader and FW and we focus on RUI V2 supported bootloader which should be FW V3.0.0.14
  2. When you received your device, it is already V3.0.0.14? Or still old bootloader?
  3. What modification in the RUI V2 code did you have on your custom firmware.
  4. What is the setting of your STM32CubeProgrammer? Did you erase before uploading the hex not bin of

Hello @carlrowan,

Thanks for replying.
This device which i am working on is very old and it was on old bootloader when i bought it. So in order to use RUI V2 i had to change to the latest firmware.
And it was working fine, until we did a few changes in the code to support our application which is trying to send GPS data through UART1 to ttn server.
So we did some changes in the RAK5205 based code in RUI V2 to change the UART1 to user mode.

Yes, i erased the chip before uploading the .hex file to the RAK811 eval board.

I am not sure how I can help more. Uploading the hex file is supposedly reset it.

One support I can do is validate it. You can send me the custom hex with UART1 and UART3 in usermode and I will upload it in my RAK811. Then upload the RAK default hex file. I will test if UART1 and 3 will still stay user mode.

Hello Carl,

I have uploaded the code which i used to make the .bin file to flash on RAK811 eval board.
Please find the code at the location shown below:

Let me know if you find any issues.

Hi @Ron ,

Can you please send me the .bin file you created so I can upload it direct on my RAK811? The .bin file that causes user_mode issue?

Hello Carl,

Please find the .bin file at this location

1 Like

I uploaded the bin file which resulted:

For UART1 to be USER mode at 9600
For UART3 still in NORMAL mode at 115200

I then use STM32CubeProgrammer to upload the default hex FW. The UART1 didn’t go back to normal mode. I have to check with the software team. Please note though that RUI V2 is already obsolete and we are moving now to RUI3 which is not online but offline.

I tested UART3 and still working as you see here in my screenshot when I use at+version.


I think i have both UARTs in user mode because in previous code versions i tested, I had UART3 in user mode while UART1 was in normal mode. And since uploading the FW doesn’t force the UARTs to go back to normal mode. I think that’s why I ended up with both UARTs in user mode after flashing the latest .bin file.

Yeah, if software team can help that would be really great.

Is there any link or tutorials which you can share regarding the usage of RUI V3 that would be really helpful.

I’ll update you for any findings related to your issue.

RUI3 (or RUI V3) can be found here.

But it is only compatible to RAK3172 and RAK4630 modules at the moment. No plans to support RAK811 since that is already a very old module and still uses an old LoRa chip.

Hi @Ron ,

We did some test and it turns out that you can’t perform full erase of the chip via UART bootloader of the STM32 on STM32CubeProgrammer. If you use ST-LINK V2, you will be able to get back the fresh RAK811 firmware. I am using STM32CubeProgrammer v2.9.0 and the erase behavior via UART and ST-LINK are different. MASS ERASE seems to be performed only via ST-LINK connection. I can’t find options to do it via UART.

Thanks Carl, this really helped.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.