Power regulator for 9V battery?


I want to build something very low power with bare MCU, something like in this tutorial:

I plan to use 9V or 12V battery. 7805 regulator is not an option because it draws too much current. Should I use some other regulator?

Is it possible to use simple voltage divider made from two resistors?

Thanks in advance!

Is it possible to use simple voltage divider made from two resistors?

Possible but way not advisable and would burn power anyway.

Have a look at the TRACO TSR 1-2450 switching regs, up to 94% efficient and same pinout as the 7805.


Thank you, they seems to be quite expensive (comparing with 7805), anyway, it seems there is no alternative.

There's also this if you want to go with discrete components:


I'm not scared of discrete components, but it seems that taking AA batteries will be simpler...

Just a couple of related questions. If I understand this diagram from datasheet right:

I can run on:

  • 3 AA batteries in series (~4,5V) @ 16Mhz with external crystal
  • 2 AA batteries in series (~3V) @ 8Mhz with internal oscillator

With either option Arduino's functions like delay() will work as expected. With other frequencies I will need to modify sources.

Am I right?


Thank you for the response. Yes, delay() is just the example more appropriate techniques (like loop with if shown in "No delay" tutorial or interrupts) should be used.

The main question is about voltage, can I run on 8Mhz from 2 AA batteries? Are this calculations correct:

  • 3 AA batteries in series (~4,5V) @ 16Mhz with external crystal
  • 2 AA batteries in series (~3V) @ 8Mhz with internal oscillator

Looks like you are correct, the graph actually indicates up to 11MHz @ 3v and 20 @ 4v5 with external xtals but if you use the internal osc you get 8MHz.

BTW Remember to program the CLKDIV8 fuse or you will get 1MHz.


Thank you for the reply. Just a couple of questions :slight_smile:

  • Why Arduino uses 16Mhz not 20? For stability?
  • I plan to follow these manuals, it seems that fuses should be written correctly with modified boards.txt:

For 168\328:

For Atmega8 (slightly modified bootloader needed):


Why Arduino uses 16Mhz not 20? For stability?

I can think of no reason, maybe they were cheaper at the time :slight_smile: Sometimes you choose a value because it will divide down nicely for buad rates etc and 16 does divide down to 1MHz well but I can think of no compelling reason.

I'll let someone else comment on those tutes but it all looks good to my relatively non-Arduino eye.

Re the regulator issue you started with, the cheapest and most efficient regulator is none at all, so if you use batteries as you suggested above that has to be the best option, at least from that point of view


Thanks, it seems I indeed just grab some AA batteries for power.

UBEC voltage converters like below are much more efficient than using voltage regulating chips.

Thanks for the option!

I too am tossing back n fourth tween a 9v and regulator and 2AAA batteries, my application is not really that conservative on current so I think (but haven't bothered to test it ...) in my application the 2AAA would drop to a low enough voltage to cause problems pretty quick

course then with a 9v and regulator I am not expecting great battery time anyway ... (choices choices, though the 9v is a tiny bit smaller and space is a major factor)

anyway back to you! 16MHz came about because the original arduinos used an 8MHz chip, and it was just easier to double it when the newer chips came out, rather than recalculating

Thank you for description about 16Mhz!

I've added a page to the playground for information about ways of powering Arduino projects....


It doesn't answer all (any?!) of the questions raised in this thread... but it does relate to those questions. I hope that some of the experts contributing to the thread will consider also adding to the Playground page? (And non-experts reading the thread may find the Playground page helps them understand the issues discussed.)

Thanks, I'll have a look!

Who carries the Traco parts in North America?

I tried Mouser and Digikey already. Google didn't help much either.

Farnell have them which means Newark does too

But they seem to get them from Farnell UK anyway.

Traco don't have a distributor list on their site, so maybe you'll have to email them.



Why Arduino uses 16Mhz not 20? For stability?

This is explained in a FAQ somewhere.

The ATmega8 used in the original Arduino could only run to 16MHz. So 16MHz was kept in the new boards for compatibility (and probably because the difference between 16 and 20 is pretty small.)

As far as I understand I can modify arduino's C code to work on any frequency (the same as using plain AVR), right?