A no-touch musical keyboard

Similar projects worth following

Since I started building circuit sculptures I had in mind to create something interactive. With the don't touch anything mantra of our present time in mind I got the idea of building a piano without buttons/keys. I started by finding a suitable reflection coupler. The CNY70 works quite well since the working distance is a couple of millimeters. Then, as for the tone generating circuit, it was clear that I would use the 555. A square wave is not the most musical sound but at least the circuit is easy to build. With one for each tone it's a must that this is simple. To me a building a circuit sculpture means that the circuit doing something should be the sculpture itself, like this beautiful breathing person. Therefore using a microcontroller for generating the different frequencies was simply a no-go. I used a variable gain amplifier with the reflection coupler to imitate pressing the keys. This allows even dynamics. Here, the square wave input was advantageous because I didn't have to care about linearity. I designed the amplifier such that it saturates at some point. Finally, a simple mixer and amplifying stage. 

Of course, this sounds rather simple but it took a lot of hours to complete.

The components list is for one key and the mixer/amplifier stage.

Videos of testing the prototype and of playing the CoViano are in the files section.


Testing the prototype.

MPEG-4 Video - 5.13 MB - 11/04/2020 at 13:51



Jig for building each 555-358 combi

Standard Tesselated Geometry - 286.54 kB - 11/04/2020 at 09:48



jig for adding the wire between pins 2 and 6 of the 555

Standard Tesselated Geometry - 90.40 kB - 11/04/2020 at 09:48



Jig for building each 555-358 combi

x-openscad - 1.24 kB - 11/04/2020 at 09:48



jig for adding the wire between pins 2 and 6 of the 555

x-openscad - 564.00 bytes - 11/04/2020 at 09:48


View all 6 files

  • 1 × 555 Prototyping Products / PCB Chemicals
  • 1 × LM358 Amplifier and Linear ICs / Operational Amplifiers
  • 3 × 1k resistor
  • 1 × 47k resistor
  • 1 × 220k resistor

View all 17 components

  • Playing CoViano

    MaBe4211/04/2020 at 20:38 0 comments

    Playing the CoViano. Or is there a better way of embedding an uploaded video file (perhaps with thumbnail)?

  • The output stage

    MaBe4211/04/2020 at 20:34 0 comments

    Very simple amplifier using again a LM358 and finally a BC635 to drive the speaker.

    Definitely no high end audio. But it works.

  • The mixer

    MaBe4211/04/2020 at 20:31 0 comments

    Building an audio mixer with 13 inputs is not so easy and I wanted it to look nice. I came up with the idea of mounting the speaker kind of in the center of a ring-segment of resistors.

    I added some horizontal 10M resistors for stability.

  • Building a tone generator

    MaBe4211/04/2020 at 20:26 0 comments

    Next step - next jig (again printed from PLA):

    This jig helped soldering the components of the tone generators a lot. After some practice I managed to solder between 3 and 4 in an hour. Compare this to the prototype!

    And of course the circuit:

    The CNY70 and the 1k resistor at the output were added later. I mostly connected LEDs of two CNY70s in series with 33R to my +5V supply voltage. If this was not possible, I used 68R.

    The capacitor at the output was added much later. After I had soldered everything together the sound was much noisier than before with individual tone generators. So I added the capacitors. However, since everything was already soldered together this was not easy. Some are therefore really askew. But I was happy when I had managed to solder them without damaging some other parts.

  • Preparing the 555s

    MaBe4211/04/2020 at 10:30 0 comments

    For the astable use pins 2 and 6 of the 555 need to be connected. I designed a jig in OpenSCAD and printed it in PLA.

    I happened to have pliers which had the perfect width for the wire to be bent for this task. Quickly, the wire was bent for a lot of these wire bridges.

    I fixed the jig to my desk using adhesive putty (the yellowish dots on the bottom of it). In this way, I could easily move it to a different position and it stuck again to the desk. This adhesive putty is one of my favourite tools.

    Finally, I had a lot of prepared 555s.

  • Prototyping

    MaBe4211/04/2020 at 08:03 0 comments

    I started on a breadboard with the simple 555 circuit to find out roughly which R/C pairs would be suitable for the frequency range. Initial calculations using the information from the datasheet helped, too. Adding a LM358 and a CNY70 I found a way of implementing a variable gain amplifier such that the signal at the output was low enough that I could not hear it on the speaker when nothing was close to the CNY70. Choosing the 220k resistor a got some dynamics and finally saturated the amplifier. Working with square waves is easy. A sine wave would require much more work.

    With the circuit being finalized, I built a first prototype. It took me more than two hours to build. But it worked. There's a video of the testing in the files section. The design was somehow resembling a piano key. However, I figured out that it would be rather difficult to implement many of it into the final circuit (output near the CNY70, supply and ground in the same plane).

    So keeping basic arrangements of the components I developed another design. 

View all 6 project logs

Enjoy this project?



overflo wrote 11/06/2020 at 10:30 point

What a gorgeous build!
A work of true art and beauty.

I salute you.

  Are you sure? yes | no

MaBe42 wrote 11/04/2020 at 18:49 point

Thanks. All wires are silver coated copper wires. Except for the speaker supports. They are 2 mm brass rods.

  Are you sure? yes | no

Dan Maloney wrote 11/04/2020 at 17:16 point

Love the look of this, great job! Are the supporting wires brass or tinned? The look different in the photos.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates