AN-005 · Embedded & Robotics · In progress
Started Nov 2025
RoboOrchestra: robots that play music, and a conductor who waves at a camera
1.0Abstract
I lead RoboOrchestra, a 40+ member group at CMU that builds robotic musical instruments. My own work on it has been a full rewrite of the instrument firmware on ESP32 Feathers, a MIDI-based protocol so the instruments can talk to each other over a wireless link, and a conductor mode that plays the drum set from hand gestures on camera.
At a glance
| Parameter | Value |
|---|---|
| Status | In progress |
| When and where | Nov 2025 – present, Carnegie Mellon |
| My part | Project lead of a 40+ member community; the firmware rewrite, the protocol and conductor mode are my own builds |
| Built with | ESP32 Feathers with W.FL antennas; MIDI; gesture detection on camera |
| Protocol | Platform-independent MIDI between instruments, carried over a wireless link between the boards |
| Conductor mode | A waved hand plays the drum set; the region of the screen the hand is in selects what gets hit |
Why this exists
I play viola and piano and I build robots, so an instrument that plays itself is the obvious thing to make. RoboOrchestra is the CMU community doing exactly that: a room of people building instruments that hit, pluck and strike on command.
What I built
- Rewrote the instrument firmware completely. The instruments run on ESP32 Feathers.
- Established the inter-instrument protocol: platform-independent MIDI messages, a language every sequencer and DAW already speaks, carried over a wireless link between the boards, with W.FL antennas added for potential longer-range operation.
- A conductor mode. Gesture detection merged with drum-beat triggering: wave a hand at the camera and the drum set plays; which region of the screen the conducting hand is in decides which drum is hit.