NeoPixel ring worked for a bit, then stopped working

EL Wire/Tape/Panels, LEDs, pixels and strips, LCDs and TFTs, etc products from Adafruit

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
heypete
 
Posts: 32
Joined: Sat Jan 11, 2014 4:50 pm

NeoPixel ring worked for a bit, then stopped working

Post by heypete »

Hi all,

I apologize in advance for the length of this post: I figured it would be useful to provide more details rather than less.

I purchased the 16-NeoPixel ring from an authorized Adafruit distributor in Switzerland, where I live. To be clear, the ring is not a clone and is marked with the Adafruit name and logo.

I've connected the ring's data-in line to a working port (port 0, in this case) on an Arduino Uno R3. The Arduino is powered by a 9V/2000mA wall wart. So as not to overload the Arduino's on-board regulator, I've run jumpers from the Arduino's Vin and GND pins to a 7805 regulator with 0.22uF ceramic caps between the Vin-GND pins and Vout-GND pins on the regulator. I've measured the voltage from the 7805 with a multimeter and it reads 5.01V.

The 7805, ring, the Uno, and my anti-static wrist strap (which was worn at all times when working on this project) share a common ground, which is connected to earth ground.

I soldered short, pre-tinned leads from the ring's four pins (Vin, GND, data-in, and data-out) and connected the ring's Vin pin to the 5V output of the 7805, the ring's GND pin to the 7805's GND pin, and the data-in pin to port 0 on the Uno.

I did not add a resistor on the ring's data-input line, but this did not seem to be necessary according to this tutorial from Adafruit.

I installed the NeoPixel library from GitHub, loaded strandtest, and set the following user-configurable lines:

Code: Select all

#define PIN 0
(...)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(16, PIN, NEO_GRB + NEO_KHZ800);
The rest of the strandtest sketch is unmodified. I then uploaded the sketch to the Uno, and the ring worked -- it looped through the different test patterns. Everything seemed to be working fine.

Later, I disconnected the power from the whole setup, then added a 100uF electrolytic capacitor across the Vout-GND lines of the 7805. The ring continued to work for a few minutes, then stopped working: the ring is entirely dark, except for a brief flash from several pixels when I first connect power to the ring. There's no pattern to which pixels flash: sometimes all of them flash, other times only one or two do. The flashes are typically either blue or white, but can occasionally be other colors.

My multimeter shows that there's still 5.01V across the ring's Vin and GND lines, and an ammeter says that 16.5mA is flowing through the all-dark ring (when it was working, the ring was drawing 200-400mA).

