# PropMaker Jack O'Lantern

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/132/785/medium800thumb/3d_printing_guide-thumb.jpg?1727800515)

https://youtu.be/-EdjjKkbZP8

Turn an IKEA Pumpkin LED lamp into a distance sensing Halloween prop that plays music and sound effects! A continuous servo rotates the pumpkin as spooky laughter blasts from the 3D printed base. Perfect for greeting your guests at Halloween parties or scaring treat or treaters.

![3d_printing_hero-stoop.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/783/medium640/3d_printing_hero-stoop.jpg?1727800222)

The [KUSTFYR LED table lamp from IKEA](https://www.ikea.com/us/en/p/kustfyr-led-table-lamp-pumpkin-70560309/) features a bright LED bulb with a pumpkin themed lamp shade that has two screen printed faces. This project utilizes the stock LED bulb and pumpkin, brought to life with the Adafruit PropMaker Feather RP2040 and CircuitPython code.

![3d_printing_ikea-lamp.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/781/medium640/3d_printing_ikea-lamp.jpg?1727798980)

A VL53L1X time of flight sensor is hidden inside the base that detects when an object is nearby. Different audio is played depending on the distance, making this an advanced prop that's more than just a typical store-bought Halloween amusement.

You may customize the CircuitPython code to change the distances, servo movement, sound effects and more.

![3d_printing_hero-sensor.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/786/medium640/3d_printing_hero-sensor.jpg?1727800649)

The 3D printed base features unique details that are inspired by gothic architecture. The parts are designed to snap fit together and are printed without any support material, making for an IKEA-esque assembly.

![3d_printing_hero-case.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/787/medium640/3d_printing_hero-case.jpg?1727800897)

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

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

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

### Continuous Rotation Micro Servo

[Continuous Rotation Micro Servo](https://www.adafruit.com/product/2442)
Need to make a _tiny_ robot? This little micro servo rotates 360 degrees fully forward or backward, instead of moving to a single position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving robots. Comes with five horns and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2442)
[Related Guides to the Product](https://learn.adafruit.com/products/2442/guides)
![Demo Video of the Continuous Rotation Micro Servo with a "t" shaped propeller connected to the gear and spinning.](https://cdn-shop.adafruit.com/product-videos/640x480/2442-02.jpg)

### Adafruit VL53L1X Time of Flight Distance Sensor - ~30 to 4000mm

[Adafruit VL53L1X Time of Flight Distance Sensor - ~30 to 4000mm](https://www.adafruit.com/product/3967)
The&nbsp; **Adafruit VL53L1X Time of Flight Distance Sensor** (also known as VL53L1CX) is a&nbsp;_Time of Flight_&nbsp;distance sensor that has a massive 4 meter range and LIDAR-like precision. The sensor contains a very tiny invisible laser source and a matching sensor....

Out of Stock
[Buy Now](https://www.adafruit.com/product/3967)
[Related Guides to the Product](https://learn.adafruit.com/products/3967/guides)
![Top view of Adafruit VL53L1X Time of Flight Distance Sensor hooked up to an OLED display. A white manicured hand waves at the sensor, and the OLED displays the distance.](https://cdn-shop.adafruit.com/product-videos/640x480/3967-05.jpg)

### Mono Enclosed Speaker with Plain Wires - 3W 4 Ohm

[Mono Enclosed Speaker with Plain Wires - 3W 4 Ohm](https://www.adafruit.com/product/4445)
Listen up! This single&nbsp; 2.8" x 1.2" speaker&nbsp;is&nbsp;the perfect addition to any audio project where you need 4 ohm impedance and 3W or less of power. We particularly like these speakers as they are small and enclosed for good audio volume and quality. This speaker _does..._

In Stock
[Buy Now](https://www.adafruit.com/product/4445)
[Related Guides to the Product](https://learn.adafruit.com/products/4445/guides)
![Enclosed Speaker with wires](https://cdn-shop.adafruit.com/640x480/4445-01.jpg)

### Mini Panel Mount SPDT Toggle Switch

[Mini Panel Mount SPDT Toggle Switch](https://www.adafruit.com/product/3221)
This or that, one or the other, perhaps or perhaps not! So hard to make decisions these days without feeling like you're just going back and forth constantly. Deciding whether or not to use this mini toggle switch? That's the easiest decision you'll make all day!

This...

In Stock
[Buy Now](https://www.adafruit.com/product/3221)
[Related Guides to the Product](https://learn.adafruit.com/products/3221/guides)
![Angled shot of blue, mini, SPDT toggle switch.](https://cdn-shop.adafruit.com/640x480/3221-01.jpg)

### STEMMA QT / Qwiic JST SH 4-Pin Cable - 200mm Long

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

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

In Stock
[Buy Now](https://www.adafruit.com/product/4401)
[Related Guides to the Product](https://learn.adafruit.com/products/4401/guides)
![Angled shot of JST SH 4-Pin Cable - 200mm Long.](https://cdn-shop.adafruit.com/640x480/4401-04.jpg)

### Part: Silicone Ribbon Cable
quantity: 1
4 Wires 1 Meter Long - 28AWG Black
[Silicone Ribbon Cable](https://www.adafruit.com/product/3891)

### Part: USB-C Cable
quantity: 1
2 meters long
[USB-C Cable](https://www.adafruit.com/product/5044)

### Part: USB Power Supply
quantity: 1
5V 1A USB port power supply
[USB Power Supply](https://www.adafruit.com/product/501)

### Part: IKEA Pumpkin LED Lamp
quantity: 1
KUSTFYR LED table lamp
[IKEA Pumpkin LED Lamp](https://www.ikea.com/us/en/p/kustfyr-led-table-lamp-pumpkin-70560309/)

# PropMaker Jack O'Lantern

## Circuit Diagram

The diagram below provides a general visual reference for wiring of the components once you get to the **Assembly** page. This diagram was created using the software package [Fritzing](http://fritzing.org/download/).

## Adafruit Library for Fritzing

Adafruit uses the Adafruit's Fritzing parts library to create circuit diagrams for projects. You can 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/132/535/medium800/3d_printing_circuit-diagram-v1.jpg?1727112128)

## Wired Connections

- **Toggle Switch** &nbsp;connects to&nbsp; **Btn** &nbsp;and&nbsp; **GND** &nbsp;pins on&nbsp; **Feather** &nbsp;screw-block terminals
- **Speaker** &nbsp;connects to speaker ( **+&nbsp;** and **&nbsp;–** ) pins on **&nbsp;Feather** &nbsp;screw-block terminals
- **Continuous Servo** connects to **Servo** pins on **Feather** screw-block terminals
- **VL53L1X** connects to **STEMMA QT** port on **Feather**

**5V 1A USB Power Supply**

The PropMaker Feather RP2040 is powered by a 5V 1A USB power supply.

# PropMaker Jack O'Lantern

## CircuitPython

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

## CircuitPython Quickstart

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

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

Save it wherever is convenient for you.

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

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

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

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

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

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

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

&nbsp;

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

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

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

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

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

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

## Safe Mode

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

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

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

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

### In Safe Mode

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

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

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

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

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

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

## Flash Resetting UF2

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

[Download flash erasing "nuke" UF2](https://cdn-learn.adafruit.com/assets/assets/000/101/659/original/flash_nuke.uf2?1618945856)
# PropMaker Jack O'Lantern

## Code the Jack O'Lantern

Once you've finished setting up your Feather RP2040 Propmaker 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/Spinning_Ikea_Pumpkin/code.py

## Upload the Code, Sound Effects and Libraries to the Feather RP2040 Propmaker

After downloading the Project Bundle, plug your Feather RP2040 Propmaker 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 RP2040 Propmaker's **CIRCUITPY** drive.

- **lib** folder
- **code.py**
- **happy-halloween.wav**
- **laught-1.wav**
- **laught-2.wav**
- **laught-3.wav**
- **music-loop-1.wav**
- **music-loop-2.wav**
- **music-loop-3.wav**

Your Feather RP2040 Propmaker **CIRCUITPY** drive should look like this after copying the **lib** folder, sound effects and the **code.py** file.

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

## How the CircuitPython Code Works

At the top of the code, there are some user configurable settings that you can edit. `distance_delay` affects how often the time of flight sensor is read. The `servo_delays` array has four different delay amounts for spinning the servo. These correspond with the distances in the `distances` array. In the loop, when you pass certain distances with the time of flight sensor, the delay for the servo changes.

Finally, the music and sound effect audio files are opened. You can change which music loop and sound effects you want to have for the project. A few options are included in the project bundle.

```python
distance_delay = 4 # how often vl53 is read
servo_delays = [2.0, 1.5, 1.0, 0.5] # servo spin delay
distances = [150, 100, 80, 40] # in centimeters
max_audio = 1
# audio files
music = audiocore.WaveFile(open("music-loop-1.wav", "rb"))
fx_1 = audiocore.WaveFile(open("happy-halloween.wav", "rb"))
fx_2 = audiocore.WaveFile(open("laugh-2.wav", "rb"))
fx_3 = audiocore.WaveFile(open("laugh-3.wav", "rb"))
```

## I2C and Audio

The time of flight sensor is instantiated over I2C. Next, the I2S audio is instantiated followed by a mixer object. Each of the four audio files will be played on separate voices.

```python
i2c = board.STEMMA_I2C()
vl53 = adafruit_vl53l1x.VL53L1X(i2c)

tracks = [music, fx_1, fx_2, fx_3]
audio = audiobusio.I2SOut(board.I2S_BIT_CLOCK, board.I2S_WORD_SELECT, board.I2S_DATA)
mixer = audiomixer.Mixer(voice_count=4, sample_rate=22050, channel_count=1,
                         bits_per_sample=16, samples_signed=True)
audio.play(mixer)
mixer.voice[0].play(tracks[0], loop=True)
mixer.voice[0].level = 0.0
```

## Input, Output and PWM

The external power pin is enabled as an output. This gives power to the external components on the Feather. The slide switch is attached to the `EXTERNAL_BUTTON` pin. In the loop, the slide switch controls the state of the external power pin. A PWM object is setup for the `EXTERNAL_SERVO` pin for the continuous servo.

```python
# enable external power pin
# provides power to the external components
external_power = DigitalInOut(board.EXTERNAL_POWER)
external_power.direction = Direction.OUTPUT
external_power.value = True

switch = DigitalInOut(board.EXTERNAL_BUTTON)
switch.direction = Direction.INPUT
switch.pull = Pull.UP

# servo control
pwm = pwmio.PWMOut(board.EXTERNAL_SERVO, duty_cycle=2 ** 15, frequency=50)
servo = servo.ContinuousServo(pwm, min_pulse=750, max_pulse=2250)
```

## The Loop

In the loop, if the time of flight sensor does not detect anything in front of it, the mixer and servo are paused. If the sensor detects something, `lamba` is used to calculate which value in distances that the reading is closest to. This result determines the sound effect played and the servo speed.

```python
while True:
    if switch.value:
        external_power.value = True
        if prop_time:
            if ticks_diff(ticks_ms(), servo_clock) >= servo_time:
                print(servo_throttle)
                servo.throttle = servo_throttle
                servo_throttle = not servo_throttle
                servo_clock = ticks_add(servo_clock, servo_time)
        if ticks_diff(ticks_ms(), vl53_clock) >= vl53_time:
            if vl53.data_ready:
                print(f"Distance: {vl53.distance} cm")
                vl53.clear_interrupt()
            if vl53.distance is None:
                prop_time = False
                mixer.voice[0].level = 0.0
                servo_time = int(servo_delays[0] * 1000)
                servo.throttle = 1.0
            else:
                closest_distance = min(distances, key=lambda x: abs(vl53.distance - x))
                # print(closest_distance)
                if vl53.distance <= distances[0]:
                    prop_time = True
                    mixer.voice[0].level = max_audio
                else:
                    prop_time = False
                    mixer.voice[0].level = 0.0
                    servo.throttle = 1.0
                if closest_distance == distances[1]:
                    mixer.voice[1].play(tracks[1], loop=False)
                    servo_time = int(servo_delays[1] * 1000)
                elif closest_distance == distances[2]:
                    mixer.voice[2].play(tracks[2], loop=False)
                    servo_time = int(servo_delays[2] * 1000)
                elif closest_distance == distances[3]:
                    mixer.voice[3].play(tracks[3], loop=False)
                    servo_time = int(servo_delays[3] * 1000)
            vl53_clock = ticks_add(vl53_clock, vl53_time)
    else:
        external_power.value = False
```

# PropMaker Jack O'Lantern

## CAD Files

## Build Volume

The parts require a 3D printer with a minimum build volume of:

- 196mm (X) x 196 (Y) x 80mm (Z)

![3d_printing_cura-slice.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/751/medium640/3d_printing_cura-slice.jpg?1727793124)

[Download STLs](https://cdn-learn.adafruit.com/assets/assets/000/132/754/original/STLs.zip?1727793400)
[Download CAD Source Files](https://cdn-learn.adafruit.com/assets/assets/000/132/755/original/CAD.zip?1727793569)
## 3D Printed Parts

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 using PLA filament. Original design source may be downloaded using the links above.

![3d_printing_3d-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/753/medium640/3d_printing_3d-parts.jpg?1727793315)

## 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 boards, displays, connectors and more can be downloaded from the&nbsp;[Adafruit CAD parts GitHub Repo](https://github.com/adafruit/Adafruit_CAD_Parts/).

![3d_printing_5768-Feather-RP2040-PropMaker.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/752/medium640/3d_printing_5768-Feather-RP2040-PropMaker.jpg?1727793218)

# PropMaker Jack O'Lantern

## Wiring

## Toggle Switch

Use the silicone ribbon cable to create a 2-wire strand that is 9 inches (22cm) long.

Solder the wires to the terminals on the toggle switch. Use the middle and far left or right terminals.

![3d_printing_toggle-switch-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/627/medium640/3d_printing_toggle-switch-solder.jpg?1727704938)

![3d_printing_toggle-switch-wired.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/628/medium640/3d_printing_toggle-switch-wired.jpg?1727705728)

## Parts Prep

Get the various components ready to connect to the PropMaker Feather.&nbsp;

- STEMMA QT cable
- Toggle Switch
- Continuous Servo
- Servo Horn
- VL53L1X Sensor

![3d_printing_parts-prep.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/629/medium640/3d_printing_parts-prep.jpg?1727705756)

## Connect Toggle Switch

Insert one of the wires from the switch to the ground pin on the Feather screw block terminal.&nbsp;

Insert the second wire to the button pin on the Feather screw block terminal.

Use a flat head screw driver to secure the wires to the Feather screw block terminal.

![3d_printing_feather-toggle-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/630/medium640/3d_printing_feather-toggle-connect.jpg?1727705771)

## Connect Servo

Plug the 3-pin header into the servo headers on the Feather, making sure the ground colored wire (usually brown or black) is connected to the ground pin, red/orange to +V, and yellow to signal.

Install the selected servo horn onto the shaft of the servo.

![3d_printing_feather-servo-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/631/medium640/3d_printing_feather-servo-connect.jpg?1727705827)

![3d_printing_servo-horn-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/632/medium640/3d_printing_servo-horn-install.jpg?1727705842)

## Remove Tape

Using tweezers (or some other appropriate tool), CAREFULLY remove the protective tape over the sensor, as seen in the image. There is a small tab on the side of the tape that you can use to remove it.

![3d_printing_VL53L1X-remove-tape.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/636/medium640/3d_printing_VL53L1X-remove-tape.jpg?1727705999)

## Connect Sensor

Use the STEMMA QT cable to connect the sensor to the Feather.

![3d_printing_sensor-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/633/medium640/3d_printing_sensor-connect.jpg?1727705854)

## Power Test

Connect the Feather to your computer's USB host port to power on the circuit.

The CircuitPython project code and files should be added to the Feather's USB drive.

![3d_printing_feather-test.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/634/medium640/3d_printing_feather-test.jpg?1727705872)

## Adjust Servo Sensitivity

Locate the potentiometer on the bottom of the servo.

Use a small screwdriver to adjust the potentiometer until the servo stops moving. Gently turn the pot until the movement and speed is set to a desirable setting.

![3d_printing_servo-adjust.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/635/medium640/3d_printing_servo-adjust.jpg?1727705896)

Once the servo sensitivity is set, disconnect the servo, speaker and sensor from the Feather PropMaker RP2040.

# PropMaker Jack O'Lantern

## Assembly

## Servo Horn & Gear

Get the hardware that was included with the servo, servo horn, and 3D printed gear ready to secure together.

![3d_printing_servo-gear-horn.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/637/medium640/3d_printing_servo-gear-horn.jpg?1727706073)

## Attach Gear

Place the 3D printed gear over the servo horn and line up the mounting holes. Use the shorter screw to secure the gear to the horn.

Press the horn onto the shaft of the continuous servo.

![3d_printing_servo-gear-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/638/medium640/3d_printing_servo-gear-secure.jpg?1727706146)

![3d_printing_servo-gear-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/639/medium640/3d_printing_servo-gear-install.jpg?1727706181)

## Top Cover Mounts

Get the pillar cover, LED holder, and servo mount ready to assemble. Use the following hardware to secure the parts together:

- 4x M3 x 8mm long machine screws
- 4x M3 hex nuts

![3d_printing_pillar-cover-mounts-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/640/medium640/3d_printing_pillar-cover-mounts-screws.jpg?1727706203)

## Install Servo Mount

Place the servo mount over the pillar cover and line up the corresponding mounting holes. Insert two M3 screws through the bottom. Use the hex nuts to secure the servo mount.

![3d_printing_pillar-cover-servo-mount-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/641/medium640/3d_printing_pillar-cover-servo-mount-install.jpg?1727706229)

![3d_printing_pillar-cover-servo-mount-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/642/medium640/3d_printing_pillar-cover-servo-mount-secured.jpg?1727706248)

## Install LED Mount

Place the LED holder over the pillar cover and line up the mounting holes. Insert two M3 screws through the bottom. Use the hex nuts to secure the LED mount.

![3d_printing_pillar-cover-LED-mount-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/643/medium640/3d_printing_pillar-cover-LED-mount-install.jpg?1727706267)

![3d_printing_pillar-cover-LED-mount-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/644/medium640/3d_printing_pillar-cover-LED-mount-secured.jpg?1727706280)

## IKEA Pumpkin&nbsp;

Start by removing the bottom plate from the IKEA pumpkin by unscrewing the three screws.

Save the screws, you'll need them later in the assembly.

![3d_printing_IKEA-unscrew.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/645/medium640/3d_printing_IKEA-unscrew.jpg?1727706310)

![3d_printing_IKEA-bottom.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/646/medium640/3d_printing_IKEA-bottom.jpg?1727706354)

## Remove LED Cover

Locate the two clips holding the LED cover to the bottom plate.

Remove the cover by pinching the clips inwards and pulling the cover out.

![3d_printing_IKEA-LED-clip.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/647/medium640/3d_printing_IKEA-LED-clip.jpg?1727706419)

![3d_printing_IKEA-LED-clip-remove.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/648/medium640/3d_printing_IKEA-LED-clip-remove.jpg?1727706446)

## Remove LED Socket

Use a screwdriver to remove the two hardware screws from the LED socket.

Pull the LED socket and cable from the bottom plate and save the screws. You'll need them later in the assembly.

![3d_printing_IKEA-LED-unscrew.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/650/medium640/3d_printing_IKEA-LED-unscrew.jpg?1727706509)

![3d_printing_IKEA-LED-socket-bulb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/651/medium640/3d_printing_IKEA-LED-socket-bulb.jpg?1727706521)

## LED Socket & Cable

The LED socket and cable will be assembled later in the build.

![3d_printing_LED-cable-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/692/medium640/3d_printing_LED-cable-screws.jpg?1727709043)

## Attach Gear to Pumpkin

Get the 3D printed gear plate ready to install onto the IKEA pumpkin using the three screws from before.

![3d_printing_pumpkin-gear-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/652/medium640/3d_printing_pumpkin-gear-screws.jpg?1727706552)

![3d_printing_pumpkin-gear-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/693/medium640/3d_printing_pumpkin-gear-install.jpg?1727709079)

## Secure Gear

Place the gear plate over the bottom of the IKEA pumpkin and line up the mounting holes.

Insert and fasten the three screws to secure the gear plate to the IKEA pumpkin.

![3d_printing_pumpkin-gear-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/653/medium640/3d_printing_pumpkin-gear-secure.jpg?1727706588)

![3d_printing_pump-gear-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/654/medium640/3d_printing_pump-gear-secured.jpg?1727706599)

## Speaker Grill & Pillar

Get the speaker grill and pillar ready to assemble. Use four M2.5 x 8mm long screws to secure these parts together.

Orient the speaker grill so it is in the correct orientation. Place the speaker grill inside the pillar and line up the mounting holes.

![3d_printing_spk-grill-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/655/medium640/3d_printing_spk-grill-screws.jpg?1727706653)

![3d_printing_spk-grill-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/658/medium640/3d_printing_spk-grill-installing.jpg?1727706739)

## Secure Grill

Hold the speaker grill in place while fastening screws into the pillar.

Insert and fasten the four machine screws to secure the speaker grill to the pillar.

![3d_printing_spk-grill-securing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/656/medium640/3d_printing_spk-grill-securing.jpg?1727706679)

![3d_printing_spk-grill-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/657/medium640/3d_printing_spk-grill-secured.jpg?1727706697)

## Speaker Mount

Get the speaker, sensor, 3D printed mount and the following hardware ready.

- 4x M3 x 10mm long machine screws
- 4x M3 hex nuts

![3d_printing_spk-tof-mount-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/660/medium640/3d_printing_spk-tof-mount-screws.jpg?1727707606)

![3d_printing_tof-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/665/medium640/3d_printing_tof-installing.jpg?1727707713)

## Secure Sensor

Place the VL53L1x sensor over the speaker mount and line up the two mounting holes.

Insert and fasten two M2.5 x 6mm long screws to secure the sensor to the 3D printed mount.

![3d_printing_tof-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/661/medium640/3d_printing_tof-installing.jpg?1727707637)

![3d_printing_tof-securing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/666/medium640/3d_printing_tof-securing.jpg?1727707732)

![3d_printing_tof-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/667/medium640/3d_printing_tof-secured.jpg?1727707741)

## Secure Speaker

Place the 3D printed mount over the speaker with the mounting holes lined up.

Insert four M3 x 10mm long machine screws through the 3D printed mount and the speaker mounting tabs.

Use four M3 hex nuts to secure the speaker to the 3D printed mount.

![3d_printing_spk-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/663/medium640/3d_printing_spk-secure.jpg?1727707677)

![3d_printing_spk-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/664/medium640/3d_printing_spk-secured.jpg?1727707689)

## STEMMA QT Cable

Connect the STEMMA QT cable to the sensor.

![3d_printing_tof-stemma-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/668/medium640/3d_printing_tof-stemma-connect.jpg?1727707767)

## Bottom Base

Get the bottom base and assembled speaker/sensor with two M3 x 8mm long machine screws and hex nuts.

Place the 3D printed speaker/sensor mount over the two tabs on the bottom base. Reference the assembly photo for the correct orientation.

![3d_printing_btm-base-spk-mnt.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/669/medium640/3d_printing_btm-base-spk-mnt.jpg?1727707789)

![3d_printing_btm-base-spk-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/670/medium640/3d_printing_btm-base-spk-installing.jpg?1727707809)

## Secured Speaker Mount

While holding the speaker mount in place, insert and fasten the two M3 screws. Use the two M3 hex nuts to secure the parts together.

![3d_printing_btm-base-spk-securing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/671/medium640/3d_printing_btm-base-spk-securing.jpg?1727707823)

![3d_printing_btm-base-spk-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/672/medium640/3d_printing_btm-base-spk-secured.jpg?1727707838)

## Attach Base to Pillar&nbsp;

Use M3 x 8mm long screws to secure the bottom base to the pillar.

Place the assembled pillar over the bottom base with the speaker oriented with the speaker grill.

![3d_printing_btm-base-pillar-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/674/medium640/3d_printing_btm-base-pillar-screws.jpg?1727708762)

![3d_printing_btm-base-pillar-join.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/675/medium640/3d_printing_btm-base-pillar-join.jpg?1727708780)

## Secure Base to Pillar

Insert and fasten the four M3 x 8mm long screws through the mounting tabs inside the bottom base.

![3d_printing_btm-base-pillar-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/676/medium640/3d_printing_btm-base-pillar-secure.jpg?1727708798)

![3d_printing_btm-base-pillar-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/677/medium640/3d_printing_btm-base-pillar-secured.jpg?1727708811)

## Attach Cover to Bowl

Get the pillar cover and the bowl parts ready. Use four M3 x 6mm long screws to secure these parts together.

Place the bowl over the pillar cover so the servo mount is lined up with the corresponding cutout.

![3d_printing_bowl-pcover-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/678/medium640/3d_printing_bowl-pcover-screws.jpg?1727708838)

![3d_printing_bowl-pcover-join.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/679/medium640/3d_printing_bowl-pcover-join.jpg?1727708857)

## Secure Cover to Bowl

While holding the parts in place, insert and fasten the M3 screws to secure the parts together.

![3d_printing_bowl-pcover-securing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/680/medium640/3d_printing_bowl-pcover-securing.jpg?1727708871)

![3d_printing_bowl-pcover-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/681/medium640/3d_printing_bowl-pcover-secured.jpg?1727708882)

## Attach Bowl to Pillar

Begin fitting the bowl over the pillar making sure the snap tabs are lined up with the corresponding nubs.

Firmly press the parts together to snap fit them together.

![3d_printing_bowl-pillar-join.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/682/medium640/3d_printing_bowl-pillar-join.jpg?1727708901)

![3d_printing_bowl-pillar-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/683/medium640/3d_printing_bowl-pillar-installed.jpg?1727708906)

## Install Servo to Mount

Remove the servo horn with gear from the continuous servo.

Orient the continuous servo with the servo mount so the mounting holes are lined up.

Insert the servo into the mount so the tabs are over the 3D printed tabs.

![3d_printing_servo-mount-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/684/medium640/3d_printing_servo-mount-installing.jpg?1727708928)

![3d_printing_servo-mount-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/685/medium640/3d_printing_servo-mount-install.jpg?1727708935)

## Secure Servo

Use the included longer screws to secure the servo to the 3D printed mount.

![3d_printing_servo-mount-securing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/686/medium640/3d_printing_servo-mount-securing.jpg?1727708944)

![3d_printing_servo-mount-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/687/medium640/3d_printing_servo-mount-secured.jpg?1727708951)

## Servo Cable

Insert the servo cable through one of the large openings in the pillar cover.

![3d_printing_servo-cable-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/688/medium640/3d_printing_servo-cable-install.jpg?1727708963)

## Install Servo Horn

Press the servo horn with gear back onto the shaft of the continuous servo.

![3d_printing_servo-gear-horn-reinstall.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/689/medium640/3d_printing_servo-gear-horn-reinstall.jpg?1727708978)

![3d_printing_servo-gear-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/690/medium640/3d_printing_servo-gear-installed.jpg?1727708994)

## Install LED Cable

Get the LED socket and cable from the IKEA pumpkin. Start fitting the whole cable through the opening in the pillar cover.

Orient the LED socket with the 3D printed LED holder so the mounting holes are lined up.

![3d_printing_LED-cable-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/694/medium640/3d_printing_LED-cable-install.jpg?1727709103)

![3d_printing_LED-mount-installing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/695/medium640/3d_printing_LED-mount-installing.jpg?1727709117)

## Secure LED Socket

Insert the LED socket through the mounting tabs on the LED holder.

Use the screws saved from earlier to secure the LED socket to the 3D printed holder.

![3d_printing_LED-mount-securing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/696/medium640/3d_printing_LED-mount-securing.jpg?1727709127)

![3d_printing_LED-mount-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/697/medium640/3d_printing_LED-mount-secured.jpg?1727709136)

## Install Toggle Switch

Get the toggle switch ready to panel mount into the bottom base.

Remove the hex nut and washers from the threaded stem on the toggle switch.

Insert the toggle switch through the bottom of the base.

Use the hex nut and washers to secure the toggle switch.

![3d_printing_toggle-switch-base.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/698/medium640/3d_printing_toggle-switch-base.jpg?1727709147)

![3d_printing_toggle-switch-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/699/medium640/3d_printing_toggle-switch-secured.jpg?1727709157)

## Secure Speaker Cable

Insert the two wires from the speaker into the Feather screw-block terminals. Red wire to the (+) pin and black wire to the (-) pin.

Use a flat head screwdriver to secure the wires to the terminals.

![3d_printing_feather-spk-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/700/medium640/3d_printing_feather-spk-secure.jpg?1727709166)

## Connect Servo

Plug in the cable from the continuous servo into the servo header pins on the Feather making sure the brown colored wire is inserted to the G (ground) pin.

![3d_printing_feather-servo-plugin.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/701/medium640/3d_printing_feather-servo-plugin.jpg?1727709182)

## Install Feather

Place the Feather over the standoffs on the bottom cover so the mounting holes line up.

Insert and fasten two M2.5 x 6mm long screws through the top of the feathers mounting holes.

![3d_printing_feather-btm-cover-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/702/medium640/3d_printing_feather-btm-cover-install.jpg?1727709211)

![3d_printing_feather-btm-cover-secure.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/703/medium640/3d_printing_feather-btm-cover-secure.jpg?1727709225)

## Connect STEMMA QT

Plug in the STEMMA QT cable from the VL53L1X sensor into the STEMMA QT port on the Feather.

![3d_printing_feather-stemma-plugin.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/704/medium640/3d_printing_feather-stemma-plugin.jpg?1727709236)

## Install Bottom Cover

Fit the cable from the LED socket through the cutout in the bottom base.

Begin fitting the bottom cover into the base with the snap tabs lined up with the nubs.

The Feather's USB-C port should be oriented with the cutout in the bottom base.

![3d_printing_btm-cover-pillar-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/705/medium640/3d_printing_btm-cover-pillar-install.jpg?1727709272)

![3d_printing_btm-cover-pillar-secured.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/706/medium640/3d_printing_btm-cover-pillar-secured.jpg?1727709288)

## Connect LED Bulb

Reinstall the LED bulb into the socket making sure the prongs are fitted into their matching pins.

![3d_printing_led-bulb-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/707/medium640/3d_printing_led-bulb-install.jpg?1727709298)

![3d_printing_led-bulb-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/708/medium640/3d_printing_led-bulb-installed.jpg?1727709305)

## Install Pumpkin

Place the IKEA pumpkin over the LED bulb and fitted over the bowl.

Rotate the pumpkin until the internal gear and the servo gear are meshing together.&nbsp;

![3d_printing_pump-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/709/medium640/3d_printing_pump-install.jpg?1727709318)

![3d_printing_pumpkin-installed.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/710/medium640/3d_printing_pumpkin-installed.jpg?1727709326)

## USB Power

Connect a USB-C cable into the Feather. Use a 5V 1A power supply to power on the circuit.

Connect the IKEA LED bulb to the included power adapter that came with it. Plug in the power adapter to a wall outlet. Use the LED's on/off switch to power on the LED.

![3d_printing_usb-plugin.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/711/medium640/3d_printing_usb-plugin.jpg?1727709338)

## Final Build

Use the toggle switch to "arm" the circuit. The IKEA pumpkin will start rotating and playing audio when objects are in front.

Congratulations on your build!

![3d_printing_final-build.jpg](https://cdn-learn.adafruit.com/assets/assets/000/132/712/medium640/3d_printing_final-build.jpg?1727709347)


## Featured Products

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

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

In Stock
[Buy Now](https://www.adafruit.com/product/5768)
[Related Guides to the Product](https://learn.adafruit.com/products/5768/guides)
### Continuous Rotation Micro Servo

[Continuous Rotation Micro Servo](https://www.adafruit.com/product/2442)
Need to make a _tiny_ robot? This little micro servo rotates 360 degrees fully forward or backward, instead of moving to a single position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving robots. Comes with five horns and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2442)
[Related Guides to the Product](https://learn.adafruit.com/products/2442/guides)
### Adafruit VL53L1X Time of Flight Distance Sensor - ~30 to 4000mm

[Adafruit VL53L1X Time of Flight Distance Sensor - ~30 to 4000mm](https://www.adafruit.com/product/3967)
The&nbsp; **Adafruit VL53L1X Time of Flight Distance Sensor** (also known as VL53L1CX) is a&nbsp;_Time of Flight_&nbsp;distance sensor that has a massive 4 meter range and LIDAR-like precision. The sensor contains a very tiny invisible laser source and a matching sensor....

Out of Stock
[Buy Now](https://www.adafruit.com/product/3967)
[Related Guides to the Product](https://learn.adafruit.com/products/3967/guides)
### Mono Enclosed Speaker with Plain Wires - 3W 4 Ohm

[Mono Enclosed Speaker with Plain Wires - 3W 4 Ohm](https://www.adafruit.com/product/4445)
Listen up! This single&nbsp; 2.8" x 1.2" speaker&nbsp;is&nbsp;the perfect addition to any audio project where you need 4 ohm impedance and 3W or less of power. We particularly like these speakers as they are small and enclosed for good audio volume and quality. This speaker _does..._

In Stock
[Buy Now](https://www.adafruit.com/product/4445)
[Related Guides to the Product](https://learn.adafruit.com/products/4445/guides)
### Mini Panel Mount SPDT Toggle Switch

[Mini Panel Mount SPDT Toggle Switch](https://www.adafruit.com/product/3221)
This or that, one or the other, perhaps or perhaps not! So hard to make decisions these days without feeling like you're just going back and forth constantly. Deciding whether or not to use this mini toggle switch? That's the easiest decision you'll make all day!

This...

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

[Silicone Cover Stranded-Core Ribbon Cable - 4 Wires 1 Meter Long](https://www.adafruit.com/product/3891)
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...>

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

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

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

In Stock
[Buy Now](https://www.adafruit.com/product/4401)
[Related Guides to the Product](https://learn.adafruit.com/products/4401/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 VL53L1X Time of Flight Distance Sensor](https://learn.adafruit.com/adafruit-vl53l1x.md)
- [Adafruit RP2040 Prop-Maker Feather](https://learn.adafruit.com/adafruit-rp2040-prop-maker-feather.md)
- [Haunted Air Blaster](https://learn.adafruit.com/automated-air-blaster.md)
- [Close Encounters of the MIDI NeoPixel Visualizer Kind](https://learn.adafruit.com/midi-neopixel-visualizer.md)
- [Motion Sensor Bat](https://learn.adafruit.com/motion-sensor-bat.md)
- [Lightsaber Prop-Maker RP2040](https://learn.adafruit.com/lightsaber-rp2040.md)
- [Tombstone Prop-Maker RP2040](https://learn.adafruit.com/tombstone-prop-maker-rp2040.md)
- [Gravity Falls Memory Gun](https://learn.adafruit.com/gravity-falls-memory-gun.md)
- [Audio Synthesis with CircuitPython synthio](https://learn.adafruit.com/audio-synthesis-with-circuitpython-synthio.md)
- [Mario Magic Wand](https://learn.adafruit.com/mario-magic-wand.md)
- [Talking HAL 9000 with RP2040 Prop Maker Feather](https://learn.adafruit.com/hal-9000-rp2040-prop-maker.md)
- [Talking D20 with RP2040 PropMaker Feather](https://learn.adafruit.com/talking-d20-rp2040.md)
- [ Faz-Wrench - Five Nights at Freddy's](https://learn.adafruit.com/faz-wrench.md)
- [Guitar Synth with CircuitPython SynthIO](https://learn.adafruit.com/guitar-synth-with-circuitpython-synthio.md)
- [Adafruit Pi Stemma QT Breakout](https://learn.adafruit.com/adafruit-pi-stemma-qt-breakout.md)
