Using a XIAO_nRF52840 as the host controller and a Grove LoRRa-E5 as the LoRa module, I investigated how low the sleep current could be when a node was configured using AT commands only. I hope this will be helpful to those interested.
The configuration is shown in the figure below, with 3.6V supplied from a PPK2 to the battery pads on the back of the XIAO, and 3.3V supplied from the 3V3 pin of the XIAO to the VCC pin of the LoRa-E5. The LDO of the LoRa-E5 has been removed to supply the 3.3V.
As an example, a 10-second sleep sequence after transmitting 10 bytes at a frequency of 922.1 MHz, a spreading factor of SF7, a bandwidth of 250 kHz, and a transmit power of 13 dBm (20 mW) showed that the average sleep current during 10 seconds could be reduced to 6.4 uA. My previous experience with XIAO’s LightSleep current was 4.7uA, and the LoRa-E5 is known to be down to 2.1uA according to the datasheet, so 6.4uA was almost exactly what I expected. The average current per cycle, including the transmit period, was 614uA. This varies greatly depending on the spreading factor, bandwidth and transmit power settings.
What I have done to reduce the sleep current…
Remove the LDO and use 3.3V power supply since the quiescent current of the LDO is as high as 65uA
“AT+TEST=STOP” to turn off the radio and “AT+LOWPOWER” to make it sleep
Use “Seeed nRF52 Boards 1.1.1” for BSP and use LightSleep mode delay()
Use Reg1 as DCDC mode
Put on-board flash memory to sleep
Disable UART port during sleep period
The sketches used in the experiment can be found here.
nRF52_XIAO_LoRaE5_SLEEP_TX.zip (2.8 KB)
The following link is helpful regarding the sleep current of XIAO_nRF52840.
‘Sleep Current of XIAO nRF52840, Deep Sleep vs. Light Sleep - #2 by msfujino’
‘XIAO nRF52840 Battery voltage reading circuit increases sleep current’