Jump to content


Recommended Posts



I am thinking about building small a LED-matrix but according to specs the MSP430g2553 will not muster to drive 8x15 ma so i will need to use some kind of buffer-circuit. What makes it tricky is that i want to use bipolar dual coloured LEDS so i need a tri-state buffer. Does anyone know of a handy IC to do this? or if the attached circuit is sane?


The idea is that both transistors will be driven low if there is no signal (input is high impedance) or the pulldown will get overpowered by any signal.



Link to post
Share on other sites

I think you should swap the transistors, as NPN transistors are driven by Ibe while PNP transistors are driven by Icb. As a result the output is inverted relative to the output. Also make sure the bias voltage on the bases will prevent the transistors from conducting when input is floating.

Alternatively, you could use tri-state buffers, those have two inputs, one input enables the output, while the other input is copied to the output when the enable pin is active.


You could also connect the LEDs between two (buffered) pins, so you can actively drive the LED one way or the other. This too will cost you a pin extra.


A more elaborate (code-wise) solution would be to use a charlieplex display. Charlieplex displays naturally have LEDs connected in both ways between each two pins, but these also require you to have tri-state enabled pins.


Also, the MSP430 does allow or up to 60ma over all pins together, so instead of buffers, just alternate between the first four and the second four LEDs to drive.

Link to post
Share on other sites

Oh, i forgot to mention that i actually know what i tristate buffer is, I seem to keep forgetting to mention these important details. But I have not found a tristate buffer that can muster the relatively high current of up to 120ma needed especially not one that will accept a Vcc of 3v.


The solution of just running half a row at the time was of course a smart one. But since the MSP will drive and sink at the same time (drive the row, sink the column or vise versa) it still attributes to more than 60 ma when it is both driving 60 ma and sinking the same 60 ma. This could of cause be solved by just lighting 2 leds at a time, but then I am almost wasting as many cycles and get as much flickering as I would with charlieplexing.


I was considering charlieplexing but since the the diodes of the LSWT67C have slightly different forward drop I think it might get messy, and unless i waste lots of cycles on multiplexing it will probably get flickery.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...