Adafruit Industries, Essential service and business: NYC – Executive Order 202.6 - Read more. Accepting essential orders - here's how.

power consumption
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

power consumption

by eil on Tue Feb 24, 2009 9:32 pm


So after tinkering with my Boarduino for a few months, I'm ready to get started on my first real project, which will be battery-powered. The two largest components in the project are the Arduino and a 16x2 LCD with backlight. For the final project, I'm planning to remove the Atmega168 and socket it straight into some protoboard or something.


1. Since it will be battery-powered, I was planning to just connect four 1.2V NiMH AA batteries (4.8V total) in series to everything and call it a day. No regulator or anything. Is this a wise idea? Am I likely to hit the controller's brownout detection before the batteries are suitably discharged?

2. I've been looking at programming techniques to conserve power (sleep modes, PWM for the backlight, etc), but what about hardware based ones? Can the Arduino be set to run at a slower clock speed?

3. Am I correct in assuming that the 5V Arduino Mini (and others like it) wouldn't save power at all, just space?

Just fishing for ideas at this point. Thanks!
Posts: 440
Joined: Sun Aug 31, 2008 11:09 pm

Re: power consumption

by Ran Talbott on Wed Feb 25, 2009 5:29 pm

You may need to slow the CPU clock down, because the datasheet says you can only run at 16MHz at about 4V and up.

The Mini saves a little bit of power, because it has no MAX232 or FTDI chip for the host interface. Which won't matter if you're going to put the CPU in your own board.

The Pro Mini 3.3V is stuffed with a 168V, which has a wider Vcc tolerance, but it's not clear from the datasheet whether it uses less power at a given clock frequency. But slowing down the clock and lowering the Vcc do both cut power: e.g., at 8MHz, 3.3V draws about 4mA vs about 7 for 5V. At 4.5V 16MHz it's about 12mA.

You should make sure the LCD will tolerate the lower Vcc before investing too much effort in the project.

If you're going to use the A/D, you'll want a regulated voltage if you need anything more precise than a "rough relative comparison". In that case, the 3.3V Pro Mini would probably be a net space-saver, compared to doing the DIP + crystal + regulator through-hole.

Ran Talbott
Posts: 57
Joined: Thu Feb 19, 2009 1:32 pm

Re: power consumption

by eil on Thu Feb 26, 2009 5:16 am

Hi Ran,

Thanks for the comments. Using a 3.3V mcu is pretty much off the table since I have the LCD and at least one other 5V part to talk to. (And I couldn't find a 3.3V LCD that fit my specs.) Which leaves...

The best way to slow down the Arduino? Would I need a programmer or can it be done through the Arduino's USB interface? I don't mind having to pick up an 8MHz or slower resonator. My code will not be doing anything CPU-intensive, so I can go as low as possible without compromising the ability to speak to the LCD.

I was thinking of using a MintyBoost for the power supply, but my concern is that two AA's wouldn't provide enough juice to get a few hours out of the project. I clearly have some experimenting to do.
Posts: 440
Joined: Sun Aug 31, 2008 11:09 pm

Re: power consumption

by mtbf0 on Thu Feb 26, 2009 8:43 am

you've got a world of choices, but jut about all of them are going to require an isp programmer. you can program your boarduino to be an isp programmer, the only problem being that it won't be able to program itself. with three 5.1v zener diodes and three 4.7k ohm resistors you can build the dasa programmer used on the minipov3. for $20 you can get aa USBtinyisp.

note that for any clock speed other than 8 or 16MHz you'll have to roll your own bootloader.

simplest. disable the external clock source and you can run at 1MHz or 8MHz on the mega168's internal oscillator. at 8MHz you can use the lilypad bootloader. requires fuse tweaking and bootloader burning.

you can replace the resonator onboard with an 8 MHz version. requires burning a new bootloader.

there are lots of other options. see part 8 of the mega168 datasheet starting at page 28.

my first boarduino project involved getting things to run a 8MHz on the internal oscillator. discussions are here.
"i want to lead a dissipate existence, play scratchy records and enjoy my decline" - iggy pop, i need more
User avatar
Posts: 1645
Joined: Sat Nov 10, 2007 12:59 am
Location: oakland ca

Re: power consumption

by eil on Thu Feb 26, 2009 2:19 pm

Thanks for the input, mtbf0. This is exactly what I was looking for. Will probably get a usbtinyisp since I was going to get one for another project anyway. But even so, I'll probably see what the battery life is going to be before trying to reprogram the mcu.

Will I still be able to talk to the LCD (via the LiquidCrystal library) when running off the internal oscillator?
Posts: 440
Joined: Sun Aug 31, 2008 11:09 pm

Re: power consumption

by adafruit on Thu Feb 26, 2009 4:41 pm

youre not -supposed- to run it at 3.3v 16MHz but the cutoff for 16mhz is abuot 3.6v and well, thats really not much of an overclock. i do it all the time. not suggested for 'industry' tho

Posts: 12151
Joined: Thu Apr 06, 2006 4:21 pm
Location: nyc

Please be positive and constructive with your questions and comments.