DIY ELECTRIC HANDPAN V1

So DIY Handpan v1 didn't work out so well... :-(

So what's a chap to do? Pivot to an all-electric version, obvs.!

TL;DR: Using piezo pick-ups is not working for me - pivoting to capacitive touch sensors for DIY Electric Handpan v2.

Concept

GeoPanIn this version I'm going to fabricate the handpan 'chassis' from laser-cut MDF plates, install some piezo pick-ups, and use some electronics-and-code to turn percussive energy into sound.

I'm most interested in something that makes sound in a relatively stand-alone way (i.e. via on-board speakers), but will try to include some kind of MIDI output as well.

One nice advantage of an electric handpan is that the note scale will be configurable.

OnShape

As per usual, I'm doing my design work in OnShape. The design covers the chassis, plus several templates/jigs/guides to help put the chassis together.

I'm going to use 6mm-thick MDF for my chassis, and will route-out a 60mm-diameter/4mm-deep recess on the back of each note plate to bring the piezo pick-ups closer to the surface.

Router jig, centre locater
Router jig, centre locater
Router jig, note plate loaded
Router jig, note plate loaded
Note plate, post-routing
Note plate, post-routing
Sanding jig
Sanding jig

To explain a bit about the router jig (1st photo): the bits you see help locate the jig within the outermost ring (actually the handpan chassis base plate, not shown). The middle ring is then set aside. The inner ring slides around inside the (taped-down) outermost ring, limiting the cut to a 60mm-diameter circle.

Electronics

High-level design: 9 x piezo pick-ups (one per note plate); 9 x piezo-to-ADC mediators; 2 x ADCs (MCP3008); one Raspberry Pi Zero 2W; one Raspberry Pi DigiAMP+. I've split the electronics over several PCBs.

Each piezo sensor gets a small PCB that mediates between the piezo and the ADC that I'm using. The reason for the mediation is that the naked piezo can produce upwards of 25V, which can't be piped directly into the ADC (reference voltage 3V, as per the Raspberry Pi). In practise, the maximum voltage I was getting out of the piezo-bonded-to-MDF was around 10V, but you'll want to measure your own set-up, and adjust the voltage divider (R1) accordingly. As a backstop, the Zener diode should breakdown at 3V3 to protect the ADC from too high a voltage input. The other diode rectifies the output from the piezo.

The signals from each piezo-to-ADC PCB are fed into a pair of ADCs - each has eight inputs, so we need a pair to cover the nine inputs (the second of which is not doing much work). Given the spare inputs on the second ADC, I'm going to wire one up to a potentiometer to act as a master volume control.

Extended Gerber files for piezo-to-ADC PCB - suitable for submission to Elecrow.com, for example. If you get ten copies made, you'll have a spare to experiment with!

Piezo-to-ADC circuit
Piezo-to-ADC circuit
Piezo-to-ADC PCB
Piezo-to-ADC PCB
Handpan sound-system
Handpan sound-system
Note plates, underside
Note plates, underside
MCP3008 break-out
MCP3008 break-out

First Notes

With everything wired up (including some speakers ripped out of our old TV), and some hackey code to test it with, we finally got some output...

And it's at this point that I think I need to take stock. There is so much 'cross-talk' between the piezos, I'm starting to doubt if they are the best way forward. I did try a few things in-code to try to isolate the data coming in from the ADCs, but there was just too much 'hack stacking' going on. I'm wondering if a system of capacitive touch sensors would result in a cleaner signal...

I'm also a little unsure of the size of this build. It is deliberately faithful to the envelope size/shape of a 'real' handpan - in order to learn to play, and develop good muscle memory - but it's just a little too big to have lying around. If I was to build the shell again, I'd make it 80%-90% scale.

And with that, on to version 2!

Misc. Links