My project has killed multiple WS2801 LED strips. What am I doing wrong?

Preface: This is my first ever custom Arduino project, so I realize I may be doing something totally idiotic.

Background:

I'm building "light boxes" for my Mom and her sisters for Christmas (they're miniature replicas of a contraption their dad built in the 50's). See attached diagram. Yes, the LED strips are correctly hooked up (they work as intended but only temporarily). Yes, there are two relays, neither of which are attached to anything- I wanted the lights to audibly "click" when they turn on/off, and some electronics-minded friends suggested I trigger relays like this. Two for stereo sound. The momentary pushbutton is used to cycle through four different lighting modes.

Problem:

The first half-dozen times I plug it in, everything works perfectly- the relays, pushbutton, LED's, all flawless and as intended.

The next half-dozen times I plug it in, the lights may or may not work (everything else- relays, pushbutton- works perfectly). At this point, testing the LED strip separate from the rest of the system shows that it is still fully functional.

At some point in those next half-dozen times, though, the LED strip stops working permanently, and testing it separately shows it is completely "burnt out". None of the pixels work.

This issue is frustratingly repeatable; it happened a few months ago with three different strips- I had assumed at the time I had some wiring wrong somewhere, triple-checked, and then it worked again with new strips, so I figured I had fixed the problem. But that was apparently only temporary; now it's happened again w/ three more strips on three different but identically wired boxes. These strips cost $40 each, so you can imagine my frustration!

Any ideas would be greatly appreciated! I've been working on this for months and would really really really love to be able to get this solved so I can give my Mom a working version for Christmas!

My only idea right now is that perhaps the exposed ends of the trimmed LED strips (I only needed 18 of the 25 pixels in a strand, so cut off the rest) could be somehow shorting out the strips? They were neatly trimmed, but not insulated. Could that cause the entire strand to eventually burn out like this?

Let me know any other information I can provide that might be relevant. Thanks!

Materials/Methods

Wiring diagram: see attached

Here are the components I am using:

LED strips: WS2810, 12mm Diffused Flat Digital RGB LED Pixels (Strand of 25)
Relays: DC 5V Coil Relay
Power adapter: female DC power adapter
Power supply: 5V 2A switching power supply
Arduino: Uno

I'm fairly certain this not a software problem but I've attached the code as well just in case.

Jack_FINAL.ino (9.23 KB)

Put tape over the end of each wire to rule that out. That shouldn't be a problem, the symptoms don't match that.

Is the power supply putting out the voltage it's supposed to? What seems to be the trigger for the problem? Is it how much the relays are actuated?

You're powering the Arduino with 5V through Vin? That's giving the Arduino only 3.x volts due to the dropout in the regulator. Power it through the 5v pin (don't plug it into computer when it's connected like this - the scale of the risk is debated, though) or through the USB connector (ie, by hacking a cable - this has the advantage of physically preventing you from connecting it to USB when powered externally). Not sure how this could cause the problem reported though...

Are the led strips completely broken? If you cut off the first led, does the rest of the strip start working again?

Paul

Thanks guys for lending your brains!

DrAzzy:
What seems to be the trigger for the problem?

The problem is triggered seemingly when the box is plugged in. i.e. if the LED strips work when first plugged in, they won't stop working, and likewise if they're not working when plugged in, they won't suddenly start working (though to be fair, if they're not working, I don't leave it plugged in for very long to find out...).

PaulRB:
Are the led strips completely broken? If you cut off the first led, does the rest of the strip start working again?

I did try this, hoping that maybe only the first pixel was affected, but it's the whole strip.

I'll check the power supply voltage. I suppose it's possible one (or multiple) of my power supplies is faulty. Would that not also screw up the Arduino and the relays as well?

billmirem:
I'll check the power supply voltage. I suppose it's possible one (or multiple) of my power supplies is faulty. Would that not also screw up the Arduino and the relays as well?

You have been powering tha Arduino through the Vin pin, so its onboard regulator will have protected it. The relays will be relatively robust to higher voltages on the input, its just a transistor with a resistor on its base, to drive the coil.

Get your dmm on that psu! Prime suspect!

Don't try DrAzzy's suggestion of poweeing the Arduino through the 5V pin until you have checked out the psu, or it could suffer the same fate.

I DID do something totally idiotic!

You guys nailed it- it's the power supplies...

I ordered three 5V 2A power supplies for the three boxes, but turns out these power supplies look identical to the 9V 1A power supply that came with my Arduino Starter Pack.

As a newb, it didn't ever occur to me that these might be differently rated than whatever came with the Arduino, so I let them get mixed up, and just grabbed whichever one was nearest whenever I wanted to test the box. Sometimes I grabbed a 5V supply, sometimes I grabbed the 9V. A few times with the 9V, and the strips (whose tutorial page features a bold red warning about not using anything above 5V) went kaput.

I'm so relieved to finally know what the problem and solution is that I don't even care that I'm out $240 due to an Electronics 101 flub.

Thanks DrAzzy and PaulRB- you guys literally saved Christmas for me!