WS2811 on Teensy 3.0 using FastSPI_LED library

Status
Not open for further replies.
I've tried runing two of the suspect teensies directly from my machine's motherboard and typically even fewer teensies work. I had been assuming driving them all from one hub would be ideal but I do not know enough about USB communication protocols to be sure.

I wouldn't think power would be much of an issue since the teensies are not being powered off of USB but rather directly from the power supplies.
 
At the risk of having the blind leading the blind here... but you say your teensies have their own power supply? Is that going to be an issue with each teensy having possibly 2 different power sources (usb & power supply)?
 
At the risk of having the blind leading the blind here... but you say your teensies have their own power supply? Is that going to be an issue with each teensy having possibly 2 different power sources (usb & power supply)?

The teensies have been cut in a way that prevents power from traveling over the USB line. The teensies run off the same power supplies as the light strips. Only data goes through the usb lines.
 
You're running a Processing sketch?

I had horrible luck with RXTX serial, which I assume you are using. Really bad read performance (never tried write), and had some hardcoded delays that would cause problems.
 
Hmm. I've tried a few different hubs and computers now with identical results. I'm thinking 7 teensies might just be too many in this configuration.
 
hi, I'm a little confused, is it possible, that the Teensy with OctoWS2811-Library be recognized and supported by software such as "Madrix" or "Glediator" on a Windows-PC? have just looked through, but only found the usage of movie2serial ... this will be no problem playing a prepared video file, but when we want to have some controllable light effects, the movie2serial seems to be more or less inconvenient? any good idea? thanks :D
 
Hello Paul (and everyone else here too!)- I signed up today to ask for some help with a WS2811 LED project and a particularly vexing problem. I am ok with tech in general but nowhere near the level of most of you here, so please bear with me. I purchased 16m of Gree LED 68 leds/meter / 5v300w power supply and a T1000s SPI SD controller, and using LED Edit software / Adobe Flash for color designs / programming.

I've installed the LEDs along a copper recess cove for my new front fence I just finished building at my house. The LEDs shine down from under the top cap recess and wash the fence with color. came out pretty cool. Dealing with Gree LED / Britney has been wonderful, and I would definitely recommend them as a source. communication was good and shipping was fast. Using western union was slightly unsettling but hey it is what it is- Gree is legit, prices are *awesome*.

Here's my layout:
just under 8 meters of LEDs on Right Fence.
just under 8 meters of LEDs on Left Fence.
This is one single channel of LEDs across both fences for 1055 total pixels (33 LEDs under 16m total), controlled by the T1000s
Right and Left Fences are located on either side of the house garage so the fences are about 40' apart.

T1000s controller and power supply is located near Right Fence - The T1000s controller DO goes to the first LED DI of the Right Fence. It's about 20' of 16 gauge wire from the controller to the first LED of Right Fence.
Last LED DO of Right Fence is connected to first LED DI of Left Fence by 40 feet of 12 gauge copper wire.
Power and ground runs for Left Fence are 12 gauge and about 50 feet to power supply.
I am getting an effective 5.0 volts at the Right Fence and 4.3v to the Left Fence with all LEDS powered on (as measured at the LED strip connections)

Here is my grief. The data signal is flaky going to the Left Fence LEDs. The entire left fence will not follow the data programs consistently. For example, if I put on a static warm white program that I had programmed to 50% dim level, the Right Fence is flawless and the Left Fence will be correctly dim, then flicker brighter, then go back to proper dim, etc every few seconds or so. Same with color programs, it is like the LEDs get the data signal and then lose it, get it back, lose it etc. but only at the Left Fence. The Right Fence is operating perfectly up to the last LED where it jumps DO over to the Left Fence DI.

Gree has been helpful but there is a bit of a language barrier so you know how that goes. I have a suspicion that the issue lies with the WS2811 design and that it is not capable of pushing the DO signal from the last LED WS2811 chip of the Right Fence over 40' of 12 gauge to the first LED WS2811 chip of the Left Fence. Either that or there is excessive noise in the signal. Funny thing is that if I increase the voltage to Right Fence LEDs to say 5.2v, the problem goes away and left fence operates fine.

