Main Content

Synthesize your own little Raspberry Pi piano. Uses FluidSynth SoundFont synthesizer. Features polyphony and sustain, meaning you could push all of the notes at once and the note will play longer with the button held down.
Schematic and PCB are are shared on EasyEDA. Designs and python code are all open. Customize it your way!
This project first started as sound fidget board for my toddler, but I played with it more than he did. After several revisions it became a little piano grown ups can appreciate.

Needs a Raspberry PI zero that has an internet connection to install packages. Alternatively one can use my minimal image that plays the piano as I built it, networking has been removed too. A regular size Raspberry Pi could work too, but it would stick out from the piano PCB.

You can use JST or screw terminals, depending on the speakers you use. I used the JST connector with enclosed speakers.

You can use Raspbery Pi compatible USB sound speakers or adapter instead of the Maxim amplifier chip, which requires solder paste to solder it under the chip. I tried it with mini USB speakers, but it sounds more tinny than the speakers shown. If you use USB sound hardware, none of the audio components on the PCB will needed. They are on the left of the Raspberry Pi.

I mounted the Raspberry Pi Zero below the PCB, but you can put on the top. Just make sure the SD card is the same side as pin 1 marked on the PCB and make sure the header pins on the Pi Zero are soldered to match.

This project needs a custom PCB from your favorite PCB manufacturer. I got 5 from JLCPCB for 14 USD.

Gerber file on Google Drive, you can also generate the Gerber from EasyEDA.

I also provided a Bill of Materials spreadsheet.”

Link to article