WisToolBox will not communicate with RAK3172. Device uploads fail

  • What product do you wish to discuss? RAK3172
  • What firmware are you using? RUI_4.2.1_RAK3172-E. Same issue with Arduino BSP, Arduino IDE, or VS Code (Arduino Framework)
  • What firmware version? Can it be obtained with AT+VER=? (Device is non-responsive to any AT commands (AT enabled is ON in IDE)
  • Computer OS? ( Windows 10)
  • How often does the problem happen? Consistently

I have two RAK3172 devices now that power up and then seem to possibly get stuck in sleep mode ( LPMLVL=2)? I am unable to upload even a simple example program (e.g. Arduino indicates failure to detect baud rate, VS Code just times out). I’m using an FTDI USB to serial connection to UART2.
When I press RESET the following prints out on the serial monitor (or WisToolBox RAK3172 console if I manually select a RAK3172 device).

RAKwireless RAK3172-E

Version: RUI_4.2.1_RAK3172-E
Current Work Mode: LoRaWAN.
RAKwireless RAK3172-E

I’ve tried using STM32CubeProgrammer to restore the boot loader and RUI firmware and it indicated a successful download to the device (Note: I did not select to fully erase the device first). I’ve tried manually forcing BOOT mode with the boot pin held high and tapping the reset.

The message after a reset demonstrates a valid serial to USB to terminal connection. But the RAK3172/RUI does not respond to any AT commands (including ATZ).

ATZ, AT+RUN, and AT+RESET have no effect.

Your troubleshooting guidance is appreciated (should I try to use STM32CubeProgrammer to flash an alternative application code?).

Did you flash any custom firmware before you encountered the problem?

Is this a RAK3172 WisDuo module on a custom PCB?

If you receive the startup message, the firmware on the device is working.
If there is no reaction to AT commands, it could be a faulty connection.

Check your connection from FTDI USB TX to RAK3172 RX.

Flashing with WisToolBox, Arduino IDE or VSC does not require the usage of the BOOT pin. This is only required when using the STM32CubeProgrammer.

@beegee

I currently baffled on this rather basic issue. Any additional troubleshooting guidance is welcome!. Thx.

Just means RAK3172 TX to Computer RX is working. If the device doesn’t answer to received commands

  1. the Computer TX to RAK3172 RX is faulty
  2. somehow the TX port of the RAK3172 is damaged (e.g. through ESD)

@beegee

I notice that if I create conditions that keep my application active (e.g. RAK3172 awake), I can upload a new program.

Question: could UART2 of the RAK3172 be disabled (RUI 4.2.2) by the combination of LPMLVL=2 and using api.system.sleep.all() in a function call by my loop()?

No, UART2 will work, even with LPM level 2. The UART that is disabled during low power mode is UART1.

1 Like