How to Run an Arduino for Years on a Battery (2021)
13 comments
·July 17, 2025icedrop
jcynix
archive.org has saved the images:
https://web.archive.org/web/20210615000000*/https://makecade...
can16358p
Not loading for me either.
Otherwise great post, though I'd love to have seen the images!
shlip
Try https://web.archive.org/web/20210928210220/https://makecadem...
Else, the schematic is here (the first pic is just a shot of the atmega chip): https://ibb.co/8gVbm1XR
whatever1
Maybe there are specialized microcontrollers that just efficiently sleep and wake up other microcontrollers?
guenthert
TI's MSP430 is well suited for low-power applications (sleep current less than one µA) and has a number of other interesting features. Chances are the run-time is then limited by the self-discharge rate of the battery.
fake-name
The ATmega328 (i.e. arduino without the garbage) is that microprocessor.
It can sleep and only use ~66 microamps at 5V with the watchdog timer enabled. That's 330 microwatts. A 1000 mA lithium cell (3.6 watt-hours) could then run it for ~10909 hours, or 454 days (~1 1/3 years).
Almost every microprocessor made these days has some sort of low-power sleep. The ATmega series aren't even particularly good at being low-power.
Of course, you then realize the "arduino" is really just a badly designed development board for an atmega, and they went and used cheap voltage regulators that have an idle current consumption of > 1 mA, and give up on the whole project.
crocowhile
Arduino a poorly designed board is up there with the iPod being lame. Arduino was designed to be accessible and lower entry barriers and it became unrivaled for these purposes. If you want to have long lasting battery powered project you just power directly with 3.3v.
colechristensen
they are called "nanowatt"
i.e. https://ww1.microchip.com/downloads/en/devicedoc/39941d.pdf
xmprt
I wonder how well this works in practice with a more complicated project. For example, if you have something that's usually sleeping but still needs access to wifi in order to send data and can also be woken up by another sensor in which case the loop isn't as simple. Throw in some threads running in parallel and it becomes much harder to manage. There are sleep modes that you can use for this but it's not as simple as this.
ggm
running RF for wifi or BT or something may boost the budget a bit. Fixed point sampling capture would mean clock coordination which drifts. Sending a wake call to come out of low power states is what the old "Morse code" audible pulses of interference on radio in the GSM days were doing: making the higher cost digital signalling stack wake up.
I think zigbee does stuff in this space. 6lowpan too.
Put a wifi or bt shield on, battery will drop faster.
If the led can blink a code, you could remote read it off a phone or something. Newton's did IR networking. The conference translation headsets use it too: the radiators for the signal get appreciably hot.
userbinator
Sending a wake call to come out of low power states is what the old "Morse code" audible pulses of interference on radio in the GSM days were doing
No, that's the phone itself transmitting in its TDMA timeslots. https://en.wikipedia.org/wiki/Time-division_multiple_access#...
ggm
So I got the directionality wrong, but it did seem to presage a call event: you heard the distinctive tones before the ring.
Would you agree it's part of the re-initialisation sequence, even if not directly caused by the transmission infra talking to the phone?
Are images loading for anyone else? Seem broken for me.