Connecting SK9822s (APA102 clones) to Pro Micro - Adalight

I just got in all my parts to make the Adalight, but I'm lost on what to do. Not sure where I should be connecting the wires to the Pro Micro.

I found the pinout for it here: Arduino Pro Micro - Deskthority wiki
According to the adafruit guide:Troubleshooting | Adalight Project Pack | Adafruit Learning System

Three wires connect the Arduino UNO to the input end of the LED strand: the BLUE wire can connect to any Arduino GND pin. GREEN should connect to PIN 13 (SPI clock), and YELLOW to PIN 11 (SPI MOSI). The RED wire is NOT CONNECTED.

I'd assume for the micro, I'd connect the green to pin 15 (SCLK=SPI clock?) and yellow to pin 16. Also connecting the ground to one of the three GND pins?

What I have:

  • 5v 10A Power Supply + female DC jack
  • 2x SK9822(Similar APA102) LED strips - 60LED/1M
  • Arduino Pro Micro

Here are pics of the two ends: Pro Micro +  SK9822(Similar APA102) - Album on Imgur

I want to test it out on one strip first to make sure everything works and then try connecting the two strips together.

This is my first project, so I'm learning everything as I go!


I connected the green to pin 15 (SCLK=SPI clock?) and yellow to pin 16. Also connecting the ground to the pin below RAW.

Here’s a pic:

Used the FastLED sketch, here’s the code:

#include "FastLED.h"

// How many leds in your strip?
#define NUM_LEDS 60

// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 16
#define CLOCK_PIN 15

// Define the array of leds

void setup() { 
      // Uncomment/edit one of the following lines for your leds arrangement.
      // FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
    // FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
      // FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SK9822, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<P9813, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<APA102, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<DOTSTAR, RGB>(leds, NUM_LEDS);

      // FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
       FastLED.addLeds<SK9822, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);

void loop() { 
  // Turn the LED on, then pause
  leds[0] = CRGB::Red;;
  // Now turn the LED off, then pause
  leds[0] = CRGB::Black;;

However, nothing happened after uploading. I don’t know what I did, but at one point the first LED lit white and stayed so until I unplugged the DC power, can’t seem to reproduce it after plugging it back and and reuploading the sketch.

Any suggestions?

Update 2:

Okay, I changed DATAPIN to 15 and CLOCK_PIN to 16 and it worked!