Arduino drum machine

Hey are there any diy Arduino based drum machines? I don’t know if I’m exactly looking for more of a module based or sampler drum machine that uses an Arduino or if there are any stripboards for it, and also have it midi compatible? Not sure if anyone knows any

1 Like
1 Like

It looks very easy and straight forward, I’ll try looking into the code, and is it more of a module or a sampler and what kind of drum machine is it cloning?


Clone ish of the original korg mini pops as used by Jean Michelle Jarre .
It stores samples in a very low resolution in the code and then in memory which are all triggered by pre programmed patterns in the code. Adding switches lets you mute any of the sample sounds. The other two controls are tempo and pattern selection. You can have a clock out but I’ve never seen a clock in (though I see no reason why it wouldn’t be possible.)
Its a fun module. You could edit the patterns and upload your own samples if you use audacity or some other program to reduce the resolution of the sample.

1 Like

So the provided schematic and code is all for the O2, or the Korg Mini-pops right?

1 Like

The O2 is the sound-similar arduino version of the korg mini pops. The plans are for the O2.
Edit: go on. Build it! You’ll never have another drum machine like it. JFDI

in the same link you have also the DSP D8 (code and schem), with more “standard” drum sound.

i post this recently


Is there anyway to implement midi into the code? Because I’m sure it’s possible, but I’m not sure what code or schematic to use, so I was wondering if using the code and schematic of Nuts and Volts Midi in and output circuit with the minipops code and schematic would work together?

1 Like

I suspect offloading the midi control logic to another microcontroller is needed.

Maybe, but is there any way to add midi to the korg minipop?or any ideas?

it seems possible

in the schem pin13 is the sync out

in the comments he said about the code : email me and I’ll send it

jackwildchurch @ gmail . com

i wrote to him … i’m waiting, but maybe a way :wink:


Possible in theory and notes and volts’ script is a great start. Id look at the sections that handle the tempo pot for a clock in and the pattern builder/player for MIDI.

So I started making the circuit of the korg minipops and I’m using the schematic that was provided above and for some reason, the pattern and tempo doesn’t seem to work when I try using 10k pots, any ideas?

Which version of the code are you using? The original reads pots, but there’s another version that just reads the serial interface.


I got it working, works great and sounds great! But is there at least a way to add a clock in? I found a clock and reset out which work fine, but if I want a clock in, what do I have to add to the code or what schematic would I use? Or are there any examples I can use?


As I’ve said I’ve never done it but I’d look at the tempo section of the script and separate out the speed setting from the pot control.
Pick a spare digital pin. Use a npn transistor and a signal diode. After that it’s reading.

1 Like

If you are already using arduino, you can just use a digital out pin. Just set it on and set it off to pulse, and loop with a sleep equal to the frequency you need. Doing a knob which will let you change this frequency is also possible, just normalize the values of your frequency range and map the across 0-1023 since the ardunios analog to digital conversation will take your pots analog pin and do the magic needed to turn it into numbers.

If you need a better explanation with code n junk I’ll gladly assist, I’m just away from the computer atm.

Usually, sequencers and midi clocks use the PPQ (Pulses per quarter note) unit of measurement. We could use Hz, but in reality, what is usually more useful for musicians are things that translate easily to things like BPM.

I should mention, i have not implemented this before, but i imagine the code should be simple enough.
-edit- I am back at my computer, so ill whip something up and see if im right.


As I was going through and coding a simple clock with duty cycle and other stuff i realized that I might be wasting my time if someone already implemented this. It sometimes pays to look for existing libs for this. Ive included the code here just for transparency.

Im going to hold off on this and take a look for work that has already been done regarding this since interrupts are going to be involved for good timing protocols.

Bringing the convo back to MIDI, its actually not too big a deal to implement a midi sequencer with an arduino. Personally, the easiest route here i think is to have a separate arduino for your sequencing duties, and plug it into your drums to trigger. @lookmumnocomputer has a project for a sequencer called the “BIG BUTTON” which was made alongside the Sparkfun WAV trigger.


for Midi & Sync out, the guy (very sympathic) send me the code and schem, i just ask to him if i can share it here for all.

1 Like

here’s a part of his answer :

Yes, please share it.
Please note I didn’t write the MIDI out code - someone else kindly shared it with me and I don’t know who originally added this to the O2 sketch, but I can’t take any credit for it.

here’s the schem

and code :