Home > Projects > Interfacing(USB – RS232 – I2c -ISP) Projects > Convert a toy piano to work as a midi device and use it with Synthesia

Convert a toy piano to work as a midi device and use it with Synthesia

Summary of Convert a toy piano to work as a midi device and use it with Synthesia


This project transforms a low-cost toy piano into a functional MIDI controller compatible with Synthesia and other software. By extracting button signals from the piano's internal circuitry, an Arduino Mega reads keystrokes and transmits serial MIDI data to a PC. A virtual MIDI port setup connects this data to Synthesia via MIDI Yoke, enabling digital music interaction without physical hardware bridges.

Parts used in the Toy Piano MIDI Conversion:

  • Toy piano
  • Arduino mega (or Arduino uno with line decoder)
  • Flat ribbon cable (from old pc)
  • Connectors (1 for piano and 1 for arduino)
  • Soldering iron
  • Desoldering pump or wick
  • Ohmmeter
  • Hot glue or any other strong glue

Goal of this project:
Convert a cheap toy piano to work as a midi device and use it with Synthesia (http://www.synthesiagame.com/)
Other programs that use midi inputs can also be used.

Convert a toy piano to work as a midi device and use it with Synthesia
Approach:
The pushbuttons of the piano are used to make a simple pull-down circuit for the arduino mega. The arduino interprets the keystrokes and sends serial midi data to the pc. Then this data is send to a virtual midi port with “serial-midi converter”. This midi port is connected to Synthesia via “MIDI Yoke”. MIDI Yoke is a driver that creates virtual ports. Each port has an input and an output which are connected. With MIDI Yoke you can couple different midi programs without any physical hardware.

Step 1: Parts and tools

Major Components in Project

List of the parts needed for this project:

– Toy piano
– Arduino mega (This project van also be done with an arduino uno but you should use an line decoder to expand your arduinos inputs.)
– Flat ribbon cable (from old pc)
– Connectors (1 for piano and 1 for arduino)

List of tools needed:

– Soldering iron
– Desoldering pump or wick
– Ohmmeter
– Hot glue or any other strong glue

Step 2: Hardware

 use it with Synthesia

The pushbuttons of the piano keys are used to make simple pull down circuits. The internal pull-up resistors in the atmega IC are used so we don’t need extra external pull-up resistors.

– Open the toy piano and locate the pushbuttons corresponding to the piano keys.
– Check if all the buttons have a common line. This is the ground line.
– Locate and remove the main IC. Solder wires to all leads going to the buttons including the ground wire.
– Check you didn’t make any shorts while soldering. (ohmmeter)
– Solder the other ends to the connector for the flat ribbon cable.
– Make a cutout in the housing of the piano for the connector.
– Reassemble the piano.

For more detail: Convert a toy piano to work as a midi device and use it with Synthesia

Quick Solutions to Questions related to Toy Piano MIDI Conversion:

  • How can I convert a toy piano to work as a MIDI device?
    Use pushbuttons to create pull-down circuits connected to an Arduino that sends serial MIDI data to a PC.
  • Can I use an Arduino Uno instead of an Arduino Mega?
    Yes, but you must use a line decoder to expand your Arduino inputs if using an Uno.
  • What software is required to connect the Arduino to Synthesia?
    You need a serial-midi converter and MIDI Yoke driver to couple different MIDI programs.
  • Do I need external pull-up resistors for the circuit?
    No, the internal pull-up resistors in the atmega IC are used so extra external resistors are not needed.
  • How do I identify the ground line on the piano buttons?
    Open the piano and check if all buttons share a common line which serves as the ground.
  • What tool is used to verify there are no shorts after soldering?
    An ohmmeter is used to check that no shorts were made while soldering wires to the leads.
  • How does MIDI Yoke facilitate the connection?
    MIDI Yoke creates virtual ports with input and output connections to couple different MIDI programs without physical hardware.
  • What is the purpose of the flat ribbon cable in this project?
    The flat ribbon cable connects the soldered wires from the piano buttons to the connector for the Arduino.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top