5

Excuse the lack of electrical engineering knowledge but I have an Arduino Uno microcontroller that I want to power with a coin cell battery.

The project will have 6 LED lights that will flash for a few seconds every few hours. My question is, what sort of coin cell battery would I need for this project? Also, how would I connect it to arduino? With something like this?

Would I require anything like resistors/transistors?

Here is a diagram of what I have so far:

diagram of what I have so far.

(Resistors are 1/4-watt 200ohm resistors)

stevenvh
  • 145,145
  • 21
  • 455
  • 667
Rob
  • 93
  • 1
  • 6

5 Answers5

10

The Arduino Uno isn't fit to run off a coin cell.

  1. The Uno isn't exactly low-power. It contains 2 microcontrollers running at high clock frequencies and consumes a couple tens of mA

  2. A coin cell will give you 3 V, while the Uno is designed to run on 5 V.

  3. Most important: a coin cell has enough energy to power the Arduino for a couple of hours, but can only supply this in small doses, i.e. a few mA. That won't work.

stevenvh
  • 145,145
  • 21
  • 455
  • 667
  • As you can change the firmware of both microcontrollers, keeping them in micro power sleep mode most of the time should be possible. Have to check the data sheets if they will run off the coin cell voltage; also any pull up / down resistors must not be driven against while sleeping, or that will waste power. And the voltage regulator might need to be removed. – Chris Stratton Aug 30 '12 at 13:07
  • @ChrisStratton I agree that such optimizations/removals (as well as the FT232 and disabling UART registers) would indeed bring it closer to coin-cell runnable. [This writeup](http://www.gammon.com.au/power) discusses several interesting power-minimization strategies particular to AVRs. – boardbite Aug 30 '12 at 20:52
  • @boardbite - Unlike the earlier USB models and many copies, an Arduino Uno does not have an FT232, it has two ATMEGAs with customizable firmware - the second from the "u" series handles the USB-serial task previously accomplished by the FT232. – Chris Stratton Aug 31 '12 at 02:00
  • @stevenvh: Since OP wants the LEDs flashed with a very low duty cycle (a few seconds ever few hours), couldn't he/she use a coin cell and simply charge & discharge a capacitor to provide a pulse when needed? – boardbite Oct 10 '12 at 16:31
  • @boardbite - possibly, but for 6 x 20 mA during 5 seconds (rough estimate) you'll need a 2 F capacitor to have a 300 mV maximum drop. (Note that you only have 1 V across the series resistor at the start, then 300 mV is 30 %!) Supercaps exist in > 1 F capacity, but then you're moving the problem: just like the battery low-cost supercaps are rated at very low discharge currents. – stevenvh Oct 10 '12 at 16:54
  • @stevenvh: The analysis makes perfect sense. It's very interesting though that the recently popular Bluetooth Low Energy modules are claimed to run off coin cells; for example, [this TI app note](http://www.ti.com/lit/wp/swra349/swra349.pdf) does it with a 100uF capacitor for the peak draws. Of course, the latter scenario deals with a very short (few milliseconds) ON-time and also a smaller current draw (~25 mA transmission) than the 6 X LEDs. – boardbite Oct 10 '12 at 17:19
  • @boardbite - yes, OP should give us more precise figures for his use case. When he does I'll have a look at them and maybe update/correct my answer. – stevenvh Oct 10 '12 at 17:26
  • @stevenvh: Since OP seems to be MIA, I've just now started a [question on this subject](http://electronics.stackexchange.com/questions/43306/pulse-powering-heavy-loads-with-a-coin-cell), with a couple of specific scenarios. – boardbite Oct 10 '12 at 17:47
3

As stevenvh pointed out, the Arduino Uno is not designed to run off a coin cell.

Two option exist (or at least that I can see):

1) Use a battery other than a coin cell. Adafruit's 9v battery pack comes to mind.

2) Use a low power microcontroller.

Option #1 will work with no additional learning but will cost you in batteries over the long term. Option #2 will more effort on the front side (sourcing and programming bare microcontrollers) but will result in a great many useful skills and piles of frustration. Depends on what you want to get out of this.

nelsonda
  • 251
  • 1
  • 3
  • 9
3

Note that CR* cells (lithium) can deliver a maximum of about 4 mA; refer to the manufacturer's specifications. If you try to draw more power, they may start to outgas and explode like popcorn, so try to avoid that.

If you absolutely must use coin cells, an alternative would be LR* type cells. Those are alkaline (not lithium) and can deliver higher electrical current. However, they have a smaller capacity. I doubt you can power a standard Arduino board plus severeal LEDs with coin cells for more than a few hours.

I recommend to look at another microcontroller. It's more work, but it might be worth to build your own board, e.g. with an ATtiny at a much lower clock rate (you don't need 16 MHz just to flash a few LEDs), and without the overhead of the USB chip. That will lower the power consumption considerably. Also, you should use "ultra bright" LEDs because you can drive them with only 1 or 2 mA while getting the same brightness as a normal LED at 20 mA.

inof
  • 31
  • 1
  • The high-luminosity LEDs are a great idea. However, AFAIK, alkaline/LR cells don't allow higher electrical current draws. For example, [this Toshiba page](http://www.toshiba-denchi.jp/ebattery/eng/pb5/index.htm) lists a Standard current spec as low as 0.12mA – boardbite Oct 10 '12 at 16:29
2

There are significant ways to reduce current drain in LEDs .. Spend more time search for higher efficiency LEDs at low cost so that instead of 20mA 1/4W resistors you can use 2 or 3 mA with 1/8W resistors and get the same brightness. What colours and how many of each.

Typical C of CR2032 or 2cm x 3.2mm is 225 mAh

Computer duty factor (On/total time x current x qty.) = average current of LEDs.

e.g. 3 sec / 3hr x 20mA x 6 LEDS = 3/(3*3600) x 0.020 x 6 = 33 µA average Duration (hr) = C/A = 225mAh / 33uA ~ 6800 hrs.

If you want longer time, you can choose more efficient LEDs and run them at 10% current. Such as 10,000 mcd instead of 1000mcd or even 100 mcd depending on what you got.

Of course that neglects power consumption of Arduino for which current is not stated.

(I would consider Blue and White LEDs, low cost and bright at low currents but thats up to you)

Lithium coin cells have low capacity but OK for low current applications.

Tony Stewart EE75
  • 1
  • 3
  • 54
  • 182
1

I had a small project on an Atmel ATtiny2313, but I imagine similar considerations would apply. My goal was to flash 6 leds (2 yellow, two white and two red) for about 4 hours. I strobed (in software) them to reduce the current draw.

I used 2xCR2016 (3v each) with a small diode (to drop to around 5V, not really necessary, but I'm conservative). The CR2016 is half the size of a CR2032.

I had hoped to stuff both into a CR2032 holder, but every holder I tried shorted the two edges together. I ended up fashioning a holder with Shapelock (not entirely satisfactory, but workable).

copper.hat
  • 837
  • 7
  • 16