# Adafruit Pixel Shifter

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/133/492/medium800/adafruit_products_6066-04.jpg?1730839782)

We've been stocking [WS2811-n-friends](https://www.adafruit.com/product/1260)&nbsp;for a long time, enough to see many iterations and versions of the "one-wire-control" addressable LED pixel. We call them NeoPixels, since the part number itself can change quite a bit, but all have the same idea: send color data to lights and they'll change on their own without having to constantly PWM three or four diodes. Despite this simplicity, we've seen folks struggle with them because of voltage level expectations: _some_ NeoPixel-compatible pixels are very picky and want 5V logic level. Without the right voltage, you get flickering or weird behavior. There's also some funky variants like the TM1814 that want _inverted_ signal levels.

![](https://cdn-learn.adafruit.com/assets/assets/000/133/493/medium800/adafruit_products_6066-03.jpg?1730839862)

To make wiring easy, so you don't need a separate chip or breadboard, we made this **Adafruit Pixel Shifter** which can be easily wired in-line to your LED strips or grids or any other shape configuration they come in.

On-board is a tiny 5V voltage generator, two shifters and one inverter. Provide it 3-5V power (it only needs a few milliamps) and it will shift up to two signal lines, with one of them also available as an inverted output. All pins are available on 0.1" terminal blocks. Use a small flathead screw to attach your solid or stranded core wire, 18AWG to 26AWG.

![](https://cdn-learn.adafruit.com/assets/assets/000/133/494/medium800/adafruit_products_6066-01.jpg?1730839914)

It's a simple, low-cost, and solder-free way to make your finicky LED setups work with 3.3V logic chips like the RP2040, ESP32 / ESP8266, STM32, SAMD, Raspberry Pi or other modern 3.3V-logic devices. You can also use it for other 5V-logic-needing IC's that require one or two inputs. The onboard 74HCT2G34 shifter can easily handle 10MHz signals, most LED strips use a signal frequency of about 800KHz. A perfect companion to WLED!

![](https://cdn-learn.adafruit.com/assets/assets/000/133/495/medium800/adafruit_products_6066-02.jpg?1730839952)

You can also use this board as a quick signal debugger: there's a single tiny NeoPixel on the Data line, so you can verify that you're getting valid signal on that pin. If you aren't using a NeoPixel protocol, or want to keep it dark, disable it by cutting the trace on the back.

# Adafruit Pixel Shifter

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/133/506/medium800/adafruit_products_double.jpg?1730843305)

## Power Pins

- **V** - this is the power pin. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V. It can be powered from either 3V to 5V.
- **G** - common ground for power and logic.

## Input Logic

- **DAT** - This is the data line input from your microcontroller to your addressable RGB LED.
- **CLK** - This is the clock line input from your microcontroller to your addressable RGB LED. Some RGB LED variants such as Dotstars (ex: SK9822) utilize a clock signal.

## Output Logic

- **D5** - This is the 5V level shifted data line output to your addressable RGB LED.
- **!D5** - This is the inverted 5V level shifted data line output to your addressable RGB LED. This output should be used for funky variants like the TM1814 that want _inverted_ signal levels.
- **C5** - This is the 5V level shifted clock line output to your addressable RGB LED. Some RGB LED variants such as Dotstars (ex: SK9822) utilize a clock signal.

## NeoPixel and NeoPixel Jumper

- **NeoPixel LED&nbsp;** - On the front of the board, to the left of the output terminal block, is the NeoPixel LED. This LED is connected to the data line, so you can verify that you're getting valid signal on that pin to check against the output you are getting with your connected addressable RGB LEDs.
- **Neo&nbsp;** - On the back of the board, to the left of the top mounting hole, is the NeoPixel LED jumper. It is labeled **Neo** and outlined in white on the board silk. If you do not want to power the onboard NeoPixel LED, you can cut this jumper to disable it.

# Adafruit Pixel Shifter

## CircuitPython and Python

It's easy to use the **Pixel Shifter** &nbsp;with CircuitPython and the [Adafruit\_CircuitPython\_NeoPixel](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel) module. This module allows you to easily write Python code for NeoPixels.

You can use this driver with any CircuitPython microcontroller board or with a computer that has GPIO and Python [thanks to Adafruit\_Blinka, our CircuitPython-for-Python compatibility library](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux). You should note though that many single board computers (SBCs) don't have NeoPixel/other addressable RGB LED support due to the precision timing required to send data.

Info: Many single board computers don't have NeoPixel/addressable RGB LED support due to the precision timing required to send data.

### Adafruit NeoPixel Digital RGB LED Strip - Black 30 LED 5m

[Adafruit NeoPixel Digital RGB LED Strip - Black 30 LED 5m](https://www.adafruit.com/product/1460)
You thought it couldn't get better than [our world-famous 32-LED-per-meter Digital LED strip](http://adafruit.com/products/306) but we will prove you wrong! These NeoPixel strips have 30 digitally-addressable pixel LEDs per meter and are very affordable and are only 12.5 mm...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1460)
[Related Guides to the Product](https://learn.adafruit.com/products/1460/guides)
![Adafruit NeoPixel Digital RGB LED Strip reel wired to a microcontroller, with all the LEDs in a rainbow](https://cdn-shop.adafruit.com/640x480/1460-00.jpg)

## CircuitPython Microcontroller Wiring

Here is how you'll wire the breakout to a Feather RP2040 and NeoPixel strip:

- **Feather 3.3V** to **breakout V (red wire)**
- **Feather GND** to **breakout G (black wire)**
- **Feather D5** to **breakout DAT (blue wire)**
- **Breakout G** &nbsp;to **NeoPixel GND (black wire)**
- **Breakout D5** to **NeoPixel DATA IN (blue wire)**
- **External Power 5V** to **NeoPixel PWR (red wire)**
- **External Power GND** to **NeoPixel GND (black wire)**

![adafruit_products_feather_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/510/medium640/adafruit_products_feather_bb.jpg?1730910306)

## Python Computer Wiring

Since there are _dozens_ of Linux computers/boards you can use, we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

Here's the Raspberry Pi wired to the breakout and a NeoPixel strip:

Info: On the Raspberry Pi, NeoPixels must be connected to GPIO10, GPIO12, GPIO18 or GPIO21 to work!

- **Pi 3.3V** to **breakout V (red wire)**
- **Pi GND** to **breakout G (black wire)**
- **Pi GPIO18** &nbsp;to **breakout DAT (blue wire)**
- **Breakout G** &nbsp;to **NeoPixel GND (black wire)**
- **Breakout D5** to **NeoPixel DATA IN (blue wire)**
- **External Power 5V** to **NeoPixel PWR (red wire)**
- **External Power GND** to **NeoPixel GND (black wire)**

![adafruit_products_pi_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/511/medium640/adafruit_products_pi_bb.jpg?1730910447)

## Python Installation of NeoPixel Library

You'll need to install the **Adafruit\_Blinka** library that provides the CircuitPython support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

Once that's done, from your command line run the following command:

- `pip3 install adafruit-circuitpython-neopixel`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

## CircuitPython Usage

To use with CircuitPython, you need to first install the **Adafruit\_CircuitPython\_NeoPixel** library, and its dependencies, into the **lib** folder on your **CIRCUITPY** drive. Then you need to update **code.py** with the example script.

Thankfully, we can do this in one go. In the example below, click the **Download Project Bundle** button below to download the necessary libraries and the **code.py** file in a zip file. Extract the contents of the zip file, and copy the **entire**  **lib**  **folder** and the **code.py** file to your **CIRCUITPY** drive.

Your **CIRCUITPY/lib** folder should contain the following files:

- **neopixel.mpy**
- **adafruit\_pixelbuf.mpy**

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/NeoRGB_Stemma_Examples_circuitpython.png )

## Python Usage

Once you have the library `pip3` installed on your computer, copy or download the following example to your computer, and run the following, replacing **code.py** with whatever you named the file:

`python3 code.py`

## Example Code

**If running CircuitPython:** Once everything is saved to the **CIRCUITPY** drive, [connect to the serial console](https://learn.adafruit.com/welcome-to-circuitpython/kattni-connecting-to-the-serial-console) to see the data printed out!

**If running Python:** The console output will appear wherever you are running Python.

Warning: If you are using LEDs that require a different color order than the GRB and RGB that are available in the neopixel library, you can pass along a string instead, e.g.: ```'pixels = neopixel.NeoPixel(pixel_pin, num_pixels, pixel_order = "RBG"'```  This is what works for [these cafe lights](https://www.adafruit.com/product/6058). You can pass along any order you need, ```BGR```, ```GRB```, ```RBG```, etc.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/NeoRGB_Stemma_Examples/circuitpython/code.py

The code has a check to determine if you are running the code on a Raspberry Pi or not. If you are, the NeoPixel pin is set as **GPIO18**. Otherwise, the NeoPixel pin is set as **D5**. Once the loop starts, you'll see your NeoPixel cycle through the colors of the rainbow.

# Adafruit Pixel Shifter

## Python Docs

# Adafruit Pixel Shifter

## Arduino

Using the Pixel Shifter with Arduino involves wiring up the breakout to your Arduino-compatible microcontroller, installing the [Adafruit\_NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) library and running the provided example code.

### Adafruit NeoPixel Digital RGB LED Strip - Black 30 LED 5m

[Adafruit NeoPixel Digital RGB LED Strip - Black 30 LED 5m](https://www.adafruit.com/product/1460)
You thought it couldn't get better than [our world-famous 32-LED-per-meter Digital LED strip](http://adafruit.com/products/306) but we will prove you wrong! These NeoPixel strips have 30 digitally-addressable pixel LEDs per meter and are very affordable and are only 12.5 mm...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1460)
[Related Guides to the Product](https://learn.adafruit.com/products/1460/guides)
![Adafruit NeoPixel Digital RGB LED Strip reel wired to a microcontroller, with all the LEDs in a rainbow](https://cdn-shop.adafruit.com/640x480/1460-00.jpg)

## Wiring

Here is how you'll wire the breakout to an Adafruit Metro and NeoPixel strip:

- **Metro 5V** to **breakout V (red wire)**
- **Metro GND** to **breakout G (black wire)**
- **Metro D6** &nbsp;to **breakout DAT (blue wire)**
- **Metro 5V** to **NeoPixel PWR (red wire)**
- **Breakout G** to **NeoPixel GND (black wire)**
- **Breakout D5** &nbsp;to **NeoPixel DATA IN (blue wire)**

![](https://cdn-learn.adafruit.com/assets/assets/000/142/515/medium640/adafruit_products_metro_bb.jpg?1771849612)

## Library Installation

You can install the **Adafruit NeoPixel** library for Arduino using the Library Manager in the Arduino IDE.

![arduino](https://cdn-learn.adafruit.com/assets/assets/000/130/690/original/adafruit_products_Arduino_Open_Library_Manager.png?1718302242 )

Click the **Manage Libraries...** menu item, search for **Adafruit NeoPixel** , and select the **Adafruit NeoPixel** library:

![library](https://cdn-learn.adafruit.com/assets/assets/000/130/691/original/adafruit_products_neopixelLib.png?1718302288 )

Info: There are no additional dependencies for the Adafruit NeoPixel library.

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/NeoRGB_Stemma_Examples/arduino_rainbow_neorgb/arduino_rainbow_neorgb.ino

Upload the sketch to your board. You'll see your NeoPixel strip cycle through a rainbow swirl animation.

# Adafruit Pixel Shifter

## Arduino Docs

# Adafruit Pixel Shifter

## Downloads

## Files

- [EagleCAD PCB Files on GitHub](https://github.com/adafruit/Adafruit-Pixel-Shifter-PCB)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20Pixel%20Shifter.fzpz)
- [3D models on GitHub](https://github.com/adafruit/Adafruit_CAD_Parts/tree/main/6066%20Pixel%20Shifter)

## Schematic and Fab Print
![](https://cdn-learn.adafruit.com/assets/assets/000/133/496/medium800/adafruit_products_schem.png?1730840085)

![](https://cdn-learn.adafruit.com/assets/assets/000/133/497/medium800/adafruit_products_fab.png?1730840091 dimensions are in inches)

![](https://cdn-learn.adafruit.com/assets/assets/000/135/456/medium800/adafruit_products_6066_Pixel_Shifter.jpg?1740076551)


## Primary Products

### Adafruit Pixel Shifter - For Addressable LEDs

[Adafruit Pixel Shifter - For Addressable LEDs](https://www.adafruit.com/product/6066)
We've been stocking [WS2811-n-friends](https://www.adafruit.com/product/1260) for a long time, enough to see many iterations and versions of the "one-wire-control" addressable LED pixel. We call them NeoPixels, since the part number itself can change quite a bit, but...

In Stock
[Buy Now](https://www.adafruit.com/product/6066)
[Related Guides to the Product](https://learn.adafruit.com/products/6066/guides)

## Featured Products

### Adafruit NeoPixel Digital RGB LED Strip - Black 30 LED 5m

[Adafruit NeoPixel Digital RGB LED Strip - Black 30 LED 5m](https://www.adafruit.com/product/1460)
You thought it couldn't get better than [our world-famous 32-LED-per-meter Digital LED strip](http://adafruit.com/products/306) but we will prove you wrong! These NeoPixel strips have 30 digitally-addressable pixel LEDs per meter and are very affordable and are only 12.5 mm...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1460)
[Related Guides to the Product](https://learn.adafruit.com/products/1460/guides)
### Adafruit DotStar Digital LED Strip - Black 144 LED/m - 0.5 Meter

[Adafruit DotStar Digital LED Strip - Black 144 LED/m - 0.5 Meter](https://www.adafruit.com/product/2328)
Move over NeoPixels, there's a new LED strip in town! These fancy new DotStar LED strips are a great upgrade for people who have loved and used NeoPixel strips for a few years but want something even better. DotStar LEDs use generic 2-wire SPI, so you can push data much faster than with...

In Stock
[Buy Now](https://www.adafruit.com/product/2328)
[Related Guides to the Product](https://learn.adafruit.com/products/2328/guides)

## Related Guides

- [Multi-tasking the Arduino - Part 3](https://learn.adafruit.com/multi-tasking-the-arduino-part-3.md)
- [NeoPixels on Raspberry Pi](https://learn.adafruit.com/neopixels-on-raspberry-pi.md)
- [Larson Scanner Shades (Trinket-Powered NeoPixel LED Strip Glasses)](https://learn.adafruit.com/larson-scanner-shades.md)
- [The PICsellator](https://learn.adafruit.com/the-picsellator.md)
- [Trinket NeoPixel LED Longboard](https://learn.adafruit.com/trinket-neopixel-led-longboard.md)
- [Techno-Tiki RGB LED Torch](https://learn.adafruit.com/techno-tiki-rgb-led-torch.md)
- [NeoPixel Cyber Falls Wig](https://learn.adafruit.com/neopixel-cyber-falls.md)
- [Sipping Power With NeoPixels](https://learn.adafruit.com/sipping-power-with-neopixels.md)
- [1,500 NeoPixel LED Curtain with Raspberry Pi and Fadecandy](https://learn.adafruit.com/1500-neopixel-led-curtain-with-raspberry-pi-fadecandy.md)
- [Using NeoPixels with Netduino Plus 2](https://learn.adafruit.com/using-neopixels-with-netduino.md)
- [WiFi Controlled LED Christmahanukwanzaa Tree](https://learn.adafruit.com/wifi-controlled-led-christmahanukwanzaa-tree.md)
- [Burning Fire Wizard Staff](https://learn.adafruit.com/burning-fire-wizard-staff.md)
- [NeoPixels with MakeCode](https://learn.adafruit.com/neopixels-with-makecode.md)
- [Mailbox Notification Service](https://learn.adafruit.com/mailbox-notification-service.md)
- [Flora+NeoPixel LED Skateboard Upgrade](https://learn.adafruit.com/flora-neopixel-led-skateboard-upgrade.md)
