In this instructable, working and making of Arduino based piano is explained. This piano is able to play any frequency in-between two keys. Making of this would require basic knowledge of Arduino for debugging.

Have a view of video for working and making.


  • A piano that takes input from the touch,
  • Able to play any frequency in between two keys,
  • Adjustable frequency range,
  • The response of piano should fast enough.

Step 1: How It Works:

So, first we break our problem into multiple smaller problem and then try to solve them one by one

in our case to make piano major tasks are:

  • Measuring/estimating positions of touch:
    Here we do not need to have just one value of touch but we need to measure the position of multiple touches which also should be the analog value. so that we can take care of frequency which is in between to keys. this involves taking data from keys and also processing of that data.
  • key and frequency calculation:
    After taking data from all keys, we need to map that value for specific frequency. As we know increment of the frequency of piano is Geometric progression, which means you need to keep multiplying some factor to get the frequency of upcoming key.
  • Tone generation and rejection of noise(in data):
    After calculating frequency we need to generate the approximate waveform of that frequency. there is also some noise may present during no touch condition which needs to eliminated.

if you do not want to know how it works but just interested in making of it skip to step no:4

<p>Great project! The sound produced by your touch piano reminds me of the old shooting video games :) .</p>

About This Instructable




More by abhilash_patel:Simple Arduino Trigger for DSLR DIY: Arduino based continuous touch Piano  DIY: Simple Hovercraft 
Add instructable to: