SK6812 - arduino due - reset to green only, and off when data is provided

Hi,

I first used ws2812b leds and they worked like a charm, but now I need 3535 format, so I have one rgb led (SK6812) linked to an arduino Due via pin 8 -> din (+ VSS/VDD)

when I plug the power (3v or 5v), the led is green, all SK3812 led I tried do the same
(I thought they were faulty so I ordered them from another seller, yet they reset on green light)

the real problem is that once I provide them data, they turn off

I use the pinout from this pdf although I found other pinouts which makes things even more confusing

#include "Adafruit_NeoPixel.h"
 
#define PIN 8

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);

void setup() 
{
  pixels.begin(); 
  pixels.setPixelColor(0, pixels.Color( 255,0,0));
  pixels.setPixelColor(1, pixels.Color( 0,0,255));
  pixels.show(); 
}
 
void loop() 
{
}

help, I am really stuck on this

thanks

Please confirm what type of LEDs you are using. In your post you say sk6812 twice but also sk3812 twice. The only sk3812 I can find is an oil filter.

When you say they turn off when you apply data, are you updating them to black/off or to any colour?

it's a typo obviously

did you check the code ? I tried many values by the way

anyone?

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);

#define PIN 8

Does that even compile? You use "PIN" before you define it.

With the ws2812 that did work: was that also with the Due and the same source of power?

My thoughts at this point are:

  • the led being green at startup could be normal and maybe cannot be prevented. But try a 10K pull-down on the Arduino pin. Perhaps the led thinks it is receiving data when the Due starts up and the pin is floating for a short time.
  • put a low value resistor (220~470R in series with the data line to the led
  • it could be that the 3.3V signals are not received correctly by the led, which is expecting 5v signals. Use a 74hc14 or 74hct14 chip as a 3.3-5V level converter. 74hc(t)14 contains 6 gates. Connect 2 of them in series to avoid inverting the signal. Power the chip with 5V and don't forget a 0.1uF bypass cap near the chip's power pins.

I'll check these out thanks