We are building a blinkey-blink circuit for a bicycle and not sure what battery to use.

  • The circuit will need to run on about 5V, since is is powered by ATmega chip which must run at 20mhz.
  • When all the LEDs are on, the circuit will consume about 10Amps (yes, there are lots of LEDs). We anticipate that about 1/8 (12.5%) of the LEDs will be on at one time, so we are estimating 1-2amps current draw.
  • Ideally the circuit could run for a couple of hours on a charge.
  • The battery should be relatively small. Lugging around a car battery on a bicycle is not an option.

The LEDs are SMD RGB LEDs, being driven from TLC5940. There are 120 LEDs, and 24 TLC5940s to drive them. There are a few other components, but other no major current sinks.

According to some posts here (which I am having trouble finding at the moment) LiPO batteries provide the best power density among the rechargeables. I worry that with LiPO batteries we'll have to use voltage regulators to get our 4.5-5.0V, since LiPO cells are 3.7V each. Does that mean losing power to heat? I suppose switching voltage regulator is an option, but I know very little about them.

What would be the recommended battery types for this purpose?

  • \$\begingroup\$ You don't have to run the ATmega and the LEDs through the same regulator. What's the LED forward voltage? \$\endgroup\$
    – pjc50
    Apr 22, 2013 at 10:12
  • \$\begingroup\$ While you might have every good reason to do so, but using an ATmega chip to do a LED blinkey-blink seems like trying to torpedo a shrimp out of water ! Low-power 555 are perfect for this job, with a tiny CR2032 Lithium battery in most cases. With the right duty-cycle, a decent CR2032 should last you several months of use. This battery being 3V, you won't be able to use most white LED's, but red LED's should be fine. Else you could use a single 18650 (common rechargeable Li-ion used in most bicyle lights/torches from China/Taiwan), which should last like, a year or more. \$\endgroup\$
    – bdutta74
    Apr 22, 2013 at 12:33
  • \$\begingroup\$ Sorry, I didn't read your question past "blinky-blink" ! For your requirement, you can go in for a bunch of good quality + reputed 18650 batteries, rated for about 3000mAh. A cluster of 10 of those in parallel, give you 10Amp for 3 hrs, under ideal conditions, when fully charged. You'd have to buy 3 sets of 4x18650 charges, since I've not seen charger that can charge more than those many batteries at a time. Most chargers would take 12-14 hours (or more) to charge completely. Everything mentioned is anecdotal, and without looking datasheets. \$\endgroup\$
    – bdutta74
    Apr 22, 2013 at 12:42
  • \$\begingroup\$ Bike lights need a microprocessor? And one that runs at 20 Mhz? LOL \$\endgroup\$
    – Kaz
    Apr 22, 2013 at 18:00
  • \$\begingroup\$ @Kaz Yes, they very much do! \$\endgroup\$ Apr 22, 2013 at 18:19

3 Answers 3


(This answer summarizes Anindo Ghosh's suggestions on the topic made in EE chat plus a few of my own observations. Please note that I am not considering this answer definitive: just want to add something else to the mix of suggestions)

This answer assumes (without justification) a LiPO battery-based design. Some background information:

  • LiPO battery cells are 3.7V
  • Connecting battery cells in parallel is undesirable because if one battery has lower internal resistance than the others, the first battery will discharge first and then the other batteries will begin charging the battery with the lowest internal resistance.

The recommendation suggestion is to split the circuit into the following parts:

  • 5V circuit: for the ATmega and all the LED drivers. This part will be driven by a switching boost regulator to step up the voltage from 3.7V.
  • Separated the LEDs into banks such that each bank is driven by set of serially-wired LiPO cells: this avoids having the LiPO cells wired in parallel (more on the reason for serial wiring below).

Since the TLC5940 is a sink driver, the LEDs can be wired at whatever voltage. Because these are RGB LEDs the \$V_{forward}\$ of at least some of the green and blue channels can be as much as 3.4, leaving only 0.3 V of headroom assuming given LiPO's nominal voltage. Adding the fact that LiPO voltage varies substantially over the discharge cycle (Wikipedia: "The voltage of a Li-poly cell varies from about 2.7 V (discharged) to about 4.23 V (fully charged)"), this is not sufficient. Furthermore, according to Anindo Ghosh and a TI thread, TLC5940 requires a good amount of headroom over the \$V_{forward}\$ voltage to properly regulate the LEDs: \$Vcc_{LED}\$ must be greater than \$Vforward_{LED}\$ by about 1.2 Volts at 120mA sinking current - see Figure 5 of the datasheet. This leads to the conclusion that each LED bank must be driven by two LiPO batteries which will yield a minimum 5.4 volts to drive the LEDs; after the \$V_{forward}\$ drop of 3.4 V there is still 2V of headroom left.

A possible alternative to consider is witing R, G, and B channels differently: since the R channel has lower \$Vforward_{LED}\$, it may be wired from a single LiPO cell, while G and B channels will still be powered by two serailly-connected cells.

Finally there was a suggestion to consider LiFePo4 batteries, which have tighter output voltage over the discharge cycle, offer longer cycle life and higher peak current.


Quick first pass - more anon:

What colour LEDs?
What model/brand and how many.

With modern LEDs 10A ~+ 3000 lumen+
VERY bright.
Why do you need so much light?
If you are using ye olde junk because they are chaep then a modern high efficincy version may greatly reduce current needs.
If you are using modern LEDs you're stuck with providing it if you need that much light.

Run LEDs from own supply. Processor can use own higher Vdd and drive lower voiltage LED drivers.

If using a buck converter size battery from 3V say x 10A x 2 hours = 60 Watt hours plus some extra for conversion losses (10-20%)

If linear regulator used 10 A x 2 hours = 20 Ah.

~ 3.5V min battery if white or blue.
Lower if Red etc.

If battery was a LiPo then nominal voltage = 3.6V
Actual voltage is 4.2V when full down to 3V + whatever more you need if LEDs are white or blue.

3.6V x 20 Ah is largish.
iPad_latest is about 10 Ah.
iPhone_latest = about 1.7Ah.

Something like 7 x 3.3 Ah LiPos.
If Red LEDs then you can use somewhat lower battery capacity plus a buck converter.

Does not sound too hard - just annoying :-).

More data ... ?


How about 4 NiMH C-cells in series? They are rated at 5000mAH and 4 of them will give you about 4.8V. Should give you at least 2 hours @ 2 amps power draw, but you'll want some sort of over-discharge protection to prevent damaging the batteries by over discharging them. They should be able to stay above 4.5V for most of their usable capacity, but if you need to get every bit of power from them, they will dip below that level. If your microcontroller can't handle anything less than 4.5V you might be able to get away with a small DC-DC converter to give the microcontroller a steady 5V, and then drive the LED's with lower voltage as the batteries drain.

The C cells weigh around 91g each, so you're looking at nearly a pound of weight for the batteries. LiIon batteries would probably weigh around 60% of that (at higher cost).

If you could keep the average current draw under an amp, you could probably get two hours of lifetime from four 2200mAH NiMH AA cells for about 1/3 the weight. (don't ask me why AA's weigh 1/3 as much, but provide about half the power as C cells, I just looked up capacity and weights online.)

If you can tolerate more weight, you could step up to four 10000mAH D cells, but at 165g each, that's 1.5 lbs of weight for the batteries.

One advantage of standard AA, C or D cells is that the rider can swap them out for Alkalines in a pinch, but then you'd have to be able to tolerate a bit higher voltage since a brand new alkaline will be at 1.6 - 1.7V, so you might see almost 7V with 4 fresh cells (which will drop quickly to 6V at 1A of discharge current).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.