Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed mbed-STM32F103C8T6 USBDevice_STM32F103
Homepage
How to turn kids' old piano toy to a MIDI keyboard¶
Inspired by http://www.codetinkerhack.com/2012/11/how-to-turn-piano-toy-into-midi.html I did the same with a Blue Pill module using Mbed.
The old toy was capable to play only one tone at a time:
Zoom in

A bit of reverse-engineering was needed to re-use the original printed boards. The results are below.
Original PCBs with switches traced to the connector pins:
Schematic:
Wiring:
Then I replaced the original chip with a Blue Pill module and added a USB connector:
Zoom in

Works great when connected over an USB cable to a Linux Ubuntu 18.04 machine¶
Installed software:
Yoshimi: An excellent MIDI software synthesizer for Linux.
Zoom in
Patchage: Provides a graphical interface to connect jack and midi inputs and outputs.
Zoom in
How to use it:
- Connect the Keyboard to the PC over an USB cable.
- Run
Yoshimi. - Run
Patchageand connect theMbed USB Audio MIDI 1output toYoshimi's input (dragMbed Audio MIDI 1overyoshimi inputand drop)

- To apply the changes close the
Patchage! - On
Yoshimi's toolbar click onInstrumentsand selectShow Stored ... - Select a bank and click on the instrument you'd like to play.
Have fun :-)

