ATTiny84 Based 3A Step-Down LED Driver




About: Autistic person who's interests include utility cycling, recreational cycling, cycling safety, electronics, gardening, Arduino, and LEDs.

This driver is an upgrade for the one used in for my 15W SLA powered lamp. Instead of having a drive current of less than 1.5A, you can increase it to 3A. This can increase the lamp's power from around 15 watts to 30 watts, producing over 3000 lumens for three Cree XPL LEDs!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: PCB

This circuit was revised with the following:

  • The AO3400 transistor was replaced with an IRF9540N transistor for a higher power rating.
  • Two SS36 diodes were in parallel for a higher current rating (a 5A Schottky diode may be used).
  • B1 was removed.
  • Fan control was removed.

ExpressPCB files were uploaded in case modifications are needed.

Step 2: Completed Circuit Board

Step 3: Microcontroller Code

Note that the maximum drive current was set to 2.5A. You can experiment with higher values such as 2.9A. It seemed to trigger the battery monitor at 3A. Maybe the inductor needed to be rated for more than 3A.

If you're adjusting the feedback voltage, make sure that your calculations are correct for the current sense resistor value.

The battery monitor was set for SLA batteries. You can modify it for other battery chemistries such as Li-ion.

Note that a 20 MHz crystal oscillator was used for a higher switching frequency.

Step 4: Possible Use for the Replaced LED Driver

Since the 1.5A max driver was no longer used for the Cree XPL LEDs, I installed it into a new lamp with 4 - 700mA red LEDs powered by a 12V 1.3Ah SLA battery.

Here's the pictures of the new unit with the lower current driver.

The code was also updated with its maximum drive current reduced to 650mA.

Step 5: Other Possible Uses for the New Driver

  • LED lamps
  • Flashlights
  • Bike Lights
  • Headlamps
  • Grow lights
  • Constant current source
  • Driving 10W, 20W, 50W, 100W LED chips from eBay

Step 6: Code Updated on (April 17, 2017)

This code was updated to have a soft start when turning on or adjusting its drive current. This can reduce its inrush current and reduce the risk of brown-outs although you can turn on brown-out detection..

Step 7: Code Updated on (April 18, 2017)

This code was updated with:

  • Gradual decrease in drive current when shutting down or when the brightness counter overflows to avoid inrush current.
  • 5% increase in the battery cut-off voltage to account for the components' tolerance. It's better for the battery when you avoid overdischarging
  • Low battery warning removed to prevent crashing.

It was updated because the microcontroller crashed when the low battery warning was triggered.

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017

Lights Contest 2017

Participated in the
Lights Contest 2017

Be the First to Share


    • CNC Contest

      CNC Contest
    • Make it Move

      Make it Move
    • Teacher Contest

      Teacher Contest

    2 Discussions


    2 years ago

    Is it possible to supply it from 4 x li-ion instead of 12V SLA batteries?

    1 reply

    Reply 2 years ago

    Yes. You'll have to update the cut-off voltage to the proper level for overdischarge protection. Make sure that none of the cells fall below 3.2V.