0603 LED Strip

Hello.

I have been trying to find a way to make 0603 LEDs addressable in a strip, 128 LEDs. Using TLC 5940 driver will provide 16 outputs, which means I will need 8 of them. As I understand it will require some intense PCB design and addressing each led or trying to achieve a smooth animation will be hard due to the delay, is that correct? Is there a better and more efficient way to make 128 0603 LEDs work in a strip and have possibility to control each one individualy? I know about 5050 RGB Addressable LEDs but for this project I need a monochrome small LEDs. Thanks.

As I understand it will require some intense PCB design and addressing each led or trying to achieve a smooth animation will be hard due to the delay, is that correct?

No.

You can make it on strip board. What is this delay you think that stops you from making a smooth animation?

I read that the data signal is a little bit delayed from one IC to the next one if you daisy chain TLC 5940. I was looking for other LED drivers with more outputs to minimise the chain because I planned to have three strips with 128 LEDs in each, but my knowledge of electronics is basic so I decided to build one strip to test it. Looking for some advice since I am not exactly sure what's the best way to do it.

You can use two MAX7219, each controlling 64 LEDs, with 15 levels of brightness across the LEDs as a group.
Or multiple of other chips with 8, 16, or more outputs: Atmega2560 with 86 IO if used as a bare chip,


not all are PWM capable,
70 if used as a "stock" Mega, maybe in a smaller form factor
https://www.amazon.com/SongHe-ATMEGA2560-16AU-Pinheaders-Compatible-Mega2560/dp/B07TGF9VMQ/ref=sr_1_3?

When you say "strip", what exactly do you have in mind? A piece of straight PCB with all 128 LEDs on it? Multiple strips with a smaller number? Curved pieces that you can arrange artistically?

Maybe multiple strips like this? Or a 16 pin header with 64 LEDs?

Thanks for suggestions. This is what I'm planning to build ( see the attachment ), LEDs arranged in a ring. I think I can fit 8 TLC 5940 on the PCB if that's the way to go. I though about using MCU such as Atmega2560 as a LED driver but again it won't give me 128 outputs so I would have to use something else to compensate that.

I read that the data signal is a little bit delayed from one IC to the next one if you daisy chain TLC 5940.

I think you are totally misunderstanding what you read. There is no perceivable delay in daisy chaining these devices.

Here is a project of mine where I used three chained chips:-
http://www.thebox.myzen.co.uk/Hardware/Hexome.html

Do you need individual brightness control for each led, or only on/off for each led, and possibly overall brightness control for all leds?

How many leds will be lit simultaneously?

PaulRB:
Do you need individual brightness control for each led, or only on/off for each led, and possibly overall brightness control for all leds?

How many leds will be lit simultaneously?

I do need individual brightness control for each LED. In the past I did a few projects with addressable RGB LEDs ( NeoPixels ), so I planned to have same level of control over monochrome 0603 LEDs for this projects.

Grumpy_Mike:
I think you are totally misunderstanding what you read. There is no perceivable delay in daisy chaining these devices.

Here is a project of mine where I used three chained chips:-
Hexome

That's good news. Cool project, thanks for sharing.

What is the diameter of the circle?

CrossRoads:
What is the diameter of the circle?

75 mm

So, the fun part. Manually giving each LED an angle, 2.791 degree different from the one prior, and over and down from the one prior, and then over and up on the 2md half.
Gotta be some way to have excel or something spit those numbers out.

Thanks for your time. I'm using Eagle and found the way to arrange in a circle without the need to do it manually. Can see it here : Autodesk Eagle - Place Component Circular Array - YouTube
I think I'm gonna go with 8 TLC 5940s.

Ooh, that worked nice. Took a few tries to see what it was doing. LED1 at the 3:00 position and counterclockwise from there, backing off a few degrees to not have #128 on top of #1. Final step, click each one and rotate by 90 degrees to orient them parallel to each other.

Nice find!

The problem with the TLC5940 is that you have to keep feeding it pulses all the time even when the display is not changing. I would use a PCA9685 PWM generator.

This is a set and forget chip, that is once you have set the brightness for any one LED, it keeps on going at that brightness without any intervention from your code. You can only get these in surface mount packages but as you are doing your own PCB this should not be a problem. For prototypes you can get a carrier PCB that gives you 0.1 inch pinout from the chip.

For more than 16 drivers per chip look up the STP16CPC26 LED drivers, I have not used them in a design but they are used here

Grumpy_Mike:
The problem with the TLC5940 is that you have to keep feeding it pulses all the time even when the display is not changing. I would use a PCA9685 PWM generator.

http://www.adafruit.com/datasheets/PCA9685.pdf

This is a set and forget chip, that is once you have set the brightness for any one LED, it keeps on going at that brightness without any intervention from your code. You can only get these in surface mount packages but as you are doing your own PCB this should not be a problem. For prototypes you can get a carrier PCB that gives you 0.1 inch pinout from the chip.

For more than 16 drivers per chip look up the STP16CPC26 LED drivers, I have not used them in a design but they are used here
Unicorn HAT HD - 256 * RGB LED Matrix on your Raspberry Pi – Pimoroni

Thanks! Adafruit's website isn't available in Russia for some reason, blocked in our region. Searched some information about PCA9685, looks like a better alternative to TLC 5940 and I found a PCA9685 Arduino library on GitHub. I think I'm going to start working on the schematic. And from what I understand all I need is 128 x 0603 LED , 8 x PCA9685 and some resistors. Is there something I need to be aware of before designing the schematic, or using some existing designs as a reference is fine?

Note that the PCA9685 is an I2C interface device and each one you use has to be set to a unique address with the address pins being connected to a different combination of ground and power. Don’t forget the ceramic 0.1 capacitors between power and ground for each chip.

Also you need a 4k7 pull up resistor on each I2C line going into the Arduino. (Not one for each chip).

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.