MIDI has been around for nearly forty years, but what do you do if you have an old ‘toy’ keyboard without MIDI? Or really any way to make it sound good? You could turn it into a player piano, and that’s exactly what [Alessandro] did with an old toy keyboard. It’s The Pianist Octopus, and it is perhaps the coolest, neatest pianist you’ve ever seen.
This build uses 24 individual 9 gram hobby servos, which of course means you need to drive those servos somehow. There are plenty of ways to attach a few servos to an Arduino board, but when you need to drive 24 servos, your options become somewhat limited. The electronics consist mostly of a Fishino Octopus, an Arduino shield that can drive sixteen individual servos. Slap two of these shields on an Arduino and you have something that will drive twenty four servos.
The mechanical part of the build consists of a 3D printed frame that allows the servos to be mounted across an arc, something like a harp. Metal rods connect the servos to tentacle-shaped actuators. These were designed in Google SketchUp and printed in PLA.
Attached to these servos and Arduino is a character LCD and a few buttons that allow the user to cycle through a few functions. The play button plays the current melody (based on old Nokia ringtones, by the way), a few more buttons adjust the position of the individual servos, and there’s another button to stop playing. Since this is a complete electronic-to-mechanical interface for a toy piano, a MIDI-in port isn’t out of the question; all a MIDI implementation would need to do is move a servo down on a note on event and move it back up on the note off event.