Hello,
I am working on a project using Boron and I am looking on how to maximize the battery life and/or finding a battery can last at least for 3 months without any external charging source .i.e. solar panel, etc.
The project require the device to be on all the time “so no sleep time”. I am using distance sensor and little pump that activated when the distance reach the threshold, so i need Boron to be active all the time. at the moment i use 3.7V, 10.4 Ah battery and it last only 24 hours , data send to a dashboard every 45 seconds.
At full capacity 10.4Ah works out to 4,8mA per hour over the 90days.
You won’t be able to do that without having the device sleep. If you turn off all the peripherals and the modem, the Boron uses 3.9mA.
With the modem on and idle it’s 17.9mA.
If you could use a distance sensor with interrupts, you might be able to easily meet your power consumption goals and provide a responsive device.
For example, the ST Micro VL53L1X sensor is a Time of Flight distance sensor which can operate in range of distance mode. In this mode, the sensor will raise a hardware interrupt flag when the distance sensor measures distances in a specified interval.
That way, your Particle device can sleep until an interrupt is raised by the sensor. Once awake, it will service the interrupt and take the appropriate action. This can happen in a few tens of milliseconds which is usually more than responsive enough. This is while delivering a HUGE savings in energy.
That will be perfect! i already use VL6180x sensor and i did have VL531x, the only challenge now is the way of how to write the code as i am not professional coding .
Well, believe me I am not a professional coder either - far from it. I think you will find this community very welcoming.
Here is some good general advice. Take a look at the library for your sensor and take a look at the example code. For example, here is the Sparkfun Library for the VL53L1X and you can take a look at Example 8 as a great starting point:
Then, as you build on that example, share your questions (and code) here if you run into issues - or if you come up with something amazing you want to share.