🎹 Pianethor Build Guide
Pianethor is an interactive LED piano controller that allows you to play classical piano pieces without musical knowledge! Here there is the guide that provides step-by-step instructions to build the project.
You can see the example video here:
And here a quick explanation video on how it works:
📋 Prerequisites
By following this guide, you acknowledge that you are responsible for your own safety and actions. I am not liable for any injuries, accidents, or damages that may occur while assembling the project, whether to yourself, others, or any objects. This guide involves the use of tools such as scissors and a soldering iron, which can pose risks if not handled properly. Always take necessary precautions, work in a safe environment, and ensure you have the proper skills and equipment. Proceed at your own risk.
Part 1: Gather Your Materials
⚙️ Electronics
| Component | Quantity | Specifications |
|---|---|---|
| ESP32 | 1x | Mine was CH340C (USB Type-C connector) but any other model I think will work |
| LED Strip | 1x | WS2812B 5V (74 LEDs/meter) CAREFUL: IT NEEDS TO BE FOR 5V |
| Microphone | 1x | INMP441 I2S : Optional but if you want the program to follow your speed (see the attached video for better explanation) is necessary |
| Power Supply with USB cable |
1x | Power Bank or 5V Supply (≥1.5A output) (theoretically even a 1A is enough) |
| Connecting Cables | Multiple | F-F and M-F Arduino cables (or you can solder directly) |
🔧 Hardware Tools
- Hot glue gun and glue sticks
- Soldering iron and solder
- Wire strippers
- Electrical tape or heat shrink tubing
Part 2: Prepare the LED Strip
📍 Step 1:
- First, cut 2 individual LEDs from the end (leaving 72 LEDs total)
![]()
2. Cut at different lenght (or apply some electrical tape) the 2 extra red and white wires
📍 Step 2: Create LED Groups and measure space between piano tiles
- Cut the remaining 72 LEDs into 6 groups of 12 LEDs each. Each group should have 12 consecutive LEDs with the connector side preserved on the first group
- Place 2 group of notes on the piano in order to align them (more or less) in a tile (every led should be right up one piano key) starting from C (Do) and ending with B(Si). Measure the space between the 2 groups. (in my case around 9 mm)
![]()
📍 Step 3: Connect LED Groups
- Solder 3 wires with the same distance you have found (depending on your soldering skill you'll need to add 1 or 2 mm to the measure you found(in my case I opted for 10mm) between each group
- Once finished check if every led aligns correctly to a piano key
- Apply hot glue to the soldered connections for stability and insulation
Part 3: Wire the Electronics(with Soldering or FF/FM wires)
🔌 Step 1: ESP32 to LED Strip Connection
Connect your first LED group’s connector to the ESP32:
| ESP32 Pin | LED Strip Pin | Wire Color |
|---|---|---|
| VIN | VIN | Red |
| GND | GND | White |
| D2 | DIN | Green |
🔌 Step 2: Connect the Microphone (Optional)
If you have the INMP441 microphone, connect it to the ESP32:
| ESP32 Pin | Microphone Pin | Function |
|---|---|---|
| 3V3 | VDD | Power Supply |
| GND | GND | Ground |
| D25 | WS | Word Select (Clock) |
| D33 | SD | Serial Data |
| D32 | SCK | Bit Clock |
| GND | L/R | Ground (Stereo Select) |
Part 4: Programming the ESP32
💻 Step 1: Install Arduino IDE
- Download and install the Arduino IDE from arduino.cc
- Add ESP32 board support:
- Go to File → Preferences
- Add
https://dl.espressif.com/dl/package_esp32_index.jsonto Additional Board Manager URLs - Go to Tools → Board Manager → Search for “ESP32” and install
💻 Step 2: Install Required Libraries
In Arduino IDE, go to Sketch → Include Library → Manage Libraries and install:
- FastLED – for LED control
- ArduinoJson – for JSON parsing, usually included with ESP32
- WebServer – usually included with ESP32
- SPIFFS – usually...
battiemme

Hulk
kmatch98
gokux