Video Demo

A project log for DrumKid: aleatoric drum machine

A lo-fi digital drum machine which uses randomness to create unpredictable beats. Runs on Arduino, with audio provided by the Mozzi library.

Matt BradshawMatt Bradshaw 08/22/2019 at 14:000 Comments

Please note: I have since made a better video than this for the Hackaday Prize final. You can find it at

Here we are! DrumKid is finished for now - it sounds the way I hoped it would, it seems to be nice and stable, and the battery life appears to be great. I've uploaded all the latest schematics, PCB files, etc to Hackaday and written some build instructions for anyone who wants to make a breadboard version.

Here's an in-depth video I made to demonstrate the project:

The theme of this year's Hackaday Prize is "design for manufacture", which was good timing for me because I was already hoping to release my first commercial instrument in 2019. I decided that DrumKid would be a good project to enter for the prize, and I have been trying to make sure it hits the prize criteria:

Is this a unique solution to a particular challenge facing the world today?

I believe that DrumKid is a unique solution to the (first-world!) problem of drum machines being too static and inexpressive. I have been to many gigs where the approach to electronic drums is to just press "go", and either leave them looping or playing through a preset sequence, which is no better than playing to a backing track. There are some interesting approaches to solving this problem using expensive, complex, modular synthesizers, which also often employ random numbers to influence beat parameters, but I haven't seen anyone attempt to tackle this challenge with a similar approach to DrumKid, and certainly not in a compact, inexpensive unit.

How thoroughly documented were the design process & design decisions?

I have tried to give a full account of the project in the build logs, from its genesis as an iPad-based drum machine app for my band, to a breadboard prototype, to a 3D-printed prototype, and finally to the form it is in now. I've gone through four iterations of the PCB, with each version's successes and limitations described in the build logs. I've also committed regularly to the project's GitHub repository, so there is a thorough and accurate record of the design process (especially the evolution of the code) available to see publicly there.

How ready is this design be taken to market?

I estimate that DrumKid is about three months from being available to buy on Tindie. While I could start selling units immediately, since the current version is stable and working nicely, I would like to build a small initial run of units for musicians in my network to test and give me feedback on. Depending on what feedback they have, I should then have time to tweak the firmware code or, if necessary, produce another revision of the PCB before starting to make a larger batch of DrumKid units by November 2019.

How complete is the project?

In terms of my aim to build a working aleatoric drum machine that I can use myself, the project can be considered 100% complete. In terms of creating a drum machine that I can sell to the public, it's harder to say, but I feel like I'm at around 90% - I've made an effort to ensure that the most recent version is built using easy-to-source components and can be assembled quickly, so I've got my fingers crossed that the final push from having one finished unit to having 10 or 100 will be linear rather than exponential. I'll continue to document my progress here.