# LED Shoji Lamp

## Overview

https://youtu.be/SGZSfHgnZsA

![](https://cdn-learn.adafruit.com/assets/assets/000/142/486/medium800/3d_printing_hero-plant-B.jpg?1771514521 )

Build a 3D printed desktop sized lamp using Circuit Playground Express. Use a mini IR remote to control the brightness and change the colors of the LEDs. It features five multi-colored panels that have geometric designs.

A shoji lantern (or Andon) is a traditional [Japanese light fixture](https://en.wikipedia.org/wiki/Traditional_lighting_equipment_of_Japan) featuring translucent paper panels usually set within a wooden frame. It adds a gentle warm glow to bedrooms and ideal for creating a calm meditative atmosphere. Originally designed to protect an oil wick flame from the wind, this project modernizes the concept with LEDs.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/142/487/medium640/3d_printing_hero-plant.jpg?1771515917)

This uses a sliding dovetail joint for the frame which is a woodworking technique. It provides a strong, self-locking connection by sliding a tail into a corresponding socket. The tail features a trapezoidal shape. It's good for mechanical strength and resistant to being pulled apart.

To stay within the traditional woodworking technique, this doesn't use any hardware fasteners to assemble. No screws or glue, just snap fit 3D printed parts!

![](https://cdn-learn.adafruit.com/assets/assets/000/142/489/medium640/3d_printing_hero-cpx-remote.jpg?1771516002)

A mini IR remote can be used to change the color of the ten NeoPixel LEDs. 0-9 numbers are assigned to change the colors while the play/pause button turns them all off. The up and down arrows are used to increase or decrease the brightness of the LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/503/medium640/3d_printing_hero-remote.jpg?1771531698)

The panels are 3D printed using a translucent filaments. They utilize a multi-material add-on that uses four different colored filaments combined in a single printed part.

The shapes are inspired by [impossible objects](https://en.wikipedia.org/wiki/Impossible_object) that use optical illusions to appear like three-dimensional geometric shapes.

Panels slide into the stiles (vertical uprights) and are secured within the frame. The frame can hold up to five different panels. The panels can be swapped out for different designs making this a modular assembly.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/142/490/medium640/3d_printing_hero-cpx-panels-lit.jpg?1771516036)

# Parts
Featured
### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
![A Black woman's manicured hand holds a round microcontroller with lit up LEDs.](https://cdn-shop.adafruit.com/640x480/3333-05.jpg)

Featured
### Mini Remote Control

[Mini Remote Control](https://www.adafruit.com/product/389)
This little remote control would be handy for controlling a robot or other project from across the room. It has 21 buttons and a layout we thought was handy: directional buttons and number entry buttons. The remote uses the NEC encoding type and sends data codes 0 thru 26 (it skips #3, #7,...

In Stock
[Buy Now](https://www.adafruit.com/product/389)
[Related Guides to the Product](https://learn.adafruit.com/products/389/guides)
![Mini Remote Control with 21 buttons](https://cdn-shop.adafruit.com/640x480/389-03.jpg)

Featured
### Fully Reversible Pink/Purple USB A to micro B Cable - 1m long

[Fully Reversible Pink/Purple USB A to micro B Cable - 1m long](https://www.adafruit.com/product/4111)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also fully reversible! That's right, you will save _seconds_ a day by not having to flip the cable around.

First let's talk about the cover and over-molding. We got these...

In Stock
[Buy Now](https://www.adafruit.com/product/4111)
[Related Guides to the Product](https://learn.adafruit.com/products/4111/guides)
![Fully Reversible Pink/Purple USB A to micro B Cable](https://cdn-shop.adafruit.com/640x480/4111-02.jpg)

Featured
### 5V 1A (1000mA) USB port power supply - UL Listed

[5V 1A (1000mA) USB port power supply - UL Listed](https://www.adafruit.com/product/501)
Need a USB jack for charging or powering a project, but don't want to lug around a computer? This switching supply gives a clean regulated output at up to 1000mA! 110 or 240 input, so it works in any country. The plugs are "US 2-prong" style so you may need a plug adapter, but...

In Stock
[Buy Now](https://www.adafruit.com/product/501)
[Related Guides to the Product](https://learn.adafruit.com/products/501/guides)
![Wall wart power supply with 2 US prong power](https://cdn-shop.adafruit.com/640x480/501-05.jpg)

# LED Shoji Lamp

## CAD Files

## CAD Parts

Individual 3MF files for 3D printing are oriented and ready to print on FDM machines using PLA filament. Original design source files may be downloaded using the links below.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/405/medium640/3d_printing_3d-parts.jpg?1771267561)

[Download 3MF files](https://cdn-learn.adafruit.com/assets/assets/000/142/530/original/3mf.zip?1771867253)
[Download CAD Source Files](https://cdn-learn.adafruit.com/assets/assets/000/142/531/original/CAD.zip?1771867427)
## CAD Assembly

A set of four rails are fitted onto the four stiles with the dovetails sliding into corresponding groves.

The bottom panel snap fits onto the lower rails.

A set of four panels slide in between the stiles.

Another set of rails are fitted over the panels and slide in between the stiles.

The CircuitPlayground PCB snap fits onto the bottom cover.

The top panel is fitted into the recess on the top cover.

The top cover locks onto the upper set of rails.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/455/medium640thumb/3d_printing_CAD.jpg?1771351582)

## Frame Parts

The frame requires multiple copies of the stiles and rails. Use the 3MF file **Stile and Rails Set.3mf** to print a full set of parts needed to build the frame. Otherwise, you can print each part individually.

- 7x rails
- 1x cable rail
- 4x stiles

![](https://cdn-learn.adafruit.com/assets/assets/000/142/325/medium640/3d_printing_slice-part-set.jpg?1770836557)

## Build Volume

The parts require a 3D printer with a minimum build volume of 124 (X) x 124 (Y) x 136mm (Z).

![](https://cdn-learn.adafruit.com/assets/assets/000/142/326/medium640/3d_printing_slice-size.jpg?1770837066)

## Multi-color Panels

This guide assumes an AMS multi-color capable 3D printer is being used. The panels are in the 3MF file format, which includes bodies, colors and slicing meta data. You can choose any four colors of filaments you'd like and have the option to change the colors for each body. List of filaments used are linked below.

- [Black PLA](https://www.amazon.com/Polymaker-Panchroma-Filament-Charcoal-Polyterra/dp/B0D7ZYCVTY/)
- [Translucent Magenta PLA](https://www.amazon.com/dp/B0D4DR37PF?ref=fed_asin_title&th=1)
- [Translucent Yellow PLA](https://www.amazon.com/dp/B0D4Q5NNGD?ref=fed_asin_title&th=1)
- [Translucent Cyan PLA](https://www.amazon.com/dp/B0D4DN9F4X?ref=fed_asin_title&th=1)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/328/medium640/3d_printing_slice-panel.jpg?1770838167)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/456/medium800/3d_printing_Panels-CAD-cropped.jpg?1771352473 )

# LED Shoji Lamp

## CircuitPython

Danger: 

# Install or update CircuitPython!

Follow this quick step-by-step for super-fast Python power :)

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

Download and save it to your Desktop (or wherever is handy)

![circuit_playground_uf2.png](https://cdn-learn.adafruit.com/assets/assets/000/047/217/medium640/circuit_playground_uf2.png?1507849069)

Plug your Circuit Playground Express into your computer using a known-good USB cable

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

Double-click the small **Reset** button in the middle of the CPX, you will see all of the LEDs turn green. If they turn all red, check the USB cable, try another USB port, etc.

(If double-clicking doesn't do it, try a single-click!)

![circuit_playground_led_strips_3333_giffy1.gif](https://cdn-learn.adafruit.com/assets/assets/000/047/218/medium640thumb/circuit_playground_led_strips_3333_giffy1.jpg?1507849085)

![circuit_playground_greens.jpg](https://cdn-learn.adafruit.com/assets/assets/000/047/219/medium640/circuit_playground_greens.jpg?1507849107)

You will see a new disk drive appear called **CPLAYBOOT**  
  
Drag the **adafruit-circuitpython-etc...uf2** file onto it

![circuit_playground_cplayboot.gif](https://cdn-learn.adafruit.com/assets/assets/000/047/221/medium640/circuit_playground_cplayboot.gif?1507849132)

![circuit_playground_drag.png](https://cdn-learn.adafruit.com/assets/assets/000/047/222/medium640/circuit_playground_drag.png?1507849146)

The **CPLAYBOOT** drive will disappear and a new disk drive will appear called **CIRCUITPY**

That's it! You're done :)

![circuit_playground_circuipy.png](https://cdn-learn.adafruit.com/assets/assets/000/047/223/medium640/circuit_playground_circuipy.png?1507849179)

## Further Information
For more detailed info on installing CircuitPython, check out [Installing CircuitPython](../../../../welcome-to-circuitpython/installing-circuitpython).

# LED Shoji Lamp

## Code

Once you've finished setting up your Circuit Playground Express 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 to your computer as a zipped folder.

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

## Upload the Code and Libraries to the Circuit Playground Express

After downloading the Project Bundle, plug your Circuit Playground Express 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 Feather Prop Maker's **CIRCUITPY** drive.

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

Your Circuit Playground Express **CIRCUITPY** drive should look like this after copying the **lib** folder&nbsp;and **code.py** file:

![Screenshot of the CIRCUITPY drive](https://adafruit.github.io/Adafruit_Learning_System_Guides/Hacking_Ikea_Lamps_With_CPX_CPX_Sjopenna_Remote_Lamp.png )

## How the CircuitPython Code Works

At the top of the code, we&nbsp;`import`&nbsp;the four libraries we'll be using in our code. Then we setup use of those libraries. First we assign&nbsp;`last_command`&nbsp;for use later. Then, we assign&nbsp;`brightness_up`&nbsp;to the IR command code associated with the up arrow on the IR remote, and&nbsp;`brightness_down`&nbsp;to the code for the down arrow.

```python
import adafruit_irremote
import board
import neopixel
import pulseio

pixels = neopixel.NeoPixel(board.NEOPIXEL, 10)

pulsein = pulseio.PulseIn(board.REMOTEIN, maxlen=120, idle_state=True)
decoder = adafruit_irremote.GenericDecode()

last_command = None
brightness_up = 95  # Up arrow
brightness_down = 79  # Down arrow
```

## Commands Dictionary

The `keys`&nbsp;are the IR codes for the eleven buttons we're using and the&nbsp;`values`&nbsp;are their associated&nbsp;`(r, g, b)` tuples. NeoPixel colors are represented using red, green and blue in values of 0 - 255 to determine the amount of a given color.&nbsp; We've used comments on each line to identify which button on the remote and assigned color the dictionary is referring to.

```python
command_to_color = {  # button = color
    247: (255, 0, 0),  # 1 = red
    119: (255, 40, 0),  # 2 = orange
    183: (255, 150, 0),  # 3 = yellow
    215: (0, 255, 0),  # 4 = green
    87: (0, 255, 120),  # 5 = teal
    151: (0, 255, 255),  # 6 = cyan
    231: (0, 0, 255),  # 7 = blue
    103: (180, 0, 255),  # 8 = purple
    167: (255, 0, 20),  # 9 = magenta
    207: (255, 255, 255),  # 0 = white
    127: (0, 0, 0),  # Play/Pause = off
}
```

## The Loop

The first two sections of code inside the loop are designed to read the incoming IR signals, decode them, and prepare them for practical use.

To simplify the amount of IR noise, the line&nbsp;`if len(code) > 3:`&nbsp;says the signal must be longer longer than three values before we do anything with it. The decoded signal from each button on this remote is four numbers in a list format:&nbsp;`[0, 0, 0, 0]`. You need only the third number from that list. When we get a code of the correct length, we assign&nbsp;`command`&nbsp;to be the third value from the list by assigning&nbsp;`command = code[2]`.

The two&nbsp;`print`&nbsp;statements are here to identify the command code for the unused buttons on the remote. Some remotes will have different command. Reference the commands in the REPL output to update and change the values in the commands dictionary.

```python
while True:
    pulses = decoder.read_pulses(pulsein, max_pulse=5000)
    command = None
    try:
        code = decoder.decode_bits(pulses)
        if len(code) > 3:
            command = code[2]
        print("Decoded:", command)
        print("-------------")
    except adafruit_irremote.IRNECRepeatException:  # Catches the repeat signal
        command = last_command
    except adafruit_irremote.IRDecodeException:  # Failed to decode
        pass

    if not command:
        continue
    last_command = command

    if command == brightness_up:
        pixels.brightness += 0.1
    elif command == brightness_down:
        pixels.brightness -= 0.1
    elif command in command_to_color:
        pixels.fill(command_to_color[command])
```

# LED Shoji Lamp

## Assembly

## Frame Parts

Start by getting the four stiles and rails together. Make sure there are three rails and one cable rail is in the set.

Arrange them in the correct orientation with the four stiles on each corner with a rail in between them.

Note, the nubs are facing inside the frame with the center channel facing up.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/371/medium640/3d_printing_frame-parts.jpg?1771263025)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/375/medium640/3d_printing_frame-lower-blocking.jpg?1771263345)

## Assemble Lower Rails

Begin joining the rails to the stiles, starting with adding one rail to a single stile.

Slide a rail into a stile, with the dovetail fitted into the mating grove. Push the rail all the way down until it reach the end of the grove.

Repeat the assembly for the remaining stiles and rails.

Take a moment to inspect the frame, making sure the nubs are facing inwards and the channels are facing up.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/376/medium640/3d_printing_frame-lower-1.jpg?1771263416)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/377/medium640/3d_printing_frame-lower-6.jpg?1771263581)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/381/medium640/3d_printing_frame-lower-assembled.jpg?1771263838)

## Bottom Panel

Orient the bottom panel so the side with the doubled tabs (two shorter tabs) are aligned with the rail cable part of the frame.

Fit the bottom panel in between the four stiles. Firmly press the bottom panel into the rails so the tabs snap fit onto the nubs.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/382/medium640/3d_printing_frame-bottom.jpg?1771264064)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/383/medium640/3d_printing_frame-bottom-align.jpg?1771264099)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/384/medium640/3d_printing_frame-bottom-installing.jpg?1771264140)

## Installed Bottom

Take a moment to inspect the framed assembly, making sure the rails are oriented correctly with the center channels in the rails facing up, and the cable rail matched with the double tabbed side of the bottom panel.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/386/medium640/3d_printing_frame-bottom-installed.jpg?1771264428)

## Install Circuit Playground Express

Orient the Circuit Playground PCB so the micro USB port is facing the rail with the matching cutout.

Fit one side of the PCB under the clips on the bottom panel. Then, slightly flex the panel to allow the other side of the PCB to fit under the remaining tab.

Press down on the PCB until it is fully seated onto the four standoffs on the bottom panel.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/387/medium640/3d_printing_cpx-bottom-align.jpg?1771264624)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/388/medium640/3d_printing_cpx-bottom-installing.jpg?1771264678)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/389/medium640/3d_printing_cpx-bottom-installed.jpg?1771264707)

## Install Panels

Get the four panels ready to install onto the four stiles of the frame.

Slide the panels in between the stiles, with the edges fitting into the groves.

Repeat the installation for all four panels, making sure each panel is oriented&nbsp; correctly.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/390/medium640/3d_printing_panels-preinstall.jpg?1771264744)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/391/medium640/3d_printing_panel-install-1.jpg?1771264786)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/392/medium640/3d_printing_panel-install-2.jpg?1771265691)

## Install Top Rails

Get the remaining four rails ready to install onto the frame.

Orient the four rails so the nubs are facing outside the frame.

Carefully fit the rails onto the stiles with the dovetails fitted in the corresponding groves.

Make sure the panels are being captured into the center channels of the rails and the nubs on the rails are facing outwards.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/395/medium640/3d_printing_top-frame-parts.jpg?1771266825)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/396/medium640/3d_printing_top-frame-install-1.jpg?1771265767)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/397/medium640/3d_printing_top-frame-installed.jpg?1771265898)

## Install Top Panel

Get the top panel and top cover ready.

Place the top panel into the recess on the top cover.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/393/medium640/3d_printing_top-panel-parts.jpg?1771265916)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/394/medium640/3d_printing_top-panel-fitted.jpg?1771265221)

## Connect USB cable

Insert the micro USB cable through the cutout on the rail, then firmly push the plug into the connector on the Circuit Playground Express PCB.

Run a quick power test to ensure the USB cable is fully seated.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/398/medium640/3d_printing_usb-installing.jpg?1771266040)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/399/medium640/3d_printing_usb-connected.jpg?1771266078)

## Install Top Cover

With the top cover laying flat on the surface (snap fit tabs facing up) begin placing the lamp framing onto the tabs.

Firmly press the frame onto the top cover so the tabs lock onto the nubs.

Check each side of the framing, making sure the tabs are fully capturing the nubs on the rails.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/400/medium640/3d_printing_top-installing.jpg?1771266935)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/401/medium640/3d_printing_top-installing-2.jpg?1771266299)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/402/medium640/3d_printing_top-installing-3.jpg?1771266318)

## Assembled Frame

Flip the assembled frame upright and power the Circuit Playground Express with the 5V USB power supply.

Use the IR mini remote to turn on the NeoPixel LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/142/403/medium640/3d_printing_top-installed.jpg?1771267371)

![](https://cdn-learn.adafruit.com/assets/assets/000/142/404/medium640/3d_printing_final-build.jpg?1771267393)

# LED Shoji Lamp

## Usage

![](https://cdn-learn.adafruit.com/assets/assets/000/142/504/medium800thumb/3d_printing_demo-remote.jpg?1771532282 )

## IR remote controls

Use the buttons on the remote to change the colors of the LEDs. Use the **up** and **down** arrows to increase/decrease the brightness of the LEDs.

- 1 = Red color
- 2 = Orange color
- 3 = Yellow color
- 4 = Green color
- 5 = Teal color
- 6 = Cyan color
- 7 = Blue color
- 8 = Purple color
- 9 = Magenta color
- 0 = White color
- Play/Pause = All LEDs off


## Guide Products

### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

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

[Mini Remote Control](https://www.adafruit.com/product/389)
This little remote control would be handy for controlling a robot or other project from across the room. It has 21 buttons and a layout we thought was handy: directional buttons and number entry buttons. The remote uses the NEC encoding type and sends data codes 0 thru 26 (it skips #3, #7,...

In Stock
[Buy Now](https://www.adafruit.com/product/389)
[Related Guides to the Product](https://learn.adafruit.com/products/389/guides)
### Fully Reversible Pink/Purple USB A to micro B Cable - 1m long

[Fully Reversible Pink/Purple USB A to micro B Cable - 1m long](https://www.adafruit.com/product/4111)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also fully reversible! That's right, you will save _seconds_ a day by not having to flip the cable around.

First let's talk about the cover and over-molding. We got these...

In Stock
[Buy Now](https://www.adafruit.com/product/4111)
[Related Guides to the Product](https://learn.adafruit.com/products/4111/guides)
### 5V 1A (1000mA) USB port power supply - UL Listed

[5V 1A (1000mA) USB port power supply - UL Listed](https://www.adafruit.com/product/501)
Need a USB jack for charging or powering a project, but don't want to lug around a computer? This switching supply gives a clean regulated output at up to 1000mA! 110 or 240 input, so it works in any country. The plugs are "US 2-prong" style so you may need a plug adapter, but...

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

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [ItsyBitsy ESP32 wFL case](https://learn.adafruit.com/itsybitsy-esp32-wfl-case.md)
- [Tappy Robotic Hand](https://learn.adafruit.com/robotic-tapping-hand-with-cpx.md)
- [LED NeoPixel Corset with Circuit Playground Express and MakeCode](https://learn.adafruit.com/led-corset-with-circuit-playground-and-makecode.md)
- [Ping Pong Ball Launcher](https://learn.adafruit.com/ping-pong-ball-launcher-with-cpx.md)
- [What is Web MIDI & BLE MIDI?](https://learn.adafruit.com/web-ble-midi.md)
- [Using the Android CircuitPython Editor](https://learn.adafruit.com/using-the-android-circuitpython-editor.md)
- [Motorized POV LED Display](https://learn.adafruit.com/motorized-pov-led-display.md)
- [Sparky the Blue Smoke Monster Automaton](https://learn.adafruit.com/sparky-automaton.md)
- [Tree with Animated Eyes and Motion Sensor](https://learn.adafruit.com/tree-ent-sculpture-with-animated-eyes.md)
- [Automatic Cat Treat Dispenser](https://learn.adafruit.com/automatic-cat-treat-dispenser.md)
- [CompuCanvas 101 - Transitions](https://learn.adafruit.com/compucanvas-101.md)
- [Circuit Playground Gizmo Ornaments](https://learn.adafruit.com/display-ornaments-with-circuit-playground.md)
- [New Year Countdown Clock with Circuit Playground Express](https://learn.adafruit.com/new-year-countdown-clock-with-circuit-playground-express.md)
- [Tightrope Unicycle Bot](https://learn.adafruit.com/tightrope-unicycle-bot.md)
- [Spy Theme Playback Device](https://learn.adafruit.com/spy-theme-playback-device.md)
