# NeoPixel Menorah

## Overview

https://youtu.be/3yg3KPm4CSA

![](https://cdn-learn.adafruit.com/assets/assets/000/106/822/medium800/led_pixels_hero-2.jpg?1637685648)

In this guide you'll learn how to build a 3D printed Menorah that lights up with NeoPixel LEDs and CircuitPython. This minimalistic design features parts that snap fit together and print without any supports. The assembly is modular and easy to put together.

## Light Up The Days

A push button allows you to light up a NeoPixel LED on each night of Hanukkah. The Shamash (center NeoPixel) stays lit each night. On the first night of Hanukkah, the NeoPixel LED on the far right is lit. Just press the button each night to light up the next one.

![led_pixels_guide-loop-2.gif](https://cdn-learn.adafruit.com/assets/assets/000/106/789/medium640thumb/led_pixels_guide-loop-2.jpg?1637679795)

## 3D Printed Bulbs

The bulbs are printed in translucent PLA and the NeoPixels are fitted inside these little holders. The bulbs are hollow to better diffuse the LEDs so they’ll illuminate nicely.

![leds_bulb-neopixels.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/769/medium640/leds_bulb-neopixels.jpg?1637592227)

## USB-C Powered

The bottom has a cut out so you have access to the USB-C port. It can be powered by a 5V USB supply from either a computer or a wall outlet.

![leds_hero-usb-port.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/772/medium640/leds_hero-usb-port.jpg?1637592405)

## QT Py RP2040

This project is powered by the Adafruit QT Py RP2040 running CircuitPython. The QT Py is secured to the bottom cover and just snaps into the build-in holder.

![leds_hero-qtpy.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/771/medium640/leds_hero-qtpy.jpg?1637592394)

![](https://cdn-learn.adafruit.com/assets/assets/000/106/823/medium800/led_pixels_hero-1.jpg?1637685660)

## Parts
### Adafruit QT Py RP2040

[Adafruit QT Py RP2040](https://www.adafruit.com/product/4900)
What a cutie pie! Or is it... a QT Py?&nbsp;This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new [Raspberry Pi Pico](https://www.adafruit.com/pico) _and_ our [Feather...](http://www.adafruit.com/product/4884)

In Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
![Video of hand holding a QT Py PCB in their hand. An LED glows rainbow colors.](https://cdn-shop.adafruit.com/product-videos/640x480/4900-06.jpg)

### 16mm Panel Mount Momentary Pushbutton -  Burgundy

[16mm Panel Mount Momentary Pushbutton -  Burgundy](https://www.adafruit.com/product/1503)
OK, this item is pretty simple - it's a panel mount pushbutton. It's not that exciting, no LEDs, no bells & whistles. But we really like it anyways – look at that lovely rounded shape, that elegant bevel. If you're going to go with a momentary pushbutton, let it be this...

In Stock
[Buy Now](https://www.adafruit.com/product/1503)
[Related Guides to the Product](https://learn.adafruit.com/products/1503/guides)
![Angled shot of 16mm burgundy panel mount pushbutton.](https://cdn-shop.adafruit.com/640x480/1503-06.jpg)

Info: 

### 1.25mm Pitch 3-pin Cable Matching Pair - 40cm long

[1.25mm Pitch 3-pin Cable Matching Pair - 40cm long](https://www.adafruit.com/product/4721)
When 0.1" is too big, and JST PH's too chunky, these ultra-slim 1.25mm connectors are a reliable alternative. These are only 1.25mm pitch, but have a nice clicky connection.

These cables are&nbsp;nice and long, 40cm in fact. They've&nbsp;got both small form factor and are a...

In Stock
[Buy Now](https://www.adafruit.com/product/4721)
[Related Guides to the Product](https://learn.adafruit.com/products/4721/guides)
![1.25mm Pitch 3-pin Cable Matching Pair](https://cdn-shop.adafruit.com/640x480/4721-02.jpg)

### 1.25mm Pitch 2-pin Cable Matching Pair - 40cm long

[1.25mm Pitch 2-pin Cable Matching Pair - 40cm long](https://www.adafruit.com/product/4720)
When 0.1" is too big, and JST PH's too chunky, these ultra-slim 1.25mm connectors are a reliable alternative. These are only 1.25mm pitch, but have a nice clicky connection.

These cables are&nbsp;nice and long, 40cm in fact. They've&nbsp;got both small form factor and are a...

In Stock
[Buy Now](https://www.adafruit.com/product/4720)
[Related Guides to the Product](https://learn.adafruit.com/products/4720/guides)
![1.25mm Pitch 2-pin Cable Matching Pair](https://cdn-shop.adafruit.com/640x480/4720-04.jpg)

### USB Type C Cable with Data/Charge Switch

[USB Type C Cable with Data/Charge Switch](https://www.adafruit.com/product/4696)
Perhaps your smart phone, tablet, or even your Raspberry Pi 4,&nbsp;charges off of USB, but can you really trust that charging station at the airport? Now you can control when to allow data in or out of your device with this specially-designed USB cable._Voila!_ Your cable's data...

In Stock
[Buy Now](https://www.adafruit.com/product/4696)
[Related Guides to the Product](https://learn.adafruit.com/products/4696/guides)
![Angled shot of coiled USB-C data/charge cable.](https://cdn-shop.adafruit.com/640x480/4696-03.jpg)

## Hardware

The following fasteners are required to assemble this build.

- 4x M2.5 x 10mm
- 4x M2.5 hex nuts

### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
![Black Nylon Screw and Stand-off Set with M2.5 Threads, kit box](https://cdn-shop.adafruit.com/640x480/3299-00.jpg)

![](https://cdn-learn.adafruit.com/assets/assets/000/106/773/medium800/leds_hero-3.jpg?1637592492)

![](https://cdn-learn.adafruit.com/assets/assets/000/106/774/medium800/leds_hero-4.jpg?1637592504)

# NeoPixel Menorah

## 3D Printing

## CAD Parts List

STL files for 3D printing are oriented to print "as-is" on FDM style machines. Parts are designed to 3D print without any support material. Original design source may be downloaded using the links below:

- Base Bottom Cover
- Base Frame
- Base Top Cover
- 9x Flame (Hollow or Solid)
- 1x Holder Long
- 8x Holder Short
- LED Case Bottom
- LED Case Frame
- LED Case Top
- 2x Stand Cover
- Stand Frame

![leds_3d-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/701/medium640/leds_3d-parts.jpg?1637583050)

[Download STLs.zip](https://cdn-learn.adafruit.com/assets/assets/000/106/842/original/STLs.zip?1637690935)
[Download CAD source](https://cdn-learn.adafruit.com/assets/assets/000/106/843/original/cad.zip?1637690956)
[Download 3MF.zip](https://cdn-learn.adafruit.com/assets/assets/000/106/845/original/3MF.zip?1637690968)
## Build Volume

The parts require a 3D printer with a minimum build volume.

- 182mm (X) x 182mm (Y) x 90mm (Z)

![leds_slice-top.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/765/medium640/leds_slice-top.jpg?1637591527)

## Slicing Bulbs

For best quality, it's recommend to print bulbs one at a time as opposed to a set of multiple. Optionally print the "solid" version for slicing with vase mode.&nbsp;

![leds_slice-bulb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/763/medium640/leds_slice-bulb.jpg?1637591396)

## Slicing Frames

For best results, a brim is suggested with printing the frames parts of the design.

![leds_slice-brim.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/779/medium640/leds_slice-brim.jpg?1637593901)

## Design Source Files

The project assembly was designed in Fusion 360. This can be downloaded in different formats like STEP, STL and more. Electronic components like Adafruit's board, displays, connectors and more can be downloaded from the&nbsp;[Adafruit CAD parts GitHub Repo](https://github.com/adafruit/Adafruit_CAD_Parts).

![leds_4900_QTPY-RP2040.gif](https://cdn-learn.adafruit.com/assets/assets/000/106/766/medium640thumb/leds_4900_QTPY-RP2040.jpg?1637591642)

# NeoPixel Menorah

## Circuit Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/106/821/medium800/led_pixels_circuit-diagram.jpg?1637683787)

The diagram below provides a visual reference for wiring of the components. This diagram 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).

## Wired Connections

The project uses NeoPixel PCB Buttons which are slightly different than the Circuit Diagram but they use the same pin outs.&nbsp;

NeoPixels to QT Py RP2040

- DIN from NeoPixel strip to Pin A0 on QT Py
- 5V from NeoPixel strip to 5V on QT Py
- GND from NeoPixel strip to GND on QT Py

NeoPixel PCB Buttons

- DOUT from NeoPixel to DIN on NeoPixel
- 5V from NeoPixel to 5V on NeoPixel
- GND from NeoPixel to GND on NeoPixel

Push Button

- Pin 1 from button to A1 on QT Py
- Pin 2 from button to GND on QT Py

## Powering

The Adafruit board can be powered via USB or JST using a 3.7v lipo battery. In this project, a 5V power supply is used.&nbsp;

# NeoPixel Menorah

## 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_qtpy_rp2040/)
 **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/101/680/medium800/adafruit_products_QTRP_buttons.jpg?1618956837)

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)
# NeoPixel Menorah

## Coding Menorah

![](https://cdn-learn.adafruit.com/assets/assets/000/106/767/medium800/leds_code-laptop-1.jpg?1637591999)

Once you've finished setting up your QT Py RP2040 with CircuitPython, you can access the code, audio files and necessary libraries by downloading the Project Bundle.

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

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

## Upload the Code and Libraries to the QT Py RP2040
After downloading the Project Bundle, plug your QT Py RP2040 into the computer USB port. You should see a new flash drive appear in the computer's File Explorer or Finder (depending on your operating system) called&nbsp; **CIRCUITPY**. Unzip the folder and copy the following items to the QT Py RP2040's&nbsp; **CIRCUITPY** &nbsp;drive.&nbsp;

- **lib** &nbsp;folder
- **code.py**

Your QT Py RP2040 **CIRCUITPY** &nbsp;drive should look like this after copying the&nbsp; **lib** folder&nbsp;and **code.py** &nbsp;file.

![](https://cdn-learn.adafruit.com/assets/assets/000/106/761/medium800/leds_circuitpy-drive.jpg?1637590964)

# NeoPixel Menorah

## Wiring Push Button

## Cables for Push Button

Use a 2-pin molex cable to connect the push button to the QT Py. Measure and cut the wires down to size. Use the following lengths to trim the molex cables.

- 2-pin molex – 9cm (3.5in)

![led_pixels_button-cables.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/790/medium640/led_pixels_button-cables.jpg?1637680620)

## Solder Wires to Push Button

Solder the two wires to the two pins on the push button. Polarity does not matter.

![led_pixels_button-wiring.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/791/medium640/led_pixels_button-wiring.jpg?1637680655)

## Wired Push Button

Double check the wires have been properly soldered to the pins on the push button.

![led_pixels_button-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/792/medium640/led_pixels_button-wired.jpg?1637680709)

# NeoPixel Menorah

## Wiring QT Py

## Cables for QT Py

Use a 3-pin molex cable to connect the NeoPixels to the QT Py

A 2-pin molex cable is used to connect the push button to the QT Py.

Measure and cut the cables down to size. Use the following lengths to trim the cables.

- 3-pin molex cable - 19cm (7.5in)
- 2-pin molex cable - 9cm (3.5in)

![led_pixels_qtpy-cables.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/793/medium640/led_pixels_qtpy-cables.jpg?1637680869)

## Solder 3-pin Cable

Wire the 3-pin cable to the QT Py. Solder the black wire to ground, red to 5V and yellow to the A0 pin.

![led_pixels_qtpy-3pin-wiring.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/794/medium640/led_pixels_qtpy-3pin-wiring.jpg?1637680938)

## Solder 2-pin Cable

Wire the 2-pin cable to the QT Py. Solder the black wire to ground and red to the A1 pin.

![led_pixels_qtpy-2pin-wiring.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/795/medium640/led_pixels_qtpy-2pin-wiring.jpg?1637680989)

## Wired QT PY

Double check the solder joints are correctly soldered and have a solid connection.

![led_pixels_qtpy-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/796/medium640/led_pixels_qtpy-wired.jpg?1637681070)

# NeoPixel Menorah

## Wiring NeoPixels

## Cables for NeoPixels

Use a new pair of Molex cables and cut up a set for six NeoPixels. Make the cables the following length.

### **6cm (2.3in)**
![leds_neopixels-short-cables.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/702/medium640/leds_neopixels-short-cables.jpg?1637583110)

## Wiring Input

Start by wiring up the molex cable plugs to the SMD pads on the back of a NeoPixel button PCB. Wire yellow to data in, black to ground and red to the voltage pad.

![leds_neopixel-input-wire.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/703/medium640/leds_neopixel-input-wire.jpg?1637583256)

## Wiring Output

Proceed to wire the molex socket cable to the data out, ground and voltage pads.

![leds_neopixel-out-wire.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/704/medium640/leds_neopixel-out-wire.jpg?1637583300)

## Wired NeoPixel

Double check the wires are soldered in the correct orientation with them facing inwards.

![leds_neopixel-in-out-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/705/medium640/leds_neopixel-in-out-wired.jpg?1637583352)

## NeoPixel with Cables

The two molex cables should be able to straighten out for the assembly.

![leds_neopixel-wired-cable.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/706/medium640/leds_neopixel-wired-cable.jpg?1637583419)

## 6x Wired NeoPixels

Measure and cut 6x pairs of molex cables for 6x NeoPixels. Solder the cables to the NeoPixels. Wire the socket cables to the NeoPixel's data out pads and the cable plugs to the data in pads.

![leds_neopixel-6x-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/708/medium640/leds_neopixel-6x-wired.jpg?1637584328)

## First NeoPixel Wiring

The first NeoPixel in the strand will need to have one longer molex cable (plug) wired to the data in pin. The shorter molex cable (socket) is wired to the data out pin.

![leds_neopixel-first.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/707/medium640/leds_neopixel-first.jpg?1637584319)

## Last NeoPixel

The last NeoPixel in the strand only needs one molex cable (plug) connected to the data in pad. Use the following length to size the cable.

### **6cm (2.3in)**
![leds_neopixel-last.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/709/medium640/leds_neopixel-last.jpg?1637583876)

## Center NeoPixel

The fifth NeoPixel in the strand features longer molex cables. Use the following length to measure and cut the cables.

### **12cm (4.7in)**
![leds_neopixel-center.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/710/medium640/leds_neopixel-center.jpg?1637583979)

## 9x Wired NeoPixels

Double check each NeoPixel is probably wired up. Line them up in order (from left to right) and reference the photo for correct placement.

![leds_neopixels-all.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/711/medium640/leds_neopixels-all.jpg?1637584360)

## Test Circuit

Plug the molex cables together with the first NeoPixel connecting to the QT Py. Use 5V power supply or computer's hub to power the circuit.

![leds_neopixel-testing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/721/medium640/leds_neopixel-testing.jpg?1637585724)

# NeoPixel Menorah

## Assembly

## Top Cover and Holders

Get the holders ready to install into the LED holder top cover. There should be eight short holders and one longer holder.

![leds_top-holders.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/725/medium640/leds_top-holders.jpg?1637586126)

## Install Holders

Start by fastening the longer holder to the hole in the center of the top cover.

Proceed to install all eight shorter holder into the remaining holders in the top cover.

Firmly hand tighten all of the holders to the top cover.

![leds_top-center-holder-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/726/medium640/leds_top-center-holder-install.jpg?1637586132)

![leds_top-holders-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/733/medium640/leds_top-holders-installing.jpg?1637586751)

## First NeoPixel Install

Get the first NeoPixel ready to install into the holder.

![leds_top-holders-neopixel-first.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/728/medium640/leds_top-holders-neopixel-first.jpg?1637586290)

## Installing NeoPixel

Carefully fit the molex cables from the first NeoPixel through the short holder that's first in line. The connectors should fit all the way through the holder.

![leds_neopixel-holder-install-first.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/729/medium640/leds_neopixel-holder-install-first.jpg?1637586350)

## Installed NeoPixel

Proceed to install the second NeoPixel in the strand.

![leds_neopixel-holder-install-second.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/730/medium640/leds_neopixel-holder-install-second.jpg?1637586388)

## Connect NeoPixel Cables

Grab the socket cable from the first NeoPixel and connect it to the second NeoPixel. The first NeoPixels data out flows into the second NeoPixels data in.

![leds_neopixel-holder-connect-cables.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/731/medium640/leds_neopixel-holder-connect-cables.jpg?1637587446)

## Install Frame to Top Cover

Continue to install NeoPixels into the holders. Connect the cables together after installing each NeoPixel.

![leds_neopixel-holder-all-connected.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/732/medium640/leds_neopixel-holder-all-connected.jpg?1637587690)

## Bulb Diffusers

Get the nine diffuser bulbs ready to install into the top of the holders.

![leds_diffusers-holders.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/747/medium640/leds_diffusers-holders.jpg?1637589437)

## Install Diffusers

The bulbs are press fitted into the top of each holder.

The tolerances should have a tight snug fit.

If the bulbs are too tight to fit, you may need to file down the edges or use a deburring tool on the holders.

![leds_diffuser-center-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/748/medium640/leds_diffuser-center-install.jpg?1637588422)

![leds_diffusers-all-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/749/medium640/leds_diffusers-all-installed.jpg?1637589574)

## Secure Stand to Cover

Attach the Stand Frame part to the bottom cover of the LED case using the following hardware.

- 2x M2.5 x 10mm
- 2x M2.5 hex nuts

![leds_holder-btm-cover-frame-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/736/medium640/leds_holder-btm-cover-frame-screws.jpg?1637588789)

![leds_holder-btm-cover-frame-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/737/medium640/leds_holder-btm-cover-frame-installed.jpg?1637589124)

## Secure Stand to Cover (continued)

Attach the stand frame to the bottom base cover using the following hardware.

- 2x M2.5 x 10mm
- 2x M2.5 hex nuts

![led_pixels_base-top-cover-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/797/medium640/led_pixels_base-top-cover-screws.jpg?1637681508)

![led_pixels_base-top-cover-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/798/medium640/led_pixels_base-top-cover-installed.jpg?1637681518)

## Install Push Button

The 16mm push button is panel mounted to the base top cover.

Insert the push button into the hole in the cover with the cable going in first.

Use the included hex nut to secure the button to the cover.

![led_pixels_button-top-cover.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/799/medium640/led_pixels_button-top-cover.jpg?1637681652)

![led_pixels_button-cover-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/800/medium640/led_pixels_button-cover-install.jpg?1637681661)

## Install QT Py

The QT Py is secured to the built-in holder in the base bottom cover with the USB port facing the edge.

Start by fitting the QT Py PCB into the holder at an angle.

Slightly bend the cover to allow the tabs to snap onto the edges of the PCB.

![led_pixels_base-cover-qtpy.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/801/medium640/led_pixels_base-cover-qtpy.jpg?1637681843)

![led_pixels_base-qtpy-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/802/medium640/led_pixels_base-qtpy-install.jpg?1637681860)

## Secured QT Py

Double check the QT Py is fully seated into the built-in holder. The USB-C port should be facing the correctly

![led_pixels_base-qtpy-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/803/medium640/led_pixels_base-qtpy-installed.jpg?1637681881)

## Secure Frame to Base Cover

The frame from the base is attached to the base bottom cover.

Orient the frame so the cut out is facing the QT Py's USB-C Port.

Press the parts together to snap fit them together.

![led_pixels_base-frame-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/804/medium640/led_pixels_base-frame-installing.jpg?1637682085)

![led_pixels_base-frame-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/805/medium640/led_pixels_base-frame-install.jpg?1637682141)

## Connect Button to QT Py

Grab the cables from the QT Py and push button and connect them together.

![led_pixels_qtpy-button-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/808/medium640/led_pixels_qtpy-button-connect.jpg?1637683179)

## Install NeoPixel Cable

Grab the 3-pin cable from the QT Py and thread the connector through the holes in the base cover, stand frame and bottom cover of the LED case.

![led_pixels_nepopixel-cable-cover-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/809/medium640/led_pixels_nepopixel-cable-cover-install.jpg?1637683233)

## Secure Base to Stand

Snap fit the base cover to the base frame by firmly pressing the two parts together.

Make sure the wires from the 2-pin cable is not kinking.

Ensure the 3-pin cable is still threaded through the holes and sticking out the top of the LED bottom cover.&nbsp;

![led_pixels_base-top-cover-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/810/medium640/led_pixels_base-top-cover-install.jpg?1637683321)

![led_pixels_base-top-cover-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/812/medium640/led_pixels_base-top-cover-installed.jpg?1637683483)

## Install Frame

Get the framing of the LED case ready to attached to the bottom cover.

Snap fit the bottom cover into the frame.

![led_pixels_led-case-frame-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/813/medium640/led_pixels_led-case-frame-install.jpg?1637683526)

![led_pixels_led-case-frame-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/814/medium640/led_pixels_led-case-frame-installed.jpg?1637683536)

## NeoPixel Order

Check the order of the NeoPixel LEDs are correct with the first NeoPixel being on the far right.

Orient the base so the USB port is facing the back and the push button is facing the front.

![led_pixels_led-order.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/815/medium640/led_pixels_led-order.jpg?1637683614)

## Connect QT Py to NeoPixel Strand

Grab the connector from the QT Py and connect it to the first NeoPixel.

Get the top cover ready to install onto the framing of the LED case.

![led_pixels_neopixel-qtpy-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/816/medium640/led_pixels_neopixel-qtpy-connect.jpg?1637683651)

## Secure Top Cover to Frame

Press the edges from the top cover so they snap fit into the framing of the LED case.

![led_pixels_led-top-frame-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/817/medium640/led_pixels_led-top-frame-install.jpg?1637683680)

## Install Stand Covers

Grab the two covers for the stand and snap fit them onto the framing of the stand.

Keep the wires from the cable inside the stand and avoid kinking any wires.

![led_pixels_stand-cover-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/818/medium640/led_pixels_stand-cover-installing.jpg?1637683700)

![led_pixels_stand-cover-back-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/819/medium640/led_pixels_stand-cover-back-install.jpg?1637683725)

## Installed Stand Covers

Double check the edges are all flush so the covers are installed properly.

![leds_stem-covers-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/752/medium640/leds_stem-covers-installed.jpg?1637589043)

## Final Build

Congratulations! Your NeoPixel Menorah is ready for lighting up Hanukkah!

![led_pixels_final-build.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/820/medium640/led_pixels_final-build.jpg?1637683742)


## Featured Products

### Adafruit QT Py RP2040

[Adafruit QT Py RP2040](https://www.adafruit.com/product/4900)
What a cutie pie! Or is it... a QT Py?&nbsp;This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new [Raspberry Pi Pico](https://www.adafruit.com/pico) _and_ our [Feather...](http://www.adafruit.com/product/4884)

In Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
### NeoPixel Mini Button PCB - Pack of 50

[NeoPixel Mini Button PCB - Pack of 50](https://www.adafruit.com/product/4356)
These are the smallest NeoPixel breakouts around! Tiny, bright RGB pixels to your project. These little PCBs are only 9.1mm x 9.1mm and have two sets of three pads on the back for soldering wires. These ultra-bright LEDs have a constant-current driver cooked right into the LED package! The...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/4356)
[Related Guides to the Product](https://learn.adafruit.com/products/4356/guides)
### 16mm Panel Mount Momentary Pushbutton -  Burgundy

[16mm Panel Mount Momentary Pushbutton -  Burgundy](https://www.adafruit.com/product/1503)
OK, this item is pretty simple - it's a panel mount pushbutton. It's not that exciting, no LEDs, no bells & whistles. But we really like it anyways – look at that lovely rounded shape, that elegant bevel. If you're going to go with a momentary pushbutton, let it be this...

In Stock
[Buy Now](https://www.adafruit.com/product/1503)
[Related Guides to the Product](https://learn.adafruit.com/products/1503/guides)
### 1.25mm Pitch 3-pin Cable Matching Pair - 40cm long

[1.25mm Pitch 3-pin Cable Matching Pair - 40cm long](https://www.adafruit.com/product/4721)
When 0.1" is too big, and JST PH's too chunky, these ultra-slim 1.25mm connectors are a reliable alternative. These are only 1.25mm pitch, but have a nice clicky connection.

These cables are&nbsp;nice and long, 40cm in fact. They've&nbsp;got both small form factor and are a...

In Stock
[Buy Now](https://www.adafruit.com/product/4721)
[Related Guides to the Product](https://learn.adafruit.com/products/4721/guides)
### 1.25mm Pitch 2-pin Cable Matching Pair - 40cm long

[1.25mm Pitch 2-pin Cable Matching Pair - 40cm long](https://www.adafruit.com/product/4720)
When 0.1" is too big, and JST PH's too chunky, these ultra-slim 1.25mm connectors are a reliable alternative. These are only 1.25mm pitch, but have a nice clicky connection.

These cables are&nbsp;nice and long, 40cm in fact. They've&nbsp;got both small form factor and are a...

In Stock
[Buy Now](https://www.adafruit.com/product/4720)
[Related Guides to the Product](https://learn.adafruit.com/products/4720/guides)
### USB Type C Cable with Data/Charge Switch

[USB Type C Cable with Data/Charge Switch](https://www.adafruit.com/product/4696)
Perhaps your smart phone, tablet, or even your Raspberry Pi 4,&nbsp;charges off of USB, but can you really trust that charging station at the airport? Now you can control when to allow data in or out of your device with this specially-designed USB cable._Voila!_ Your cable's data...

In Stock
[Buy Now](https://www.adafruit.com/product/4696)
[Related Guides to the Product](https://learn.adafruit.com/products/4696/guides)
### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

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

## Related Guides

- [Adafruit QT Py RP2040](https://learn.adafruit.com/adafruit-qt-py-2040.md)
- [4x4 Rotary Encoder MIDI Messenger](https://learn.adafruit.com/4x4-rotary-encoder-midi-messenger.md)
- [EPCOT Spaceship Earth with WLED](https://learn.adafruit.com/epcot-spaceship-earth-with-wled.md)
- [Kitty Toe Bean Keypad with Color TFT](https://learn.adafruit.com/kitty-toe-bean-paw-keypad-color-tct.md)
- [Remote Effects Trigger Box](https://learn.adafruit.com/remote-effects-trigger.md)
- [Feather Scorpio Snap Fit Case](https://learn.adafruit.com/feather-scorpio-snap-fit-case.md)
- [Metro Minimalist Clock](https://learn.adafruit.com/metro-minimalist-clock.md)
- [32x32 Square Pixel Art Animation Display](https://learn.adafruit.com/32x32-square-pixel-display.md)
- [Mini Pinball Table with Gemma M0](https://learn.adafruit.com/mini-pinball-table-with-gemma-m0.md)
- [Audio Synthesis with CircuitPython synthio](https://learn.adafruit.com/audio-synthesis-with-circuitpython-synthio.md)
- [Prop-Maker Feather Talking Adabot Clock](https://learn.adafruit.com/prop-maker-feather-talking-adabot-clock.md)
- [Square NeoPixel Display with Black LED Acrylic](https://learn.adafruit.com/sqaure-neopixel-display-with-black-led-acrylic.md)
- [Knobby Sequencer](https://learn.adafruit.com/knobby-sequencer.md)
- [CircuitPython OLED Watch Clock](https://learn.adafruit.com/circuitpython-oled-watch.md)
- [LED Matrix Wall Arcade for Pico-8](https://learn.adafruit.com/led-matrix-wall-arcade.md)
- [Walkmp3rson: Personal MP3 'Tape' Player](https://learn.adafruit.com/walkmp3rson-personal-mp3-tape-player.md)
