🎹 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: 

  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

  1. 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
  2. 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

  1. 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
  2. Once finished check if every led aligns correctly to a piano key
  3. 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

  1. Download and install the Arduino IDE from arduino.cc
  2. Add ESP32 board support:
    • Go to FilePreferences
    • Add https://dl.espressif.com/dl/package_esp32_index.json to Additional Board Manager URLs
    • Go to ToolsBoard Manager → Search for “ESP32” and install

💻 Step 2: Install Required Libraries

In Arduino IDE, go to SketchInclude LibraryManage Libraries and install:

  • FastLED – for LED control
  • ArduinoJson – for JSON parsing, usually included with ESP32
  • WebServer – usually included with ESP32
  • SPIFFS – usually...
Read more »