Creative Commons images are CC BY-NC-SA 3.0

12.95

added to your
shopping cart

quantity
In stock 82 in stock
12.95 1+ units
11.66 10+ units
10.36 100+ units

Description: The TLC5940 is a 16 channel PWM unit with 12 bit duty cycle control (0-4095), 6 bit current limit control (0-63), and a daisy chainable serial interface. This breakout board is a good way to take full advantage of this useful IC. All 16 PWM channels are broken out to standard 0.1" headers, which run alongside convenient voltage and ground rails. Also, because the TLC5940 can be daisy-chained, the breakout is designed to support that feature. On the left-hand side of the board all serial inputs are broken out to 0.1" headers and likewise with output on the right-hand side.

Use this board to increase the number of PWM pins available to your microcontroller for applications such as Monocolor, Multicolor or Full-Color LED Displays, LED Signboards, Display Backlighting, Servo control, or any other project where a large number of PWM drivers are necessary.

Note: While each 3-pin PWM header is 0.1" spaced, the space between each header is slightly larger in order to accommodate servo connections. In order to make this board suitable for use with servos, 2.2k pull-up resistors have been included on each output as well. Finally, the 2.2k resistor on the Iref pin sets the output current to 17.8mA but a parallel through-hole connection is provided for an additional resistor to increase the current if necessary. To determine the resistor value you need for a given output check the equations provided on the schematic.

Documents:

