For 6.115, MIT's right-of-passage microcontroller class, we were assigned to design and build a personal project during the final month of the semester. I've always been interested in exploring new classes of instruments and new ways of playing traditional instruments, so naturally that was the route I decided to take with this project.
My primary source of inspiration for this project was the work that Paul Vo did for MOOG, specifically in his guitar design that used electromagnets to continuously resonate the strings, creating an "infinite sustain" effect. I wanted to tweak this idea such that the electromagnets could be used to activate various notes instead of just perpetuating the sound creting by a physical object striking the string. The concept behind this project is simple: if you modulate the strength of the magnetic field incident on a metal guitar string at the strings resonant frequency (or an integer-multiple of its resonant frequency), it will resonante. My goal was to then use this principle to create a keyboard-based instrument where the keys are mapped to various harmonics on the different physical strings. The end result is an instrument that sounds very pure and ethereal, as the strings vibrate at a more or less a single frequency and there is no audible "attack". See the video below.
In operation, the 8051 microcontroller uses its internal timer to produce a TTL square wave on a digital output pin. This square wave drives an open-collector current source, which in turn drives current through my electromagnets. A cypress PSoC runs a phase-locked loop circuit that ensures the square wave is constructively interfering with the natural resonance of the strings and automatically tunes the square wave's period to produce maximum resonance. For this prototype, my keyboard is a number pad and its output is decoded and processed by the 8051. The pad controls which string is activated and multiplies the corresponding resonant frequency by various integers to produce several different harmonics.
For more details, here is a link to my design notebook used throughout this process: