Issue: RAK4600 not always wakes up with a rising edge in pin 22 (USART1_RX)-
Custom board: supply voltage = 3.3V, bypass capacitor is being used. Serial pins are connected directly to a microcontroller. Both microncontroller and RAK4600 have the same supply and voltage logic levels.
Serial configuration is the default: 115200 baud, 8 bits, no parity bit, and 1 stop bit.
Firmware/software level: A finite state machine is being used to control the power modes of the RAK4600. When the LoRa module is sleeping (not being used), TX pin from the microcontroller is set as OUTPUT LOW (because of the pull-down resistor on the LoRa module side). When the LoRa module is needed again, the TX pin of the microcontroller goes HIGH, waits two seconds, and then is configured as SERIAL to continue communication.
Details: After the rising edge is generated, most of the times I receive an “OK Wake Up\n\r” immediately (I’m using a “spy” serial terminal to watch what’s going on in the serial lines), but sometimes this doesn’t happen and it takes several seconds (20-30) for the LoRa module to respond “OK Wake Up\n\r”.
The image below doesn’t show the issue (as there are not time marks) but illustrates my program “flow”.
- LoRa module is sleeping and is waken up by the rising edge.
- Check the version in order to confirm if the module has wakened up.
- Send some AT command (e.g Configure ADR, Duty Cycle, etc).
- Set the LoRa module back to sleep state.
(In the image you can check the firmware version I’m using: V126.96.36.199)
I’ve checked the rising edge with an oscilloscope and it is always fine, even when the LoRaWAN module doesn’t respond immediately.
I’ll appreciate any suggestions to solve this issue.
Could this be a bug in RAK4600’s firmware?
EDIT: I have several custom boards and the issue happens in all of them.