For NeoPixel projects starting with one of our Feather M0 or M4 board variants, a NeoPXL8 FeatherWing can simplify and make sense of the wiring…the boards are designed to be stacked. Some soldering and “maker skills” are required.

There are two distinct versions of the NeoPXL8 FeatherWing: one for M0 boards, the other for M4. The two are not interchangeable.

You can use any Feather M0 or M4…however, some NeoPXL8 outputs get configured to take over I2C or SPI pins. In particular, if an SPI pin is used for NeoPXL8, the Adalogger, WiFi, Bluefruit will not be able to use the built in SD/WiFi/BTLE chips! If I2C is used, most FeatherWings with I2C sensors/devices won't work!
The M0 and M4 versions of the NeoPXL8 FeatherWing are NOT interchangeable — get the correct type to match your Feather board!

The M4 version of the FeatherWing can also be used with the Adafruit Feather RP2040 with just a small modification. Finish reading this page for general connection tips, then visit the “RP2040 Use” page for the fix.

Either version of the FeatherWing can also work with the Adafruit Feather ESP32-S3 without modification. But only the S3; the ESP32-S2 and original ESP32 are not supported.

Connections: Two Types

The NeoPXL8 FeatherWing can be assembled one of two ways depending on your preferences and needs. You must choose beforehand what kind of connectors your project needs, as there’s not enough room for both at once…

Populating the 8x2 row header at the center of the board (16 pins total) provides a “Fadecandy-style” connection.

Fadecandy is a USB NeoPixel controller popular in large-scale LED installations. The 8x2 connector is fairly compact and low-profile. Assembled this way, the NeoPXL8 Feather-and-Wing combo could, with suitable Arduino code, function as a swap-in replacement in an existing Fadecandy project, or could make use of NeoPixels already wired for such.

Populating the two RJ45 connectors at the board ends provides an “OctoWS2011-style” connection.

OctoWS2811 is a similar hardware-and-software combo for large NeoPixel setups using the PJRC Teensy 3.2 microcontroller. These connections are bulkier but latch into place and ensure a specific polarity. Assembled this way, the NeoPXL8 Feather-and-Wing combo could, with suitable Arduino code, function as a swap-in replacement in an existing OctoWS2811 project, or could make use of NeoPixels already wired for such.

In either case, the NeoPixel headers mount on the FLAT SIDE of the NeoPXL8 FeatherWing — the side with NO COMPONENTS — and are soldered on the component side. The Feather-stacking pins are done the OPPOSITE way — install from the component side, solder on the flat side. See the photos above for reference.

Additionally, you still need to build a wiring harness between these connectors and your NeoPixel LEDs. The above is just a starting point.

Adopting these two wiring schemes mean that any existing tutorials for wiring up Fadecandy or OctoWS2811 projects are applicable to NeoPXL8 as well — it’s not starting over with a third incompatible standard.

This tutorial shows some Fadecandy-style wiring harnesses being made, using a ribbon cable and 8x2 IDC header, plus lots of soldering and heat-shrink. A multimeter with continuity beep is helpful in keeping track of data wires and grounds!

The OctoWS2811 product page on the PJRC web site shows RJ45 wiring harnesses being made by cutting open Ethernet cables.

You will also need to safely distribute 5 Volt power to all of your NeoPixels. This is not done through the NeoPXL8 board — it needs to be part of your wiring harness. This tutorial explains some of the issues in powering large-scale NeoPixel installations.

Pin Selection

Because we’re using hardware tricks, NeoPXL8 output works only on specific pins. Some are set in stone, others give some control in that you can select an alternate pin. This may be helpful if using a Feather or Wing with its own peripheral pin constraints (wireless, perhaps)…sometimes you can re-route some signals and keep full functionality.

Depending on what additional hardware you’re interfacing, it’s possible that neither selection will work…one peripheral or another absolutely requires that pin. In such cases, you can use NeoPXL8 with fewer than 8 outputs. We’ll elaborate further on the “Library” page.

Keep track of your selections. Write it down somewhere. You’ll need this information when writing Arduino sketches using the NeoPXL8 library.

The pin selection is a little different between the M0 and M4 FeatherWings…

For M0 NeoPXL8 FeatherWing only…

Let’s refer to NeoPXL8’s eight outputs as “0” through “7,” sequentially. Outputs 3, 6 and 7 are fixed to specific Feather pins (13, A4, A3) and cannot be changed, period. Outputs 0, 1, 2, 4 and 5 offer a “this” or “that” choice.

On the component side of the FeatherWing you’ll see several solder pad groups, labeled “N0”, “N1”, “N2”, “N5” and “N4”. Pay careful attention to those numbers…they are neither sequential nor contiguous (partly because three pins are fixed, partly because it was more practical to route the board this way).

Each of these five pins has a default assignment. To change a pin to an alternate setting, use a hobby knife or file to cut the trace between the center and default pads, then apply a solder bridge between the center and alternate pad.

Output Number

Default Pin

Alternate Pin

N0

RX

12

N1

TX

10

N2

MISO

11

N5

SDA

MOSI

N4

D5 (digital pin 5, not A5)

SCK

For M4 NeoPXL8 FeatherWing only…

These rules apply only to the Feather M4 board. For Feather RP2040, see the “RP2040 Use” page.

Let’s refer to NeoPXL8’s eight outputs as “0” through “7,” sequentially. Outputs 4, 5, 6 and 7 are fixed to specific Feather pins (13, 12, 11 and 10) and cannot be changed, period. Outputs 0, 1, 2, and 3 offer a “this” or “that” choice.

On the component side of the FeatherWing you’ll see several solder pad groups, labeled “n0”, “n1”, “n2” and “n3”.

Each of these four pins has a default assignment. To change a pin to an alternate setting, use a hobby knife or file to cut the trace between the center and default pads, then apply a solder bridge between the center and alternate pad.

Output Number

Default Pin

Alternate Pin

n0

SCK

RX

n1

D5

TX

n2

D9

SCL

n3

D6

SDA

This guide was first published on May 30, 2018. It was last updated on Mar 08, 2024.

This page (NeoPXL8 FeatherWings) was last updated on Mar 08, 2024.

Text editor powered by tinymce.