I am trying to build a LED project and I am looking for a little help to get started.

I’m aiming to build a small, low-power LED display of 6 - 10 low-power white LEDs. It will have 2 small coin cell batteries and be fitted into a small 3D-printed lithophane. The PCB will have to be pretty small, 20 mm x 70 mm -ish.

The plan is to have a small pushbutton that will switch LEDs on for about 6-8 hrs, then switch the LEDs off until pressed again. If the switch is pushed during the 6-8 hrs it will switch off the LEDs straight away. The board only needs to last about 48 hrs total and will not need any kind of charging as it would be a kind of single-use display for an art display.

I’m thinking using a low-power microcontroller would be the best, as a 555/CD4060 would struggle to do what I need. I don't want to add a toggle switch, as I need it to be set-and-forget. I would also like to have the option to flash the LEDs, or fade them.

What should I look at regarding a microcontroller, or is there a better way I could do the above? I will need to make about 20+, depending on how well I can get the prototype to work.

  • \$\begingroup\$ I am most familiar with Microchip PICs and there are many devices that will easily do what you want, but you would need to get a simple development platform like a PICkit4 (about $40) and MPLABX (free). But you could also start with an Arduino that has a self-contained USB interface. First, though, draw a detailed block diagram or schematic, and a design spec with pseudocode or flowchart of operation. \$\endgroup\$
    – PStechPaul
    Feb 20 at 22:53
  • 5
    \$\begingroup\$ Before spending too much time going down this road you should confirm that the largest batteries you can accommodate can provide the required current and capacity. There's no point designing an MCU controller if that is not possible. Assume the MCU itself consumes nothing during operation, as a first approximation. \$\endgroup\$ Feb 20 at 23:03
  • 1
    \$\begingroup\$ A CR2450 is about 600 mAh. Derate to about 70% since you can't go down anywhere near 2V if you are going to power white LEDs. 600 * 70% /48 hr = 8 mA. Modern LEDs are reasonably bright at 1 mA, so you are in the ballpark. But, at beginning of life, the LEDs will be too bright unless you PWM them. So, I would have the MCU measure the voltage and adjust the PWM appropriately. You will need to experimentally create a table of voltage vs current for your LEDs. \$\endgroup\$
    – Mattman944
    Feb 20 at 23:43
  • \$\begingroup\$ You might consider using a "Joule thief" circuit to extract the last drop of energy from the battery. And it may work with a smaller and cheaper 1.5V button cell. \$\endgroup\$
    – PStechPaul
    Feb 21 at 0:44
  • \$\begingroup\$ You need a coin cell per LED to last 8 hrs getter dimmer during and after this time. This will not work with much current per LED for very long as you imagined unless you choose 10 Cd LEDs and run at 2mA for 10% of 20mA. \$\endgroup\$
    – Hoagie
    Feb 21 at 6:06

1 Answer 1


White LEDs drop about 2.6V at low currents.

I see 3 options:

  1. Use 3V. PWM the LEDs, vary the PWM as the battery degrades. This would require a lot of calculations and experimentation, and I am not convinced that it would work.

  2. Use 3V and boost the voltage for the LEDs. However, the boost circuit may take up as much space as another battery.

  3. Use 6V. This is the simplest. Unfortunately, the resistors in series with the LEDs will waste half the power. Below is a circuit for option 3.

For the MCU, I would use a TI MSP430G2553 (or a variation that has fewer pins if you are really tight on space). I am familiar with it and it uses very little power. There are other choices.

The MOSFET needs to be a logic-level MOSFET.

You want to use a two large coin cells, maybe a CR2450. With a 3.3k series resistor, the current will be about 1 mA. Modern LEDs are reasonably bright at 1 mA. With 8 LEDs it will last about 48 hours. Note that at 8 mA, you are outside the recommended continuous load of a CR2450 coin cell, you definitely want to run some tests.

A better solution is to use 4 AAA batteries.


simulate this circuit – Schematic created using CircuitLab

Edit: Added Development Board info and battery test data:

If you go with the MCU that I recommend, this is what you want to buy. The top portion of the board is the debugger hardware. There is a row of press-on jumpers to connect it to the MCU. You can remove these jumpers and connect the debugger to your custom hardware. The User's Guide includes schematics so you can see how it is done.

enter image description here

A ran a test on a cheap CR2450 battery. With a 330 ohm load it only lasted for about 33 hours. This is about 2/3 the amp-hr capacity of a good brand battery. Also, a cheap battery seemed to have a lower output voltage curve than the curve in the Energizer spec. So for sure, option 1 won't work with a cheap battery .


Your Answer

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

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