Addressable High-Density RGB 144-LED Strip, 5V, 1m (SK9822)

SKU: POLOLU-3095 Brand: Pololu
This high-density LED strip has a length of 1 m and contains 144 RGB LEDs that can be individually addressed using an easy-to-control SPI interface,...
$114.95 AUD, inc GST
$104.50 AUD, exc GST

Available with a lead time
Expect dispatch between Nov 18 and Nov 21

Quantity Discounts:

  • 5-10 $101.36 (exc GST)
  • 10+ $99.27 (exc GST)
- +

0 from local stock, 1 supplier stock; your order will dispatch between Dec 1 to Dec 10. And yes, stock levels and lead times are accurate!

Shipping:

  • $7+ Standard (5+ days*, tracked)
  • $11+ Express (2+ days*, tracked)
  • FREE Pickup (Newcastle only - must order online*)

Shipping costs may increase for heavy products or large orders.

Exact shipping can be calculated on the view cart page.

*Conditions apply, see shipping tab below.

Close up of one segment of an SK9822-based LED strip, with the red, green, and blue LEDs on at a low brightness.

Close up of an SK9822, with the red, green, and blue LEDs on at a low brightness.

These flexible RGB LED strips based on the SK9822 LED/driver IC are an easy way to add complex lighting effects to a project. Each LED has an integrated driver that allows you to control the color and brightness of each LED. The SK9822 has constant current control, so voltage drops caused by the resistance in long power connections have little effect on the SK9822’s color and brightness as long as the voltage stays above 3.5 V.

In contrast to the SK6812 used in some of Pololu's other similar LED strips, which use a specialized one-wire control interface and require strict timing, the SK9822 uses a standard SPI interface for control (with separate data and clock signals) and has no specific timing requirements, making it much easier to control. Another useful feature of the SK9822 is an additional 5-bit brightness control register that allows you to dim your LED strip while still having 24-bit color control. See below for a more detailed comparison of the SK9822 and SK6812.

These SK9822-based LED strips work as a drop-in replacement for Pololu's older APA102C-based strips in many applications. However, due to slight color differences, Pololu generally do not recommend using the SK9822 and APA102C together in the same project. Also, due to a slight difference in the protocol, you might have to update your code to handle the SK9822. See below for a more detailed comparison of the SK9822 and APA102C.

Pololu offer several different kinds of SK9822 LED strips with different LED densities and lengths. Pololu's strips with 30 LEDs per meter are available in three lengths:

Pololu also offer denser SK9822 LED strips that have 60 LEDs per meter:

Pololu's highest-density strips have the SK9822 LEDs packed together as tightly as possible, resulting in 144 LEDs per meter:

LED side of the SK9822 or APA102C addressable LED strips, showing 30 LEDs/m (top), 60 LEDs/m (middle), and 144 LEDs/m (bottom).

Pololu also have SK9822 LEDs available in panels.

Details for item #3095

This strip is 1 meter long and has 144 LEDs with a density of 144 LEDs per meter.

Features and specifications

  • Individually addressable RGB LEDs (30, 60, or 144 LEDs per meter)
  • 24-bit color control
  • Additional 5-bit brightness control; 32 brightness steps per pixel
  • SPI control interface
  • 5 V operating voltage
  • Color and brightness are mostly voltage-independent down to 3.5 V
  • Each RGB LED draws approximately 50 mA with red, green, and blue at full brightness
  • 12 mm width (30 LEDs/m) or 14 mm width (60 or 144 LEDs/m), 4 mm thickness
  • Flexible, waterproof silicone rubber sheath (IP65 protection rating)
  • Includes flexible silicone mounting brackets
  • Black strip color
  • Power/data connectors on both strip ends for easy chaining, and the input side includes an additional power and ground wire for alternate power connections
  • Strips can be cut apart along the lines between each RGB LED segment to separate them into usable shorter sections
  • Example code available for Arduino

Using the LED strip

The connectors and power wires for Pololu's SK9822 and APA102C LED strips. On the left is the input end of the strip and on the right is the output end.

