# LED Masquerade Masks with n00ds

## Overview

https://youtu.be/x5L6qioz01Q

Carnival is approaching! In this guide, learn how to add **LED n00ds** to your favorite mask or head piece.&nbsp; n00ds are similar in appearance to EL wire, but don't require bulky or noisy inverters and are a bit simpler to connect. A single 3v n00d runs for hours from a small coin cell battery. They are more flexible than EL wire and come in a variety of lovely colors. Go wild!

This guide will show three different builds:

**Super Simple Inner Glow** : Use a n00d and coin cell battery around the inside of your mask's eye-holes to give your face an otherworldly glow.

**Outlines and Details** : Weave two or three n00ds through the details on your mask to highlight a shape and draw a lot of attention.

**Sequenced Head Piece with Motion Reactivity** : Seven n00ds adorn this glorious headpiece. Learn to sequence or dim the n00ds or have a responsive animation play across them when you tilt your head.&nbsp; This is a more advanced project with a lot of tricky soldering but the possibilities are endless.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/502/medium800/adafruit_products_hero.jpeg?1771530785)

Info: This guide uses the 3v n00ds at 130mm or 300mm length. The longer n00ds require 12v or 24v and aren't as easy to use for wearables since the battery would need to be huge, or there would be a need to add bulky converters.

## Parts
### nOOds - Flexible LED Filament -  3V 130mm long - Warm White

