A problem reported in a german forum:

(Stefan Petrick) #1

A problem reported in a german forum:
Teensy 3.2 + Arduino1.6.5 (Win) + Teensyduino 1.25 + FastLED3.1
WS2812 Leds (http://www.flikto.de/products/sparkfun-led-rgb-addressable-pth-5mm-clear-5-pack)

The lib examples seem to work fine only with 24MHz CPU-Speed. At 48MHZ many distorted frames, at 96MHz no frames at all.

Additional Info: With the Adafruit lib results also only with CPU speed <96MHz.

Any ideas?

(Daniel Garcia) #2

I don’t have any 3.2’s with me (traveling) to test right now - but they should make sure that they’re using the latest master pull of the library. Also they might need to try level shifters.

(Stefan Petrick) #3

Thanks, Dan - I’ll forward this. A level shifter is used. APA102s work fine as well. Good travelings!

(Daniel Garcia) #4

Wait, what are they using for level shifters? If they are using something that is too slow it will mess with the signal timings (especially if it’s signal raising time is different than the signal dropping time). The reason why the lower clock speed would work is that it would slow the signal down enough to compensate a bit (eg a slow rise/fast drop would end up treating 1’s like 0’s where a slower clock speed that slightly dragged out how long the line was held high for a 1 would compensate for that)

(Stefan Petrick) #5

Ha, good point! He’s using a BSS138. That board: http://www.adafruit.com/product/757

(Stefan Petrick) #6

Without the level shifter it works fine now…

(Daniel Garcia) #7

He should be using something based on something like the 74AHCT125

(PaulStoffregen) #8

The BSS138 is not an appropriate level shifter for WS2812. It has fast high-to-low performance due to the transistors, but slow low-to-high response due to the resistors and capacitance of pins and cables. The non-symetrical speed distorts the waveform, which is terrible for WS2812 where the relative width of pulses is used to communicate!

(Stefan Petrick) #9

The guy asked me to thank you guys for the profound explanation, @Daniel_Garcia and @PaulStoffregen !