PCB Touch Piano

8.8K7521

Intro: PCB Touch Piano

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.

Enjoy!

18 Comments

so many MIDI libraries please post the one you used
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.
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!
Hi, I'm trying to load your file in a Teensy LC but I'm getting this error when I verify the sketch:

Arduino:1.8.13 (Windows 10), TD: 1.53, Scheda:"Teensy 3.2 / 3.1, Serial, 96 MHz (overclock), Faster, US English"
C:\Users\Compadmin_Asus\Downloads\teensy\FXRNUMHJQMOGZ63\FXRNUMHJQMOGZ63.ino:1:52: fatal error: MIDI_Controller.h: No such file or directory
compilation terminated.
Errore durante la compilazione per la scheda Teensy 3.2 / 3.1.
Questo report potrebbe essere piĆ¹ ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"
where is the SVG pcb file?? with only the code i can`t do anything eeh...lol
I used a laser etch over a spray painted pcb for this latest draft which gives better fidelity which is why the image isn't mirrored on this svg. If you make a version post a picture, happy making!
AWESOME DUDE, I WILL TRY IT OUT, AND THANK YOU FOR THE FAST REPLY,
CHECK MINE OUT, WWW.WANNADUINO.COM AND ON INSTAGRAM WANNADUINO FROM WANNADIY
nice project! I like it, but I wonder, any reason to miss the C#?
Just finished a 2nd board with the C# using the capacitiveSensor.h library. I'll post an update soon.
Sweet! I'm looking forward to know how did you managed to get the full octave with that processor.
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!
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.
Hi,
Nice project.
You have details of printer paper.
Link probably. : )
Do you use laminater or Iron.
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:
https://www.youtube.com/watch?v=cVhSCEPINpM
Nicely done. That turned out really well. :)
Thanks! It was fun to make!