Each LED strip has three connection points: the input connector, the auxiliary power wires, and the output connector. These can be seen in the adjacent picture, from left to right: auxiliary power wires, input connector, output connector. The strip uses 4-pin JST SM connectors.

The input connector has four male pins inside of a plastic connector shroud, each separated by about 0.1". The black wire is ground, the green wire is the data signal input, the yellow wire is the clock signal input, and the red wire is the power line.

The auxiliary power wires are connected to the input side of the LED strip and consist of stripped black and red wires. The black wire is ground, and the red wire is the power line. This provides an alternate (and possibly more convenient) connection point for LED strip power.

The output connector is on the other end of the strip and is designed to mate with the input connector of another LED strip to allow LED strips to be chained. The black wire is ground, the green wire is the data output, the yellow wire is the clock output, and the red wire is the power line.

All three black ground wires are electrically connected, and all three red power wires are electrically connected.

A close-up of the JST SM connectors for Pololu's SK9822 and APA102C LED strips.

Included hardware

These LED strips ship with flexible silicone brackets and screws. Strips with lengths of 1 m or greater include five brackets and ten screws per meter. Pololu's 0.5 m high-density strip ships with a total of two brackets and four screws. The brackets fit over the waterproof sheath and can be used to mount the LED strip. The LED strip also ships on a plastic reel.

The 1m, 2m, and 5m addressable LED strips include five mounting brackets per meter; the 0.5m strip includes 2 total brackets.

Note: The strips with 30 LEDs per meter are slightly narrower than the denser strips, and the brackets included with those strips are accordingly slightly narrower than the ones included with the denser strips.

Controlling an APA102C or SK9822 addressable RGB LED strip with an A-Star 32U4 Prime SV and powering it from a 5V wall power adapter.

Connecting the LED strip

To control the LED strip from a microcontroller, three wires from the input connector should be connected to your microcontroller. The LED strip’s ground (black) should be connected to ground on the microcontroller, and the LED strip’s data input line (green) and clock input line (yellow) should each be connected to one of the microcontroller’s I/O lines. The male pins inside the input connector fit the female terminations on Pololu's premium jumper wires and wires with pre-crimped terminals. If you are connecting the LED strip to a breadboard or a typical Arduino with female headers, you would want to use male-female wires.

Pololu generally recommend powering the LED strip using the auxiliary power wires. Pololu's 5 V wall power adapters work well for powering these LED strips and a DC Barrel Jack to 2-Pin Terminal Block Adapter can help you make the connection between the adapter and the strip. However, you might need a wire stripper to strip off some more insulation from the power wires.

It is convenient that the power wires are duplicated on the input side because you can connect the auxiliary power wires to your 5 V power supply and then the power will be available on the data input connector and can be used to power the microcontroller that is controlling the LED strip. This means you can power the microcontroller and LED strip from a single supply without having to make branching power connections.

Making a custom cable

If you do not want to use Pololu's premium jumper wires to connect to the LED strip’s input, it is possible to make a custom cable.

One option for making a custom cable is to cut off the unused output connector on the last LED strip in your chain. This can then be plugged into the input connector of the first LED strip. The wires on the output and input connectors are 20 AWG, which is too thick to easily use with Pololu's crimp pins and housings, but you could solder the wires to header pins.

Alternatively, you can get your own JST SM connectors and make a custom cable using those. The parts you would need to get are the SMP-04V-BC and the SHF-001T-0.8BS, which are described in the SM Connector datasheet from JST. These can be purchased from several places, including Heilind. You will also need some 22–28 AWG stranded wire and a wire stripper. Pololu do not know of a great way to crimp wires onto the JST crimp pins, but Pololu were able to successfully do it using Pololu's narrower crimping tool and pliers. (With the wider crimping tool, it is hard to avoid crimping parts of the pin that should not be crimped.) Before crimping, use pliers to bend the outer set of tabs a little bit so that they can hold on to the insulation of the wire. This makes it easier to position the crimp pin and the wire. Next, you should be able to follow the instructions on the crimping tool product page to crimp the wire. After that, you will probably need to squeeze the crimp pin with pliers to get it to fit into the JST plug housing. On the other end of the cable you could make a custom connector using Pololu's crimp pins and crimp connector housings, which will allow you to plug it directly into a breadboard or 0.1" header pins.

