#128 ATtiny TotalSleep
Test a total power shutdown with an ATtiny85 processor on a breadboard.
Here’s a quick video of the circuit in action:
The ATtiny SleepMode project showed me that even in CPU sleep mode, an ATtiny85 circuit can still draw something in the order of 238µA.
This project tests a scheme for total power shutdown triggered by the microcontroller itself. The circuit then draws virtually no current (certainly less than 10µA - the resolution of the ammeter I was using in-circuit).
The trade-off is that the circuit requires an external trigger to wake-up again. Here it uses a push-button.
How it works:
- power is supplied to the ATtiny and other circuit elements through a p-channel MOSFET (I’m using a BS250 here)
- when power is turned on, the 1MΩ resistor charges the 100nF capacitor with a time constant of 100ms
- this keeps the FET Vgs negative long enough for the ATtiny to power up and apply a high signal to the base of the NPN transistor
- the NPN collector-emitter conduction holds the FET Vgs negative, and therefore “powered on”
- when the ATtiny wants to power-down, it brings the NPN base low, cutting the collector-emitter channel, and sending the FET Vgs to 0V.
- this turns off the FET and everything is powered down. The current drawn in this state is limited to leakage of the components
- to powerup, the push-button shorts the capacitor, bringing the FET Vgs down and setting the cycle off again
This all seems to work very reliably.
Credits and References
- ATtiny85 datasheet
- BS250 datasheet
- BC547 datasheet
- Arduino DigitalPins reference
- Topic: Circuit for MCU to control its own power on/off - another approach using a flip-flop
- Self Shutting Down Arduino - describes a similar approach, but one that may not work depending on the specific p-channel FET used (I could not make it work with the BS250).