Gree said I should consider buying one of their TTL/SPI data receivers and install it on the Left Fence side of the 40' interconnecting data wire , but I'm not sure if that will work.
Item: http://www.gree-leds.com/productshow.asp?ArticleID=Z4Z2U82539
Doc: https://www.box.com/s/3zrsgsif9qfbiq56vqrq

I'm thinking I may need to install a second T1000s controller and locate it near the Left Fence, but I'd really like to use a single controller. I don't think the issue is power voltage related since I can reduce the voltage of the Right Fence LEDs all the way down to 3.8 volts (using a DC-DC variable regulator) and it works fine with the data programs, it's just a bit dimmer (as expected). I had actually planned to run both fence LEDs at 4.3v using DC regulators (they'll never be running full bright anyway...these LEDs are BRIGHT! :D).

Any help on what I could try to resolve the data issue is sincerely appreciated. Here is a crude drawing of my layout, and my new fences:
fence-led-layout2.jpg fence3.JPGfence4.JPG
 
Last edited:
Here is my grief. The data signal is flaky going to the Left Fence LEDs. The entire left fence will not follow the data programs consistently.

This is almost certainly a signal quality problem.

Before I go any further, I just want to be clear... it seems you're not actually using any PJRC products, or even any 3rd party products running any code I've written?

With signal quality issues, you're really working blind without an oscilloscope. If you can borrow one (and someone who knows how to use it), the 'scope will show you the problems. It won't solve anything, but at least you'll be able to see how horrible the waveform looks and see if things you try make it better, have little effect, or even make it worse.

Usually larger gauge wire does not matter. Heavy conductors do matter for the power, and especially the ground line, but not the signal line.

The very best solution would probably be a RS422/485 transmitter at the end of the 1st strip, driving the signal down a twisted pair cable with a good quality shield, and received by another RS422/485 chip to drive the input to the other strip. Those chips run on 5 volts, so this is achievable with some building.

You might get close enough if you use a coax cable for the signal, and a series resistor between the 1st strip's output and the coax cable input. The resistor should be close to the coax cable rated impedance (eg, use a 49 ohm resistor if it's 50 ohm cable). I'm honestly not sure if it's best to ground the coax shield on the transmitting side or receiving side or both. You'll have to experiment. If you can get a scope, you'll be fiddling with good feedback. Otherwise, it's pretty much shooting in the dark.
 
Paul- Thanks very much for taking the time to reply. Not using any of your code or products, actually, I did not even know about them until Google led me to this thread. Interesting stuff and I'm glad to know there are other options available for running WS2811 strips. The biggest challenge I've found is with easily / quickly creating light patterns. I went with the T1000S controller since it uses LED Edit software for strip layout / data control, and Adobe Flash for the animated pattern designs. I already know Flash so (for me) it is easy to create or modify any sequence / color of lights needed. But it does have its limitations in that you cannot specifically target individual LEDs, it only looks at the total amount of pixels in the conntected strip and applies the design across them.

The tech side of me was definitely leaning towards a signal quality issue- Gree was telling me to use heavier cable on the data line but that did not make sense. I'll try some RG6 and Cat6 cable / do some testing. Worst case I'll just use a second t1000 controller and call it a day. Your post above with Oscope pics and use of a resistor to kill ringing is genious. I suppose though the Teensy is unique in that specfic ringing and use of the 220 ohm resistor to filter it out / would not apply to my situation.

Note that if I drive the last LED of the first fence strip to 5.1v or higher, the signal problem starts to go away at the other fence. If I drop the voltage to 5.0 or below, it comes back. Probably has to do with your comment on the higher voltage giving more leeway for a messy signal.
 
Note that you can get several teensy 3.0s for the cost of a T1000 controller.
Then your only limited by your imagination....Just sayin'.
By the way beautiful workmanship on your fence project.
 
Wozzy- hey thanks bud. the fence started as a "weekend project" and turned into a "2 month" project. you know how that can go... ;p I just finished installing copper caps on the fence tops, which hang over the side of fence by 3" and provide a cove recess for the LED strips so they wash down the fence from the top recess. It looks pretty sick at night. :D I patina'd the copper so it is darker brown with some green / blue / silver streaks. came out quite good. amazing what you can do to copper in 5 hours with plain ol' salt, lemon juice and vinegar.

