I want to use the RAK3172 for an industrial sensor as AT-Modem (using “AT+VER=RUI_4.2.0_…”). The 3172 is set to “LPM=1” and “LPMLVL=2” for lowest power ( < 2uA).
Most times communication works fine, but sometimes it seems, the 3172 does not understand the first sent byte (in Echo-Mode it replies an invalid character instead of the first ‘A’ and the reply is “AT_COMMAND_NOT_FOUND\r\n”).
I checked it very carfully (Host sets light Pullups and 115200 Baud timing is precise).
Question: Is this a known topic? How can I solve it? I want to keep the 115200 Baud.
Of course, I could repeat the command several times if the answer is “AT_COMMAND_NOT_FOUND\r\n”, but maybe there is a better solution?
I experienced this before but during times when the module is busy for example trying to join the network. It will still be best to validate replies to the command you send so you can resend if it fails. Also, you can give gaps on sending each command sent.
Hello Carl,
for me it seems the RAK3172 has a problem with the MSBs for the first received Byte. Maybe its internal timing of the Low-Power UART has a deviation (at room temperature)? It seems the following sent bytes are correctly recognised.
E.g. if sent 0x41 (‘A’) this is sometimes detected as 0xC1 or 0x81, as shown below.
I’ll continue the tests. Maybe to ignore “out of range” characters could be a solution for your next firmware, so bytes like 0x00, etc… could wake the 3172 safely?
But can you share me where Channel 2 and Channel 4 of the probes are connected? Channel 4 appears to send the command. But I am not sure where Channel 2 is connected.
I use the bare RAK3172-E/-SIP with latest Firmware 4.2.0 as simple AT-Terminal. CH4 is connected to UART2_RX, CH2 to UART2_TX. Modul is supplied with 3.3V and nothing else connected. This is my setup:
AT+BAND=4 // 4:868 MHz
AT+NJM=1 // 1: OTAA
AT+RETY=0 // Ni RX-Best. Wdh
AT+CFM=1 // Confirm TX lassen
AT+LPMLVL=2 // LowPower USART
AT+LPM=1 // LowPower act.
AT+ADR=1 // !!!Automatic Data Reduction, not for moving Devices!!!
Just as an info: another module we use, answers with “WAKE” when its UART is ready. After this the UART is on for a certain time.
Hope to find stable solution soon.
Thanks for your support!
Jo
PS: I added repetitions for each sent command. However, even this often fails.
So I think it would be very important to have a solution.
Errors in RED “(Command Not Found”), Rest worked. Timeline:
Hello Carl,
it is a simple test.
I send “AT+SEND=1:xxxx\r”, where xxxx is a Hex counter.
The command is sent every 120 seconds with ADR enabled and Gatway 10 mtrs away (Chirpstack sets DR to 5). We are using already LTE-M / -NB on the hardware from the customer (environment technology), now LoRa should be added.
Thanks for your support!
Jo
I did try to replicate your issue on a fresh RAK3172 Evaluation Board and RAK3172 Breakout board with SiliconLabs USB-UART converter and I cannot replicate the frequent AT Command Not Found.
I experienced before this on my RAK2270 which has a RAK3172-SiP. But my suspicion is the stability for the UART connection since its contact is via pogo pin clips only on the flexible PCB (not as stable if connection is in rigid circuit).
Will you be able to send me the schematic diagram (even via direct message?). Also, are you testing with measurement probes attached? I am doing the test by manually sending UART commands. It is too frequent so I should be able to catch it without attaching any probes. I am also thinking the probes affects the impedance of the pins (just thinking out wild here).
hmm the used Hardware is proprietary from a customer, inside is a Nordic nRF52840 @ 3.3V. The RAK3172-E/-SIP is directly connected to P0.26 (RAK-RX-UART2) and P0.27 (RAK-RX-UART2) via 5 Wires (GND, 3V3, RX, TX and I had other peripherals at this port @ 115kBd without any problems. But everything is NDA…
But I also have a privat fully Open Source project with different nRF52832 modules ( https://github.com/joembedded/Open-SDI12-Blue ) I think I’ll connect the RAK3172 to it at the weekend to see if I can reproduce the problem on a very simple hardware.
Maybe I found a reason: it seems during wake from sleep the RAK3172 module is quite sensitive to even small glitches or drops in the supply. For the production hardware protos I used larger caps for supply and and 2 R/C with pullups in the RX/TX-lines. Signals are softer now and it seem to work reliable.
Jo
Have you been able to find out anything more about this? I have a similar issue. I using a RAK3172 as a radio connected to other host STM32 by UART, with LPM=1 and LPMLVL=1 and when I send data with the AT+SEND command in some random occasions it is not sent because the OK response never arrives or the AT_COMMAND_NOT_FOUND response is received, very similar to the one discussed in this post.
I am using a RAK3172-T and have tried versions RUI_4.0.6, RUI_4.1.0, RUI_4.2.0, RUI_4.2.1 and the problem persists.
If you have any update it would be helpful for me.
Hi Pablo,
it seems, the RAK3172-series (-E/T/SIP) is sensitive to voltage drops. During wakeup I recognise a inrush current of ca. 50mA (probably a DC/DC starting?). So even short wires (and especially GND) drop. On my PCB (where all is close together and buffered with uF-Caps) it works reliable.
Best regards, Jo