I've connected an oscilloscope to the ring's data-in and data-out pins (the data-in pin is connected to the Uno's pin 0, the data-out pin is floating). The scope clearly shows the 5V data pulses from the Arduino on the data-in line (the patterns of pulses change as the program cycles through different test patterns). The data-out pin shows what might be pulses, but they're only ~200mV in amplitude. The probes and the scope are set on 1:10 and the same vertical scales; to ensure this reading was not due to a broken or mis-configured probe, I connected both probes to the data-in pin and both traces are identical.

I changed the "define PIN 0" line to be "define PIN 3", uploaded the modified sketch to the Uno, and switched the lead to pin 3. I also added a 470 ohm resistor in series with the data line. Still doesn't work.

I also tested things in an identical manner with a 5V Trinket, with the same results.

The LEDs in the ring clearly work (they flash when powered on), but the ring does not seem to be responding to commands from the Arduino even though it worked briefly. Is it possible to have damaged the control circuits of the pixels while leaving the power lines intact?

Any suggestions or ideas?

I'd be happy to supply photos if that would help.

Thank you.
-Pete

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: NeoPixel ring worked for a bit, then stopped working

Post by adafruit_support_rick »

The data lines are daisy-chained. If you blow the first pixel in the chain, then the rest of the pixels won't work. You can test this by jumpering over the first pixel, DI to DO, to see if the rest of the pixels respond.

We can replace the ring. Please email [email protected] with a link to this thread to arrange a replacement.

User avatar
heypete
 
Posts: 32
Joined: Sat Jan 11, 2014 4:50 pm

Re: NeoPixel ring worked for a bit, then stopped working

Post by heypete »

adafruit_support_rick wrote:The data lines are daisy-chained. If you blow the first pixel in the chain, then the rest of the pixels won't work. You can test this by jumpering over the first pixel, DI to DO, to see if the rest of the pixels respond.

We can replace the ring. Please email [email protected] with a link to this thread to arrange a replacement.
Interesting. I'll keep that in mind for the next ring (and be sure to put a resistor in series with the data line). Any other precautions one could take to ensure things don't go boom, like a zener between data-in and ground?

Alas, the pads are super, super tiny and I don't have any effective way of jumpering SMT components that close together.

If you guys ever do a hardware redesign of the NeoPixel ring, would it be possible for Adafruit to put the current-limiting resistor on the PCB to protect the data line (or perhaps a small pair of pads where one could break a trace and then solder in an surface-mount resistor in place if they wish)? That'd be pretty cool and help make things (more) idiot-proof.

Thanks for the offer of replacement, but the costs for transatlantic shipping (not to mention the fact that I didn't actually buy it from Adafruit, but rather from a local distributor) would make it not really worthwhile. Still, the offer is very much appreciated and one of the many reasons I love Adafruit! :) I've arranged for an exchange with the local distributor and they'll replace it without any problems.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: NeoPixel ring worked for a bit, then stopped working

Post by adafruit_support_rick »

We're looking into some protection circuits for NeoPixels.

Glad to hear you're squared up with your distributor.

User avatar
gregarious2
 
Posts: 19
Joined: Mon Nov 01, 2010 5:26 pm

Re: NeoPixel ring worked for a bit, then stopped working

Post by gregarious2 »

I'm in a similar situation. I bought a Neopixel 16 ring a few months ago and finally hooked it up tonight to an old Diecimila I had laying around. It ran strandtest fine for a while for an hour. ( I modified it for 16 pixels and pin 2 operation ) But later on, I lost two consecutive pixels. One of the "dead" pixels flashes red on reset but no response from the other one. The rest of the ring is operating fine. I'm ordering a few meters shortly for a permanent installation and this hiccup makes me a bit nervous. The Neopixel is a 6 pin device. Ideas?

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: NeoPixel ring worked for a bit, then stopped working

Post by adafruit_support_rick »

We can replace the ring. Please email [email protected] with a link to this thread for a replacement
You should review our NeoPixel Best Practices guide to minimize the chance of problems with these
https://learn.adafruit.com/adafruit-neo ... -practices

H4nky
 
Posts: 3
Joined: Sun Jun 29, 2014 6:36 pm

Re: NeoPixel ring worked for a bit, then stopped working

Post by H4nky »

G'day,
im in a similar situation. I just purchased 3x 16 neopixel rings and two of them seem to be behaving a little strangely after about half an hour of use while the other one just goes straight to bright white and will not respond. I have just plugged them individually into a Teensy 3.1 running the strandtest and only 2 of them are responding. I have tried connecting into the data line of the second LED in the ring but it still has no effect.

What is interesting is that i have a 15 led arc (1/4 of the 60 ring) which works perfectly and my 24 LED rings work perfectly as well. Its just the 16 led rings that are playing up. The 2 16 rings that are working don't really work well though, when running the strandtest program, they kind of flash between the colour they are supposed to and bright white each update. I have a protection resistor in series with the data line and i have also tried buffering the 3.3v from the teensys output to 5v with a 74HC245 but no matter what i do the 16 led rings are still behaving weird while all the other neopixel items are working perfectly.

User avatar
Franklin97355
 
Posts: 23911
Joined: Mon Apr 21, 2008 2:33 pm

Re: NeoPixel ring worked for a bit, then stopped working

Post by Franklin97355 »

Since these don't seem to work and your others do in the same setup (you are changing the number of pixels aren't you?) Please email [email protected] with a link to this thread for a replacement and review the neopixel best practices here https://learn.adafruit.com/adafruit-neo ... -practices

H4nky
 
Posts: 3
Joined: Sun Jun 29, 2014 6:36 pm

Re: NeoPixel ring worked for a bit, then stopped working

Post by H4nky »

Yes, i am changing the number of pixels declared for the strandtest, although this wouldn't really make a difference as the WS2812 chips themselves only consume the data they need then pass on the rest. If it send out more than is needed, its really only taking up more memory in the Teensy (not an issue with the huge amount it has). Im just perplexed as to why the 16 rings behave so differently to all the others.

H4nky
 
Posts: 3
Joined: Sun Jun 29, 2014 6:36 pm

Re: NeoPixel ring worked for a bit, then stopped working

Post by H4nky »

Ok,
did a bit of playing around and found that the timing was slightly off for the library and it means that its a bit flaky with the new WS2812B LED's. I still have 1 ring thats broken but i can get the others to work now without weird flashing or errors. I went into the .cpp file and played with the declarations for the timing when using the Teensy 3.0 and 3.1 and tested it on both platforms with success. before i modified it, i found that some of the cycles had periods of 1.5 us which is really at the limit, probably causing some errors when combined with capacitance on the traces.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: NeoPixel ring worked for a bit, then stopped working

Post by adafruit_support_rick »

Please email [email protected] with a link to this thread for a replacement of the ring that doesn't work.

Locked
Please be positive and constructive with your questions and comments.

Return to “Glowy things (LCD, LED, TFT, EL) purchased at Adafruit”