Robotic Drumset
Bridging the Digital / Analog gap in music


The project was a midi controlled robotic drum kit designed to sound as natural as reasonably possible given the budget constraints. The hardware and electrical system needed to be reliable enough for the setup/tear down nature of a professional music tour. The midi software was written in C and Javascript. The electrical system consisted of several power supplies, solenoids, XLR power/signal cables, Arduino, and a custom circuit board with a variety of mosfets, resistors and diodes. Physical hardware, mostly steel and ABS plastic, is mostly 3D printed  and cut on a CNC machine.

Read more ↓


After many design iterations I settled on a combination of 3D printed and CNC machined parts out of ABS. A variety of ball bearings, thumb screws for adjustments, and steel tooth clamps for mounting to drum rims.


Due to the configuration of the hardware sometimes solenoids would be mounted vertically, horizontally, or at weird random angles. This meant that the force of gravity was working on each drum stick and solenoid at a different angle. This caused some instruments to be delayed more than others. Not all of the percussion pieces were playing in sync. To make it worse the delay variable would change depending on how hard each solenoid was hitting. Though it sounded chaotic, it was a simple mathematics problem. I wrote a simple midi plugin that applied a very simple pre-delay function curve to each solenoid depending on the input velocity. This put everything perfectly in sync.

Screen Shot 2017-11-28 at 4.20.24 AM.png


Mosfet / Solenoid

The Mosfet and solenoid did not cause much trouble to be honest. That is until mysteriously, after several minutes of playing, sometimes a mosfet would fry open, clamping the solenoid down at full power until we unplug the entire system to analyze what happened. This happened several times. The first several times we thought it might be a fluke or a bad solder. It wasn't until coming across an article about reverse transient voltage where the problem became clear.

When current is removed from a solenoid, the magnetic field collapses, sending a pulse of electrically backwards through the power wires. Since the power wires ran directly from the solenoid to the mosfet the mosfet was receiving all of that power in reverse which was causing the chip to overheat and fry. A simple correctly sized diode was put in place between the mosfet and solenoid which prevented reverse transient voltage from reaching the mosfet. Now they would run for hours and stay cool.

Sizing the power supply

Another issue was the power consumption. Each drum, cymbal, or percussion instrument had its own drum stick and each drum stick had its own solenoid to control it. With a kick, snare, toms, ride, crash, hats, and aux gear that's possibly up to 10 solenoids. Each solenoid, when engaged, can pull up to 5 amps. We noticed that during playback if multiple instruments were triggered simultaneously the current would spike and the voltage would drop. Our power supply was undersized. Eventually we ended up with a 24v 40 amp power supply.


The Down Stroke

When creating a robotic musician the musical dynamics are key. Being to tone, velocity, sound, volume, etc. That means that control is really the key. We experimented with a number of different control systems. Pneumatics, servos, stepper motors and solenoids. Pneumatics are loud. Servos are weak. Stepper motors are electrically complex and inefficient. We ended up settling on solenoids which act as linear actuators.

Solenoids are great at a few things. When paired with a mosfet, pulse width modulation, which is then modulated over time you have a very simple electrical system. A solenoid (shown in Figure A.) is an incredibly simple mechanism with only a single moving part - a solid steel plunger that moves linearly to the left when the surrounding coil is electrified (the down stroke) 

The Up Stroke

When the electrical current is removed the spring around the plunger returns the plunger to its resting state (the up stroke). One problem with the spring is that it's not easily adjustable or tunable. Another problem is that as the solenoid heats up (which it does after several minutes of use) the spring gets weaker.

I experimented with a variety of different return mechanisms. Springs over the coil, springs outside the coil, and bands of rubber, silicone, latex. I ended up finding a material called Rep Band that had a perfect amount of adjustability, strength, and did not change tension in different temperature conditions.

These result is a reliable, quiet, controllable, powerful, mechanism for repeat impacts with very few moving parts.

 Figure A.

Figure A.