hi , I am working on RAK3172 i am getting this issue :
Device is not in boot mode
Detecting baudrate…
Detect baudrate fail, can not get the baudrate
I programed 20 to 30 modules in 5 or 6 device i am getting this issue . i want know why this happning in some of the device and how to resolved it , one more thing is in some of the device i programed onces it programed fine working fine but after some time or after some days its not working not getting at commands on serial monitor.
I Alredy tried Firmware update using STMCubeProgramer in some of the module it programs properly in some of the modules and some other not programed, i updating program using UART .
Plzzz Help me asap…
Please share more information
Custom PCB? Show schematic, at least the direct connections on the RAK3172
How is UART2 connected? Is it only for programming or is a host MCU connected to it?
Is BOOT0 pin connected to anything?
Custom application on the RAK3172 that uses UART2 (Serial) ? If yes, show how Serial is initialized.
Custom PCB:Yes. The RAK3172 is integrated into our custom PCB. The PCB provides 3.3 VDC, GND, UART2 RX/TX, reset, and BOOT0 connections. UART2_RX and UART2_TX are brought out through connector J3. The Raspberry Pi interface connector P3 provides RAK3172_RX on pin 27, RAK3172_TX on pin 28, reset on pin 37, and BOOT0 on pin 40.
UART2 connection: UART2 is not used only for programming. It is used as the host communication interface between the RAK3172 and the Raspberry Pi 4B. The Raspberry Pi TX is connected to the RAK3172 RX, and the Raspberry Pi RX is connected to the RAK3172 TX, with a common GND.
UART application: The custom RAK3172 firmware actively uses the host serial interface. Serial1 is initialized at 4800 baud and is used to receive application packets from the host and transmit responses back.
Debug UART: Serial is initialized at 115200 baud and is used for debug/status messages.
BOOT0:BOOT0 is routed to Raspberry Pi connector P3 pin 40. The provided schematic does not show a permanent pull-up/pull-down for BOOT0, and the supplied firmware does not control BOOT0 in software.
Reset:The RAK3172 reset signal TO_RST is routed to P3 pin 37 and is also available on J3 pin 5.
Firmware: The custom application runs the LoRaWAN functionality on the RAK3172 and uses the host serial interface to receive data from the Raspberry Pi, process it, and transmit the required packets over LoRaWAN.
BOOT0 pin should be open for flashing over UART2. It is only required for flashing from
STM32CubeProgrammer. It is not required if you flash the firmware with RAKwireless tools.
What programming application are you using to flash the firmware?
- RAK DFU tool
- RAK WisToolBox
- something else
RX2/TX2 must not be influenced from the RPi while flashing firmware in any way.
If your application on the RAK3172 is using RX2/TX2 for communication with the RPi, make sure to enter RAK bootmode with AT+BOOT first before you start programming the RAK3172.
From your description, it looks like your custom PCB is using the pin headers of the RPi. The best way to program the RAK3172 and avoid any influence from the RPi is to remove your PCB from the RPi, just connect 3.3V, GND, RX2 and TX2 and flash the module.
when we program rak3172 no Rpi connected . i am using Ardiuno IDE to upload my program , what my concern in 1st atempt its working fine ,program upload properlly but after some time or after some day some of the device not showing deveui and appkey so i start uploading program again then it shows me this boot mode issue … why this happning ??
If your custom application works for a “while”, then there is no problem with flashing, there is a problem in your application.
You have to debug your application and find out where it fails.