DIY Cloud Lamp With Sound & IR Remote

by hyunjinkim1112 in Circuits > Raspberry Pi

775 Views, 9 Favorites, 0 Comments

DIY Cloud Lamp With Sound & IR Remote

rainbow.png
Interactive Cloud Lamp.jpeg
33BF6845-9E5C-4F0C-B61E-667FCB183E72.JPG
IMG_7086 3.jpeg
IMG_7130.jpg
IMG_7131.jpg
IMG_7132.jpg
IMG_7133.jpg
IMG_7134.jpg

A glowing cloud that responds to your remote — pick from rainbow, sunny, cloudy, rainy, or thunderstorm moods, each with its own sound and lighting effect. Powered by a Raspberry Pi Pico 2W.

Supplies

styrofoam.jpeg
neopixel-pebble.jpg
poly-fil.jpeg
rpi-pico-2w.jpeg
speaker.jpg
amplifier.jpg
elegoo remote controller.png

🔌 Wire It Up


Component - Pico Pin

NeoPixel data - GP9

Audio (to amp A+) - GP14

IR receiver signal - GP16


NeoPixel strand (3 wires):

  1. Red wire → 5V external supply (+)
  2. White/middle wire → Pico GP9
  3. Black/green wire → Pico GND and external supply (−)

PAM8302 Amplifier:

  1. Vin → 5V (Pico VBUS or external 5V)
  2. GND → Pico GND
  3. A+ → Pico GP14
  4. A− → Pico GND
  5. Speaker + and − → speaker terminals

ELEGOO IR Receiver (3 pins):

  1. VCC → Pico 3.3V
  2. GND → Pico GND
  3. OUT (signal) → Pico GP16

⚠️ Important: all grounds must connect together — Pico GND, amplifier GND, NeoPixel GND, and external power supply (−) all share one common ground. The lights will flicker or the Pico will brown out otherwise.

⚡ Power It Properly

Do not power the NeoPixels from the Pico's USB port.

  1. 300 NeoPixels can pull several amps. Your laptop's USB port can't deliver that.
  2. Use an external 5V power supply (4A minimum) wired directly to the NeoPixel strand's red and black wires. (Suggested: INIU 10,000 mAh Power Bank + USB-A to Bare Wire Cable (20 AWG, 5V 5A))
  3. Power the Pico over USB (for programming/serial output) or from the same 5V supply through its VSYS pin.
  4. Keep pixels.brightness at 0.25 or lower in the code unless you have a beefier supply — full brightness on all 300 LEDs is ~18 A.

💻 Software Setup

  1. Install CircuitPython on the Pico 2 W:
  2. Hold the BOOTSEL button while plugging the Pico into your computer
  3. Drag the latest CircuitPython UF2 file (download here) onto the RPI-RP2 drive
  4. The Pico will reboot and appear as a CIRCUITPY drive
  5. Install required libraries — copy these from the CircuitPython Library Bundle into the lib/ folder on CIRCUITPY:
  6. neopixel.mpy
  7. adafruit_irremote.mpy
  8. Add your sound files — create a folder called sounds/ on CIRCUITPY and add five WAV files (not MP3 — this code uses audiocore.WaveFile):
  9. For the audio files except "Rainbow.wav", I used the sound files from this adafruit's tutorial.
  10. Rainbow.wav
  11. Clear.wav
  12. Clouds.wav
  13. Rain.wav
  14. Thunderstorm.wav
  15. 🎵 WAV format tip: 16-bit PCM, 22 kHz mono works well. Use a free converter like Audacity to convert MP3s.
  16. Upload the code (refer to "diy_cloud_lamp.py" attached here) as code.py on the CIRCUITPY drive. It runs automatically.
  17. I referred to the code from here.

☁️ Build the Cloud

IMG_7062 copy.jpeg
IMG_7061 2 copy.jpeg

1. Foam board frame: Cut foam board into the internal skeleton of your cloud. I cut it into the shape of rounded rectangle.

2. Mount the electronics inside:

  1. Stick the breadboard with the Pico to the inside of one foam panel using double-sided tape.
  2. Mount the speaker with hot glue.
  3. Attach the portable battery using Velcro tape.

3. Weave in the NeoPixels: The pebble strand's plated wires hold their shape, so you can weave them back and forth across the interior cavity, distributing the LEDs evenly. Don't bunch them — spread them out so the cloud glows uniformly. I used rubber bands to make them stick to the cloud stably.

4. Stuff it with poly-fill: Use rubber bands to stuff the cloud with poly-fill all around the foam frame to build up the cloud's puffy outer shape.

👍 Test & Enjoy

IMG_7090.jpeg
33BF6845-9E5C-4F0C-B61E-667FCB183E72.JPG
IMG_7086 3.jpeg
  1. Plug in the 5V power supply.
  2. Plug in the Pico's USB.
  3. Point the remote at the cloud and press buttons 0–4.

Additionally, if you want it to be more cloud-like, hang your cloud lamp to the ceiling just like I did!

Downloads