I'm using an mbed micro controller to switch on all channels on the mm5451 LED driver. I have wired accordingly with 5v PSU, 1k resistor on pin 19 for brightness control (have varied this with no results), data/clock, LEDs with negative to the mm5451 (and positive to +5v inc resistors).

I've got a very basic loop that sends out a string of pulses (35 + start bit) which should switch on all channels, but I'm not getting any light.

#include "mbed.h"

DigitalOut dat(p22);
DigitalOut clk(p21);

int main() {
    while(1) {
        for(int i = 1;i < 37; i++){
            dat = 1;
            clk = 1;
            clk = 0;
            dat = 0;


mm5451: DATASHEET mm5451

mbed: NXP LPC1768

Here's an image of the output pulses:

Updated image of pulses, thanks to ANINDO GHOSH

Hopefully the chip isn't broken and I'm just making a really stupid error. Looking forward to the obvious answer!

  • 1
    \$\begingroup\$ Schematic? The "sagging" from left to right on that scope trace looks very suspicious, presumably both the left and right are supposed to be at 0V? \$\endgroup\$
    – pjc50
    Aug 1, 2013 at 12:44
  • \$\begingroup\$ I haven't calibrated the oscilloscope yet, in anycase it shouldn't make a difference. As for the schematic, I don't have diagram, but I double checked using the following instructions code.google.com/p/arduino-m5451-current-driver/wiki/… \$\endgroup\$
    – rom
    Aug 1, 2013 at 12:47
  • 2
    \$\begingroup\$ Try setting the oscilloscope to DC mode instead of AC. \$\endgroup\$ Aug 1, 2013 at 12:58
  • \$\begingroup\$ ahah, well spotted sir. Its been a few years since I last used one. \$\endgroup\$
    – rom
    Aug 1, 2013 at 13:02
  • \$\begingroup\$ Have you tried reversing the LEDs (i.e. common ground)?...the data sheet is not explicit in this regard but it looks to me like the outputs are active high. Figure 13 is ambiguous in that it shows both PNP and NPN multiplex driver transistors...I don't see how that would work. \$\endgroup\$
    – aja
    Aug 1, 2013 at 14:12

1 Answer 1


Problem solved- I'd taken a pile of LEDs from a bin of dead components by mistake.

I put the supply voltage up to 12v and used some brand new LED strips and it all works perfectly.

Varied the bits to ensure the pulse is being picked up correctly and sure enough, the lights change according to the pulse.

Sorry to answer my first question, thank you for your help.

  • 1
    \$\begingroup\$ When I determine components are bad, I usually cut the leads off or otherwise render them obviously broken to avoid just this kind of mistake :) \$\endgroup\$
    – Phil Frost
    Aug 1, 2013 at 14:37

Your Answer

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

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