Master clock

I've always wanted a central master clock in my modular system, well in the studio as well. After many drafts with TTL-logics I finally gave up and started my thoughts all over again. I decided to go with the Arduino, more particularly the Arduino Uno. Well, this was new territory for me, but with a lot of help from friends, especially Kalle, I managed to do a master clock far beyond my first plans.

The master clock is intended as a master clock, but it can also act as a slave converting clock signals.

    Internal controls:
  • Internal clock speed - sets speed between 50 and 240bpm. All clock signals are 8ms, apart from MIDI messages.
  • Play/Stop - Starts or stops playing the clock signal. The Play/Stop output as well as the Sync24 Play/Stop output go high (+5V) on play and low (0V) on stop. Play and stop messages are sent on the MIDI out. Stop quits sending clock signals at 24 PPQN, 16th, 8th, 4th, and the MIDI outputs, but keeps the Sync24 clock output running. Stop also sends a high (+5V) pulse on the Reset output.
  • Clock source - Toggles clock source from Internal, MIDI, Sync24, to 24PPQN.
  • Tempo LED - The Tempo LED flashes in the tempo of the selected clock source, white for Internal, blue for MIDI, green for Sync24, and red for 24PPQN. If no clock source is connected to the specific input the Tempo LED will light with a steady light.
  • Playing LED - The Playing LED is lit when the master clock is playing.
    Slave mode
  • When in slave mode the internal clock setting as well as the internal Play/stop is disabled. All information is sent as described above but tempo and play/stop are controlled by the external device.
    Outputs:
  • Play/Stop - High (+5V) for play and low for stop (0V)
  • 24PPQN - clock signal at 24 pulses per quarter note
  • 16th - clock signal at 16 beats per measure
  • 8th - clock signal at 8 beats per measure
  • 4th - clock signal at 4 beats per measure
  • Sync24 - clock signal and play/stop
  • MIDI - clock signal and play/stop messages
    Inputs:
  • Play/Stop - High (+5V) for play and low for stop (0V)
  • 24PPQN - clock signal at 24 pulses per quarter note
  • Sync24 - clock signal and play/stop
  • MIDI - clock signal and play/stop messages

Unfortunately there are no building instructions for this module, but at least you'll find the code, schematic, some photos, and some comments.

Schematics showing Play/stop and Clock source buttons, Play/stop LED, and part of the inputs and outputs.
Schematics showing Tempo potentiometer, RGB-LED, and part of the inputs and outputs.
Schematics showing DIN connections, MIDI-in, MIDI-out, and Sync24 (Sync24 needs to be doubled, one for input and one for output).
The Arduino code
  1. The finished master clock

  2. An action shot when the master clock act like a slave under a Roland TR-606 and in turn sends 16th, 8th, and 4th to the Z8000 matrix sequencer

That's it! Have fun and control all your devices!

/Niklas

Updated - 2013-09-01 22:07
Valid XHTML 1.0 Strict