I want to use Airgradient Outdoor monitor power bank powered.
Interval for data scrapping from sensors is 10 minutes (do not need every second data)
What will be the best way to optimize firmware to extend battery saving?
Like to:
Get data from sensors
Connect to WiFi
Send data to server
Go deep sleep
Does it work or is it even doable?
Does it require any hardware modification?
If yes, where do I have to call enter into deepSleep() mode in the code?
It might be doable, but you would have to compile your own version of the arduino firmware. You would be coloring outside the lines and trailblazing a bit, I’ve not seen other attempts at this.
The above 4 steps are not highly difficult to implement. What comes next, is. Waking the Arduino back up, which should be forward, is not always so. Past experience has proven waking up from deep sleep is a general problem across the computer industry. Most things I’ve seen…It’ll work, until it doesn’t. Then you have to go climb a pole, or something.
This resource should clarify a bit more on the “how-to”. It has the theory as well as some example code.
As an aside, in my understanding of the board design (which may be flawed) I don’t think it would be possible to actually cut power to the sensors, so some current would still be drawn from them even if the arduino is asleep. How much would still be drawn, I do not know. https://www.airgradient.com/documentation/one-v9/
As far as I can tell, theres no “off switch” which would stop current flow to the components.
Yes, the current board does not have a load switch. Our larger outdoor monitor that we will launch in the next months comes with solar and will have load switches for effective power management.
As I understand the problem, you would have to do the non-trivial task of adding software controlable load switches for each of the controllers independantly. Doing that wth the current board design/enclosure would not be easy.
Yes, I agree. I don’t think the current board makes that easy.
The only way I could think about would be to splice the PMS cable, solder in the load switch and use a remaining gpio from the extension plug to control the load switch. Then you would need to do adjustment in the firmware. .