LPD8806RGBW Stripe Colour Controle

Hello @all

I have a CLT2 Wordclock LPD8806RGBW LED Stripe.
Firmware downloaded fromgithub
wihtw the CLT2 the Colors work.

Now I have tried zu run the LPD8806RGBW Stripe withe a simpl programm to set different colers.
In the LPD8806RGBE Libery from bracci, also avalible at github I found the example


#include "LPD8806.h"
#include "SPI.h"

// Simple test for 160 (5 meters) of LPD8806-based RGB LED strip
// Not compatible with Trinket/Gemma due to limited RAM


// Number of RGB LEDs in strand:
int nLEDs = 160;

// Chose 2 pins for output; can be any valid output pins:
int dataPin  = 2;
int clockPin = 3;

// First parameter is the number of LEDs in the strand.  The LED strips
// are 32 LEDs per meter but you can extend or cut the strip.  Next two
// parameters are SPI data and clock pins:
LPD8806 strip = LPD8806(nLEDs, dataPin, clockPin);

// You can optionally use hardware SPI for faster writes, just leave out
// the data and clock pin parameters.  But this does limit use to very
// specific pins on the Arduino.  For "classic" Arduinos (Uno, Duemilanove,
// etc.), data = pin 11, clock = pin 13.  For Arduino Mega, data = pin 51,
// clock = pin 52.  For 32u4 Breakout Board+ and Teensy, data = pin B2,
// clock = pin B1.  For Leonardo, this can ONLY be done on the ICSP pins.
//LPD8806 strip = LPD8806(nLEDs);

void setup() {
  // Start up the LED strip

  // Update the strip, to start they are all 'off'

void loop() {
  colorChase(strip.Color(127,  0,  0), 100); // Red
  colorChase(strip.Color(  0,127,  0), 100); // Green
  colorChase(strip.Color(  0,  0,127), 100); // Blue
  colorChase(strip.Color(127,127,127), 100); // White

// Chase one dot down the full strip.  Good for testing purposes.
void colorChase(uint32_t c, uint8_t wait) {
  int i;
  // Start by turning all pixels off:
  for(i=0; i<strip.numPixels(); i++) strip.setPixelColor(i, 0);

  // Then display one pixel at a time:
  for(i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c); // Set new pixel 'on'
    strip.show();              // Refresh LED states
    strip.setPixelColor(i, 0); // Erase pixel, but don't refresh!

  strip.show(); // Refresh to turn off last pixel

I edited nLEDS = 160 to 56
and let the programm run
but it didint work korret

red and white alwas set a Pixel first white than red and then the next Pixel
if I edited #include "LPD8806.h" to #include "LPD8806RGBW.h"

all colers a set to the half strip, the second half of the strip is always white pixel to Pixel.

Hope You can help me fix the problem


p.s. hope my englisch is god enough

If you have LPD8806 RGB LED strip, you may want to read Digital RGB LED Weatherproof Strip - LPD8806 32 LED : ID 306 : $149.75 : Adafruit Industries, Unique & fun DIY electronics and kits


but nope it´s really a LPD8806RGBW Stripe.


Can nobody help?

Have you tried using the example in the GitHub page you linked to?

if i set red or white it is always white and red together. first white than red...

The example longstrantest set the stripe pixel by pixel first red than blue than green and last white, but it is always red/white, blue, green, white/red!

What Arduino are you using?

It is sounding like that libiary will not work with your particular setup.

The CLT2 are use an selfbuilt arduino uno withe integrated rtc, I use one arduino uno to test the stripe.

The example longstrantest set the stripe pixel by pixel first red than blue than green and last white, but it is always red/white, blue, green, white/red!

So that sounds like the libiary is not working. Not a lot you can do unless you want to rewrite the dirver part of the libiary.

Have you tried putting a request or quire on the GitHub page and see what the author says?