Xylobot
A robot that plays the xylophone. Servo-driven arms swing wooden mallets onto the bars, controlled from a web browser or a one-octave touch keyboard.

One arm, 3 DOF, with its touch keyboard in front

Two arms, 6 DOF, with a mallet in each
Iterations
One arm (3 DOF). A single 3D-printed arm with three servos, mounted on a wooden frame in front of the xylophone. A battery and a control board with an OLED screen ride on the frame, and a one-octave capacitive touch keyboard sits at the front.
Two arms (6 DOF). Two arms, each holding its own mallet. The servos run from a Raspberry Pi through a servo driver board, on an acrylic base.
Control
- Web browser: play it from a page on your phone or laptop.
- Octave keyboard: a touch keyboard with one octave of keys, so you can play it like an instrument.
What I learned
Xylobot went through several iterations, and it was a learning process in robotics and music theory at the same time: moving several servos together so a mallet lands on the right bar, and mapping notes and octaves onto physical positions.
Related: Touch Tone, the touch piano board, and Daily Melody, a piano you can play in the browser.