RAK4200 Firmware

I am integrating a RAK4200 module on to a new pcb,

I have configured the PCB as per the recommended configuration from RAKWireless.

According to the schematic of the RAK4600, the Boot0 pin is tied down internally, so I presume that the bootloader image should be written to 0x8000 0000, is this correct?

I am able to program the bootloader image (3.2.3) at this address using the JLink, no issue there.

But I am seeing no activity on UART2 during boot. I also checked UART1

I am not sure what else I may have missed, or what else I need to do to get this unit operational.

I understand that there is a boot image version 3.2.6 to be released soon, do I need to be using that?
I am using 3.2.3


Dear John_NZ,

When you finished loading, did you re-burn the firmware? And can you get any reply?

Do you mean reburn the main firmware using the serial tool?
No, I haven’t tried this as I expected to see the <boot mode> prompt when the boot loader runs.
Is this not what should happen?

Dear John_NZ,

When you're done burning the BootLoader, you plug in the serial tool and you don't see any logs, right?

That;s correct, I wasn’t seeing any logs.
I double checked the PCB and I had a solder joint that was missed on the UART Tx pin.
I have corrected that and uploaded the bootloader image to it now.

This brings up next issue.
I have loaded bootloader RAK4200_Bootloader_V3.2.3.bin

I now want to upload firmware RAK4200_v3.2.0.14_20200810.bin

Should I be using RAK Device Firmware Upgrade Tool v1.4?
I have tried this and it connects to RAK4200, but the upgrade times out.


Further to my previous question about the upgrade tool.
I uploaded the RAK4200_v3.2.0.14_20200810.bin file into the RAK4200 using the JLink programmer.
It runs, but when issuing the at+set_config=device:boot command, the device reboots, but not into boot mode.
I suspect that this may have something to do with the Firmware upgrade tool not being able to upload the image

Dear John_NZ,

Yes,You use different firmware and bootlader,Cause problems!

Maybe I can send your the latest firmwire HEX file,include bootloader and firmware!

Dear John_NZ,

Yes,You use different firmware and bootlader,Cause problems!

Maybe I can send your the latest firmwire HEX file,include bootloader and firmware!

You can use System Bootloader even BOOT0 pull-down.
See here

Hi Nicholas,
I encountered the same issue as John-NZ did. my rak4200 module equipped with a factory firmware of v3.2.0.12. I flahsed the bootloader 3.2.3 and then the UART2 no longer works. I am wondering if you could send me the correct boot loader and firmware as well? Just confused that the images I downloaded from the documentation center doesn’t work at all…

Dear Leef,

 I'm sorry for the confusion!

 Maybe you can burn v3.2.0.14.hex via Jlink, which includes the latest BootLoader as well as the firmware.

 By th way:The bootloader upgrade currently only supports uart1.

Best regards!

1 Like

Hi Lifeng,

You can get the latest FW here https://downloads.rakwireless.com/LoRa/RAK4200/Firmware/

Aside via Jlink or RAKDAP1, you can also use STM32CubeProgrammer software so you can update your FW directly via UART1 without external hardware tools needed.

You need to upload the hex file and not the bin file since the latest bootloader is on the hex file. After you do this, you now have the latest RAK4200 FW and bootloader. For the next FW revisions, you can already use RAK Device Firmware Upgrade Tool v1.4 to update since you already have the compatible bootloader for it :slight_smile:

Hi Nicholas,
Thanks for the quick answering. However, after tried several ways I was still not able to get it works…
Here is what i’ve done so far:

  1. I use stlink to flash the v3.2.0.14 hex file. It flash successfully but no any reboot info displayed on either of UART ports. I also tried to flash the bootloader using stlink only, it doesn’t work with the RAK Upgrade Tool V1.0 neither.
    2)I created a sample project using stm32 HAL library and flashed to the rak4200 using the same way. The sample code works and prints out the content I expected through UART port.
    3)I tried to dump out a binary image from a working RAK4200(fw v3., and then flashed to a non-working rak4200 (address from 0x08000000-0x0800FFFF), but it still not working. no AT response, no any print out from UART.
    So I am wondering if any part of my procedure of flashing is not correct or anything I am missing during the flashing? I am really confused for the problem I had so far.
    Really appreciate for the helps!

Hi Carlrowan,
Thank you for the response. I’ve followed the flashing procedure for couple times but still not able to get it work as expected. Please see the details I’ve done so far in the replying to @Nicholas and let me know if you have any clue of what’s going on.

Dear Lifeng,

   Please tell me, which software do you use to burn?

Best regards!

Hi Nicholas,
I use the STM32CubeProgrammer with stlink to flash the firmware. After doing hardware debugging again on my test board, I made the firmware running eventually. There is a cold connection on my UART1, sorry for the confusion. Then it comes up another question: I see the update notes of the firmware that both UART should be able to response to the AT command. But I was not able to see any logs print out from UART2. Just wondering if there is any command that can route the power-on logs to UART2?
Thanks again!

Good to hear it is working now @LeeF. Once in a while, we are really caught by cold solder issues.

Regarding uart, you can check the uart commands here https://docs.rakwireless.com/Product-Categories/WisDuo/RAK4200-Module/AT-Command-Manual/#at-set-config-device-uart-index-baud-rate

Hi Carlrowan,
Thank you for the response. I’ve checked the UART command that provided from the doc center. But I didn’t find a command which can swap the log output from UART1 to UART2. Just wondering if there is other tricks to make it possible? Thanks.