APA102 vs SK6812 – Which LED strip to use?

🕒 4 min read

Going online in search of a LED strip, be it for a prototype or school project, you may be seeing a huge variety of LED strips, ranging from different functionality and price tags. With so many types of LED strips to choose from, you may be in a dilemma of which LED strip to use. Therefore, we’ll be looking at 2 that are commonly used, the APA102 and SK6812 LED strip (with 30 LEDs), and hopefully this will give you a better overview of which LED strip would suit your needs. (The names of the LED strip is actually derived from the IC that is used to control the strip itself)

For the comparison between the 2 variants, we’ll be using the Classic Arduino UNO (as we usually do) to demonstrate the functionality of the LED strips. And now, let’s begin!

 

Variants

APA102

Protected with a silicone sleeve, the APA102 IC powered strip is a RGB LED strip that uses 2 wire SPI pin (CLK & DAT) to control the LEDs on the strip. Using synchronous CLK control, positive edge trigger is used to clock the data into the IC.

Power consumption of this RGB LED strip of 30LEDs is estimated to be ~9W at maximum brightness (~1.8A @ 5V).

Caution: We highly encourage that the LEDs should not be powered at maximum in one go as the current drawn will be very high. This may potentially fuse the micro-controller, melt the wire, or even start a fire. (Unless you know what you are doing) You have been warned.

As seen above, there are 4 main wires/points that connects the LEDs to one another:

  • Vcc: 5V Power Supply (5.5V Max)
  • CI/CO: (Clock In/Clock Out) Used as the CLK pin
  • DI/DO: (Data In/Data Out) Used as the DATA pin
  • Gnd: Ground

 

SK6812

The SK6812 IC powered strip is a RGB LED Strip that uses only one wire to control the LEDs, but in our case, we are using the RGBW variant. For the control of the SK6812 powered LED strip, timing plays an important role in the one wire control in receiving the data sent into the IC. Restricted to a refresh rate of 400Hz, this LED strip is not as fast compared to the APA102 LED strip and is not suitable for POV (Persistence of Vision) applications.

Power consumption of this RGBW LED strip of 30LEDs is estimated to be ~12W at maximum brightness (Estimated 2.4A @ 5V). [For the standard SK6812 RGB strip, the estimated power draw is ~9W (1.8A@5V), similar to the APA102 Variant]

Caution: We highly encourage that the LEDs should not be powered at maximum in one go as the current drawn will be very high. This may potentially fuse the micro-controller, melt the wire, or even start a fire. (Unless you know what you are doing) You have been warned.

As seen above, the main wires/points that connects the LEDs to one another is rather similar to the APA102 version, but less the clock pin:

  • 5V: 5V Power Supply (5.5V Max)
  • Din/Do: (Data In/Data Out) Used as the DATA pin
  • Gnd: Ground

 

Overview

In short, both the LED strips offer similar functionalities. Below is an overview of the technical differences:

Technical Aspects
IC APA102 SK6812
Control 2 Wire SPI (DAT, CLK) 1 Wire Control
LED Type RGB RGBW
No. of LEDs 30
Length (m) 1
Power Drawn (Max) ~9W (1.8A@5V) ~12W (2.4A@5V)
Weatherproof (w/ Silicone sleeve?) Yes

Pros & Cons:

APA102 SK6812
Price More expensive (-) Cheaper (+)
Control Require 2 pins for control (-) 1 pin is enough (+)
Timing No strict timing necessary (+) Restricted data rate of 800Hz (-)
Faster contol rate [Data & PWM] (+)
Interrupt compatibility Yes (+) No (-)

 

Demo

Setup

Each strip will be controlled by an Arduino Uno, which would run sketches with similar functionality. The top wire is with the APA102 IC, whereas the bottom one is with the SK6812 IC.

Connections of the APA102 LED Strip:

APA102 Wire Arduino Pin
Red 5V
Blue D5
Green D4
Yellow Gnd
Connections of the SK6812 LED Strip:

SK6812 Wire Arduino Pin
Red 5V
Green D6
Yellow Gnd

Code

There are 2 different sketch that is used, one is a basic LED chase sketch, another is the LED rain effect. (Like those you might see in festive decorations or malls). The code is uploaded to the ard-projects repository on Github, you can check them out here:

https://github.com/1487quantum/ard-projects

Note:

  • The code for the SK6812 rain sketch seems a little buggy, as the voltage may be too low to turn on the remaining LED(s)
  • For the SK6812 LED strip, the white LED is not used in the sketch so as to have a fair comparision with the APA102 LED strip.
  • For the APA102 LED strip, software SPI will be used for comparison, though Hardware SPI would lead to a faster data transfer.

Conclusion

With the comparison done earlier, this would hopefully give you a better understanding of the differnce and similarities between this 2 types of LED strips.

In short,

  • If you want a simple LED strip and do not mind slow refresh rate, the SK6812 would be the one to go for.
  • If you need a pure white light LED, go for the RGBW variant of the SK6812 LED strip.
  • If you need a LED strip that requires a high refresh rate (say maybe some POV application), the APA102 would be an ideal choice. (Though it is a little more expensive)
Share your love

Leave a Reply

Your email address will not be published. Required fields are marked *