78.125 KHz ATtiny85 Based Boost LED Driver




Introduction: 78.125 KHz ATtiny85 Based Boost LED Driver

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

You can increase the switching frequency of microcontroller based LED drivers by using a faster crystal oscillator. A 20 MHz oscillator was used to increase it to from 31.25 kHz to 78.125 kHz.

With a higher switching frequency, you can:

  • increase the LED string's drive current
  • increase the LED string's forward voltage
  • decrease the input voltage
  • decrease the input and output capacitor's value
  • decrease the inductor's value

You can use this circuit for LED lamps, testing LEDs, testing other components, and other projects that require a constant current source.

Step 1: Component Selection

To calculate the component values, enter the parameters for the boost LED driver.

It will calculate the values for the:

  • Inductor rating
  • Switch rating
  • Diode rating
  • Output capacitor
  • Current sense resistor

Make sure that their absolute maximum ratings aren't exceeded.

Note that with a higher switching frequency, the ripple current decrease, allowing a higher average inductor and current.

Step 2: Driver Board

The circuit's very similar to my previous microcontroller based boost converters. The main difference is that a 20 MHz oscillator was used. A 24V zener diode was selected in case of open voltage or too high of an LED string voltage. If the output exceeds 24.7V, the NPN transistor turns on, causing the microcontroller to reset which protects the MOSFET, output capacitor, and Schottky diode from overvoltage.

Note that the drive current was selected for a 0.82 ohm current sense resistor.

Step 3: Program for the ATtiny85

In this program, you can set the:

  • drive current
  • PWM frequency
  • maximum duty cycle

You can modify the code to add other features such as strobe light, timer, turning off the LED, and sleep mode.

Step 4: LED Driver Measured With an Oscilloscope

The LED driver was tested with:

  • 6 white LEDs
  • 12V power supply

Modes 0 through 4 were used. The drive currents were up to 700 mA.

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017

Be the First to Share


    • Mason Jar Speed Challenge

      Mason Jar Speed Challenge
    • Bikes Challenge

      Bikes Challenge
    • Remix Contest

      Remix Contest

    2 Discussions


    Question 11 months ago

    thanks for the very helpful project. I have few questions about the design: how you calculate 0.82 ohm current sense resistor? I see 0.47 ohm resistor.
    I'd like to use this design as a start point for a 100W led driver (about 30..36V and 3A) so I would understand how choose current sense resistor and inductance L1.


    3 years ago

    Powerful little thing.