PiGlowTune
PiglowTune is a Rust-powered project that syncs LED light patterns with music in real time.
Author: Stoean Miruna-Teodora
GitHub Project Link: [https://github.com/UPB-PMRust-Students/project-mirunastoean]
Description
This project features a music-reactive LED ring powered by a Raspberry Pi Pico W 2, which lights up in real time based on sound intensity. A connected web app over Wi-Fi lets you control the LEDs remotely, toggle power, and switch between vibrant color modes for a fully interactive light-and-sound experience.
Motivation
My motivation for this project comes from my passion for both music and visual aesthetics. I've always been fascinated by how sound can be transformed into something you can see and feel, not just hear. This project gave me the perfect opportunity to blend those interests by creating a system where music drives a visual experience in real time. I wanted to explore how technology could bridge the gap between auditory and visual art, and building a music-reactive LED setup felt like a natural and exciting challenge—especially with the added control and customization through a web interface.
Architecture
The sound sensor picks up music and sends audio data to the Raspberry Pi Pico W 2, which also connects via Wi-Fi to a mobile web app for remote control. The Pico processes the sound input and controls a WS2812 RGB LED ring, powered by a 5V external supply, to create light effects synchronized with the music.
Log
Week 5 - 11 May
After purchasing all the necessary materials for my project, I began assembling the components, connected everything using jumper wires, performed debugging, and verified that my Raspberry Pi was functioning correctly.
Week 12 - 18 May
Week 19 - 25 May
Hardware
1. Raspberry Pi Pico 2W – Controls the LEDs and connects to Wi-Fi.
2. Microphone Sound Sensor – Detects sound intensity from music.
3. WS2812B LED Ring – RGB LEDs that light up based on audio input.
4. Power Supply (5V) – Powers the LED ring.
5. Breadboard & Jumper Wires – For easy circuit connections.
Schematics
Bill of Materials
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | The microcontroller | 39 RON |
Sound Sensor Module | The sound sensor | 5 RON |
2 x Breadboard | The breadboards used | 15 RON |
40 x Male-Male Wires | Male to Male Jumpers Wires | 5,99 RON |
10 x Female-Male Wires | Female to Male Jumper Wires | 5,99 RON |
Power Supply Module | Alimentation Source for Breadboard | 4,69 RON |
Led Ring RGB WS2812 | Led Ring | 29,15 RON |
Software
Library | Description | Usage |
---|---|---|
st7789 | Display driver for ST7789 | Used for the display for the Pico Explorer Base |
embedded-graphics | 2D graphics library | Used for drawing to the display |
smart-leds | A library designed to control addressable LED strips and matrices, with support for multiple protocols and pixel formats. | Used to control the LED ring by setting the color and brightness of each LED based on the sound intensity of the music |
embassy-rp | A hardware abstraction layer (HAL) for the Raspberry Pi RP2040 microcontroller, built on the async-first Embassy framework, enabling efficient, non-blocking embedded applications in Rust | Used to interact asynchronously with the Raspberry Pi Pico 2W’s hardware components, enabling responsive and efficient control of the LED ring in sync with music input |
rp2040-hal | Is the official hardware abstraction layer for the Raspberry Pi RP2040 microcontroller, providing low-level, synchronous access to its peripherals and features in Rust | Used to configure and control the Raspberry Pi Pico W’s GPIO pins and timers for driving the LED ring and processing sound input signals |