Current draw

Each SK9822 LED draws approximately 50 mA when it is set to full brightness. This means that for every 30 LEDs you turn on, your LED strip could be drawing as much as 1.5 A. Be sure to select a power source that can handle your strip’s current requirements.

The SK9822 has built-in constant current control. For any given color command, the SK6812’s actual color and brightness are largely independent of its supply voltage as long as the voltage is between 3.5 V and 5 V. This means that voltage drops caused by the resistance in long power connections are less likely to affect the color or brightness of the light emitted.

Color

The hue of the light emitted by the SK9822 becomes less red and more green as the 5-bit brightness value is lowered. Also, the SK9822 has some unit-to-unit variation in the brightness of its red channel which can be noticed when the 5-bit brightness value is low but is usually hard to see when the 5-bit brightness value is high.

Chaining

Multiple LED strips can be chained together by connecting input connectors to output connectors. When strips are chained this way, they can be controlled and powered as one continuous strip. Please note, however, that as chains get longer, they will require more power. If this becomes an issue, you can chain the data lines while separately powering shorter subsections of the chain.

Two addressable SK9822 or APA102C RGB LED strips connected.

Pololu recommend chains of LEDs powered from a single supply not exceed 180 total RGB LEDs. It is fine to make longer chains with connected data lines, but you should power each 180-LED section separately. If you are powering each section from a different power supply, you should cut the power wires between the sections so you do not short the output of two different power supplies together.

Cutting

The LED strip is divided into segments, with each segment containing one RGB LED. The strip can be cut apart on the lines between each segment to separate it into usable shorter sections. The data connection is labeled DO or DI, the clock connection is labeled CO or CI, the positive power connection is labeled VCC or 5V, and the ground connection is labeled GND. Each LED in the picture below is at the center of its own segment; there are lines printed on the PCB silkscreen where the segments can be cut.

Protocol

These LED strips are controlled through an SPI protocol on the data and clock input lines. The protocol is documented in the SK9822 datasheet (476k pdf), but Pololu describe it below with some modifications that Pololu have found to work better.

The default, idle state of the clock signal line is low, and the data signal is read on each rising edge of the clock. To update the LED colors, you need to toggle the clock line while driving the data line with the value of each bit to send; this can be done through software (bit-banging), or it can be handled by a hardware SPI peripheral in a microcontroller. There is no minimum clock frequency, although using a lower frequency means that it will take longer to update the entire sequence of LEDs (especially when controlling a large number of LEDs), so you will probably want to use the fastest practical clock speed to get the best update rate.

Control signal timing diagram for the SK9822 and APA102C.

The data for each LED is encoded as a sequence of 32 bits (4 bytes) called an LED frame. The first 3 bits of the LED frame should be ‘1’. The next 5 bits are a “global” brightness value (0–31) that is applied to all three color channels. The remaining 24 bits are the color values, in BGR (blue-green-red) order. Each color value uses 8 bits (0–255). The most significant bit of each value is transmitted first. The first LED frame transmitted applies to the LED that is closest to the data input connector, while the second color transmitted applies to the next LED in the strip, and so on.

To update all the LEDs in the strip, you should send a “start frame” of 32 ‘0’ bits, then a 32-bit “LED frame” for each LED, and finally an “end frame”.

