The BAPPR Keeps Your Addressable LED System Cool

We all love a nice strip or grid of addressable LEDs. It can add flair or an artistic touch to many projects, and it can make gaming computers look extra 1337. However, providing enough current to a long strip of addressable LEDs can sometimes be difficult. Often a separate voltage rail is needed to supply enough juice. At the same time, continually sending out data to animate them can often use 100% of the microcontroller’s CPU power, especially if the serial bus is being bit-banged. A crash or badly timed interrupt can leave the system in a weird state and sometimes with the LEDs not displaying the correct colours. Or you might just want to enter a power-saving mode from time to time on your main MCU? Well, the BAPPR is designed to address all of these problems.

[TheMariday] created the BAPPR and made it fully open-source. It’s a switch-mode power supply that can accept anywhere from 7 V to 17 V and converts it into a strong 5 V rail for typical addressable LEDs. It also has a “smart” mode where it monitors the data line going to the LEDs to see if there is activity. If for some reason the system stops sending data, the BAPPR can intervene and shut off the power to the LEDs, which can help prevent strange colour combinations from being displayed while the system recovers. Once data starts flowing again, power is restored and the light party can resume.

An efficiency graph for the BAPPR. It shows that the most efficient voltage is 7V when outputting 1A, but this quickly drops off as current increases. To maintain higher efficiency when outputting more than 4A, 14V is the best input voltage to use. 10V and 17V are similar through 6A, but not as efficient as 14V.
Input voltage vs output current efficiency graph

This is accomplished by directly rectifying and filtering the actual data line itself. As long as it remains active, enough charge will remain on C4 to keep the output alive. While this is a very simple and effective solution, it’s possible that a system might get stuck outputting VOH and this would keep the system enabled. Adding a series coupling capacitor could be a way to change the behaviour if desired — that’s the beauty of open hardware! At the same time, it’s very simple to disable the LED system simply by outputting a low level on the data line, which allows quick and efficient power saving.

It’s easy to adjust the parameters of the “smart” mode by simply picking different values for the input resistor, storage capacitor, and draining resistor. This can either have it activate more quickly upon resumption of data, or you can increase the amount of time it waits before shutting the output off when the data line goes to zero. If you’ve got a project with lots of addressable LED strips, having local power supplies like the BAPPR allows you to increase the efficiency of the entire system by sending a higher voltage, perhaps 12 V – 18 V, to each module, reducing losses over potentially long cable runs.

17 thoughts on “The BAPPR Keeps Your Addressable LED System Cool

  1. “leaving your microcontroller CPU running at 100%”…. That is exactly how microcontrollers are meant to run, they aren’t like CPUs in computers that can be governed and scaled.

    1. That was true for the 8051, but more modern stuff like AVRs allow you to modify the clock frequency at runtime and enter various sleep modes. Not running at full tilt all the time is the secret sauce of energy-efficient battery powered devices.

    2. Not if your microcontroller has more than one task to do. Software bit-banging protocols like this can eat a lot of CPU cycles, and if a software bug happens it might get stuck.

  2. Unfortunately there’s no provision to attach this thing to a heat sink or metal case. At nominal load it has to dissipate about 2.5 W, which already isn’t easy to get rid of in free air with such a small area. It will cook to death in an enclosure.

    1. Thanks for the feedback!
      There is space on the rear to mount a 10mmx10mm heat sink
      It does have to dissipate 2.5W but at maximum load, which I agree is a lot!
      Do you have any recommendations to how I can adjust the design to attach to a metal case?
      I’ve mainly been focusing on using it heat-shrinked in wearables where you wouldn’t be pulling 5A continuously so overlooked this.
      Thank you!

      1. I’d move all solder pads and the link to the component side, so that the bottom is completely flat. That would allow the use of a 1mm silicone pad over the whole area. The PCB can be clamped down with a simple piece of bent metal sheet, as the inductor provides a large flat surface which can take some pressure. Or add tabs with screw holes that can be cut off if not needed.

        1. I can see how that would work!

          I’ll see if I can move the solder bridge to the other side for the next version.

          Sadly there isn’t really any space to move all the pads to the top but I’ll give it a go.

          On the back of this, I found out yesterday that the BAPPR perfectly fits a TO-220 heatsink!

  3. Would have been nice to support 24V and e fuses.
    For large installations you need to feed 5V at multiple points to the strings. A 24V supply to distributed Dcdc converters can work with thinner cables. And still, where do you put fuses if you run 10A? Each point of load Dcdc should have a safe shutdown

    1. Hi Schobi. Thank you for the feedback!

      I’m currently looking at higher voltage chips for V4 so I’ll keep this in mind.

      The current version does have over-current protection as well as short circuit protection.

      When activated it goes into “hiccup” mode until the fault is resolved.

  4. This is exactly what I needed seven years ago when I built my first led strip lined lab coat! I still have it but I need to rip all the old pre-ws2812 LED strip out and upgrade it. I wonder how these would handle the led 108leds per meter” neon “ addressable strips

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.