RAK4270 - When can the sleep command be sent?

Again - Thank you for all the help over the last couple of months. Nearly There !!!

We are power profiling

The question is:-

After sending the following data "at+send=lora:1:070e10 " to the gateway we are trying to understand when the RAK4270 can be put to sleep ?

Does the RAK4270 transmit OK after the time when the ADR download would be received ?

Looking at the Serial Data from the RAK4270 it take approx 2 seconds for the OK to be sent after the at_send command

Looking at the battery current

There is a high peak current following by two much smaller peak currents

These are smaller peaks at 1second and 2 second after the main peak TX current

Question: Are these the ADR or Download receive current peaks ?

Thank You

Paul H

Yes, which may be your downlinks and/or may be MAC commands - there are many other things the network server may send other than ADR.

If you use TTS (TTN v3), this has moved to 5 seconds after the uplink for the first receive window. If you connect via OTAA it will be setup for you.

If via ABP you need to set that on the …

… OMG, another item for the todo list! More to follow, but basically you need to tell the module what the Rx1 delay is for which I’m not sure there is an AT command. Alternatively you tell the network server the delay should be 1 seconds, which may or may not work with TTS due to latency delays &/or the packet broker.

I can sleep the external MCU for around 4 seconds immediately after I get the OK on the uplink and wake to see if a response is forthcoming. Then sleep the module & then the MCU.

Typically the 4 seconds of sleep can add up to around 20% of the total battery usage, so it’s worth spending time implementing.

1 Like

Thanks Nick

That make perfect sense


Hi Nick
Been thinking about your statement

OK - We are set up in OTAA and the the RAK4270 has been informed that the downlink / ADR time been changed to 5 seconds but the host MCU cannot receive that information simply.

Therefore host MCU does not know how long to sleep for ?
ie This time may move to 10seconds next year


Hi Paul,

Although I doubt that TTI guys will still change 5seconds, your option is to make it configurable via a downlink command. You can allocate a specific port just for modifying the MCU sleep while waiting for the RX1 delay.

Highly unlikely, it was 1 second which hit most use cases, so 5 is plenty.

You can set your own downlink delay per device on the console to tune this if you are either on low latency internet (although much of the additional delay is in the packet broker) and even better, you can extend it if your gateway is on GSM/LTE.

As for the module, apart from having it as a parameter that can be remotely updated, it can learn (no ML or AI will be harmed in this example) by doing - just run a few uplinks whilst awake, time the responses, simple maths et voila, you have a figure you can sleep for between Tx & Rx1 - my rough & ready power consumption calculator puts this at around 15-20% of battery usage if the MCU is left on, so worth the effort.

1 Like