Press "Enter" to skip to content

MM5451 LED Driver Library

Awhile ago, I started working on a bit of code that interfaces a MM5451 LED Driver with an Arduino. I would like to wrap this project up and make something sweet for lots of people to enjoy.

What is the MM5451?

This chip drives up to 35 outputs from a serial input. Requires only 2 pins from your microcontroller (data, clock). Has a built-in latch and shift register so once you send the data, it holds the outputs without continuous refreshing. Each output can sink or source current, making it straightforward for driving LEDs directly.

Operates on a wide voltage range (4.5V – 13.5V), which is handy for displays not running at standard 5V logic.

Contains a single pin that controls the LED display brightness by setting a reference current through a variable resistor connected to the supply.

Why would I use it?

The micro doesn’t have enough pins to directly drive a big LED array so this chip lets me lower needed pin count.

Serial communication is dead simple.

The MM5451 drives each output continuously. This means:

  1. Simpler software (no refresh interrupt needed).
  2. Limited flicker in LED’s
  3. Bright stable display, Great for looking at!

Datasheet here for your convenience!

There might be other “better” chips to use, but I wanted to wrap this project up with a nice bow and perhaps make an extension to this project with a newer chip. Especially since this one does not handle RGB color, It is somewhat limiting.

https://github.com/Amoskeag/MM5451-Library/tree/main