Yeh I see how reasonably priced the Teensy's are. Just now finding out about this method. I only paid like $24 for the T1000s controller, shipping was $30 but that covered the controller, 16 meters of 68led/m strips, pigtails, connectors, and a 5v 60a power supply. Would probaly run me $20 in shipping to order another T1000s by itself.

I have to admit that while I'm good in a lot of tech areas, programming and working with device assembly are not my strong suits. How are you creating your LED designs for your strips? I guess I went with the T1000 SD controller after discovering that I can make any flash animation in Flash > screen capture it with LED EDIT software and set dim level, export file to the SD card, then apply it to the LED strips. Once it's on the T1000 I can select from 16 different programs on the SD card, speed it up / slow it down, and update as needed. I only wish the T1000 had ethernet capability for online control, and ability to target individual LEDs or set them up in "groups". For me this seemed like a good simple start anyway... I'm going to look more into the Teensy and associated libraries and see where it can take me - changing the controller is not a big deal. I suppose my biggest need would be with easily creating lighting designs and getting them onto the strips.


-Kurt
 
Last edited:
Kurt,
The Teensy3.0 can be programmed from within the arduino environment. It's very easy to learn... little kids, and even I are able to get a hang of it very quickly. It's mostly C progamming. Paul has made it very easy to install and get started with programming the Teensy with Arduino.

There are at least 3 open source libraries that operate the ws2811 light strips with Teensy3.0:
1) Paul's excellent OctoWS2811library
2) Daniel Garcia's Fastspi_LED library (And just released today, Fastspi_LED2)
3) Adafruit's Neopixel library

All have included example programs, and for me all compiled and worked on my GreeLed 68pixel/meter ws2811 light strips, first try.
The examples are quite easy to modify after only a little study to understand how they work.

Using a microcontroller like Teensy3.0, opens up many possibilities like light patterns that react to people walking by, sensor integration, bluetooth, smart phone control and network connectivity, .... like I said earlier, the only limit is your imagination.

Addtionally, PJRC has a microSD card interface, that could allow one to store and retrieve gigabytes worth of custom color patterns, although honestly, the Teensy3.0 is so blazingly fast that I just let it calculate the color patterns realtime.

You'll also find that this is a very helpful community, that is very supportive of newcomers (as long as they are willing to learn and at least try to solve problems) I suspect that once you realize the amazing potential of the Teensy, you'll be hooked, (like me) and see all kinds of uses for them in various projects
 
Last edited:
Cool- that does get me thinking. Ideally, I'd like to set up a year's worth of light programming and have it run on a scheduler / change the lights based on date- you know, change to pattern xxx at xmas, another at new year's eve, etc.. The T1000 is good for what it is, but rather limited in its scope of operation- the Teensy / arduino / libraries combo looks like the best bet to get things exactly as needed.
 
I'll put a fuse on the 5V Vcc of the 74HCT245. Any thoughts on how much current should be drawn through that?

Normally the 74HCT245 should need only a very small current. It should never be enough to blow even the smallest fuses.

If you haven't already, be sure to use a 0.1 uF capacitor across the '245 chip's power and ground pins. It's a good idea anyway to use power supply decoupling capacitors, but when there's a resistive or inductive element in the path (like a fuse) it's really important to have a capacitor so the chip has good power.

To protect the '245, I would use 8 series resistors, one for each output pin just like is done with direct connection to the Teensy3. If the outputs short, the resistors will help limit the current. They also do wonders for improving the signal quality if your wires are long between the '245 chip and the LED strip.
 
Interesting, thanks! I've an assorted pack of capacitors for doing the IR anyways. And amusingly I've eight 220 ohm resistors with leads soldered on just sitting here all alone looking for a mission in life. :)

I'm not too worried about protecting the 74HCT245 really, after frying the one Teensy I tried to solder to directly, I used sockets for both the Teensy and the 74HCT245. I just figured the current going into the data lines on the LED strips should be fused. I've extra 500mA and 1A resettable fuses lying around.

I've placed in-line blade fuse holders on the power for the LED strips, but presumably those chips are pretty robust against power fluctuations from all their neighbors, right?
 
500 mA fuses probably are not worth your time to install. It takes a lot of current to blow such a fuse. If that current were to flow through any of the pins, the chip would be utterly destroyed long before the fuse could blow!
 
