Problem with Detecting baudrate, boot mode, RAK3372

I have a problem, I wrote a RAK19007 RAK3372 program - everything went quite OK until I uploaded a super simple program where I wanted to check the firmware version (it takes up a serial port). And now I have a problem that I can’t program the module because there is a message “Device is not in boot mode Detecting baudrate…User abort” I would like some ideas to solve the problem.

Hardware: RAK19007, RAK3372, Mac OS, Arduino IDE

Welcome to the forum @maciej.glowacki

I am guessing you blocked the USB Serial port with something like

Serial.begin(115200, RAK_CUSTOM_MODE);

The easiest way to recover your RAK3372 is to use the STM32CubeProgrammer over USB.

  1. Install STM32CubeProgrammer on your computer.
  2. Download latest RAK3172 firmware from our Download Center RAK3172-E_latest_final.hex
  3. Connect BOOT0 to VDD on the BaseBoard
  4. Connect the RAK3372/RAK19007 over USB to your computer
  5. Start STM32CubeProgrammer
  • Choose UART as connection option
    image
  • Connect to USB of the device (use USB port number, here it is COM24)
    image
  • Push Connect and check that the device is detected
    image
  • Switch to Erasing and Programming in STM32CubeProgrammer
  • Do a Full chip erase
  • Load the file RAK3172-E_latest_final.hex
  • Push Start Programming

This will flash back the original AT command firmware for the RAK3312 and you can flash a new custom application with ArduinoIDE.

And just a suggestion, before you start your main code or call the Serial.begin() function, implement a delay of 5 seconds. In case your code is crashing or you disable AT commands RAK_CUSTOM_MODE, you have a chance to send an AT+BOOT to the device to get it into bootloader mode.

1 Like

Thank you, so the only option is to re-upload the firmware? Do you have any suggestions as to what could have caused this?

As I wrote, it might be you disabled the AT command handler with

Serial.begin(115200, RAK_CUSTOM_MODE);

or your application simply crashes because of some code error.

In both cases the AT command to enter bootloader mode (AT+BOOT) cannot be processed and you cannot flash another firmware.

It reaches 22% and then there is a crash…

Try again.
I don’t see a problem in your screenshot, it seems to be still download in progress.

STM32CubeProgrammer works all the time for me.

If it continues to fail, try a different USB cable and a different USB port.

1.Connect
2.Erasing
3.Programing + Error

It worked the 4th time, maybe it’s a Mac OS problem - after loading a new firmware, should Device EUI be equal to 0?

Everything works OK, thank you for your help I have two more questions the first concerns Device EUI the second is more serious I noticed that this RAK 19007 + RAK 3372 set left for more than 4 hours stops sending data to LORAWAN Getway - what could be the reason? This is important for continuity of operation.

DevEUI empty is normal, as you did a chip-erase.

You can set the DevEUI printed on the label and choose a AppEUI and AppKey randomly.

What firmware are you using? My test devices around here are working “forever” without problems.

@beegee I download from this site:

https://downloads.rakwireless.com/#RUI/RUI3/Image/

file name: RAK3172-E_latest_final.hex

Is corect frimware?

Edit: @beegee It’s actually a strange thing because after issuing the command AT+VER=? the response I get is AT+VER=1.0.0 … Write frimware :slight_smile: again and …

And one more question, what is the purpose of WisToolBox? What is it for in the RAK ecosystem? When you try to connect, see what is in the Device field, the data from my serial port is the voltage from the voltage divider that I send to the serial port… Does this WisToolBox only work for modules in AT mode?