[nOOds - Flexible LED Filament -  3V 130mm long - Warm White](https://www.adafruit.com/product/5504)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

In Stock
[Buy Now](https://www.adafruit.com/product/5504)
[Related Guides to the Product](https://learn.adafruit.com/products/5504/guides)
![Video of a pair of white hands coiling and playing with a 130mm long warm white LED filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5504-03.jpg)

### nOOds - Flexible LED Filament - 3V 300mm long - Red

[nOOds - Flexible LED Filament - 3V 300mm long - Red](https://www.adafruit.com/product/5506)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5506)
[Related Guides to the Product](https://learn.adafruit.com/products/5506/guides)
![Video of a pair of white hands coiling and playing with a 300mm long red LED filament.](https://cdn-shop.adafruit.com/product-videos/640x480/5506-02.jpg)

### 20mm Coin Cell Breakout w/On-Off Switch (CR2032)

[20mm Coin Cell Breakout w/On-Off Switch (CR2032)](https://www.adafruit.com/product/1871)
Simple but effective - this sewable breakout board has a CR2032 coin cell battery holder soldered on, an on/off switch and 0.1" pitch breakout pins for easy connecting. Great for powering very low-current projects, or adding a battery backup circuit to a real-time-clock or similar....

In Stock
[Buy Now](https://www.adafruit.com/product/1871)
[Related Guides to the Product](https://learn.adafruit.com/products/1871/guides)
![Angled shot of a 20mm Coin Cell Breakout Board w/ On-Off Switch.](https://cdn-shop.adafruit.com/640x480/1871-08.jpg)

### Part: CR2032 Batteries
quantity: 3
CR2032 Lithium Coin Cell Battery
[CR2032 Batteries](https://www.adafruit.com/product/654)

### Part: Silicone Stranded Wire
quantity: 2
Silicone Cover Stranded-Core Wire - 2m 30AWG Black
[Silicone Stranded Wire](https://www.adafruit.com/product/2003)

This more advanced Sequenced Antler tutorial is for folks who are ready to take their mask or headpiece to the next level, with lots of n00ds connected to a single lipoly battery. This project will show how to run and sequence the n00ds with CircuitPython code, adding dimming capabilities and sensor reactivity so they pulse and animate, and react to head motions.

### Adafruit RP2040 Prop-Maker Feather with I2S Audio Amplifier

[Adafruit RP2040 Prop-Maker Feather with I2S Audio Amplifier](https://www.adafruit.com/product/5768)
The Adafruit Feather series gives you lots of options for a small, portable, rechargeable microcontroller board. By picking a feather and stacking on a FeatherWing you can create advanced projects quickly. One popular combo is our [Feather M4](https://www.adafruit.com/product/3857)...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5768)
[Related Guides to the Product](https://learn.adafruit.com/products/5768/guides)
![Video of a white hand pressing a button to briefly turn an LED strip into white lights. Also wired up to the microcontroller are a servo motor and a speaker.](https://cdn-shop.adafruit.com/product-videos/640x480/5768-09.jpg)

### Adafruit AW9523 GPIO Expander and LED Driver Breakout

[Adafruit AW9523 GPIO Expander and LED Driver Breakout](https://www.adafruit.com/product/4886)
Expand your project possibilities, with the **Adafruit AW9523 GPIO Expander and LED Driver Breakout** - a cute and powerful I2C expander with a lot of tricks up its sleeve.

GPIO expanders work like this: you have a board with some number of GPIO but not enough for your...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4886)
[Related Guides to the Product](https://learn.adafruit.com/products/4886/guides)
![Video of a Adafruit AW9523 GPIO Expander and LED Driver Breakout connected to a LED changing colors. ](https://cdn-shop.adafruit.com/product-videos/640x480/4886-05.jpg)

### Part: Stemma Cable
quantity: 1
STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long
[Stemma Cable](https://www.adafruit.com/product/4210)

### Part: 2000 mAh Battery
quantity: 1
Lithium Ion Battery - 3.7V 2000mAh
[2000 mAh Battery](https://www.adafruit.com/product/2011)

### Part: On/Off Switch
quantity: 1
Tactile On/Off Switch with Leads
[On/Off Switch](https://www.adafruit.com/product/1092)

### Part: USB C Cable
quantity: 1
USB Type A to Type C Cable - approx 1 meter / 3 ft long
[USB C Cable](https://www.adafruit.com/product/4474)

### Tools and Materials

- Masquerade masks or antlers - Find them online or support your local costume shop
- [26 gauge silicone coated stranded wire](https://www.adafruit.com/products/2517), in a color to match your mask
- Hot glue gun and [RTV Silicone adhesive](https://www.amazon.com/dp/B0DRW8VR59?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_1&th=1)
- [wire strippers](https://www.adafruit.com/product/527)
- [flush snips](https://www.adafruit.com/products/152)
- [soldering iron and tools](https://learn.adafruit.com/adafruit-guide-excellent-soldering)
- zip ties

The simple masks uses 1-2 n00ds and 1-2 battery holders -- one n00d : one holder, two n00ds : two holders.&nbsp;

# LED Masquerade Masks with n00ds

## Wiring Diagram

## Simple Mask Wiring
![](https://cdn-learn.adafruit.com/assets/assets/000/142/457/medium800/adafruit_products_wiring_onenood2_bb.jpg?1771356892)

Wire one 130mm or 300mm 3v n00d to your battery holder as shown. To figure out which is the + and - end of the n00d, press the two sides against your coin cell battery for a moment. If it lights up, you've got it right. If not, flip the battery over and try again.&nbsp;

If you're using two or three n00ds on your mask, you'll need two or three battery holders. It's tempting to try connecting two n00ds to a double coin cell holder but you'll get unreliable behavior and flickering.

One battery, one n00d.

## Sequenced n00ds Wiring
![](https://cdn-learn.adafruit.com/assets/assets/000/142/843/medium800/adafruit_products_sequenced_n00ds_v2_bb.png?1772730287 )

This setup uses the AW9523 GPIO expander board with a Feather microcontroller to run up to 16 n00ds from a single battery. I used the Feather RP2040 PropMaker because I wanted motion sensing, but just about any Adafruit Feather controllers will work.

Plug the Feather RP2040 PropMaker into the AW9523 breakout using your Stemma QT cable.

The n00ds can connect to any of the GPIO pins on the AW9523. The + side goes to the VIN pin and the - side to the numbered pin. The sample code uses pins 0, 1, 2, 3, 9, 10, and 11 but this is easy to change to match your setup.

The battery will plug directly into the JST port on the Feather, and the on/off switch will go inline with the red battery cable.

# LED Masquerade Masks with n00ds

## Connect one n00d

Grab your coin cell battery and press one lead from each end of the n00d to opposite sides of the battery. If it lights up, bingo! The side pressed to the + side of the battery is your + lead. If it doesn't, flip the battery around and see if it lights up when you test it the other way.

Keep track of which end is + and which end is -.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/473/medium640/adafruit_products_00_nood_test.jpeg?1771462195)

Cut a piece of wire long enough to go from your planned battery location to where you want the n00d to lay out. The wires can be trimmed later, so err on the side of "too long." Strip about 1/4" of shielding from the wire.

Place the wire and n00d lead next to each other as shown. Twist the bare wire around the n00d lead a few times so they're solidly connected.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/474/medium640/adafruit_products_01_nood_align.jpeg?1771462313)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/475/medium640/adafruit_products_02_nood_twist.jpeg?1771462348)

Solder the wire and the n00d's lead together and give a tug to make sure you have a solid connection. Pull the wire away from the n00d to get a straight line without bending the n00d's lead -- let all the bend be in the wire. The leads are delicate and you're less likely to break them this way.

Cover the connection with heat shrink.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/142/476/medium640/adafruit_products_03_nood_solder.jpeg?1771462465)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/477/medium640/adafruit_products_04_n00d_pull.jpeg?1771462540)

Solder another wire to the other end of the n00d. Remember that both ends need to be connected to the power source so make sure your wires are long enough to reach all the way back to the battery.

Test again with your coin cell to make sure it's all working.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/479/medium640/adafruit_products_06_n00d_test.jpeg?1771462629)

The n00d will connect to the coin cell breakout as shown: the + lead (red wire) goes to the Sw pin and the - lead goes to the Gnd pin.&nbsp;

However, if you're planning to weave your n00d into your mask, don't solder it to the battery holder just yet. It's much easier to decorate the mask when you've got the ends of the n00d free, and soldering it all together at the end will allow you to trim the wires to exactly the right length.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/480/medium640/adafruit_products_nood_wired.jpg?1771463045)

# LED Masquerade Masks with n00ds

## Connect Lots of n00ds

The AW9523 GPIO Expander and LED Driver makes it possible to connect a whole bunch of n00ds to your project and drive them from one battery source. It has 16 available GPIO pins and will regulate the voltage automatically, so you don't need to do any calculations or solder a whole bunch of resistors.

[More about the AW9523 GPIO Expander](https://learn.adafruit.com/adafruit-aw9523-gpio-expander-and-led-driver/overview)

Plug your Feather RP2040 into the AW9523 using a Stemma QT cable.

The n00ds will be connected to the GPIO pins: the - pad goes into the numbered pin and the + end goes into the corresponding VIN pin on the inner row of the AW9523.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/481/medium640/adafruit_products_lots.jpg?1771464208)

You can connect up to 16 3v n00ds (this won't work with the 12v or 24v), but remember that the more you connect, the larger the battery you'll want to run your project.&nbsp;

The photo shows female headers soldered to the AW9523. I did this for prototyping purposes, but my final build had the wires soldered directly into the pin holes to save space and keep the connections permanent and reliable.

I used a 2000mAh lipoly battery and it runs the 7 n00ds on my project for several hours.

### Order of Operations

1. Decide which GPIO pins you want to use and upload the code to the Feather.
2. Solder extension wires to all your n00ds following the directions on the previous page.
3. Install the n00ds on your headpiece or mask, making sure the extension wires will reach the spot you pick for the controller boards.
4. Connect the extension wires to the AW9523 after the n00ds are all in place and the glue is dry. Remember, the **-** wire goes to the numbered GPIO pin and the&nbsp; **+** wire goes to **VIN**.
5. Connect the Feather to the AW9523 using the Stemma QT cable and power it all up.

It feels a little backwards to do it this way, but it will minimize wire trimming and re-soldering if you have the n00ds solidly in place before hooking them up to the controllers.

&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/142/482/medium800/adafruit_products_antlers.jpg?1771464628)

# LED Masquerade Masks with n00ds

## CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython running on your board.

[Download the latest version of CircuitPython for this board via circuitpython.org](https://circuitpython.org/board/adafruit_feather_rp2040_prop_maker/)
 **Click the link above to download the latest CircuitPython UF2 file.**

Save it wherever is convenient for you.

![install_circuitpython_on_rp2040_RP2040_UF2_downloaded.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/655/medium640/install_circuitpython_on_rp2040_RP2040_UF2_downloaded.jpg?1618943202)

![](https://cdn-learn.adafruit.com/assets/assets/000/121/865/medium800/adafruit_products_boot_reset.jpg?1686710555)

To enter the bootloader, hold down the **BOOT/**** BOOTSEL button**(highlighted in red above), and while continuing to hold it (don't let go!), press and release the**reset button**(highlighted in red or blue above).&nbsp;**Continue to hold the BOOT/BOOTSEL button until the RPI-RP2 drive appears!**

If the drive does not appear, release all the buttons, and then repeat the process above.

You can also start with your board unplugged from USB, press and hold the BOOTSEL button (highlighted in red above), continue to hold it while plugging it into USB, and wait for the drive to appear before releasing the button.

A lot of people end up using charge-only USB cables and it is very frustrating! **Make sure you have a USB cable you know is good for data sync.**

You will see a new disk drive appear called **RPI-RP2**.

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **RPI-RP2.**

![install_circuitpython_on_rp2040_RP2040_bootloader_drive.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/656/medium640/install_circuitpython_on_rp2040_RP2040_bootloader_drive.jpg?1618943666)

![install_circuitpython_on_rp2040_RP2040_drag_UF2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/657/medium640/install_circuitpython_on_rp2040_RP2040_drag_UF2.jpg?1618943674)

The **RPI-RP2** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it, you're done! :)

![install_circuitpython_on_rp2040_RP2040_CIRCUITPY.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/658/medium640/install_circuitpython_on_rp2040_RP2040_CIRCUITPY.jpg?1618943864)

## Safe Mode

You want to edit your **code.py** or modify the files on your **CIRCUITPY** drive, but find that you can't. Perhaps your board has gotten into a state where **CIRCUITPY** is read-only. You may have turned off the **CIRCUITPY** drive altogether. Whatever the reason, safe mode can help.

Safe mode in CircuitPython does not run any user code on startup, and disables auto-reload. This means a few things. First, safe mode _bypasses any code in_ **boot.py** (where you can set **CIRCUITPY** read-only or turn it off completely). Second, _it does not run the code in_ **code.py**. And finally, _it does not automatically soft-reload when data is written to the_ **CIRCUITPY** _drive_.

Therefore, whatever you may have done to put your board in a non-interactive state, safe mode gives you the opportunity to correct it without losing all of the data on the **CIRCUITPY** drive.

### Entering Safe Mode
To enter safe mode when using CircuitPython, plug in your board or hit reset (highlighted in red above). Immediately after the board starts up or resets, it waits 1000ms. On some boards, the onboard status LED (highlighted in green above) will blink yellow during that time. If you press reset during that 1000ms, the board will start up in safe mode. It can be difficult to react to the yellow LED, so you may want to think of it simply as a slow double click of the reset button. (Remember, a fast double click of reset enters the bootloader.)

### In Safe Mode

If you successfully enter safe mode on CircuitPython, the LED will intermittently blink yellow three times.

If you connect to the serial console, you'll find the following message.

```terminal
Auto-reload is off.
Running in safe mode! Not running saved code.

CircuitPython is in safe mode because you pressed the reset button during boot. Press again to exit safe mode.

Press any key to enter the REPL. Use CTRL-D to reload.
```

You can now edit the contents of the **CIRCUITPY** drive. Remember, _your code will not run until you press the reset button, or unplug and plug in your board, to get out of safe mode._

## Flash Resetting UF2

If your board ever gets into a really _weird_ state and CIRCUITPY doesn't show up as a disk drive after installing CircuitPython, try loading this 'nuke' UF2 to RPI-RP2. which will do a 'deep clean' on your Flash Memory. **You will lose all the files on the board** , but at least you'll be able to revive it! After loading this UF2, follow the steps above to re-install CircuitPython.

[Download flash erasing "nuke" UF2](https://cdn-learn.adafruit.com/assets/assets/000/101/659/original/flash_nuke.uf2?1618945856)
# LED Masquerade Masks with n00ds

## Code

Once you've finished setting up your RP2040 Prop-Maker Feather with CircuitPython, you can access the code and necessary libraries by downloading the Project Bundle.

To do this, click on the **Download Project Bundle** button in the window below. It will download as a zipped folder.

![led_strips_cp-code-close.jpg](https://cdn-learn.adafruit.com/assets/assets/000/123/360/medium640/led_strips_cp-code-close.jpg?1691498927)

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

## Upload the Code and Libraries to the RP2040 Prop-Maker Feather

After downloading the Project Bundle, plug your RP2040 Prop-Maker Feather into the computer's USB port with a known good USB data+power cable. You should see a new flash drive appear in the computer's File Explorer or Finder (depending on your operating system) called **CIRCUITPY**. Unzip the folder and copy the following items to the RP2040 Prop-Maker Feather's **CIRCUITPY** drive.

- **lib** folder
- **sounds** folder
- **code.py**

Your RP2040 Prop-Maker Feather **CIRCUITPY** drive should look like this after copying the **lib** folder, **sounds** folder and the **code.py** file.

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

## How the CircuitPython Code Works

The AW9523 drives each n00d as a constant-current LED channel (so brightness is just a 0–255 value), and the LIS3DH accelerometer watches one axis for a sustained tilt. While you’re waiting for a gesture, the antlers do a gentle breathing pulse; when a tilt is detected, the code runs a “down and back” sweep animation across the n00ds.

Start by customizing the **pin mapping** so the code matches your wiring. In the `PIN MAPPING` section you’ll see `OUTER`, `MIDDLE`, `INNER`, and `SYMBOL_PIN`. These lists are simply the AW9523 channel numbers you soldered your n00ds to. If your build uses a different number of n00ds or a different arrangement, you can rename or remove these groups — the important part is that `ANTLERS` contains every channel you want to animate as antlers, and `SYMBOL_PIN` points to the center piece (or you can delete the symbol entirely if you’re not using one). Then update the sweep path: `SWEEP_L2R` is the “physical map” of your antlers from leftmost to rightmost. Put your channels in that order, and the code will automatically create the return path (back toward the start) without blinking the end n00d twice.

```auto
# ============================================================
# PIN MAPPING (AW9523 pins your n00ds are connected to)
# ============================================================

# Antler groups (by your physical layout)
OUTER = [0, 1]
MIDDLE = [2, 11]
INNER = [3, 10]
ANTLERS = INNER + MIDDLE + OUTER

# Center symbol (rose)
SYMBOL_PIN = 9
SYMBOL = [SYMBOL_PIN]

# List of every AW9523 channel we touch
USED = ANTLERS + SYMBOL

# Sweep order across the antlers (left -&gt; right).
SWEEP_L2R = [1, 2, 3, 10, 11, 0]
SWEEP_R2L = list(reversed(SWEEP_L2R))
```

Next, tune the **look and feel** using the variables in `USER SETTINGS`. For the idle breathing glow, adjust `IDLE_LOW` and `IDLE_HIGH` (the brightness range), and tweak `IDLE_STEP` and `IDLE_DELAY` (how fast it breathes). For the sweep animation, `DIM` controls the baseline brightness during the sweep (the level it returns to after each blink), while `BLINK_OFF_TIME` controls how long each n00d goes dark and `BLINK_GAP_TIME` controls the spacing between steps. If you want the animation to trigger less often (great for a tutorial demo), increase `MIN_SECONDS_BETWEEN_TRIGGERS`. If you want it to feel more responsive, decrease it.

```auto
# ============================================================
# USER SETTINGS (edit these first)
# ============================================================

# --- Brightness (0-255) ---
OFF = 0
DIM = int(255 * 0.60)   # Base level used during the sweep (returns to after each blink)
ROSE = 255              # Rose stays on continuously once it fades in

# --- Rose fade-in ---
ROSE_FADE_S = 0.90
FADE_STEPS = 80         # Higher = smoother fade (slightly more CPU time)

# --- Sweep timing ---
BLINK_OFF_TIME = 0.18   # How long each n00d goes dark (OFF) during the sweep
BLINK_GAP_TIME = 0.04   # How long to wait after returning to DIM before moving to the next n00d

# --- Idle "breathing" pulse ---
IDLE_LOW = int(255 * 0.40)
IDLE_HIGH = 255
IDLE_STEP = 3           # Smaller = smoother/slower pulse; larger = faster pulse
IDLE_DELAY = 0.015      # Larger = slower pulse; smaller = faster pulse

# --- Cooldown between triggers ---
MIN_SECONDS_BETWEEN_TRIGGERS = 3.0
```

Finally, make the gesture detection match how your board is mounted. The most common change is `TILT_AXIS`. If tilting your head doesn’t trigger reliably, set&nbsp;`DEBUG_PRINT = True`, open the Serial Monitor, and try `TILT_AXIS = "x"`, then `"y"`, then `"z"` while watching which axis value changes the most when you tilt. Once you’ve picked the correct axis, set `TILT_RIGHT_THRESHOLD` and `TILT_LEFT_THRESHOLD` so a deliberate tilt crosses the threshold, but normal movement doesn’t. If it’s too sensitive, increase `CONFIRM_SAMPLES` so the tilt must be held for a moment before it triggers. And if the sweep direction is backwards because your board is flipped, swap which sweep runs in the `MAIN LOOP` (the code already includes a note about this and intentionally maps `"left"` to `SWEEP_L2R` in your current version).

```auto
# --- Tilt detection ---
TILT_AXIS = "x"              # Change to "y" or "z" depending on how the board is mounted
TILT_RIGHT_THRESHOLD = +6.0  # Tilt direction "right" if axis value &gt;= this threshold
TILT_LEFT_THRESHOLD = -6.0   # Tilt direction "left"  if axis value &lt;= this threshold
CONFIRM_SAMPLES = 4          # Require sustained tilt for this many samples

# --- Debug printing (Serial Monitor) ---
DEBUG_PRINT = True
PRINT_EVERY_N_SAMPLES = 2
```

# LED Masquerade Masks with n00ds

## Assembly - One n00d

There are lots of ways ot attach the n00ds to your mask. You can sew them on using clear fishing line -- the clear thread will disappear when the light shines through. Or if you prefer gluing, use silicone RTV adhesive to secure the n00d. These n00ds are coated in silicone so very few glues will stick to them. Hot glue can work for a while, but most craft glues simply won't grab hold.&nbsp;

I found the silicone glue worked really well, and I also found that weaving the n00d through the metal details on one of my masks worked great too, and allowed me to outline a shape on the mask without having to mess around with sticky glue.

## Inner Glow
Outline the eye holes on the inside of the mask to create an otherworldly glow that makes your eyes into magical portals of wonder.

Use hot glue to secure the battery holder to the mask someplace where it won't rub against your face. I added more hot glue above the wire connections just so my sweat won't short out the solder points.

![el_wire_tape_panel_mask_back.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/117/389/medium640/el_wire_tape_panel_mask_back.jpeg?1673213310)

![el_wire_tape_panel_mask_front.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/117/390/medium640/el_wire_tape_panel_mask_front.jpeg?1673213415)

![](https://cdn-learn.adafruit.com/assets/assets/000/117/478/medium800/el_wire_tape_panel_erin_mask2.jpeg?1673303337)

Weaving the n00d through the mask details can work great too, but it can be a little tricky to get a smooth line. You'll also need to run BOTH ends of the n00d back to the battery pack, so be sure to use a wire color that matches your mask.

Use one battery holder for each n00d for the best performance.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/483/medium640/adafruit_products_outsidemask.jpg?1771465703)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/484/medium640/adafruit_products_2batts.jpg?1771465723)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/485/medium800/adafruit_products_mask2.jpg?1771465857)

# LED Masquerade Masks with n00ds

## Assembly - Lots of n00ds

Solder a + and - wire to each n00d. Make them longer than you think you need. It's easy to trim the wires later but tricky and time consuming to extend them.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/493/medium640/adafruit_products_07_n00ds_all.jpeg?1771525662)

Figure out your placement and secure the n00ds in place. They're silicone coated, so most glues won't stick but clear RTV silicone sealant works great. It's a little goopy but dries fully clear, and as a bonus, adds some waterproofing too.&nbsp;

I glued the n00ds in place and used zip ties to hold them while the glue dried. It cures to a touchable rubber in about an hour.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/494/medium640/adafruit_products_silicone2.jpeg?1771525921)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/495/medium640/adafruit_products_zipties.jpeg?1771526053)

Once all the n00ds are in place, manage all the wires. Make sure the wires from both ends of the n00ds all reach back to the spot you're planning to put the controller boards. If any wires look like they might be too short, extend them now.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/496/medium640/adafruit_products_antlers_glueup.jpeg?1771526433)

While the glue is drying, add an on/off switch to your battery by cutting the red battery cable and soldering the battery leads to the two halves of the red wire.&nbsp;

Use a zip tie or rubber band around the battery so the wires don't detach from the connection points. These points are delicate and these battery wires pull out easily -- this will save you a lot of heartache.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/497/medium640/adafruit_products_battery.jpeg?1771526416)

I used all black wires, which made my life a little difficult at this point -- which wire is which? I figured it out using the coin-cell-battery test trick. Solder the - leads to the numbered GPIO pins, and the + leads to the VIN pins on the AW9523. Take your time and keep track of which n00d is on which pin.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/498/medium640/adafruit_products_antlers_build_%282%29.jpeg?1771526709)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/499/medium640/adafruit_products_antlers_buildtest.jpeg?1771526730)

Once the AW9523 is connected to all the n00ds, plug the Feather in using a Stemma QT cable. Plug in your battery and give it a test. If you're using the example code, all the n00ds should come on and pulse slowly. Tilt to the left or right, and the n00ds will animate in sequence.

The way you orient the Feather will determine how well this works. Mine is sitting on top of my head, more-or-less level, with the USB port facing forward. This simple orientation makes the tilt pretty easy to read. If yours just isn't going to work out that way, you can update the code to use the orientation your board requires.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/500/medium640/adafruit_products_antlers_layout.jpeg?1771526760)

Glue the boards in place with hot glue or RTV silicone.&nbsp;

Keep the battery connector accessible and the battery removable if you want to be able to swap out batteries -- like if you plan to dance in your creation all night long without taking an hour to go recharge. However, it's also an option to bury the battery in the project if the USB port on the Feather is accessible.

This Feather has onboard battery charging capabilities, so you can recharge the battery without removing it from the build, if that works better for your design. Just make sure your battery is switched "on" during the recharge cycle -- the physical switch between the battery and Feather means it can't be charged when it's turned off.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/501/medium800/adafruit_products_antlers.jpg?1771526951)

## Troubleshooting

If the n00ds don't turn on at all:&nbsp;

1. Try unplugging and re-seating the stemma cable.
2. Make sure your battery is charged and switched on.
3. Try powering through a USB cable plugged into the Feather -- if they work this way, the issue is with your battery
4. Make sure you can see code.py and the /lib files on the CIRCUITPY drive when you plug the Feather into your computer
5. Make sure the pin definitions are right: the sample code uses 0, 1, 2, 3, 9, 10, 11 -- if you soldered to different pins, fix it in the code.

If some of the n00ds light up but not all, or the sequence is wrong:

1. Check the pin definitions in the code and look closely to make sure you soldered to the pins you thought you did
2. Make sure both ends of the n00d are connected: - to GPIO, and + to VIN. Wiggle the wires and make sure no stray wires are shorting across pins
3. If the sequence is wrong, it's easy to fix in the code - check the previous page for instructions

If the n00ds light up but the motion sensing doesn't work as expected:

1. Try orienting the Feather so it's facing up and the USB port is facing forward -- even just momentarily -- and test again
2. Go into the code and change the tilt axis or the sensitivity until it triggers happily with your preferred motion


## Featured Products

### nOOds - Flexible LED Filament -  3V 130mm long - Warm White

[nOOds - Flexible LED Filament -  3V 130mm long - Warm White](https://www.adafruit.com/product/5504)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they&nbsp;_are&nbsp;_good for...

In Stock
[Buy Now](https://www.adafruit.com/product/5504)
[Related Guides to the Product](https://learn.adafruit.com/products/5504/guides)
### nOOds - Flexible LED Filament - 3V 300mm long - Red

[nOOds - Flexible LED Filament - 3V 300mm long - Red](https://www.adafruit.com/product/5506)
Our favorite food when hacking on code or electronics is a hot bowl of noodles - and around NYC these are often called 'noods'! What we've got here are flexible LED noodles, in different lengths and colors. All are not good for eatin' but they are&nbsp;good for cool lighting...

In Stock
[Buy Now](https://www.adafruit.com/product/5506)
[Related Guides to the Product](https://learn.adafruit.com/products/5506/guides)
### 20mm Coin Cell Breakout w/On-Off Switch (CR2032)

[20mm Coin Cell Breakout w/On-Off Switch (CR2032)](https://www.adafruit.com/product/1871)
Simple but effective - this sewable breakout board has a CR2032 coin cell battery holder soldered on, an on/off switch and 0.1" pitch breakout pins for easy connecting. Great for powering very low-current projects, or adding a battery backup circuit to a real-time-clock or similar....

In Stock
[Buy Now](https://www.adafruit.com/product/1871)
[Related Guides to the Product](https://learn.adafruit.com/products/1871/guides)
### CR2032 Lithium Coin Cell Battery

[CR2032 Lithium Coin Cell Battery](https://www.adafruit.com/product/654)
A perfect match for our [sew-able coin cell holder](http://www.adafruit.com/products/653). This non-rechargeable coin cell is CR2032 sized: 20mm diameter, 3.2mm thick. It has a nominal voltage output of 3V (although it starts a little high at 3.2V and slowly drifts down to 2.5V as...

In Stock
[Buy Now](https://www.adafruit.com/product/654)
[Related Guides to the Product](https://learn.adafruit.com/products/654/guides)
### Silicone Cover Stranded-Core Wire - 2m 30AWG Black

[Silicone Cover Stranded-Core Wire - 2m 30AWG Black](https://www.adafruit.com/product/2003)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

In Stock
[Buy Now](https://www.adafruit.com/product/2003)
[Related Guides to the Product](https://learn.adafruit.com/products/2003/guides)
### Adafruit RP2040 Prop-Maker Feather with I2S Audio Amplifier

[Adafruit RP2040 Prop-Maker Feather with I2S Audio Amplifier](https://www.adafruit.com/product/5768)
The Adafruit Feather series gives you lots of options for a small, portable, rechargeable microcontroller board. By picking a feather and stacking on a FeatherWing you can create advanced projects quickly. One popular combo is our [Feather M4](https://www.adafruit.com/product/3857)...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5768)
[Related Guides to the Product](https://learn.adafruit.com/products/5768/guides)
### Adafruit AW9523 GPIO Expander and LED Driver Breakout

[Adafruit AW9523 GPIO Expander and LED Driver Breakout](https://www.adafruit.com/product/4886)
Expand your project possibilities, with the **Adafruit AW9523 GPIO Expander and LED Driver Breakout** - a cute and powerful I2C expander with a lot of tricks up its sleeve.

GPIO expanders work like this: you have a board with some number of GPIO but not enough for your...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4886)
[Related Guides to the Product](https://learn.adafruit.com/products/4886/guides)
### STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long

[STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long](https://www.adafruit.com/product/4210)
This 4-wire cable is a little over 100mm / 4" long and fitted with JST-SH female 4-pin connectors on both ends. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

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

## Related Guides

- [Adafruit AW9523 GPIO Expander and LED Driver](https://learn.adafruit.com/adafruit-aw9523-gpio-expander-and-led-driver.md)
- [Adafruit nOOds Überguide](https://learn.adafruit.com/noods-uberguide.md)
- [Adafruit RP2040 Prop-Maker Feather](https://learn.adafruit.com/adafruit-rp2040-prop-maker-feather.md)
- [Guitar Synth with CircuitPython SynthIO](https://learn.adafruit.com/guitar-synth-with-circuitpython-synthio.md)
- [MIT Green Building NeoPixel Tetris](https://learn.adafruit.com/tetris-building.md)
- [Light Up your Costume with Noods](https://learn.adafruit.com/light-up-your-costume-with-noods.md)
- [Bricktunes: LEGO Synthesizer Glove](https://learn.adafruit.com/bricktunes-lego-glove-synthesizer.md)
- [Color Sensing Music Player](https://learn.adafruit.com/color-sensing-music-player.md)
- [Raspberry Pi Pico and LED Arcade Button MIDI Controller](https://learn.adafruit.com/raspberry-pi-pico-led-arcade-button-midi-controller-fighter.md)
- [PropMaker Jack O'Lantern](https://learn.adafruit.com/propmaker-jack-o-lantern.md)
- [Dune Worm Thumper](https://learn.adafruit.com/dune-worm-thumper.md)
- [Tombstone Prop-Maker RP2040](https://learn.adafruit.com/tombstone-prop-maker-rp2040.md)
- [Battery Powering Wearable Electronics](https://learn.adafruit.com/battery-powering-wearable-electronics.md)
- [LEGO Set Lighting](https://learn.adafruit.com/lego-set-lighting.md)
- [Stomp-Reactive Light Up Slippers](https://learn.adafruit.com/stomp-reactive-light-up-slippers.md)
- [Adafruit OV5640 Camera Breakouts](https://learn.adafruit.com/adafruit-ov5640-camera-breakout.md)
