I’m using the Particle Boron to trigger a relay that turns on/off a device.
Its currently being powered by a 4000mAh battery, and lasts about 4-5 days before I need to recharge it.
While I’m aware of the sleep() methods that are available, I do require cellular to be on so that it can listen to the trigger from my phone.
A compromise that I’m willing to make is for the device to check every 5 minutes to see if I have sent a command. Does anyone know how I can achieve this? Ideally, I would like the flow to be like this: sleep 5 minutes → Check to see if user has sent a command → sleep 5 mins → repeat.
And if someone has a better idea, please let me know! I’ve searched this forum for a while, but most of the posts involve people willing to sacrifice the cellular radio for extended battery life, which I do need.
Hi and welcome to the community.
Have you tried the sleep mode with cell connection on (NETWORK_INTERFACE_CELLULAR)?
I have never tried it myself but it seems it can help you.
This looks like exactly what I need, thanks!
Don’t get me wrong… NETWORK_INTERFACE_CELLULAR will certainly help but it still consumes a lot of power for an IoT device when sleeping the MCU with the Cellular Radio on.
In my simple mind, I equate it to keeping your cell phone “ON” but the screen turned off. It’ll use a little less battery but no where near as if you turning the entire cell phone off. In my experience I can go from ~7 days to maybe ~10 days on a 6600 mAh battery. It helps directionally but doesn’t make it a low power device.
To exacerbate this even more are you using BRN402, BRN404 or BRN404X? The latest BRN404X was recently discovered to use 2.4X the amount of power anytime the radio is “on”. The table shared above is not correct for BRN404X. So when I was getting ~7 days I now get maybe 2-3 days. This was highlighted in this post here: BRN404 vs BRN404X - 2.4X increase in power consumption?
Hoping the wonderful team at Particle is able to address this with a firmware update. Your use case, I believe is the perfect example of why we need “eDRX mode” capability to be developed by Particle. I’m sure I’m oversimplifying it but this would allow for a 10X reduction in sleep current when keeping the cellular modem “partially awake”.
In the absence of all of that, what I personally do is have different modes I can put a device into from the cloud. This includes, Always On, Sleep with network, normal sleep (connect every 20 minutes) and deep sleep (connect every 2 hours). When I want to interact with the device more real time, I just flip it from sleep mode to always on. The next time it connects, it’ll then honor that selection and from that point forward I can control real time. When I’m done, I can flip it back to a sleep mode. It does take a little advance planning but for my use case, that is just fine. I just need to remember to change modes before it wakes up and connects or I have to wait another 20 minutes. Does that make sense? This likely does take some backend system to develop.
Thanks for the inputs Jeff.
An alternative to the backend system could be to use the device notes mentioned in this post.
Hey, thank you for your detailed post!
Yes, I have the BRN404X.
I might end up creating different power modes, that I can send and set depending on the day of the week.
I also took a look at your very interesting post, and the power consumption that you saw does match with what I’m getting. I have a 4000mAh battery attached, and it gets ~4 days of battery life. If this could be fixed so that I could get an 8-10 day battery life, that would be great!
eDRX mode mentioned in that other post would be a game changer for this type of use case! If I understand the spec sheets correctly, NETWORK_INTERFACE_CELLULAR sleep mode could go from ~14.2 mA (Actually ~25 mA with BRN404X) to somewhere around ~1-2 mA. The delay in calling a function to it being received would be maybe ~2 seconds.
I’m probably getting ahead of myself, way too hopeful that eDRX mode will be implemented and I’m sure I’m making some grossly wrong assumptions in reading the data of the Sara R510S Modem but let’s just say eDRX network sleep is possible and sleep current was only 2 mA. A 4000 mAh battery with 80% safety factor would last 66 days.