Arduino Midi Master Clock

DIY Arduino MIDI master clock/sync/divider for MIDI instruments, Pocket Operators and Korg Volca.

You can easily find similar projects but I added ability to sync different PPQN via 2nd 3.5mm trs jack (check-out demo video below).

MIDI & 1st audio jack sync according to BPM and I can adjust different PPQN with encoder (push once) for 2nd audio sync jack.

I want to add swing function (like Volca Sample) but still figuring out best way to implement (maybe future updates).

Code is not well-documented and anywhere near neat. Any suggestions are welcome. :)

More demo video

Part list

  • Arduino (any model)
  • 1 x Push button (You can omit this and use encoder’s button. Need implement long & short push button code)
  • 1 x Rotary encoder with button
  • 2 x 3.5mm trs female socket (You can add more if you need)
  • 3 x 220 ohm resistor
  • 1 x MIDI connector (5-pin standard DIN)
  • 1 x Led
  • 0.96 inch OLED 128×64 I2c display module (LED module is slow you can use other display like “16×2 LCD”)

The code

How to use

  • Change BPM via encoder
  • 1 Push encoder button to change 2nd audio sync speed, push again to exit to main BPM display
  • Start / Stop via Push button

8 thoughts on “Arduino Midi Master Clock”

  1. This was exactly what I was looking for, thank you for putting this together and sharing with us, cheers!!

    1. Hi
      This looks awesome, almost what I was looking after! :-)
      I want to send sync via USB midi, send transport commands start/stop, and “rec” commands via foot switch jack to my Livetrak L-12, I am planning to use a Teensy 3.5 for this.
      Can you elaborate a bit regarding the audio sync, I presume it is not standard midi sync in that jack?

      Keep up the good work!

  2. Any idea how many MIDI devices I could drive with this? I am guessing quite a lot because it is only driving onto couplers, I’m just thinking to make one of these with maybe 6 MIDI jacks so I can drive a number of synths / drum machines at once

Leave a Comment