The SK9822 datasheet recommends that the end frame be composed of 32 ‘1’ bits, but Pololu have found this does not work reliably in certain situations and can sometimes lead to glitches. This can be avoided by using an end frame that consists of at least (n extra clock edges, where n is the number of LEDs, with ‘0’ on the data line. It is often easiest to round up to a multiple of 16 clock edges so that you are counting bytes instead (there are 2 clock edges in a bit and 8 bits in a byte); you would therefore send ((n – 1) // 16) bytes (rounded up to the next whole number). For a more detailed explanation, see the comments in the source code of Pololu's Arduino library, discussed below.

Data format for the SK9822 and APA102C.

For example, to update all 30 LEDs on a 1-meter strip, you should send a 4-byte start frame, thirty 4-byte LED frames, and a 2-byte end frame, for a total of 126 bytes. If multiple strips are chained together with their data connectors, they can be treated as one longer strip and updated the same way (two chained 1-meter strips behave the same as one 2-meter strip).

Each RGB LED receives data on its data input line and passes data on to the next LED using its data output line. The update rate is generally limited only by the speed of the controller; Pololu's Arduino library below can update 60 LEDs in about 1.40 milliseconds, so it is possible to update 700 LEDs at 60 Hz. However, constant updates are not necessary; the LED strip can hold its state indefinitely as long as power remains connected.

Note: The minimum logic high threshold for the data and clock signals is not specified in the SK9822 datasheet, so you should consider using level shifters if you want to control these strips from 3.3 V systems. In Pololu's tests, Pololu were able to control the LEDs directly with 3.3 V signals, but that is not guaranteed to always work.

Sample code

To help you get started quickly, Pololu provide an APA102 Arduino library. Pololu's APA102 library supports both the SK9822 and the APA102 (an LED/driver IC that has a nearly identical interface). The library also works with Pololu's Arduino-compatible A-Star modules.

Additionally, the DotStar Arduino library and Raspberry Pi Python module from Adafruit should work with these strips since the DotStars are based on similar LEDs. The FastLED Arduino library is another option that focuses on performance and provides advanced functionality like color correction.

Since the SK9822 protocol is compatible with the APA102 protocol, most code written for the APA102 should work with the SK9822.

Comparison with SK6812 LED Strips

Like the SK9822, the SK6812 used in some of Pololu's LED strips also combines an RGB LED and driver into a single 5050-size package. However, while the SK6812 uses a one-wire control interface with strict timing requirements, the SK9822 uses a standard SPI interface, with separate data and clock signals that lets it accept a wide range of communication rates; the trade-off is that two I/O lines are required to control it instead of just one.

The SK9822 provides a 5-bit brightness control that is not available on the SK6812. This feature can be used to dim the LED strip while still retaining 24-bit color control.

For more information about the ICs, see the SK6812 datasheet (459k pdf) and the SK9822 datasheet (476k pdf).

While Pololu's SK6812 strips and SK9822 strips are physically very similar, they are not functionally compatible with each other. The easiest way to tell them apart is to look at the strips’ end connectors and the connections between each LED segment: SK6812 strips have three connections (power, data, and ground), while SK9822 strips have four (power, clock, data, and ground).

Comparison with APA102C LED Strips

The SK9822 is very similar to the APA102C used in some of Pololu's older LED products, and can be used as a drop-in replacement in almost any application. LED products based on the SK9822 and APA102C can be chained together.

The SK9822 has voltage-independent brightness over a wide voltage range, as described in the “Current draw” section, which means that the colors of the LEDs should not be affected by a drop in the supply voltage as much as they are on the APA102C.

The colors generated by the SK9822 look different from the colors generated by the APA102C. In particular, the SK9822’s red channel is relatively less bright, which makes it have a blue-green tint when compared to the APA102C. While the APA102C’s brightness register allows you to control the brightness of each LED independently of its color, Pololu have noticed that the colors from the SK9822 become less red and more green as the 5-bit brightness value is lowered. Also, the SK9822 has some unit-to-unit variation in the brightness of its red channel, which can be noticed when the 5-bit brightness value is low but is usually hard to see when the 5-bit brightness value is high.

The SK9822 can be distinguished from the APA102C by visual inspection. The pictures below show what each IC looks like:

Close up of an SK9822, with the red, green, and blue LEDs on at a low brightness.

Close up of an APA102C, with the red, green, and blue LEDs on at a low brightness.

Dimensions

Length: 1 m
Weight: 75 g

General specifications

Typical operating voltage: 5 V
LEDs: 144
RGB LED density: 144 per meter
Color: RGB
IP rating: IP651

Notes:

1
Total dust protection, water resistant.

File downloads

Recommended links

Product Comments

Exact shipping can be calculated on the view cart page (no login required).

Products that weigh more than 0.5 KG may cost more than what's shown (for example, test equipment, machines, >500mL liquids, etc).

We deliver Australia-wide with these options (depends on the final destination - you can get a quote on the view cart page):

  • $3+ for Stamped Mail (typically 10+ business days, not tracked, only available on selected small items)
  • $7+ for Standard Post (typically 6+ business days, tracked)
  • $11+ for Express Post (typically 2+ business days, tracked)
  • Pickup - Free! Only available to customers who live in the Newcastle region (must order online and only pickup after we email to notify you the order is ready). Orders placed after 2PM may not be ready until the following business day.

Non-metro addresses in WA, NT, SA & TAS can take 2+ days in addition to the above information.

Some batteries (such as LiPo) can't be shipped by Air. During checkout, Express Post and International Methods will not be an option if you have that type of battery in your shopping cart.

International Orders - the following rates are for New Zealand and will vary for other countries:

  • $12+ for Pack and Track (3+ days, tracked)
  • $16+ for Express International (2-5 days, tracked)

If you order lots of gear, the postage amount will increase based on the weight of your order.

Our physical address (here's a PDF which includes other key business details):

Unit 18, 132 Garden Grove Parade
Adamstown
NSW, 2289
Australia

Take a look at our customer service page if you have other questions such as "do we do purchase orders" (yes!) or "are prices GST inclusive" (yes they are!). We're here to help - get in touch with us to talk shop.

Have a product question? We're here to help!

Write Your Own Review

Videos

View All

Guides

WLED Phone App | Control Addressable LEDs with an ESP32 or ESP8266

Today will be all about controlling Fully Addressable LED Lights using any Espressif ESP32 Dev...
Today will be all about controlling Fully Addressable LED Lights using any Espressif ESP32 Dev...

The Maker Revolution

The Maker Revolution celebrates the creation of new devices and the modification of existing ones - ...
The Maker Revolution celebrates the creation of new devices and the modification of existing ones - ...

Addressable RGB LED Controllers

Addressable RGB LED strips are one maker favourite that can really spruce up any project or even b...
Addressable RGB LED strips are one maker favourite that can really spruce up any project or even b...

What Are NeoPixel LEDs?

So in case you haven’t heard yet, digital LEDs are the go-to solution for any project that use...
So in case you haven’t heard yet, digital LEDs are the go-to solution for any project that use...

Projects

Aircraft Lighting Model

The aim of this project was to create a working model of the aircraft exterior lighting systems. Ini...
The aim of this project was to create a working model of the aircraft exterior lighting systems. Ini...

HUGE LED Pixel Panel

I’ve always been fascinated by LED screens and seeing beautiful colours mix and merge to creat...
I’ve always been fascinated by LED screens and seeing beautiful colours mix and merge to creat...

Time lapsing in OctoPrint (Properly!)

Now that we have decked out our Lulzbot Taz 6 3D Printer with a really nice looking acrylic enclosur...
Now that we have decked out our Lulzbot Taz 6 3D Printer with a really nice looking acrylic enclosur...
Feedback

Please continue if you would like to leave feedback for any of these topics:

  • Website features/issues
  • Content errors/improvements
  • Missing products/categories
  • Product assignments to categories
  • Search results relevance

For all other inquiries (orders status, stock levels, etc), please contact our support team for quick assistance.

Note: click continue and a draft email will be opened to edit. If you don't have an email client on your device, then send a message via the chat icon on the bottom left of our website.

Makers love reviews as much as you do, please follow this link to review the products you have purchased.