Comments 49 comments

  • Can I use one of these with a raspberry pi to control an electronic speed controller, ESC, for outrunner brushless motors? Sorry I don’t have a lot of experience with electronics but it would seem that I can connect this to a raspberry pi and use it to generate 4 separate pwm signals for a quadcopter?? The ESCs take a hybrid PWM signal where the pulse width defines the throttle. 1ms = 0 throttle and 2ms = full throttle.

  • Hi!

    When using this breakout and running the “sweep” example included in the TLC library, my servos only sweep 90 degrees (despite the fact that the code should sweep them 180 degrees).

    Looking at the code and video on the Bildr tutoria, I noticed that the same thing happens. Although the code cycles through the full 180 degrees, the servos in the video only sweep 90 degrees.

    Any ideas on why this may be and how to fix it?

    Thanks!

    • Okay I emailed the guy who wrote the library and this is what he said.

      “I think it’s probably the pulse width. It’s easy to adjust: the default is 1ms to 2ms. Try different values for SERVO_MIN_WIDTH/SERVO_MAX_WIDTH. The defaults are 204 and 410.

      Here’s how to change them for a sketch:

      define SERVO_MIN_WIDTH 204

      define SERVO_MAX_WIDTH 500

      include

      void setup() { …"

      I changed the values of the two variables by editing the file tlc_servos.h instead of in the arduino sketch and I was able to get full range of motion. This is what I changed the values to:

      define SERVO_MIN_WIDTH 93

      define SERVO_MAX_WIDTH 439

      Its not perfect but does go from 0 to 180 degrees now. However 90 degrees looks more like 100-110 to me so I’ll try playing around with it a little more later.

      Hope this helps!

    • Yeah I just realized mine i doing that too and came here to ask. Any information would be greatly appreciated.

      • Are they 180 degree servos? The library seems to assume that they are (see tlc_servos.h, SERVO_MAX_ANGLE). If not, simply doubling that value might get you the desired behavior. If they are, then there’s probably something wrong deeper down into the code (timing of pulses, perhaps), but doubling that value might still do the job.

        • The servos I’m using are definitely 180 degrees and turn a half turn when using the arduino servo library. I played around with SERVO_MIN_WIDTH and SERVO_MAX_WIDTH a little but really don’t have the knowledge to modify the library… I’ll try again tomorrow and post if I make any progress.

          One thing I did notice was that even when setting a servo to 0 it doesn’t go to the actual 0 position, so I dont think its a matter of multiplying by two (2*0 is still 0).

  • Any idea when those 80 units will be built?

    Edit: They’ve been built now. :)

  • Hi Can I use this board to control meanwell LDD drivers? I have too many to control just using the arduino by itself

  • Could this be used to control steppers? Very new to electronics, incase my question didn’t give that away already. I am trying to control 12 steppers without having to go the 12 or 6 drivers direction. If anyone feels like pointing me in the right direction that would be greatly appreciated! Email me if you’d like… holychachi at gmal dot com

    • Unless you are using extremely small steppers, this wouldn’t be a good option for driving multiple steppers. This board can only supply a max of 120 mA, which is going to be well below what most stepper motors will draw. You could use something like the Quadstepper Motor Driver board, which can drive up to 4 motors. You could hook a few of these up to a single microcontroller.

  • good

  • Ola

    I bought this interface. But I’m having trouble getting control servo individually.

    example: all in 0 1 goes to port 180, while at the same time the gate 7 goes to 90. When port 1 and port 7 return to the 0 º to 180 º too vain

    Can someone give me a hint.

    tks, for all.


    I have solution it is: http://4933journal.blogspot.com.br/2012/03/servo-testing-on-tlc5940-arduino.html

    I having error logic, it simple solution. :D

  • Hi I Have a Question.

    I want to drive 9 servo’s with this breakout board.

    I provide the power external from a different power source.

    Do I have to do something to prevent the chip from burning out?

    and how does it work with teh arduino library to control more TLC breakoutboard daisy chained together?

    Thanks!

    • I am asking myself the same questions. It would be great if somebody could answer them.

      Now, I am using a Pololu Mini Maestro. But I would consider using that Sparkfun breakout board instead if I’d know how to connect an external source of power that might deliver from 0 to 5 amps to a bunch of hungry servos, without burning the TLC5940.

  • Can you give an advise, please: I’ll use TLC5940 with mbed to drive 16x SSR relays. Can I connect SSR directly to my TLC5940' PWM-out? As I understand, just using mbed’s TLC5940-library I can limit a current by 20mA, and set voltage to 1,2V as shown in SSR’s DataSheet (S202S02F). Should I use driver circuit (with a transistor, a current limiting resistor, …), or I can straightly connect PWM-out to the + of the SSR?

    Thanks in advance!

  • Has anyone tried to use this with the IOIO? Im interested in getting a basic sample hookup with sample java code if anyone is up for the challenge. I need to drive 12 servos.

  • Ugh, as someone else mentioned, the 16 PWM headers are at a weird spacing (appears to be 2.625mm) making it impossible to connectorize multiple channels together. Buyer beware.

    • Sorry the layout isn’t working for your application, the board is optimized for individual 3x0.1 connectors such as used for servos. There is a paragraph noting this in the description.

  • Hey, does anyone have the Fritzing Library for this Breakout? Looking for TLC5940 Breakout just found the PWN shield version. Tnks!

  • Recently bought a few of these and the quality control was terrible. The soldering on the boards was very dry and i think some of the joints were intermittent. I had a look through a microscope and it was most noticeable on the TLC5940 and the resistors. It must have been a bad batch. JH

  • I’m driving 12V strings of LEDs in series, about 100mA/PWM pin. Can I apply +12V to VCD, or do I have to use with MOSFETS?

  • How do I “detach servo” so the servo is not always on, thanks

  • There is no breakout board with the tlc5947 ?!?!? Ooops !!!

  • Hi All,

    Any one know what the upper limit of the number of TLC5940 that can be daisy chained with this breakout board? I’m looking for hooking up at least 12 of them, if this is possible. Also would their need to be some power considerations for powering all those breakout boards. IN my case, i just want to use them to send PWM to some constant current circuits for high current leds. Thanks for any help with this.

    Steve

  • It appears that the breakout holes are not 0.100" apart. Does anyone know how far apart they are and WHY? I’d love to source a header for it and I just found out that the one I ordered doesn’t fit.

    • The spacing is to accommodate servo connectors. The headers should be 16 pieces of 3-pin, and everything should work out nicely. It really is a great breakout board IMO.

    • Funny enough, the rows are 0.1" apart. But the columns are still some odd length. This is going to be ugly if I want this board to be reusable. I highly suggest anyone interested in this breakout to get themselves the TLC5940 DIP instead. Much easier to work with.

  • A variation of this board configured to handle RGB’s with mosfets on board, and without the pull up resistors would sell. There are a lot of people that are doing DIY lighting, and it would address that demand.

  • Is that a surface mount 5v voltage regulator on the board?

  • based ont he eagle files, the vcc and ground lines are the bottom two of the three. last i checked most servos and other pwm devices had the pwm signal on the middle pin, so what are the benefits of this board over designing your own?

    • On most servos, the pwm signal is not on the middle pin. It is the VC which is on the middle pin. Fortunately, the design of the breakout board is correct regarding this issue.

  • So I might be missing something, but I’m looking at the schematic and it looks like OUT4 is shorted to VCC. I guess Eagle thought you wanted to make a junction where you cross VCC over the OUT line.
    Just a heads up.

    • Huh…weird. That little net junction node is supposed to be connecting OUT4 to the pull-up resistor.
      All is fine on the PCB, though. It’s NOT actually connected on to VCC, and IS connected to the resistor. Eagle files verify.

      • Sorry, was just checking out schematic and noticed. Didn’t mean to make false accusations :P

  • Is it possible to drive mosfets with this board to control strings of 12v RGB LED’s?

    • I just use a mosfet as a low side switch and it seemed to work fine, it inverts the logic but you can deal with that however you want. Please correct me if Im wrong anyone.

    • You can parallel the outputs as shown here:
      http://focus.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slva253
      Or you can use mosfets as shown here:
      http://focus.tij.co.jp/jp/general/docs/lit/getliterature.tsp?literatureNumber=slva280&fileType=pdf

  • I’m very stoked about this. Thanks!

  • What is the point of this breakout when there is a DIP package of the same IC available?

    • The DIP version of the TLC5940 can be a little difficult to source. I tried to order a dozen of them for a project last year, and it took Digikey so long to get them in stock that I ended up cancelling the order and picking them up in ones and twos on eBay.

      • Digikey is hardly the only source for chips, and is actually my second choice to Mouser.com. In fact you can get the PDIP-28 chips at mouser here (1200+ in stock).

      • The trick is to go to TI.com and search for it there. They have a distributor search that you can use. For instance: http://avnetexpress.avnet.com/store/em/EMController?langId=-1&storeId=500201&catalogId=500201&action=products&N=0&mfr=TIS&hrf=http://focus.ti.com/general/docs/usercart.tsp&term=TLC5940NT
        almost 200 in stock. $2.21 :)

    • I agree. Unless I’m missing some obvious advantage, this is actually more limiting than the DIP package (unless you are unsure as to how to use it, in which case you should learn :)).

      • I think the obvious advantage here is that, for nearly the first time, Sparkfun has decided that we like mounting things. The mounting holes mean I could picture actually DEPLOYING a sparkfun breakout board for the first time!
        (I just created a complete arduino board with a TLC5940 built in and completed it… Yesterday.)

        • Hi. I understand this product uses a kind of serial interface from a microcontroller. Can it also be controlled by a RS232 port (from a PC)? If it can, do I need a MAX232? Tnx!

          • This board uses a synchronous serial interface (usually called SSI or SPI), which is common on microprocessors like the Arduino. SSI is different from an asynchronous serial interface like RS-232, so no, you can’t control it with an RS-232 port, sorry.

        • Hey Bruce, I was just about to do the same thing! Care to share? Hit me at dick[at]gra(dot)in (yes, Indian domain), would love to chat about it.

  • Aw man, I just spent the last couple of days makng this same board. $12.95 would have saved me alot of labor time. Oh well, It was a great expierence working with the tlc5940 on the bread.


Related Products