RAK3172 latest firmware with unresponsive "boot mode"

Hi, I am using a RAK3172 module on a custom PCB and am having an issue with the latest firmware release for this module.

The RAK module was working perfectly when using the old 1.0.4 firmware, however I wanted to use some commands from the RUI3 protocol.

Now seemingly randomly the device enters a mode where it sends <.BOOT MODE> over UART2 on powerup. When in this mode, the module is completely unresponsive. This occurs when the Boot0 pin is floating or when it is grounded. I can also force entry into this mode by sending the AT+BOOT command while the module is still being responsive.

Here’s an example of what is being sent from the device:
image

The module will stay in this mode even during reset or powering on/off

While in this “boot mode” STM32CubeProgrammer cannot communicate with the module:

The only way I have found to exit this mode is to tie the Boot0 pin to 3V3. When doing this, the device stops sending <.BOOT MODE>, and can connect to the programmer:

From here I have to flash a new version of the firmware from the file RAK3172-E_latest_final.hex using the programmer connected over UART. Once I do this the module returns to a usable state for a small amount of time, but then eventually returns to <.BOOT MODE>.

Is this a bug with the firmware, or an error in my processes?

Welcome to RAK forum Sam.

You can only connect to STM32CubeProgrammer via UART if BOOT pin is pulled up (3.3V).

Boot mode will only happen if you perform double click on reset button. If only in power up, is the supply voltage stable during this power up process?

Afternoon Carl,

Thank you for your prompt reply. We are developers for a big customer that has already ordered a large amount of RAK3172 units, we are moving to this unit from the 4270 due to its LoRaWAN certification status.

We have received samples of the RAK3172 to quickly approve the design but they came with the old software (v1.0.4) and after upgrading to the new RUI3 we are experiencing this issue.

We checked the reset line and it does bounce when the unit turns off, we will work on a solution for this issue.I would appreciate if you could answer the following:

Question 1: Is the update to RUI3 required for the module to be LoRaWAN certified (and pass the certification test)
Question 2: Once in BOOT mode it only comes out of it if we actually flash new code, is there an alternative?

Regards,
Sam

Hi @Samd ,

The issue is caused by the bounce on the reset pin. Is there a way to remove it? Right now, RUI3 bootloader was designed to be like that so that user has the ability to recover a firmware via double-click on reset.

To answer your questions:

  1. RAK3172 legacy and RUI3 firmware shares common RF related stack. Only the exposure of APIs is the major improvement. I am not sure with what you mean with LoRaWAN certified. Is it the LoRa Alliance certification or others like CE, FCC, etc.?
  2. Right now there is no way unless to flash a new code. I am coordinating now to the SW team on possible work arounds if any.

Hi Carl,

We are referring to the LoRaWAN Alliance Certification.

Regards,
Sam

Hi @Samd ,

I am still coordinating with our Certification Team about the LoRa Alliance Certification just to be sure.

Regarding your issue on boot mode, I’ve sent you a message directly.