# Watchmen's Sister Night NeoPixel Goggles

## Overview

https://youtu.be/CsJ973Ls1KQ

## Sister Night NeoPixel Goggles

In this project, we're building NeoPixel goggles inspired by HBO's television series Watchmen. Control the NeoPixel LED animations with a rotary encoder. Display up to four different modes with control like speed, colors and brightness of the NeoPixels. The 3D printed parts fit over costume goggles and snap fit together!

![leds_Sister-Night-Cosplay_tall.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/703/medium640/leds_Sister-Night-Cosplay_tall.jpg?1576100122)

## CircuitPython Code

The code was written in Circuit Python so it makes customizing much easier. This project uses the Trinket Adafruit M0 which is one of the tiniest boards supported in CircuitPython. This makes projects easier to maintain because it works like a USB drive so all of your code and libraries are easily accessible.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/708/medium800thumb/leds_hero-close.jpg?1576100774)

## Wearable Cosplay Goggles

You can actually see through them so they’re safe to wear. The 3D printed covers actually keep the light away from your eyes. An elastic headband makes it much more comfortable to wear and can be adjusted so they’ll stay nice and tight.

## Adafruit Parts
The following the parts are used to build this project.&nbsp;

- [Adafruit Trinket M0](https://www.adafruit.com/product/3500)
- [400mAh Battery](https://www.adafruit.com/product/3898)
- [Lipo Backpack](https://www.adafruit.com/product/2124)
- [16x NeoPixel Ring](https://www.adafruit.com/product/1463)
- [Rotary Encoder](https://www.adafruit.com/product/377)
- [Slide Switch](https://www.adafruit.com/product/805)
- [Costume Goggles](https://www.adafruit.com/product/1577)
- [Heat Shrink Tubing](https://www.adafruit.com/product/1649)

![3d_printing_parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/541/medium640/3d_printing_parts.jpg?1575733995)

Featured
### Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE

[Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE](https://www.adafruit.com/product/3500)
The&nbsp;Adafruit Trinket M0 may be small, but do not be fooled by its size! It's a tiny microcontroller board, built around the Atmel ATSAMD21, a little chip with _a lot_ of power. We wanted to design a microcontroller board that was small enough to fit into any project, and low...

In Stock
[Buy Now](https://www.adafruit.com/product/3500)
[Related Guides to the Product](https://learn.adafruit.com/products/3500/guides)
![Manicured hand holding Trinket M0.](https://cdn-shop.adafruit.com/640x480/3500-04.jpg)

Featured
### Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy

[Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy](https://www.adafruit.com/product/2124)
If you have an ItsyBitsy or Pro Trinket you probably know it's the perfect little size for a portable project. This LiPoly backpack makes it really easy to do! Instead of wiring 2 or 3 boards together to make a charging system, this little PCB sits on top of the PCB and allows a...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2124)
[Related Guides to the Product](https://learn.adafruit.com/products/2124/guides)
![Angled Shot of the Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy.](https://cdn-shop.adafruit.com/640x480/2124-09.jpg)

Featured
### NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1463)
Round and round and round they go! 16 ultra bright smart LED NeoPixels are arranged in a circle with 1.75" (44.5mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1463)
[Related Guides to the Product](https://learn.adafruit.com/products/1463/guides)
![Hand holding NeoPixel Ring with 16 x 5050 RGB LED, lit up rainbow](https://cdn-shop.adafruit.com/640x480/1463-00.jpg)

Featured
### Costume Goggles

[Costume Goggles](https://www.adafruit.com/product/1577)
We've got some awesome LED goggle tutorials, and now you want to make your own, right? [So pick up a pair of NeoPixel rings](http://www.adafruit.com/products/1463) and these costuming goggles and get to it!

**These goggles look a bit like aviator/welding goggle designs...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/1577)
[Related Guides to the Product](https://learn.adafruit.com/products/1577/guides)
![Angled shot of Costume Goggles. ](https://cdn-shop.adafruit.com/640x480/1577-00.jpg)

### Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE

[Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE](https://www.adafruit.com/product/3500)
The&nbsp;Adafruit Trinket M0 may be small, but do not be fooled by its size! It's a tiny microcontroller board, built around the Atmel ATSAMD21, a little chip with _a lot_ of power. We wanted to design a microcontroller board that was small enough to fit into any project, and low...

In Stock
[Buy Now](https://www.adafruit.com/product/3500)
[Related Guides to the Product](https://learn.adafruit.com/products/3500/guides)
![Manicured hand holding Trinket M0.](https://cdn-shop.adafruit.com/640x480/3500-04.jpg)

### Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh

[Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh](https://www.adafruit.com/product/3898)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of **400mAh** for a total of about 1.9 Wh. If you need a larger (or smaller!)...

In Stock
[Buy Now](https://www.adafruit.com/product/3898)
[Related Guides to the Product](https://learn.adafruit.com/products/3898/guides)
![Slim Lithium Ion Polymer Battery 3.7v 400mAh with JST 2-PH connector and short cable](https://cdn-shop.adafruit.com/640x480/3898-05.jpg)

### Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy

[Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy](https://www.adafruit.com/product/2124)
If you have an ItsyBitsy or Pro Trinket you probably know it's the perfect little size for a portable project. This LiPoly backpack makes it really easy to do! Instead of wiring 2 or 3 boards together to make a charging system, this little PCB sits on top of the PCB and allows a...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2124)
[Related Guides to the Product](https://learn.adafruit.com/products/2124/guides)
![Angled Shot of the Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy.](https://cdn-shop.adafruit.com/640x480/2124-09.jpg)

### NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers

quantity: 2
[NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1463)
Round and round and round they go! 16 ultra bright smart LED NeoPixels are arranged in a circle with 1.75" (44.5mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1463)
[Related Guides to the Product](https://learn.adafruit.com/products/1463/guides)
![Hand holding NeoPixel Ring with 16 x 5050 RGB LED, lit up rainbow](https://cdn-shop.adafruit.com/640x480/1463-00.jpg)

### Rotary Encoder + Extras

[Rotary Encoder + Extras](https://www.adafruit.com/product/377)
This rotary encoder is the best of the best, it's a high-quality 24-pulse encoder, with detents and a nice feel. It is panel mountable for placement in a box, or you can plug it into a breadboard (just cut/bend the two mechanical side tabs.) We also include a nice soft-touch knob with an...

In Stock
[Buy Now](https://www.adafruit.com/product/377)
[Related Guides to the Product](https://learn.adafruit.com/products/377/guides)
![Rotary Encoder with rubbery knob](https://cdn-shop.adafruit.com/640x480/377-02.jpg)

### Breadboard-friendly SPDT Slide Switch

[Breadboard-friendly SPDT Slide Switch](https://www.adafruit.com/product/805)
These nice switches are perfect for use with breadboard and perfboard projects. They have 0.1" spacing and snap in nicely into a solderless breadboard. They're easy to switch no matter what size fingers you have, but not so easy that they'll get flipped by accident. Work great as...

In Stock
[Buy Now](https://www.adafruit.com/product/805)
[Related Guides to the Product](https://learn.adafruit.com/products/805/guides)
![Small, black, SPDT slide switch.](https://cdn-shop.adafruit.com/640x480/805-03.jpg)

### Costume Goggles

[Costume Goggles](https://www.adafruit.com/product/1577)
We've got some awesome LED goggle tutorials, and now you want to make your own, right? [So pick up a pair of NeoPixel rings](http://www.adafruit.com/products/1463) and these costuming goggles and get to it!

**These goggles look a bit like aviator/welding goggle designs...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/1577)
[Related Guides to the Product](https://learn.adafruit.com/products/1577/guides)
![Angled shot of Costume Goggles. ](https://cdn-shop.adafruit.com/640x480/1577-00.jpg)

### Silicone Cover Stranded-Core Ribbon Cable - 10 Wire 1 Meter Long

[Silicone Cover Stranded-Core Ribbon Cable - 10 Wire 1 Meter Long](https://www.adafruit.com/product/3890)
For those who are fans of our silicone-covered wires, but are always looking to _up their wiring game_. We now have **Silicone Cover Ribbon cables!** These may look _a lot_ like <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3890)
[Related Guides to the Product](https://learn.adafruit.com/products/3890/guides)
![10 wire Silicone Cover Stranded-Core Ribbon Cable](https://cdn-shop.adafruit.com/640x480/3890-01.jpg)

### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
![USB cable - USB A to Micro-B - 3 foot long](https://cdn-shop.adafruit.com/640x480/592-01.jpg)

### Multi-Colored Heat Shrink Pack - 3/32" + 1/8" + 3/16" Diameters

[Multi-Colored Heat Shrink Pack - 3/32" + 1/8" + 3/16" Diameters](https://www.adafruit.com/product/1649)
Heat shrink is the duct tape of electronics which I guess makes this heat shrink the colorful and exciting duct tape they sell&nbsp;at craft stores. &nbsp;This heat shrink comes in six different colors - red, blue, green, yellow, white and the traditional black.

Each pack contains ten...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1649)
[Related Guides to the Product](https://learn.adafruit.com/products/1649/guides)
![Array of many colorful heatshrink tubes.](https://cdn-shop.adafruit.com/640x480/1649-00.jpg)

![](https://cdn-learn.adafruit.com/assets/assets/000/085/705/medium800/leds_watchfruit.jpg?1576100548)

![](https://cdn-learn.adafruit.com/assets/assets/000/085/704/medium800/leds_Sister-Night-Cosplay_tall.jpg?1576100506)

# Watchmen's Sister Night NeoPixel Goggles

## Circuit Diagram

The diagram below provides a visual reference for wiring of the components. This diagrams was created using the software package [Fritzing](http://fritzing.org/download/).

## Adafruit Library for Fritzing

Use Adafruit's Fritzing parts library to create circuit diagrams for your projects. Download the library or just grab individual parts. Get the library and parts from [GitHub - Adafruit Fritzing Parts](https://github.com/adafruit/Fritzing-Library/tree/master/parts).

![](https://cdn-learn.adafruit.com/assets/assets/000/085/585/medium800/3d_printing_circuit-diagram.jpg?1575830173)

## Power

The Trinket M0 is powered by 400mAh battery via the Lipo Backpack. This allows the USB port from the Trinket M0 to charge the 400mAh battery. A slide switch is connected to the two switch pin on the Lipo Back.&nbsp;

- **BAT** from **Lipo Backpack** to **BAT** on **Trinket M0**
- **Ground** from **Lipo Backpack** to **GND** on **Trinket M0**
- **5V** from **Lipo Backpack** to **USB** on **Trinket M0**

## Rotary Encoder

A rotary encoder is wired to the Trinket M0. This requires five wired connections. The rotary encoder also features a built-in button switch. Follow the circuit diagram above for the connecting the correct pins to Trinket M0.

## NeoPixel Rings

The two 16x NeoPixel rings are daisy chained with three wired connections, data, voltage and ground. The first ring is connected to the Trinket M0.

- **V+** from **NeoPixel Ring** to **BAT** on **Trinket M0**
- **G** from **NeoPixel Ring** to **G** on **Trinket M0**
- **IN** from **NeoPixel Ring** to **Pin #0** on **Trinket M0**

# Watchmen's Sister Night NeoPixel Goggles

## Code

![](https://cdn-learn.adafruit.com/assets/assets/000/085/542/medium800/3d_printing_code-banner.jpg?1575744334)

## Setup Trinket M0 with CircuitPython

We'll need to get our board setup so we can run the CircuitPython code. Let's walk through these steps to get the latest version of CircuitPython onto your board.&nbsp;

## The Mu Python Editor

Mu is a simple Python editor that works with Adafruit CircuitPython hardware. It's written in Python and works on Windows, MacOS, Linux and Raspberry Pi. The serial console is built right in so you get immediate feedback from your board's serial output! While you can use any text editor with your code, Mu makes it super simple.

[Installing and Using the Mu Editor](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor)
## Installing or upgrading CircuitPython

You should ensure you have CircuitPython 5.0 or 8 on your board. Plug your board in with a known good data + power cable (not the cheesy USB cable that comes with USB power packs, they are power only). You should see a new flash drive pop up.

If the drive is **CIRCUITPY** , then open the **boot\_out.txt** file to ensure the version number is 5.0 or 8.&nbsp;

```python
Adafruit CircuitPython 5.0.0-alpha.5 on 2019-11-04; Adafruit Trinket M0 with samd21e18
```

If the version is less than 5 -or- you only get a drive named **TRINKETBOOT** then follow the [Trinket M0 guide](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/overview) on [installing CircuitPython](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/circuitpython).

## Download the Adafruit CircuitPython Library Bundle

In order to run the code, we'll need to download a few libraries. Libraries contain code to help interface with hardware a lot easier for us.

Use the [Trinket M0 page on Installing Libraries](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/circuitpython-libraries) to get the library that matches the major version of CircuitPython you are using noted above.

To run the code for this project, we need the two libraries in the Required Libraries list below. Unzip the library bundle and search for the libraries. Drag and drop the files into a folder named **lib** on the **CIRCUITPY** drive (create the folder if it is not already on the Trinkey M0).

## Required Libraries&nbsp;

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

Once we have all the files we need, a directory listing will look similar to below as far as files and directories.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/540/medium800/3d_printing_circuitpy-drive.jpg?1575733200)

## Upload Code

This project offers two different **code.py** sketches. Both programs can be used with either display.&nbsp;

Click on the download link below to grab the main code directly from GitHub. Rename the file to **code.py** &nbsp;and drop it onto the **CIRCUITPY** main (root) directory. The code will run properly when all of the files have been uploaded including libraries.

Use any text editor or favorite IDE to modify the code. We suggest using Mu as noted above.

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

## Double Check

See the directory listing above and double check that you have all the files listed to make this project function. If any are missing or in an incorrect directory, move them so they're in the right places.

# Watchmen's Sister Night NeoPixel Goggles

## 3D Printing

![](https://cdn-learn.adafruit.com/assets/assets/000/085/502/medium800/3d_printing_3d-parts.jpg?1575653132)

The parts for this project are designed to be 3D printed with FDM based machines. STL files are oriented to print "as is". Parts require tight tolerances that might need adjustment of slice settings. Reference the suggested settings below.

## CAD Files

The parts can further be separated into small pieces for fitting on printers with smaller build volumes. Note: a STEP file is included for other 3D surface modeling programs such as Onshape, Solidworks and Rhino.

[Download STLs from Thingiverse](https://www.thingiverse.com/thing:4043309)
[Download CAD source](https://cdn-learn.adafruit.com/assets/assets/000/129/973/original/Watchmen_Goggles_CAD_source.zip?1715606099)
## Custom Supports Plugin for CURA

We suggest installing the custom supports plugin for CURA. This provides a tool for adding custom supports to models. To install the plugin, click on the **Marketplace** button, top right of the app window. Search for "custom supports" and download the plugin. Make sure to have the [latest version](https://ultimaker.com/software/ultimaker-cura) of CURA installed.

![3d_printing_cura-supports-update.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/537/medium640/3d_printing_cura-supports-update.jpg?1575730175)

## TPU Flexible Parts

The goggle case and cover are designed to be printed in TPU filament. The **goggle-case.stl** part requires support material to print properly. The included **.3mf** file contains pre-configured slice settings for CURA slicing software. Support material is included and does not need to be added with the **.3mf** project file.

![3d_printing_case-supports.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/538/medium640/3d_printing_case-supports.jpg?1575730374)

## Rotary Case

The **rotary-case-left.stl** and **rotary-case-right.stl** parts requires support material as well. This part should be printed in PLA, not ninjaflex. The **.3mf** project file contains pre-configured slice settings and custom supports. Both parts feature mounting hole for the rotary encoder. You can choose which side to mount the rotary encoder.

![3d_printing_cura-supports-rotary.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/539/medium640/3d_printing_cura-supports-rotary.jpg?1575731675)

# Watchmen's Sister Night NeoPixel Goggles

## Assembly

## Orient Rings

Rotate the rings as shown to optimize wire lengths.&nbsp;

Measure the left NeoPixel Ring (input) 120mm long with a 4 wire ribbon cable.

The right NeoPixel Ring (output) wires measured 90mm long.

## Separate Wires&nbsp;&nbsp;

Carefully separate the wires so they can be hidden behind the back of the NeoPixel PCB.

Silicon ribbon wires are easy to bend and form around the ring.

![3d_printing_wire-seperate.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/476/medium640/3d_printing_wire-seperate.jpg?1575650857)

![3d_printing_ring-oriente.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/475/medium640/3d_printing_ring-oriente.jpg?1575650808)

## Solder Input Ring

Apply solder to the 5V, ground, data Input and data out pins. Tweezers can be used to hold each wire while reheating the soldered points and&nbsp; gently pushing each wire into the through pins.&nbsp;&nbsp;

## Solder Output Ring

Solder the 5V, ground and data input pins in the same manner.

![3d_printing_ring-wire-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/477/medium640/3d_printing_ring-wire-solder.jpg?1575650929)

![3d_printing_ring-wires-soldred.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/478/medium640/3d_printing_ring-wires-soldred.jpg?1575651138)

## Solder Ring input to output

Cut and place a small pice of heat shrink before soldering the input and output wires together from the left and right NeoPixel rings.&nbsp;&nbsp;

## Solder Y-Cable for Power

Measure a 25mm long 2-wire ribbon cable to combine both power and ground connections from both rings. This will make it easy to connect to the Trinket M0.&nbsp;

Add another small piece of heat shrink to the short ribbon cable before soldering together.

Use tweezers to hold both power wires close while soldering to small wires as shown in the picture.&nbsp;

Use hot air or the upper side of the solder iron to set the heat shrink over the wire connections.

![3d_printing_rings-wire-solder-together-heat-shrink.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/480/medium640/3d_printing_rings-wire-solder-together-heat-shrink.jpg?1575651337)

![3d_printing_rings-power-y-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/481/medium640/3d_printing_rings-power-y-solder.jpg?1575651389)

## Solder Y wire for ground

Solder the the ground connections in the same way, making sure to add the heat shrink before soldering all three ground wires together.&nbsp;

![3d_printing_rings-gnd-y-soldered.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/482/medium640/3d_printing_rings-gnd-y-soldered.jpg?1575651511)

![3d_printing_rings-soldered.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/483/medium640/3d_printing_rings-soldered.jpg?1575651570)

## Lipo Backpack header

Use the included header with the LiPo Backpack to connect it to the Trinket. The **BAT** and **G** pins align together but the **5V** on the BackPack will need to connect to the **USB pin** on the Trinket. Use a small wire to connect to make the connection.

Remove the third pin on the header and solder to the Lipo Backpack with the plastic part of the header on the bottom of the Lipo Backpack.

![3d_printing_backpack-headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/484/medium640/3d_printing_backpack-headers.jpg?1575651654)

![3d_printing_backpack-header-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/486/medium640/3d_printing_backpack-header-solder.jpg?1575651753)

## Cut trace

Prepare the Lipo Backpack to connect the slide switch. Cut the trace between the two through holes that have the rectangle around them.

Use flush cutters to remove the trace by placing one of the blades on the mounting hole while the other blade slices through the trace.

## Solder switch

Measure a two wire ribbon cable 55mm long and solder to each through hole on the Lipo Backpack.&nbsp;

Trim the pins on the slide switch to make it easier to mount inside the case. We won't need the third pin, so you can remove one of the third pins on one of the sides. Solder both wires to each of the two pins.

![3d_printing_backpack-switch-trace-cut.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/487/medium640/3d_printing_backpack-switch-trace-cut.jpg?1575651821)

![3d_printing_backpack-switch-wires.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/489/medium640/3d_printing_backpack-switch-wires.jpg?1575651884)

![3d_printing_backpack-switch-soldered.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/490/medium640/3d_printing_backpack-switch-soldered.jpg?1575651941)

## Trinket M0 Data Wires

Solder the data wire from the NeoPixel ring to the Trinket M0. Connect the **Data In** wire to **Pin #0**.

## Solder Power and Ground

Solder the power and ground wires to the positive(+) and negative(-) pads on the bottom of the Trinket M0.

![3d_printing_trinket-data-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/491/medium640/3d_printing_trinket-data-solder.jpg?1575652027)

![3d_printing_trinket-pwr-gnd-soldered.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/492/medium640/3d_printing_trinket-pwr-gnd-soldered.jpg?1575652059)

## Backpack USB to 5v

Measure and cut the wire to be 20mm in length. Connect it to the USB pad on the Trinket to the 5v pad on the Lipo Backpack.

## Align BackPack to Trinket

Place the LipoBack over the Trinket and solder the **USB wire** to the **5v pin** on the Lipo Backpack.

![3d_printing_trinket-backpack-5v-usb-wire.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/494/medium640/3d_printing_trinket-backpack-5v-usb-wire.jpg?1575652182)

![3d_printing_trinket-backpack-5v-usb-wire-alignB.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/495/medium640/3d_printing_trinket-backpack-5v-usb-wire-alignB.jpg?1575652674)

## Solder Backpack

Line up the header on the LiPo Backpack and solder the header pins to the Trinket M0.

## Rotary Prep

Measure out a 4-wire ribbon cable to be 145mm in length. Reference the circuit diagram and solder the pins to the rotary encoder.&nbsp;

![3d_printing_trinket-backpack-soldred.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/496/medium640/3d_printing_trinket-backpack-soldred.jpg?1575652751)

![3d_printing_rotary-soldred.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/497/medium640/3d_printing_rotary-soldred.jpg?1575652797)

## Solder Rotary to Trinket

Tin pins number 2, 3 and 4 on the Trinket M0 and reference the circuit diagram to solder the wires from the rotary encoder.

![3d_printing_rotary-trinket-soldred.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/498/medium640/3d_printing_rotary-trinket-soldred.jpg?1575652856)

## Goggle Nose connector

Remove the rubber nose connector on the goggles and replace it with the 3D printed case.

Unscrew both lens covers to reveal the slot on the side of the goggles.

Twist and pull each side of the nose connector to remove it from the goggles.

![3d_printing_goggle-nose-lens-remove.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/579/medium640/3d_printing_goggle-nose-lens-remove.jpg?1575819065)

## Temporally Remove Elastic Bands

Remove the elastic band. This will make it easier to mount all of the components. Start by carefully bending back the metal clasps on the ends. Pull out the elastic bands to remove them from the goggles.

## Attach printed Nose connector case

Reference the photo and line up the case with goggles so it fits on the opposite side of the nose bridge.

Insert the nubs from the case into the slits on goggles. Twist to lock them into place.&nbsp;

## Remove Tinted Lens

The included tinted lenses stack on top of the clear lenses. Remove them to fit the 3D printed NeoPixel holders on top.

Place the 3D printed ring holders over the clear lens. The holder is held in place with the housing screwed back on.

&nbsp;

![3d_printing_goggle-3dnose-lens-tint-remove.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/580/medium640/3d_printing_goggle-3dnose-lens-tint-remove.jpg?1575820568)

![3d_printing_goggle-ring-holder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/581/medium640/3d_printing_goggle-ring-holder.jpg?1575820591)

## Place side case

Fit one of the rotary cases over an eye and screw on the lens cover to fit it in place. Repeat this for the second eye.

&nbsp;

![3d_printing_lens-sides-attach.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/503/medium640/3d_printing_lens-sides-attach.jpg?1575653187)

![3d_printing_lens-sides-attachB.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/504/medium640/3d_printing_lens-sides-attachB.jpg?1575653249)

## Press fit rings

With the lens covers secured, press fit the NeoPixel rings into the 3D printed holders. If the tolerances are too tight for fitting, file down the NeoPixel Ring PCBs to remove any leftover rough areas ("mouse bites").&nbsp;

## Insert Battery

Be sure to remove the support material inside the 3D printed case.

Connect the 400mah lipo battery to the JST connector on the Lipo Backpack. Carefully insert the battery at an angle.

## Attach Slide Switch

The slide switch is fitted above the lipo battery inside the walls around the cutout.&nbsp;

![3d_printing_rings-bat-insert.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/505/medium640/3d_printing_rings-bat-insert.jpg?1575654108)

![3d_printing_switch-insert.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/506/medium640/3d_printing_switch-insert.jpg?1575654294)

## Insert Trinket&nbsp;

With the battery and slide switch mounted, place the Trinket M0 above the battery with the Lipo Backpack facing up.

## Prep Rotary

The rotary encoder is held in place with the included washer and hex nut. Remove the knob, washer and hex nut before panel mounting. The wires can be threaded through the slits on the case.&nbsp;

&nbsp;

![3d_printing_trinket-insert.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/507/medium640/3d_printing_trinket-insert.jpg?1575654304)

![3d_printing_rotary-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/508/medium640/3d_printing_rotary-screws.jpg?1575654364)

## Attach Rotary knob case

Line up the rotary encoder so it sits flush against the case. Fasten the washer and screw back on.

Feed the wires up and over the goggle lens and hold the side case with one hand while screwing the lens holder back on to the goggles.

&nbsp;

![3d_printing_rotary-screwed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/509/medium640/3d_printing_rotary-screwed.jpg?1575654487)

![3d_printing_rotary-knob.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/510/medium640/3d_printing_rotary-knob.jpg?1575654494)

## Insert Lid

Press fit the case lid down to cover up the components.

## Complete!

Add the elastic band back to goggles by inserting them through the slits on the side of the goggles.

![3d_printing_case-lid.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/511/medium640/3d_printing_case-lid.jpg?1575654562)

![3d_printing_complete.jpg](https://cdn-learn.adafruit.com/assets/assets/000/085/512/medium640/3d_printing_complete.jpg?1575654604)

# Watchmen's Sister Night NeoPixel Goggles

## Modes and Functions

Using the rotary encoder (the black spinney knob), you can switch between the different play mode animations, adjust the speed of those animations, as well as change the color and brightness of the pixels.

## On / off

Use the switch on the bridge to power on or off the goggles.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/648/medium800thumb/leds_on-off.jpg?1575997215)

## Play modes

There are 4 "play modes" for the goggles. These are the different animations that the goggles run.

Briefly press down the rotary encoder to toggle between each mode.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/649/medium800thumb/leds_playmods.jpg?1575997351)

 **Play mode 1: pixels spin**

Adjust the speed of the spinning by twisting the rotary encoder. Can speed up or slow down the rate at which the lights move around the goggles.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/650/medium800thumb/leds_pixel-spin.jpg?1575997370)

 **Play mode 2: "Watchmen" mode**

Adjust location of bright pixels with encoder.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/651/medium800thumb/leds_watchman-mode.jpg?1575997386)

 **Play mode 3: pixels spin and collide**

Adjust speed with rotary encoder.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/652/medium800thumb/leds_pixel-collide.jpg?1575997409)

 **Play mode 4: random pixel glow**

Adjust speed with rotary encoder.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/653/medium800thumb/leds_random-glow.jpg?1575997423)

## Transition between play and configuration modes

To change the color and brightness of the NeoPixels, you will have to change the configuration settings. These settings can be accessed by pressing and holding down the encoder until the configuration state is reached.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/654/medium800thumb/leds_transion.jpg?1575997434)

## Config modes

There are 3 config modes. Switch between them the same way as the play modes are switched, by briefly pressing down the encoder.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/655/medium800thumb/leds_config-modes.jpg?1575997444)

 **Config mode 1: color**

To change the color of the NeoPixels, adjust the rotary encoder. Whatever color you end up on will be the color saved for all modes moving forward.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/656/medium800thumb/leds_colors.jpg?1575997455)

 **Config mode 2: brightness**

Use the encoder to adjust the NeoPixel brightness.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/657/medium800thumb/leds_brightness.jpg?1575997464)

 **Config mode 3: NeoPixel alignment**

This config mode is for verifying the alignment and placement of the NeoPixel rings. The leds should be at the top of the ring and symmetrical to each other. If they aren't, either reposition the rings or&nbsp;change the values of `ring_1_offset` and/or `ring_2_offset` in the code.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/659/medium800/leds_pixel-offset.jpg?1575997813)

## Example

Putting this all together, here's an example of how to change the NeoPixel color from red (default) to green as well as increase the brightness. Then, how to go back to the play modes and watch the new color in action.

![](https://cdn-learn.adafruit.com/assets/assets/000/085/658/medium800thumb/leds_examples.jpg?1575997503)


## Guide Products

### Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE

[Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE](https://www.adafruit.com/product/3500)
The&nbsp;Adafruit Trinket M0 may be small, but do not be fooled by its size! It's a tiny microcontroller board, built around the Atmel ATSAMD21, a little chip with _a lot_ of power. We wanted to design a microcontroller board that was small enough to fit into any project, and low...

In Stock
[Buy Now](https://www.adafruit.com/product/3500)
[Related Guides to the Product](https://learn.adafruit.com/products/3500/guides)
### Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy

[Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy](https://www.adafruit.com/product/2124)
If you have an ItsyBitsy or Pro Trinket you probably know it's the perfect little size for a portable project. This LiPoly backpack makes it really easy to do! Instead of wiring 2 or 3 boards together to make a charging system, this little PCB sits on top of the PCB and allows a...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2124)
[Related Guides to the Product](https://learn.adafruit.com/products/2124/guides)
### NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1463)
Round and round and round they go! 16 ultra bright smart LED NeoPixels are arranged in a circle with 1.75" (44.5mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

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

[Costume Goggles](https://www.adafruit.com/product/1577)
We've got some awesome LED goggle tutorials, and now you want to make your own, right? [So pick up a pair of NeoPixel rings](http://www.adafruit.com/products/1463) and these costuming goggles and get to it!

**These goggles look a bit like aviator/welding goggle designs...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/1577)
[Related Guides to the Product](https://learn.adafruit.com/products/1577/guides)
### Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh

[Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh](https://www.adafruit.com/product/3898)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of **400mAh** for a total of about 1.9 Wh. If you need a larger (or smaller!)...

In Stock
[Buy Now](https://www.adafruit.com/product/3898)
[Related Guides to the Product](https://learn.adafruit.com/products/3898/guides)
### Rotary Encoder + Extras

[Rotary Encoder + Extras](https://www.adafruit.com/product/377)
This rotary encoder is the best of the best, it's a high-quality 24-pulse encoder, with detents and a nice feel. It is panel mountable for placement in a box, or you can plug it into a breadboard (just cut/bend the two mechanical side tabs.) We also include a nice soft-touch knob with an...

In Stock
[Buy Now](https://www.adafruit.com/product/377)
[Related Guides to the Product](https://learn.adafruit.com/products/377/guides)
### Breadboard-friendly SPDT Slide Switch

[Breadboard-friendly SPDT Slide Switch](https://www.adafruit.com/product/805)
These nice switches are perfect for use with breadboard and perfboard projects. They have 0.1" spacing and snap in nicely into a solderless breadboard. They're easy to switch no matter what size fingers you have, but not so easy that they'll get flipped by accident. Work great as...

In Stock
[Buy Now](https://www.adafruit.com/product/805)
[Related Guides to the Product](https://learn.adafruit.com/products/805/guides)
### Silicone Cover Stranded-Core Ribbon Cable - 10 Wire 1 Meter Long

[Silicone Cover Stranded-Core Ribbon Cable - 10 Wire 1 Meter Long](https://www.adafruit.com/product/3890)
For those who are fans of our silicone-covered wires, but are always looking to _up their wiring game_. We now have **Silicone Cover Ribbon cables!** These may look _a lot_ like <a...></a...>

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

## Related Guides

- [Adafruit Trinket M0](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino.md)
- [Infinity Mirror Valentine's Candy Box](https://learn.adafruit.com/infinity-mirror-candy-box.md)
- [Crickit Powered Dancin' Snowman!](https://learn.adafruit.com/crickit-powered-dancin-snowman.md)
- [Crickit Powered Maker Ice Cream Truck!](https://learn.adafruit.com/crickit-maker-ice-cream-truck.md)
- [LEGO Set Lighting](https://learn.adafruit.com/lego-set-lighting.md)
- [PyLeap BLE Controlled NeoPixels with CLUE](https://learn.adafruit.com/pyleap-ble-controlled-neopixels-with-clue.md)
- [HalloWing M4 Tombstone](https://learn.adafruit.com/hallowing-tombstone.md)
- [Pyloton: CircuitPython Cycling Computer](https://learn.adafruit.com/pyloton.md)
- [CircuitPython BLE Heart Rate Zone Trainer Display](https://learn.adafruit.com/circuitpython-ble-heart-rate-monitor-gizmo.md)
- [LED Rocket Lamp](https://learn.adafruit.com/led-rocket-lamp.md)
- [Perfect Pitch Machine](https://learn.adafruit.com/perfect-pitch-machine.md)
- [Chilled Drinkibot](https://learn.adafruit.com/chilled-drinkibot.md)
- [eInk / ePaper Weather Station](https://learn.adafruit.com/epaper-weather-station.md)
- [CircuitPython BLE Crickit Rover](https://learn.adafruit.com/circuitpython-ble-crickit-rover.md)
- [Adafruit ItsyBitsy RP2040](https://learn.adafruit.com/adafruit-itsybitsy-rp2040.md)
- [DIY Darksaber Build - 3D Print with PropMaker FeatherWing and BLE](https://learn.adafruit.com/ble-darksaber-propmaker.md)
