Arduino Low Power Experiment

For an upcoming project, I want to see how little power an arduino will require so I bread boarded an Arduino RBBB (really bare-bones board):


This simple project simply turns on an LED if you press the button lower left.

To reduce the power consumption, I put a switch on the power LED (upper right). I took a milliamp measurement of this simple circuit and it was drawing roughly 22mA. The 9V battery used would last at most 24 hours.

I then installed the Narcoleptic library on the arduino. Looking at the code of this library, it essentially sets a watchdog timer and puts the CPU to sleep. You tell it how long to sleep. When the interval completes, the CPU wakes backup and functions normally.

I configured it to sleep for 500ms. So it would check for the button to be pressed every 500ms. If pressed it would light the LED for 2sec. Either way, it would then go back to sleep for another 500ms.

I then measured the current drain with the new software: .7mA – that’s like 1/30 of the current. That extends the battery to roughly a month of use.

That is a MAJOR improvement. Unfortunately still not good enough for me because I really only want to replace the battery once a year at most.

Doing math on various batteries, I could use 4 D cells and that would last longer than a year though it would be kind of big. So that is a possibility.

The other possibility is using a rechargeable battery and solar cells. I’ve never done that before and I’m game to learn something new, so I think that will be my next step.

This entry was posted in c-arduino, Low Power Arduino. Bookmark the permalink.

2 Responses to Arduino Low Power Experiment

  1. Sean Straw says:

    In a comment posted to your low/solar power post, I made reference to low consumption in sleep mode.

    You can definitely achieve better low power consumption figures for your uC. I’ve achieved 7uA (that’s 1/100 of what you’re reporting here), and even that isn’t as low power as one can achieve, but I was happy to achieve that given the more limited code space I was working with.

    Setting the fuse bits for your uC to run at a lower clock speed (something I didn’t do for my project, and why I know I could run even lower), and setting pinmodes appropriately can have a big impact on total power consumption.

    Also as commented in the low/solar power, you should migrate to a different power source: 9V (or really, anything above the regulator drop-out voltage) is to be avoided as an AVR power source.

    Your button should be able to trigger an interrupt, which means your uC could enter a longer duration sleep cycle and wake on interrupt. Again, this would lead to lower power consumption.

  2. Pingback: Low Power ATTiny85 Experiment | Big Dan the Blogging Man

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.