Jump to content

MSP430/TLC5940 Based LED Sequencer

Recommended Posts

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

I'm in the process of making some LED tail lights for my car. I'd like to use an MSP430/TLC5940NT combo to control not only PWM brightness but also some interesting sequencing for show purposes. I'll

Thanks again for all the help Rob! I've got quite a bit of reading to do. I forgot to note that my boards are series parallel, common power, seperate grounds.     The previous controller I bought

Three things: 1. your 3.3V power rail is not correct, caps are in series, should be parallel to 3.3V and GND. 2. Add bulk cap (10uF-100uF/50V) on the input and bypass caps (0.1uF) next to each IC's

Posted Images

I think with the 59116f there would be less connections to the uc.

Yup, 59116 so far is my favorite TI LED Driver, only 2 pins needed, and all you need just set the intensity for each channel and it will take care of the pwm part all by itself. I'm not using it with my first MSP430 base sequencer two years ago, just because the I2C code is a bit too complicated with CCS, but now with Energia, it's piece of cake. :)
Link to post
Share on other sites
  • 3 months later...

WorKing on this some more and have some questions.

What value pull up resistors do I need on the i2c lines? Theses connect to the i2c lines and power correct?


Also since there are 3 housings I want to have 3 msp430/tlc59116f boards. I can simply have 1 uc as the main and the other 2 as slaves correct? This would be all done in the programming and nothing extra component wise on the board correct?

I understand using the uart feature to have the msp430 s communicate with each other, however there is also a blue tooth module that connects to the same lines. Will this cause issues?


Trying to finish designing the board so I can have a prototype made soon.

Link to post
Share on other sites

@@Blurred Talon

Pull ups would go from the signal wires (SDA/SCL) to VCC/VDD or whatever you're calling it. In this case, they would go from the clock and data pins (P1.7/P1.6) to the positive supply of your chip; anything between 2K to 4.7K, maybe even up to 10K is probably fine. The signals work by pulling the line from V+ to ground and that's why you need the pullups: without a 'high' reference, anything can be ground.


You might even consider, since you have a few MSP's there, having the light patterns stored on the slave controllers, then simply have the master take a particular pin of each slave high to get it to display a particular pattern. Then, the slaves just set there waiting for the master to say 'blink', and then they do, so you're not worrying much about actual communications and can rely on simple signaling.


You could get more exotic with the master MSP generating the pattern itself, and sending that out over several pins with a few pins used to determine which slave operates on the signals. For instance, with a G2553, you could use P2.0 - P2.7 to control the pattern (that's 8 lines there), and P1.0-P1.7 (another 8 control lines) to choose which slave to use.


If you go the latter route, no need for other MSP's in the system- just wires and transistors.


I'm just saying. ;)

Link to post
Share on other sites

The value of the pull-up resistor depends, but such a simple project, a 4.7k one should do.

The pull-ups should be from 3.3V to SDA and from 3.3V to SCLK, so it's 2 pull-ups.


Using the UART is normaly only betwen 2 IC i belive. You could design it in a way that you the data-packet has an address to diferenciate the commands to slave 1 and slave 2. About the bluetooth in there, if it has a pin to select if the command it's for it, then you can do this, but if the bluetooth receives a command and your comunicating with the slaves, then you will have problems.

Maybe you should also use I2C to comunicate betwen each MSP430. And yes you can use 2 slave and 1 master with I2C

Link to post
Share on other sites
  • 3 months later...

Slowly working on a prototype for my Sequencer. I want to make a simple one before I go a head and design the tail light sequencers.
I've got all the correct pins connected together I believe but I need some advise on power inputs and signals to control the LEDs.


Let's assume I'm using this board for my front turn signals. First off the LED board itself will have power brought to it by a 12V regulator.
My front lights are marker and turn signal. Should the marker feed the sequencer power? Would the turn signal input be connected to one of the inputs on the MSP? What about if I want a special feature, where would this go (say strobe)? 
What else do I need to make this function correctly? Any suggestions on caps, resistors, etc. I'm going to have an LM1117 V-Reg on the board to power the MSP and TLC.

Link to post
Share on other sites
  • 11 months later...

Well finally, I think I'm got it.

I've uploaded a picture of a 'finalized' drawing for a sequencer which could control my LED  front turn signals (either bumper or headlights as they only have 13 and 15 channels respectively).

Would anyone be willing to have a look at the drawing in Eagle CAD before I move on to board layout? I want another pair of eyes to see if I'm missing anything.post-30088-0-30713800-1447493808_thumb.jpg

Link to post
Share on other sites

I would make them separate (TLCs require several control signals.)

This way, each MSP could monitor OEM wiring and could take commands from other sources.

For example, you could have one MSP master, either one tail light or dedicated controller, which would communicate with other MSPs using UART (9600.)

You could then connect all lights with just a pair of wires, you could use a simple addressing mechanism to control individual lights, and you could also test your lights using PC and USB->UART dongle.

You could have commands that trigger sequences, turn individual channels on and off, turn all on and off, you could even save your last used sequence to EEPROM, so the next time the light is powered on, it uses the same one and not the default.

Implementing such thing would be very easy, see UART->TLC example.


Your software would be something like:

main loop takes care of light sequence

timer ISR refreshes TLCs

port ISR monitors OEM wiring and triggers sequence (in addition it could send commands to other lights via UART)

USCI ISR receives UART commands and triggers sequence


Going back to this older post, I'd have 1 MSP as a master (input all my signals here) and then 3 as slaves which communicate with the TLC59116F ICs?

Since this would be done over UART I assume I couldn't have anything else on that line? I'd like to have Bluetooth control and an accelerometer (for a strobe under panic braking). 

Does this mean I need an MSP with multiple UART ports?


Three things:

1. your 3.3V power rail is not correct, caps are in series, should be parallel to 3.3V and GND.

2. Add bulk cap (10uF-100uF/50V) on the input and bypass caps (0.1uF) next to each IC's Vcc.

3. Add 47k pull-up resistor on RST line.


Only thing I don't get here is number 2 - where is this placed, just before the VCC on both chips? After the existing ones.


Thanks for the help.

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...