# Holiday Icicle Lights with Flair

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/085/547/medium800thumb/projects_ezgif-2-2d83bff3c93b.jpg?1575767510)

I adore most anything with **LEDs** , but found those store-bought icicle or meteor lights a bit lacking. Nature rarely moves in straight lines and perfect intervals! In this project we’ll make our own, applying some basic physics for an eye-catching drip effect. PLUS…these have a built-in **magic trick** , making a “splat” where they hit the ground!

This is a **remix** of an earlier project: the **[OOZE MASTER 3000](https://learn.adafruit.com/ooze-master-3000-neopixel-simulated-liquid-physics)**&nbsp;from Halloween…mostly it’s just **larger** now and uses different NeoPixel strips, and fits in a **window** rather than squeezing in a confined space.&nbsp;The code and principles are similar enough that you’d do well to skim that guide. Go ahead, I’ll wait here, then explain the differences when you get back…

[Open OOZE MASTER 3000 guide in a new window](https://learn.adafruit.com/ooze-master-3000-neopixel-simulated-liquid-physics)
The Halloween _Ooze Master 3000_ project was inspired by those unconvincing store-bought Christmas meteor lights, stepping it up with a bit of physics math to make the drips look “real.” Now we’ve gone full-circle and it’s a Christmas project again!

The same installation can do double-duty…set up for Halloween with a blood or ectoplasm color scheme, then afterward just update the code for a Christmas-like mood.&nbsp;Unless you’re a horrible person like me…

https://twitter.com/PaintYourDragon/status/1202828009813659648

# Holiday Icicle Lights with Flair

## Hardware

For posterity, let’s take a look at the wiring schematic from the _OOZE MASTER 3000_ guide (you _did_ at least skim that, yes?), to make better sense of the changes mentioned here…

![](https://cdn-learn.adafruit.com/assets/assets/000/085/529/medium800/projects_oozemaster-schematic.png?1575686613)

Seven NeoPixel strips provide our icicles and drips, while a distinct eighth&nbsp;strand of separate NeoPixels makes the “drippings” at the bottom. It’s all powered from the Feather board’s USB port.

The _concept_ is exactly the same as the prior project, just some of the _parts_ are changed…

## NeoPixels
With an **architectural-scale** project like this, we can use regular-width, **60-pixels-per-meter NeoPixel flex strip**. Fortunately this is the **most common** variety around!

I started with a full [**4 meter reel**](https://www.adafruit.com/product/1461?length=4), then divided into 8 half-meter strips. 7 for the icicles, 1 as a replacement spare. I already had some bits of NeoPixel strip from prior projects to cut up for the “splat” pixels, otherwise you might have to use that 8th half-meter for that instead, or some [NeoPixel Mini Button PCBs](https://www.adafruit.com/product/1612).

![projects_neopixel-reel.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/525/medium640/projects_neopixel-reel.jpg?1575682503)

The drip illusion seems most convincing if the strips are in the vicinity of _half the window height._ I tested on two windows…one a little shorter than a meter, one a bit taller…in either case, the half-meter strips looked great, so don’t stress over getting this just right.

Higher-pixel-density strips are available and will work, but please read the notes later about power requirements.

## Driving the Pixels

The hardware driving this is identical to the [_OOZE MASTER 3000_](https://learn.adafruit.com/ooze-master-3000-neopixel-simulated-liquid-physics) project…which in turn refers back to the [NeoPXL8 guide](https://learn.adafruit.com/adafruit-neopxl8-featherwing-and-library) for tips about compatibility. A number of Feather boards —&nbsp; **M0, M4, RP2040** and **ESP32-S3** boards — will work in conjunction with a NeoPXL8 FeatherWing, and a few non-Feathers can work with&nbsp;the [NeoPXL8 Friend](https://www.adafruit.com/product/3975) (breakout) rather than the FeatherWing.&nbsp;Other microcontrollers like AVR or “classic” ESP will _not_ work.&nbsp;The guide example code accompanying the NeoPXL8 library has comments regarding compatible hardware.

I also used the same **Perma-Proto** trick as before to make power rails for all the NeoPixel strips. But feel free to improvise with whatever supplies and techniques are available.

 **OPTIONAL:** when possible, I like to build projects to be reconfigured or dismantled and used in other things…so, each of my 7 NeoPixel icicles has a [**3-pin JST-SM**](https://www.adafruit.com/product/1663) connector at the end.

**JST-SM connectors are not water resistant.** Fine for indoors, or under house eaves if weather allows. If installing your project further out…on a tree, in the snow, etc., there are [waterproof connectors](https://www.adafruit.com/product/744) better suited to this (and you’ll want good adhesive-lined heat-shrink tubing for waterproof connections). Or forego the connectors and wire everything in permanently.

![projects_jst-sm.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/526/medium640/projects_jst-sm.jpg?1575684724)

![projects_waterproof.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/527/medium640/projects_waterproof.jpg?1575684737)

## Wiring
An **inordinate amount of wire** was involved!

The Feather hardware resides at one **corner** of a window. The first NeoPixel strip needs only short wires, but each successive strip requires a few inches more than the previous one, then last one spanning _all the way_ across (almost 48"). Finally, one more set of wires down to the “drips” at the bottom.

Each strip requires **5V, ground and data** wires. Multi-conductor **ribbon cable** makes this process more pleasant…found some [color-coded 4-conductor wire on Amazon](https://www.amazon.com/gp/product/B00L67YQ9W), cheap enough that I didn’t feel bad peeling off the 4th wire.

![projects_71gJ6BwthfL._AC_SX679_.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/528/medium640/projects_71gJ6BwthfL._AC_SX679_.jpg?1575686363)

## Power
The project is powered through the Feather board’s **USB port** , so you’ll need a higher amperage **USB power supply** (such as a phone charger) or a capacious USB **battery bank** if the installation isn’t well suited to running a long USB cable.

## Other Parts
As with the _OOZE MASTER 3000_ project, you will also need:

- **Soldering iron** and **related paraphernalia**
- Sundry **craft supplies** and **tools** ; this will vary with how you decide to implement the project. There will _almost certainly_ be hot glue involved…but you might also need some clear packing tape, heat-shrink tubing, zip ties, hobby wood or edge molding and more. On the next page I’ll show some things I found.

# Holiday Icicle Lights with Flair

## Getting Crafty

Every installation will be different…it depends on where you’re putting this and what tools, materials and techniques you have access to…so I won’t go into intricate detail on the actual build. But I can show you a couple things along the way that might be insightful…

Even though my icicle lights will be **inside** the window, I wanted to keep the **weatherproof covering** in case these are re-used in different situations later. This requires **sealing the ends of the strips** &nbsp;with hot glue and 1/2" clear heat-shrink.

This is already well illustrated in both the [NeoPixel Curtain](https://learn.adafruit.com/1500-neopixel-led-curtain-with-raspberry-pi-fadecandy/preparing-led-strips#adding-wires-6-14) and [Cyber Falls Wig](https://learn.adafruit.com/neopixel-cyber-falls/making-led-dreads#seal-ends-of-strips-2-23) guides for ideas…_please_ take a look at both!

In the original Ooze Master 3000 project, every strip was carefully “tuned” to a specific length. Here, **all the strips are the same length**. **Half a meter** is especially convenient because NeoPixel strips already **have solder joints at exactly that interval**!

![projects_half-meter.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/532/medium640/projects_half-meter.jpg?1575696873)

If using this strictly indoors, you _could_ skip the weatherproofing step if you want, but it _does_ make the strips a little more robust for handling.

Either way, take an important lesson from the Ooze Master guide: **test every strip at every opportunity**. After soldering, after weatherproofing, etc.

My “splat” pixels were strip-end cuttings from prior NeoPixel projects. Originally I was going to glue these to a strip of molding or maybe a dowel, but the local hardware store had this clear “L” corner protector stuff. I cut it to length for the window, hot-glued the pixels in place, and held it to the window with a couple small pieces of double-stick foam tape.

![projects_splat-pixels.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/533/medium640/projects_splat-pixels.jpg?1575697667)

The strips are held to the glass using clear packing tape…both top and bottom, because the strips tend to curl a little otherwise. Originally I thought the JST wires would be bearing the load, but no, tape handles it fine.

The tape will peel off the window cleanly unless it’s been left up way too long and/or in direct sunlight.

If you _do_ end up with tape residue on your window, it can be loosened up with Goo-Gone®, WD-40® and/or a hair dryer.

![projects_packing-tape.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/534/medium640/projects_packing-tape.jpg?1575698043)

Up top, the same plastic “L” channel (with holes drilled at suitable intervals) supports the wires, held with zip-ties. The Feather hardware is out of frame to the right.

Of course, feel free to improvise with whatever you have.

![projects_up-top.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/535/medium640/projects_up-top.jpg?1575698579)

Looks pretty rough from the inside. From outside though, nobody has to know what’s going on, they just see pretty lights.

A view of the Feather, Wing and Perma-Proto power distribution after moving to a different window.

Since it’s a temporary install and I’m not expecting company, it was all put up roughly with tape. Those with more patience and higher aesthetic standards can dress it up with an **enclosure** , maybe something 3D-printed.

As with the Ooze Master project, copious amounts of **hot glue** were used as **strain relief** for the wires. **After testing that everything works** , of course.

![projects_featherstuff.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/536/medium640/projects_featherstuff.jpg?1575699039)

 **There’s a whole lot of talk here about windows, but that’s really not a requirement! Just like the original Ooze Master project, maybe there’s something suitably holiday-themed you can wrap this around…a tree, a wreath, a snowman. Just make sure, if outdoors, that everything’s suitably weatherproofed.**

The next page is mirrored directly from the Ooze Master 3000 guide, so please excuse any reference to skulls and ectoplasm. That’s just to get the code installed and working, _then_ we’ll proceed to make some Christmas-y adjustments!

# Holiday Icicle Lights with Flair

## Arduino Code

The software for this project uses the **Arduino** development environment. If this is your first time using this with Adafruit boards, please see the Feather M0 Setup guide here:

# [Adafruit Feather M0 Basic Proto: Arduino IDE Setup](/adafruit-feather-m0-basic-proto/overview)

Aside from installing the Arduino software, you’ll need to add the **Adafruit boards package** as mentioned in the guide above.

Other boards… **M4, RP2040, ESP32-S3** …will have corresponding starter guides to get these going with the Arduino IDE. If it’s your first time using them, use the search field to locate those guides.

Additionally you’ll need a few prerequisite **libraries** , which can be installed with the Arduino Library Manager (Sketch→Include&nbsp;Library→Manage Libraries…). Search for and install:

- Adafruit\_NeoPixel
- Adafruit\_NeoPXL8
- Adafruit\_ZeroDMA

Then fetch the code for this project, downloadable here:

[Download OozeMaster3000 source code for Arduino](https://github.com/adafruit/Adafruit_Learning_System_Guides/tree/master/OozeMaster3000)
Select “Feather M0” (or whatever board you’re using) from the Tools→Board menu, compile and verify that you can upload to the board. If so, great! **Now we need to fine-tune some settings to match your project…**

If using a **Feather M4** (with M4 version of the NeoPXL8 FeatherWing), look for this line early in the code:

```python
int8_t pins[8] = { PIN_SERIAL1_RX, PIN_SERIAL1_TX, MISO, 13, 5, SDA, A4, A3 };
```

Change the list of pins to the following:

```python
int8_t pins[8] = { 13, 12, 11, 10, SCK, 5, 9, 6 };
```

The above change is **only needed for Feather M4** ; if using Feather M0, you can leave the defaults.

**Other boards will use different pins. If you’ve worked through the NeoPXL8 guide and puzzled through the strandtest example, this should all be sorted out by now. If using a Feather RP2040 SCORPIO, the sketch takes care of this part.**

Now we can configure some **visual** things…

Near the top of the code is this line:

```python
#define PIXEL_PITCH (1.0 / 150.0) // 150 pixels/m
```

This tells the code the “density” of your NeoPixel strip, in **LEDs-per-meter**. The default, 150.0, corresponds to the density of the ultra-skinny NeoPixel strip. If using different pixels, change this to match…60.0 and 144.0 are both pretty common strip densities.&nbsp;The code needs to know this figure so the drippings fall at a **physically plausible speed**.

_ **Q:** Can I mix and match strip densities?_

_ **A:&nbsp;** _Electronically _there’s nothing preventing this, but the code_ as written _works with a single density throughout._

Speaking of physically plausible speed, look for this a few lines further down:

```python
#define G_CONST 9.806 // Standard acceleration due to gravity
```

Combined with the strip density figure, this makes the drips fall convincingly. 9.806 is the force of gravity on Earth, in m/s<sup>2</sup>. A little math ties this all together to make the drips and the splats play well together and fool your brain.

The value there…9.086…is convincing enough for a thin liquid like water or blood. If you want something really viscous looking…rather than working viscosity calculations into the code, you can be like Q from _Star Trek_ and just change the gravitational constant of the universe. Try values between 2 and 3 for a nice gravy-like feel.

Then, a short way down, look for this section:

```python
uint8_t palette[][3] = {
  { 0, 255, 0 }, // Bright green ectoplasm
};
```

This defines the **color** of the drippings, as an RGB value. The default, {0,255,0}, is a pure green…good for ectoplasm. But you might want red instead, {255,0,0} for blood, or blue {0,0,255} or white {255,255,255} for something more Christmasy. Later we’ll explain how to use _multiple_ colors.

One more piece to this recipe…a little further along in the code, look for this table of numbers:

```python
// THIS TABLE CONTAINS INFO FOR UP TO 8 NEOPIXEL DRIPS
  { 16,  7, 0.157, 0, 0 }, // NeoPXL8 output 0: 16 pixels long, drip pauses at index 7, 0.157 meters above ground, use palette colors 0-0
  { 19,  6, 0.174, 0, 0 }, // NeoPXL8 output 1: 19 pixels long, pause at index 6, 0.174 meters up
  { 18,  5, 0.195, 0, 0 }, // NeoPXL8 output 2: etc.
  { 17,  6, 0.16 , 0, 0 }, // NeoPXL8 output 3
  { 16,  1, 0.21 , 0, 0 }, // NeoPXL8 output 4
  { 16,  1, 0.21 , 0, 0 }, // NeoPXL8 output 5
  { 21, 10, 0.143, 0, 0 }, // NeoPXL8 output 6
```

The table holds information about our NeoPixel strips and real-world distances, to make the physics “actual size.” Each line, one for each drip (up to 7) contains three numbers:

1. The **length** of the NeoPixel strip, **in pixels**.
2. The pixel **index** (starting at 0, up to length-1) where the dribble pauses before falling. _This can be 0 if you want no dribble._
3. The **distance** from the dribble pixel (the one you just provided the index # for) to the splat pixel below, **in meters**.
4. A range of color indices to use from the palette[] array. With just one color defined for the default example case, both of these values are **0**.

You _can_ have an 8th drip but won’t get splats in that case. Given a choice, I think the splats are _way_ cooler.

Here I’m measuring _drip-to-splat length_ for drip #6. It’s about 143 millimeters, or 0.143 meters as you can see in the table. _Not_ the topmost pixel, _not_ the end of the drip, but the _dribble pixel_ at the tip of the horn.

**If measuring in inches, multiply by 0.0254 to convert to meters.**

![led_pixels_measuring.jpg](https://cdn-learn.adafruit.com/assets/assets/000/082/904/medium640/led_pixels_measuring.jpg?1571867972)

Get all your numbers and measurements in there, save the code (or a copy) and upload to your Halloween prop. If all goes well, the motion should physically correspond to the thing you’ve built! If it’s _close_ but _not quite,_ tweak your table numbers…move the dribble pixel up or down a bit, change distances (or G\_CONST) to get the timing right.

# Holiday Icicle Lights with Flair

## Code Configuration

Once you have the Arduino IDE working with the Feather M0 or M4 board, have the prerequisite libraries installed and can successfully compile the Ooze Master 3000 source code, then we can make some adjustments so it’s less _oozy_ and more _Wintery…_

But first…if using a Feather **M4** (rather than M0), see the note on the prior page about changing the **pin numbers**. Okay? Okay…

Near the top of the code, change the “dripColor” line like so:

```cpp
uint8_t palette[][3] = {
  { 200, 240, 255 }, // Bluish-white
};
```

This makes a pleasing cool white color for melting snow. Solid blue` { 0, 0, 255 }` also looks good. Although red and green are traditionally “Christmas colors,” in this setting they look like blood and ectoplasm respectively, and are best reserved for Halloween.

Elsewhere, set `PIXEL_PITCH` to match your LED strips:

```python
#define PIXEL_PITCH (1.0 / 60.0)         // 60 pixels/m
```

That’s assuming the recommended 60/m NeoPixel strip…but if you’ve got something else like 144/m or 150/m, change the value accordingly.

Next line down sets how bright the “icicles” are:

```python
#define ICE_BRIGHTNESS 20                // 20% icycle brightness
```

In the default Oozemaster code, this value is&nbsp; **0** so we just get dribbles and no icicles. 20% looks pretty good for faint always-lit icicles, but feel free to experiment.

Then, scrolling down a bit, there’s a table with the NeoPixel strip specifications. Here’s what I’m using for the front window:

```python
} drip[] = {
  // THIS TABLE CONTAINS INFO FOR UP TO 8 NEOPIXEL DRIPS
  { 30,  6, 0.752, 0, 0 }, // NeoPXL8 output 0: 30 pixels long, drip pauses at index 6, 0.0.752 meters above splat
  { 30, 10, 0.685, 0, 0 }, // NeoPXL8 output 1: 30 pixels long, pause at index 10, 0.685 meters up
  { 30,  9, 0.702, 0, 0 }, // NeoPXL8 output 2: etc.
  { 30, 11, 0.669, 0, 0 }, // NeoPXL8 output 3
  { 30,  7, 0.735, 0, 0 }, // NeoPXL8 output 4
  { 30, 10, 0.685, 0, 0 }, // NeoPXL8 output 5
  { 30,  8, 0.719, 0, 0 }, // NeoPXL8 output 6
```

All the drips are 30 pixels long now, because that’s how it was built (7 half-meter lengths, 60/m).

The “dribble” pixel indices are jumbled up a bit to add variety. This also establishes the lengths of the icicles that will be always-lit by the `ICE_BRIGHTNESS` value.

And the last number on each line…that’s the height, in **meters** , of the “dribble” pixel above the “splat” pixel down below.&nbsp;_Not_ the topmost pixel, _not_ the end of the drip, but the _dribble pixel_.

**If measuring in inches, multiply by 0.0254 to convert to meters.**

Your numbers will be different because your windows are different, that’s okay.

# Fix It in Post

I accidentally soldered in my “drip” wires in the wrong order, with the longest one leading to NeoPXL8 pin 0 and the shortest to pin 6. It should have been the other way around. But I’d already buried those wires under hot glue, and the wire leading to the “splat” pixels wasn’t long enough to just physically flip that piece around.

No worries, if you make the same mistake, we can easily compensate in software.

Down toward the end of the `loop()` function, look for a block of code starting like this:

```python
if(N_DRIPS &lt; 8) { // Do splats unless there's an 8th drip defined
```

Then, a few lines down, look for the `set()` function call. The following change numbers the splats from 6 to 0 instead of 0 to 6:

```python
set(7, N_DRIPS - 1 - i, x);
```

Alternately, this could be done by reversing the first six elements of the pins[] array.

# Holiday Icicle Lights with Flair

## Notes for Big Installs

The schematic as shown on the “Hardware” page (and in the Ooze Master 3000) guide presume that everything will be **powered through the Feather board’s USB port**.

With the **number of NeoPixels** we’re using, and running the code **as it’s written** , this is all **fine and good**.

However, quite often _a thing_ occurs with NeoPixels. One moment you’re animating a few pixels with a carefully planned formula…the next, you want _way more_ pixels, _all_ simultaneously lit in different colors and synchronized to Christmas tracks by Mannheim Steamroller. NeoPXL8 can handle all that data, but a&nbsp; **USB power supply can’t feed that much current.**

I can’t help with the Mannheim Steamroller part, but the power issue is pretty straightforward…you just need to **power the Feather board (with NeoPXL8 wing) separate from the NeoPixels, with a ground wire linking the two:**

![](https://cdn-learn.adafruit.com/assets/assets/000/085/531/medium800/projects_big-power-schematic.png?1575693325 Notice there is NO CONNECTION now to the Feather’s USB pin. DO NOT connect that or bad stuff may happen. Connect GND only!)

Use a **regulated 5V DC** power supply for the NeoPixels, whatever capacity meets your needs…[we have many to choose from, up to 10 Amps](https://www.adafruit.com/category/581), and these handy [screw terminal block adapters](https://www.adafruit.com/product/368) as well.

**You _don’t_ need to do this if building the project as described. This is _only_ if you find yourself taking things to the next level!**

Deeper insight into NeoPixel power consumption can be found in the _[Adafruit NeoPixel Überguide](https://learn.adafruit.com/adafruit-neopixel-uberguide), [NeoPixel Curtain](https://learn.adafruit.com/1500-neopixel-led-curtain-with-raspberry-pi-fadecandy/power-topology)_ project and _[Sipping Power with NeoPixels](https://learn.adafruit.com/sipping-power-with-neopixels)._


## Featured Products

### Adafruit Feather RP2040 SCORPIO - 8 Channel NeoPixel Driver

[Adafruit Feather RP2040 SCORPIO - 8 Channel NeoPixel Driver](https://www.adafruit.com/product/5650)
If there is one thing Adafruit is known for, its mega-blinky-fun-rainbow-LEDs. [We just love sticking NeoPixels anywhere and everywhere](https://www.adafruit.com/category/168). When we saw the new&nbsp;'PIO' peripheral on[the...](https://www.adafruit.com/category/875)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5650)
[Related Guides to the Product](https://learn.adafruit.com/products/5650/guides)
### Adafruit NeoPixel Digital RGB LED Strip - Black 60 LED 4m

[Adafruit NeoPixel Digital RGB LED Strip - Black 60 LED 4m](https://www.adafruit.com/product/1461)
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! You wanted **twice the LEDs**? We got it (well, it's 1.875 times as many but that's within a margin of error)....

In Stock
[Buy Now](https://www.adafruit.com/product/1461)
[Related Guides to the Product](https://learn.adafruit.com/products/1461/guides)
### Adafruit NeoPixel Digital RGB LED Strip - White 60 LED

[Adafruit NeoPixel Digital RGB LED Strip - White 60 LED](https://www.adafruit.com/product/1138)
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! You wanted **twice the LEDs**? We got it (well, its 1.875 times as many but that's within a margin of...

In Stock
[Buy Now](https://www.adafruit.com/product/1138)
[Related Guides to the Product](https://learn.adafruit.com/products/1138/guides)
### Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0

[Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0](https://www.adafruit.com/product/2772)
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores.

This is the&nbsp; **Feather M0 Basic Proto** ,&nbsp;it has a bunch of prototyping space...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2772)
[Related Guides to the Product](https://learn.adafruit.com/products/2772/guides)
### Adafruit NeoPXL8 FeatherWing for Feather M0 - 8 x DMA NeoPixels!

[Adafruit NeoPXL8 FeatherWing for Feather M0 - 8 x DMA NeoPixels!](https://www.adafruit.com/product/3249)
Since we first started carrying NeoPixels back in 2012, the chainable RGB LEDs have taken over the world. And a big part of that success is due to the simplicity of their wiring - just one data wire, no matter how many pixels you've got. So no surprise they're _everywhere_,...

In Stock
[Buy Now](https://www.adafruit.com/product/3249)
[Related Guides to the Product](https://learn.adafruit.com/products/3249/guides)
### Adafruit Feather M4 Express - Featuring ATSAMD51

[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -&nbsp; with...

In Stock
[Buy Now](https://www.adafruit.com/product/3857)
[Related Guides to the Product](https://learn.adafruit.com/products/3857/guides)
### Adafruit NeoPXL8 FeatherWing for Feather M4 - 8 x DMA NeoPixels!

[Adafruit NeoPXL8 FeatherWing for Feather M4 - 8 x DMA NeoPixels!](https://www.adafruit.com/product/4537)
Since we first started carrying NeoPixels back in 2012, the chainable RGB LEDs have taken over the world. And a big part of that success is due to the simplicity of their wiring - just one data wire, no matter how many pixels you've got. So no surprise they're _everywhere_,...

In Stock
[Buy Now](https://www.adafruit.com/product/4537)
[Related Guides to the Product](https://learn.adafruit.com/products/4537/guides)
### 3-pin JST SM Plug + Receptacle Cable Set

[3-pin JST SM Plug + Receptacle Cable Set](https://www.adafruit.com/product/1663)
These 3-wire cables are 163mm (6.4") long and come as a set. One cable has a JST SM type connector plug on the end. The other cable has a matching JST SM type receptacle connector. They are good for whenever you have 3 wires you want to be able to plug and unplug. We like the solid and...

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

## Related Guides

- [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51.md)
- [Introducing Feather RP2040 SCORPIO](https://learn.adafruit.com/introducing-feather-rp2040-scorpio.md)
- [MicroPython Displays: Drawing Text](https://learn.adafruit.com/micropython-displays-drawing-text.md)
- [Party Parrot Zoetrope](https://learn.adafruit.com/party-parrot-zoetrope.md)
- [Spinning Disc Step Sequencer](https://learn.adafruit.com/spinning-disc-step-sequencer.md)
- [Air Quality Sensor 3D Printed Enclosure](https://learn.adafruit.com/air-quality-sensor-silo-house.md)
- [CircuitPython Basics: Digital Inputs & Outputs](https://learn.adafruit.com/circuitpython-digital-inputs-and-outputs.md)
- [NeoPixels on Raspberry Pi](https://learn.adafruit.com/neopixels-on-raspberry-pi.md)
- [Ethernet for CircuitPython with Wiznet5K](https://learn.adafruit.com/ethernet-for-circuitpython.md)
- [Level Shifting 3.3V microcontrollers and NeoPixels](https://learn.adafruit.com/neopixel-levelshifter.md)
- [Make It Talk](https://learn.adafruit.com/make-it-talk.md)
- [Lego Neon NeoPixel Sign with CircuitPython](https://learn.adafruit.com/lego-neon-sign.md)
- [Use circup to easily keep your CircuitPython libraries up to date](https://learn.adafruit.com/keep-your-circuitpython-libraries-on-devices-up-to-date-with-circup.md)
- [OOZE MASTER 3000: NeoPixel Simulated Liquid Physics](https://learn.adafruit.com/ooze-master-3000-neopixel-simulated-liquid-physics.md)
- [Proper Debugging of ATSAMD21 Processors](https://learn.adafruit.com/proper-step-debugging-atsamd21-arduino-zero-m0.md)
- [IoT Air Quality Sensor with Adafruit IO](https://learn.adafruit.com/diy-air-quality-monitor.md)
- [Daily Cheer Automaton](https://learn.adafruit.com/daily-cheer-automaton.md)
