PCB Touch Piano




About: Musician, Educator, Music Tech Nerd!

A piano for your pocket? Sure!

Using a printer toner transfer, copper etching solution, and a Teensy 3.2 we make a tiny MIDI controller that responds to a simple touch of a finger.

You'll need some materials:

100mm X 70mm copper PCB
Teensy 3.2
Ferric Chloride
Design Software (I used Illustrator)
Arduino IDE
Soldering tools
Digital Audio Workstation (I used Ableton Live)

Step 1: Design

I am more skilled in Illustrator than any PCB design software so I decided to give it a shot! It is unconventional but if you find any program do be a more natural way of designing circuits then by all means use that! a pixel width of 1 was sufficient enough for the circuit pathways.

Step 2: Print

Using your laser printer, load a sheet of magazine paper(I use a page out of MAKE:) taped to a regular sheet of paper a and send it though. Cut it out and get ready to prepare your Copper board.

Step 3: Clean and Transfer

Wash your copper board with steel wool and alcohol to make the surface ready to take the toner and to be sure it is free of any oils.

I splashed a bit of acetone onto the surface of the Copper and positioned the printout over it. once it was alligned correctly a added a bit more acetone on top of it and pressed down with a 2nd copper board(although you can use anything flat to do so).

I waited ~10 minutes and returned to wash the now dried magazine paper off under water. If the toner has transferred it should look like the last picture in the set. Now it is ready for the etching solution!

Step 4: Etching

Use a safe container to pour the etching solution into. then let your board go for a swim. I was suprised that it took ~30 minute to dissolve the copper. Your mileage my vary due to temperature so check it often.

After it is finished rinse it off and use some steel wool to rub away the toner.

Step 5: Solder and Code

I soldered some headers on the outside pins of the Teensy and did some tricky soldering with the pins underneath to make it connect to all of the TouchSense inputs but after it was done it felt very secure to the board.

I'll attach the .ino file here, too. For this you'll need the Arduino IDE, Teensyduino, and set the board to "Serial+MIDI".

Once you upload you can check the connections!

Step 6: Test It Out!

Test out your connections, and celebrate if everything works like you had imagined it! If something is wonky check your soldering and code. I use Ableton Live for my sound libraries but it should work with Garage Band or any other DAW that you fancy.




    • Arduino Contest 2019

      Arduino Contest 2019
    • Tape Contest

      Tape Contest
    • Trash to Treasure

      Trash to Treasure

    14 Discussions


    Reply 2 months ago

    I don't think he actually used it, he just included it in his code. You can compile it without the library by just removing two lines.

    The MIDI USB library he uses is part of the Teensy Core.

    Source: I'm the author of the MIDI Controller library.


    Reply 2 months ago

    Yes, that is correct. I'm a bit embarrassed to say, but I did some copy-paste from a previous project where I used some of the MidiController library and I forgot to remove it. I guess it's just like all the cookies I ate over the holidays... A bit of extra weight and it serves no function. I'm a real novice when it comes to coding so when something works I really don't ask why most of the time!

    Thanks for your work on the MIDI Controller Library! It's my favorite one to use with Arduino!


    3 months ago

    nice project! I like it, but I wonder, any reason to miss the C#?

    4 replies

    Reply 2 months ago

    Just finished a 2nd board with the C# using the capacitiveSensor.h library. I'll post an update soon.


    Reply 2 months ago

    Sweet! I'm looking forward to know how did you managed to get the full octave with that processor.


    Reply 3 months ago

    The Teensy 3.2 only has 12 capacitive Touchsense pins and I wanted to complete the octave. I had to choose a note to leave out, so C# had to go. I think I can make my own capacitive circuit so I might try to add one more so I can make a complete chromatic octave for the next one!


    3 months ago

    Good article. 1. For paper I found cheap christmas wrapping works better than magazine sheets. 2. I like your transfer method. I have been using a laminating machine. 3. To etch quickly you can use muriatic acid and hydrogen peroxide 50% mixture but use it outside or in a very well ventilated place. It takes about 5 minutes to etch.


    3 months ago

    Nice project.
    You have details of printer paper.
    Link probably. : )
    Do you use laminater or Iron.

    1 reply

    Reply 3 months ago

    Thanks for your question.
    I used a page out of a magazine that I taped to a normal 8.5x11in piece of paper.
    This method does not use any heat from a laminator or iron, just acetone in nail polish remover.
    This video helped me in the process: