Robot instrument builds are always fun, but the wiring can be cumbersome. However, this robot friend, built around a toy piano xylophone, requires zero soldering. It runs CircuitPython code on a Metro RP2350 with an I2C to 8 Channel Solenoid Driver breakout connected with a STEMMA QT cable. The 8 solenoids screw into the breakout terminal blocks.
The xylophone has two modes: live MIDI and music box. For live MIDI, it can listen to incoming MIDI messages over USB. For music box mode, it can playback MIDI files (.mid) on the CIRCUITPY drive.
3D printed parts help to position the solenoids so that they are perfectly centered above the keys and have enough height to strike the keys. The entire assembly slides over the xylophone so it can return to its non-robotic form easily.
The solenoids require 12V. For this project to work, you will need to provide 12V via the Metro RP2350 DC jack. This is detailed in the Circuit Diagram.
This toy piano xylophone was used for this project. It seems to be a popular white label product at the time of writing, so it should hopefully be available for quite some time.






Page last edited May 29, 2025
Text editor powered by tinymce.