RAK3172 programming issue on LR14 Mikroe

I have following hardware:
RAK3172 based eval board from Mikroe LINK with replaced RAK3172 with a fresh one from DigiKey. Voltage supply rails are correct and clean (no ripple, noise, etc.).

I am trying to program the application into it or update the firmware. What is known:

  • 23:14:52.490 → Current Work Mode: LoRaWAN.

23:14:56.696 → AT+VER=RUI_4.0.6_RAK3172-E
23:14:56.696 → OK

  • AT+BOOT returns NOTHING, but the device does not respond to any command anylonger,

  • the device is procuding following output, while trying to upload example sketch via Arduino (UART is recognizable)

Device is not in boot mode
Detecting baudrate.
Entering boot mode
Device is not in boot mode
Device do not enter boot mode

  • the device is not recognized by STM32CubeProgrammer, trying to program over UART BOOT (pressing and holding the BOOT, pressing RESET, releasing RESET),

23:29:51 : STM32CubeProgrammer API v2.21.0 | Windows-64Bits
23:30:16 : RTS low
23:30:16 : DTR Low
23:30:16 : Serial Port COM15 is successfully opened.
23:30:16 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off
23:30:20 : Timeout error occured while waiting for acknowledgement.
23:30:20 : Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again…

  • the device is not recognized by STM32CubeProgrammer, trying to program over SWD

What is wrong with my procedure?
What did I miss?
Is the firmware upgrade locked somehow?

Welcome to the forum @merlinmag

The RAK3172 is not locked in any way. You can flash any firmware on it, whether it is based on RUI3, STM32CubeIDE or made with Zephyr.

I don’t know the MikroE board, but I am assuming it is using the correct UART for firmware update and AT commands. It should be pin 1 and pin 2 of the RAK3172 (UART2).

As you replace the RAK3172 on the MikroE board, check all pins for eventually bad soldering or solder bridges between pins.

@beegee many thanks for prompt reply.

The UART exposed in the eval board is correct.
All the pins are soldered correctly, there was the same behaviour with originally populated one.

Is there any known issue with the firmware that is flashed with currently when it comes to SW update? (But that would not explain why I can’t flash it with stm32cube with stm32 built-in hart bootloader).

Is there any other pin state required for programing?

There is nothing special required when using the UART to flash from ArduinoIDE.
Just don’t use BOOT0 pin, this is only required for STM32CubeProgrammer.

If you had the same problem with the board when you bought it, I would contact MikroE and ask them if there is something special on their boards.

Many thanks for prompt reply.
I double checked the module’s schematic, finding out that the UART ↔ USB bridge is on UART1 line instead of UART2.

Changed the topic to reflect the module used, maybe someone will have similar issue.

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