I'm building a relatively simple project that includes a TeensyLC, a Waveshare 1.6" LCD screen (https://www.waveshare.com/wiki/1.69inch_LCD_Module), three buttons, and an ADC (possibly onboard, but likely and ADS1115).
For power, I have a 400mA LiPo and I'm using an Adafruit PowerBoost 500+ Charger.
Nature of the project is that it's an on-demand use, mostly dormant. When required to be used, push a button to turn on, measure what needs to be measured, and then it either turns itself off, or turn off manually using the power button.
I'm trying to use duffs sleep library, with some success but not quite enough.
Here's the current bench setup:
- 5v power source (via PowerBoost)
- 2 buttons using internal pull-up
- LCD power is controlled through a 2n3904 with 330ohm base resistor on an output pin
In normal operation with the LCD on and Teensy just looping an updating the LCD, it draws about 40mA. If I turn the LCD off, current draw drops to around 20mA. Using duff's sleep library, "sleep" drops current draw to 11mA, "deepSleep" to 10mA, and "hibernate" to 4mA.
After setting all unused pins to OUTPUT, current draw drops to 3mA.
Is this the lower current draw I can expect to achieve?
It appears that REDUCED_CPU_BLOCK() is not implemented.
Now, that's a pretty low draw! But with a 400mA battery, that's still only 5 days of standby from a full battery.
I'm thinking of introducing a Pololu power switch (https://www.pololu.com/product/2808), which claims current consumption of 0.01uA in its off state. So my intention would be to first, after say 5 minutes, hibernate the Teensy with a digital and timer wakeup. After 30 minutes trigger the Pololu switch to turn off all power to Teensy. So at that point I've only got the PowerBoost drawing current (I'm not sure how much it draws in its idle state).
Any thoughts or other recommendations?
For power, I have a 400mA LiPo and I'm using an Adafruit PowerBoost 500+ Charger.
Nature of the project is that it's an on-demand use, mostly dormant. When required to be used, push a button to turn on, measure what needs to be measured, and then it either turns itself off, or turn off manually using the power button.
I'm trying to use duffs sleep library, with some success but not quite enough.
Here's the current bench setup:
- 5v power source (via PowerBoost)
- 2 buttons using internal pull-up
- LCD power is controlled through a 2n3904 with 330ohm base resistor on an output pin
In normal operation with the LCD on and Teensy just looping an updating the LCD, it draws about 40mA. If I turn the LCD off, current draw drops to around 20mA. Using duff's sleep library, "sleep" drops current draw to 11mA, "deepSleep" to 10mA, and "hibernate" to 4mA.
After setting all unused pins to OUTPUT, current draw drops to 3mA.
Is this the lower current draw I can expect to achieve?
It appears that REDUCED_CPU_BLOCK() is not implemented.
Now, that's a pretty low draw! But with a 400mA battery, that's still only 5 days of standby from a full battery.
I'm thinking of introducing a Pololu power switch (https://www.pololu.com/product/2808), which claims current consumption of 0.01uA in its off state. So my intention would be to first, after say 5 minutes, hibernate the Teensy with a digital and timer wakeup. After 30 minutes trigger the Pololu switch to turn off all power to Teensy. So at that point I've only got the PowerBoost drawing current (I'm not sure how much it draws in its idle state).
Any thoughts or other recommendations?