Breaking News
Blog

Fixing a Small Gotcha With Adafruit's NeoPixels

NO RATINGS
Page 1 / 2 Next >
View Comments: Oldest First | Newest First | Threaded View
<<   <   Page 2 / 2
bobdvb
User Rank
Manager
Max The Magnificent
User Rank
Blogger
Re: Coax connector
Max The Magnificent   1/3/2014 11:20:31 AM
NO RATINGS
@bobdvb: Those coax power connectors are quite readily available...

I agree -- the thing was that I'd never looked for one before, so when I realized I could do with one and there was one on the Adafruit site I thought "Wow -- that's a good idea!"

Marty MacGyver
User Rank
Rookie
Re: Addressing
Marty MacGyver   1/3/2014 1:12:22 PM
NO RATINGS
I was messing around with these LEDs long before they were called "NeoPixels". First, the LED units are the WS2812 (or WS2812b, which is better suited to the higher current paths large strips and arrays demand). That unit consists of a 5050 SMT RGB LED combined with a WS2811 controller.

The WS2811 protocol is detailed in the datasheets as well as numerous sites (I found http://hackaday.com/2012/12/07/driving-a-ws2811-rgb-led-pixel/ to be helpful when I was getting started with it). Conceptually, it works like this: at any point after a 50 us quiet period (data line held low) a given led is ready for input. The first WS2811 in the chain reads 24 bits (8 bits each for red, green, and blue), and after that it just forwards the rest of the bits downstream. The next WS2811 does the same, and so forth, until you stop sending data (obviously extra data beyond the last LED goes nowhere).

You can search for the WS2811 datasheet and see the exact timings involved (there's both a low and a high speed mode).

Keep in mind that the AVR at 16 MHz doesn't allow a lot of overhead for data processing. I managed at one point to marry the strip with a controller... but there wasn't a lot of room to do anything else:

http://www.falatic.com/index.php/72/github-long-time-user-first-time-contributor

I've pondered putting a small FPGA board between an Arduino (or RPi, or something else) and using it as a high-speed dedicated controller for my WS2812-based ring, matrix and strip.

PS: it's virtually impossible to directly control these with a Raspberry Pi... which is another reason I'm considering the FPGA idea as I revisit these projects.

 

Max The Magnificent
User Rank
Blogger
Re: Addressing
Max The Magnificent   1/3/2014 1:15:46 PM
NO RATINGS
@Marty: I've pondered putting a small FPGA board between an Arduino (or RPi, or something else) and using it as a high-speed dedicated controller for my WS2812-based ring, matrix and strip.

Thanks for the great information -- very interesting -- and if you do use an FPGA to do this, I woudl LOVE for you to write the project up and to post it for others to peruse and ponder here on EE Times.

George Hahn
User Rank
Rookie
Re: Addressing
George Hahn   1/3/2014 4:17:18 PM
NO RATINGS
@Marty MacGyver

You can control them with a BeagleBone Black though. Look into the pair of programmable realtime units on the SoC.

sdtrent
User Rank
Rookie
Keep testing your NeoPixel ring, use the next pixel
sdtrent   1/3/2014 6:12:11 PM
NO RATINGS

You should not trash your NeoPixel ring just yet. Try powering the ring and sending your data into the data-in line on the second pixel, or third, etc. There is a chance that the first pixel is damaged and not flowing the signal data to the next pixel in the chain. Other than overvoltage, I would be surprised if you managed to kill all of the pixels.

Also, part of the perceived update speed is that the pixel LED data is updated for the desired pixels before SHOW is used to update the output currents of the whole strip at one time. This allows a flicker free update because you are not seeing the changes in each pixel each time the individual pixel's data is updated.

Shane

Max The Magnificent
User Rank
Blogger
Re: Keep testing your NeoPixel ring, use the next pixel
Max The Magnificent   1/6/2014 12:15:54 PM
NO RATINGS
@sdtrent: You should not trash your NeoPixel ring just yet. Try powering the ring and sending your data into the data-in line on the second pixel, or third, etc. There is a chance that the first pixel is damaged and not flowing the signal data to the next pixel in the chain.

That's actually a really good idea -- and, in fact, if that works, then it probably wouldn't be too difficult to simply replace the first pixel... thanks for the suggestion.

n7ray
User Rank
Rookie
Re: Keep testing your NeoPixel ring, use the next pixel
n7ray   1/7/2014 8:49:18 PM
NO RATINGS
I'll second that.  Have fixed two rings that I thought were toast by replacing the first LED in each.  

BTW: If you want an easy way to drive hundreds of them, check out this project:

 

(The PSOC 4 boards are only $25)

http://www.element14.com/community/message/89756/l/psoc-4-pioneer-kit-community-project100-psoc-4-times-square-led-billboard#89756

Max The Magnificent
User Rank
Blogger
Re: Keep testing your NeoPixel ring, use the next pixel
Max The Magnificent   1/8/2014 9:50:24 AM
NO RATINGS
@n7ray: I'll second that.  Have fixed two rings that I thought were toast by replacing the first LED in each.

Cool Beans -- I will have a bash at swapping my first pixel out -- also I'm going to take much better anti-static protection when handling the little scamps from here-on-in. 

 

<<   <   Page 2 / 2
August Cartoon Caption Winner!
August Cartoon Caption Winner!
"All the King's horses and all the KIng's men gave up on Humpty, so they handed the problem off to Engineering."
5 comments
Top Comments of the Week
Like Us on Facebook

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
EE Times on Twitter
EE Times Twitter Feed
Flash Poll
Radio
LATEST ARCHIVED BROADCAST
David Patterson, known for his pioneering research that led to RAID, clusters and more, is part of a team at UC Berkeley that recently made its RISC-V processor architecture an open source hardware offering. We talk with Patterson and one of his colleagues behind the effort about the opportunities they see, what new kinds of designs they hope to enable and what it means for today’s commercial processor giants such as Intel, ARM and Imagination Technologies.