Argon battery life question

I’d like to use the Argon to monitor the state of my house doors. My goal is to do it in a way where the battery (figure a 2000mAh) will last around 5-6 months. If all I did was have the Argon check the state of the door and then go into hibernate for 5 minutes, this shouldn’t be too hard to do. When turned off the power draw is minimal.

The problem there is that I also want to know as soon as the door is opened (reed switch goes from closed to open). Lets say with a latency of 1-2 seconds. I was thinking of using the RST pin such that when the switch opens the RST pin is brought to high. But I haven’t figured out a way to do that which doesn’t draw power itself.

I could shut all the communications down and let it sleep for 1 second between checking the door status, but even then I don’t think I’ll get more than a few days out of a battery.

Any thoughts on how this could be done?
Thanks
Scott

Any thoughts on how to do the circuit?

You will have least power consumption when your closed reed switch keeps the EN pin pulled low. Once the reed switch opens the on-board pull-up will re-enable the device.

The first action of your code should then be to engage a “self-holding signal” on EN till the device has successfully connected to the cloud and sent the notification to ensure that even very short periods are reported.
After that let go of the holding-pin and send the device into timed sleep to regularly re-check whether the switch is still open.
Once the switch is closed again the device will be disabled again.

But even then I’m not sure whether you will get your 5 months of run time.

1 Like

Thanks… What can I do to get more out of the argon? Is there a bigger battery that might work? Maybe move to something like an 18650 lithium ion battery?

One thing I also want to do is ensure that there is consistant updates from the sensor to the network. Say every 5 minutes, it should pop on the network and give an alls well message. I can probably do that with an external RTC and use the EN pin. But if I’m going through all that should I just not bother with the EN pin and leave the argon running without communications? Or will the external RTC still lead to better performance?

Thanks.

Don’t use a WiFi device would be one route to achieving much longer battery life!

This is where the dear departed Xenon came into its own - even without Mesh, connect using BLE to the Argon - keep the Argon powered and acting as the gateway from BLE to WiFi/Internet. The power usage was pretty low. The alternative with the Argon is that you switch off the WiFi and just use the BLE plus the new sleep modes aimed at low power. Rather expensive or you try cheap BLE module that you could program using Arduino IDE. Clearly a bigger battery will help.

Thanks for the reply. I think I need wifi for this. I’m playing with the security of the connection to the network and want to look at things like leveraging 802.1x (certificate based auth) on to the wireless network and an TLS client based authentication (authentication via SSL certificates) to post messages to the central system. Some computing power is needed to do the TLS authentication an the argon platform should be able to do it.

Out of curiosity… What size battery would I need for this? If I leave the argon running full time and shut down all communications. Every 5 or 10 minuets start the wifi and post an update (“I’m still here”). And every 5 seconds check the sensor status.

Thanks,

Scott

Incidentally, the Argon does not support WPA Enterprise or 802.1(x). It also does not support TLS connections particularly well; there’s a third-party library that works but no built-in support.

Thanks for that heads up. I’m fine using the third party library for TLS connections. But do you know if the Argon will eventually support certificate based authentication?

The company I work for has a lot of IoT devices using 802.1x and TLS everywhere. I know it is possible. If not the Argon (I like the particle platform. This is sad), is there a platform I can use that is cheap and good for DIY projects?

Lets say I gave up on the 802.1x requirement for now. Back to the other question. How big a battery would be needed to do what I want? Its funny to see that a lot of these alarm company sensors all can last several months on a few AA batteries. How are they doing it that something like the Argon can’t?

Thanks,

Scott

I’m pretty sure the Argon will be a poor fit for your application.

The Argon supports GPIO interrupts so you don’t need to poll the door sensor. It will interrupt and wake the MCU from sleep when it changes state.

There is, however, a different problem you’ll run into. Your latency on open and long battery life desires are diametrically opposed and you probably will never be able to have both on the Argon.

While the nRF52840 MCU can wake from sleep in milliseconds, the problem will be Wi-Fi. If you leave the ESP32 on and connected to Wi-Fi, it will too much power for your application. If you turn the ESP32 off and reconnect to Wi-Fi, it will take too long (5 to 30 seconds).

Many of the wireless alarm systems don’t use Wi-Fi at the sensor level for this reason. They use something that can reconnect quickly and use very low power in sleep.

Thanks Rick. And you’re probably right that my goals don’t line up. I didn’t realize how long it takes for wifi to start up. And the IoT devices at my company are typically always A/C powered so wifi can be kept on. I can’t do that here.

I’ll look at other ways of doing things. They’re fun problems to solve. Thanks for the advice.

Scott