Alright, I'll just take your resistor advice and double check my soldering on the LED strips then.

I worried mostly because there will be control lines running between the strips fairly close to my feet, maybe I'll just make sure it's slightly higher off the ground and heat shrink the strip ends so the wire cannot so easily come lost and make a connection to the strip's power or ground.
 
Any tips on soldering to and/or diagnosing the WS2811 strips? I'm frequently causing a short between VCC and GND when soldering to them. It might only be happening when I solder on the WS2811's side of the LED.
 
hey Paul and others - love this stuff. building a 5760 LED installation right now with ws2811 60m strips in 2 m sections, total of 960 LEDs per teensy. using independant power supplies pwer strip, 5a @ 5v. I have all the grounds for the power supplies connected at a single point next to the teensy, which is also connected to the same ground. i am using usb power instead of the strip power supply.

I have 2 issues: the first is that strip #1 is glitchy. it has some LEDs blinking white sometimes. I try wiggling the cables but it does not seem to affect the glitch. tried swapping the power supply with no change. haven't swapped the strips yet.

second issue is that after uploading new code, several strips, usually 1, 2, 7 & 8 do not work, just displaying a few static white LEDs on the first few of the strip. sometimes unplugging the power to that strip gets it going, and sometimes reseating the data connector does.

any thoughts on why this may be happening? should i power the teensy from the PSUs?? not sure why i would go either way on this except that they are already setup for usb power so I have done that for now. event is saturday so I am sweating a bit, but I still have 5 more of these setups to build today....
 
The white LEDs could be a voltage issue. Does your power supply have a way to adjust the voltage? Try lowering it and see if that clears up the white LED problems. I'm running about 4.75v with 220 resistors on each signal line. If I go even the smallest bit over 5v the LEDs start turning white.

Bottom line... Be careful and test every part of your wall in small steps. Good luck :)
 
Hi everyone,

I have recently become interested in working more with LEDs and strips and I was thrilled finding out all this amazing work that's been happening here. For an installation that I am currently working on we are planning on using strips of WS2811 as well and I am currently reviewing different pricing options from Ali as well as Gree suppliers. I will likely purchase the 68/m option as you guys had good things to say about them. During my search I did come across these 144/m ones which seems just insane. I doubt I will be using them, but would still like to know if anybody has any experience with them?
 
That photo sure doesn't look like LEDs packed so tightly to get 144 per meter. But someone recently did send me a photo of a densely packed strip where the LEDs were nearly touching each other. That one was only 1 meter long. This description says 5M, but given the photo is obviously wrong I'm not sure how much I'd believe any particular part of its specs.

One challenge with densely packed LEDs is the huge current draw. Well, that's an issue with them at lower densities. With the ones I bought (60/meter), with all the LEDs fully white I was seeing about 0.25 volt drop from one end of the strip to the other. It's easy to measure, just drive them to all white and then measure the voltage at both ends of the strip.

I was also losing about 0.04 volts on the wires between the power supplies and the inputs to the strips, using #22 wires about 18 inches long.

I'm not sure how much voltage loss is acceptable, but the WS2811 probably wants 4.5 volts to really work reliably. Remember, the loss changes with current and becomes nearly zero when the LEDs are off, so you can't simply increase the power supply voltage to compensate. Better wires really are needed.

You can apply power to both ends of a strip. Of course, you should use larger wire, like #18 or even #16, between the power supply at any strip that's not very close. Still, I would imagine if you powered a strip of 240 LEDs that way, if you turn then all on fully white, the ones near the middle would likely see about 0.5 volt less (based on my quick measurements of the particular strips I had.... yours might be different). If a strip is 5M long, that would be 720 LEDs! Amazing, but that's a awful lot of LEDs to have on a single strip that needs to conduct power to all of them!

Perhaps the folks making these 144/meter strips have very carefully considered these power delivery issues. Maybe their strips have a much lower resistance material? One could hope..... but the skeptic in me suspects it might be a problem. They might simply not be able to work with all the LEDs simultaneously conducting the maximum current.

If anyone does get one of these 144/meter strips, please turn the LEDs on fully white and make some quick voltage measurements?
 
Status
Not open for further replies.
Back
Top