Arduino with WS2801 led stripe -> the first led is constantly blinking

Hello everyone!
I have a problem with my new WS2801 led stripe and Arduino.
Arduino is connected and powered by a Home PC USB 2.0 port. The +5V is coming from the same PC’s 350W PSU and is connected to the 5V(red) and GND(black) of the Led stripe. The ground(black) is also connected to the Arduino’s GND pin. Led stripe’s CK and SD lines are connected to Arduino’s pins 11 and 13. Everything is working as intended – the lights change nicely their colors.
I'm following this project but in stead of blue I have black color: Wiring | Adalight Project Pack | Adafruit Learning System

There is no problem if the led stripe is short – about 18 leds. The problem appears when the led stripe is longer – about 120 leds. In this case if I put a solid color on all of the leds ONLY the first led starts to blink. It blinks at the same rate as the Arduino’s RX yellow led.
I tried to put a capacitor (470uF 6.3V) between 5V and GND but this didn’t change anything. I cut the first led and started with the second one – same problem appeared.
If I disconnect the GND from the Arduino’s GND pin, then ONLY the last 18 leds start to blink. In this case the first led does not blink any more.
Does any of you have a slightest idea what is causing the problem and how could I fix it ?

Best regards,
Stefan

You need more amps.

A USB port can't handle many LEDs, you need an external power supply.

fungus:
You need more amps.

A USB port can't handle many LEDs, you need an external power supply.

As it was written I'm using a 350W PC PSU can handle 15A on 5V. This is more than enough keeping in mind that the 120 leds consume no more than 7A. I tried with 38 led stripe and it was still blinking. With 18 it's ok.

You mean that the CLK and DAT lines does not have enough power ? If this is the case is it a good idea to use the same 350W PSU's +5V as a external power supply for the Arduino, connecting it to it's ext.PS jack ?

vazmuten:

fungus:
You need more amps.

A USB port can't handle many LEDs, you need an external power supply.

As it was written I'm using a 350W PC PSU can handle 15A on 5V. This is more than enough keeping in mind that the 120 leds consume no more than 7A. I tried with 38 led stripe and it was still blinking. With 18 it's ok.

If the only difference is the length of the strip then you need to look at power supply and/or decoupling. Maybe your PSU isn't really capable of that.

Easy way top find out: Measure the voltage at both ends of the LED strip.

Does the strip get hot? You might need to connect 5V at both ends of the strip.

vazmuten:
You mean that the CLK and DAT lines does not have enough power ?

No.

fungus:

vazmuten:

fungus:
You need more amps.

A USB port can't handle many LEDs, you need an external power supply.

As it was written I'm using a 350W PC PSU can handle 15A on 5V. This is more than enough keeping in mind that the 120 leds consume no more than 7A. I tried with 38 led stripe and it was still blinking. With 18 it's ok.

If the only difference is the length of the strip then you need to look at power supply and/or decoupling. Maybe your PSU isn't really capable of that.

Easy way top find out: Measure the voltage at both ends of the LED strip.

Does the strip get hot? You might need to connect 5V at both ends of the strip.

I already connected both ends to +5V and ground. LEDs does not get hot.

Here is another interesting thing I found with a brand new LED strip:
If CLK is plugged in pin 3 and DAT is plugged in pin 4 then with 47 LEDs all lit into GREEN or RED or BLUE or WHITE the first one is not blinking.

If CLK is plugged in pin 13 and DAT is plugged in pin 11 then:

  • with 47 LEDs lit into GREEN or WHITE the first one is not blinking;
  • with 47 LEDs lit into RED or BLUE the first one IS blinking;

If CLK is plugged in pin 13 and DAT is plugged in pin 11 even with only one attached led if I set it to RED then the led turns into blue (from dark to light blue), then into green and finally into RED. If I start it again it repeats. It also happens with 47 led strip line. It also happens with +5V supplied by the Arduino.

If I use pins 3 and 4 it does not happen.

Is this normal at all !?!

Here is the code:

#include "FastLED.h"
#define NUM_LEDS 1

// Data pin that led data will be written out over
#define DATA_PIN 11
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define CLOCK_PIN 13

CRGB leds[NUM_LEDS];

void setup() {
delay(2000);
FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}

void loop() {
leds[0] = CRGB::Red;
FastLED.show();
delay(1000);
}

FIXED: I found the problem -> it was all caused by the cheep colorful cable that transfers the signals and voltage to the LED STRIPE. I was supplying +5.00V and after 3 meters the voltage was already dropped to horrible 3.45 V when all the leds were lit in white. And this was on the beginning of the stripe. In the middle of the leds it was already dropped to shocking +2.6V.

vazmuten:
FIXED: I found the problem -> it was all caused by the cheep colorful cable that transfers the signals and voltage to the LED STRIPE. I was supplying +5.00V and after 3 meters the voltage was already dropped to horrible 3.45 V when all the leds were lit in white. And this was on the beginning of the stripe. In the middle of the leds it was already dropped to shocking +2.6V.

I told you to measure the voltages, but nooooo... :slight_smile:

Still, you found out something about using proper wire with high current, low voltage DC.