Introduction: Spirit Box


Arduino mega

Addressable LED pixel strand WS2812B, 50 LEDs, 5 inch spacing

Adafruit 16mm illuminated blue momentary button

Multicolor wire ribbon connector kit (male to female, male to male, female to female)

5v power supply

Wire connectors

330 Ohm Resistor

2' x 4' x 1/4" Birch veneer plywood

Scrap wood to rip for blocking inside box


Wood glue

Wood stain




Laser cutter

Table saw


5/16", 5/8", 1/16" drill bits

Soldering Iron


Wire stripper

Phillips head screw driver

Framing square

Speed square

USB cable


Arduino IDE

Graphic design software

Step 1:

Cut the wood into 2 13" x 18" pieces, 2 3" x 18" pieces, and 2 3" x 13" pieces.

Make a 45 degree miter cut on all edges of one 13" x 18" board and all 3" edges of the 3" x 13" and 3" x 18" boards.

Step 2:

Cut blocking to add strength to the interior frame of the box:

4 pieces of 1/2" x 1/2" x 3", 2 pieces of 1/2" x 1/2" x 16", and 2 pieces of 1/2" x 1/2" x 10".

Step 3:

Assemble box (excluding the top) by gluing the edges. Use a framing square and speed square to make sure everything stays at a 90 degree angle.

Step 4:

Use your favorite graphic design program to create a board design. Include appropriately sized circles for guides to make the light and button holes.

Take the top of the box and laser cut the design

Step 5:

Drill holes in place of the laser cut circles (8 mm holes in my case).

Step 6:

Drill a hole in the back of the box for the Arduino power supply.

Step 7:

Stain the top, sides, and the bottom of the box.

Step 8:

Attach the top of the box to the rest of the box with the hinges

Step 9:

Connect the data wire (green in my case) of the LEDs to a PWM port on the Arduino (port 7).

Connect the power wire (red in my case) of the LEDs to the 5v power port on the Arduino.

Connect the ground wire (blue in my case) of the LEDs to ground on the Arduino.

Step 10:

Put masking tape on the back of each lite and number the lights starting at 0 (from the side that connects to the Arduino). This will be used to identify the index number of the light for use in the controlling software.

Step 11:

The button has 4 pins. Power and ground for the button, and a power and ground for the LED. The LED pins are marked with a + and -.

LED pins from button:

Solder a red wire to the + pin of the button and connect it to a PWM port in the Arduino (port 13).

Solder a black wire to - pin of the button and connect it to a 330 Ohm resistor. Connect the other end of the resistor to a black wire and connect it to ground on the Arduino.

Button pins:

Solder a white wire to either of the button pins and connect it to a PWM port on the Arduino (port 8).

Solder a blue wire to the other button pin and connect it to ground on the Arduino.

Step 12:

Attach the LEDs to the under side of the board lid. One LED for each and every hole.

Use masking tape to hold the lights in place. The order of the lights does not matter. The software can refer to the correct light by referring to the index previously written to the back of each light.

Attach the LED button to the box lid (in the center of my board).

Step 13:

Hook Arduino up to computer and write software to light up lights on the board when the button is pressed.

Upload software to Arduino, test, debug, and enjoy.