303 Step Sequencer clone

2 Tracks of famous Roland TB303 sequencer. Programming using rest, glide and accent on each step. The addition of step length parameter per track makes you able to choose from 1 step to 16 steps of pattern length to make some unsual sequences.

Generative Engine

Generate automatic harmonized acid lines by pressing a single button and twist some harmonic parameter knobs. Just pick up a harmonic mode(scale), the low and high notes to fit the sequence and you have infinite sequences by pressing random it button!

Midi Controller

Controls your synthetizer acid midi parameters per track up to 6 parameters.

Midi Clock

Tight and solid MIDI clock to drive your gears clock needs.

User Interface

4 knobs and 6 buttons divided into 3 pages

When turning your aciduino on you have the page select, the page leds will be blinking indicating that you are on page select mode.

[page select]: press button1 and button2 together

knobs: none, none, none, tempo

buttons: track 1, track 2, [midi controller], [generative], [step edit], play/stop

Just press the desired page button to navigate thru.

Use track 1 and track 2 buttons to select the track to be use. The slected track is the one with led on.

[midi controller]

knobs: cutoff freq./decay, resonance/accent, env mod/tunning, tempo

buttons: track 1, track 2, wave form, ctrl A, ctrl B, play/stop

The commands will be sent to the selected track only.

Use track 1 and track 2 buttons to select the track to be use. The selected track is the one with led on.

ctrl A and ctrl B change between knobs midi data to be sent. The selected ctrl is the one with led on.


knobs: ramdom low note, ramdom range note, transpose, tempo

buttons: track 1, track 2, ramdomize it, harmonic mode -, harmonic mode +, play/stop

Use track 1 and track 2 buttons to select the track to be use. The selected track is the one with led on.

Press randomize to get a fresh new sequence on selected track.

harmonic mode -(previous) and harmonic mode +(next) lets you navigate thru harmonic modes(scales). Pressing harmonic mode – all the way until get led on means no harmonic context apply to sequence generation.

By default harmonize is off, just press once harmonic +(next) to get first scale on list, ionian, next again to got to dorian and so on.

Ramdom low note selects the first note of sequence range notes that can be generated by probabilty. Ramdom range note defines the range of notes that can be generated starting from ramdom low note.

Transpose lets you go up or down on scale tunning, from -12 to +12.

[step edit]

knobs: octave, note, sequence length, tempo

buttons: prev step, next step, rest, glide, accent, play/stop

Led on for prev step button means you are have the first step selected for edit, led on for next step button means you have the last step select for edit.

The rest, glide and accent buttons are applied to selected step, led on/off are used to express the state of each parameter per step.

Octave and note knobs lets you select the note for the selected step.

Sequence lenth knob lets you choose from 1 step to 16 steps or lenth for your sequence.

Configure for personal needs

Use config.h to hack your environment as you wish.


This clone is based on uClock library to generate sequencer BPM clock. The library is now part of project to get DIYers a easy compile time.

You can check more info for this library on:

BOM List

  • 1x arduino nano
  • 1x solderless breadboard protoboard 830 tie points 2 busess
  • 1x solderless breadboard jumper cable wire kit box
  • 6x 220ohms resistors
  • 6x 6mm taticle switch
  • 6x 3mm diffused leds
  • 4x 10k linear potentiometers

MIDI connection?

Add more two 220ohms resistors to you boom list and choose one of thoses above methods as main midi conection.

  • 1x 5 pins DIN female connector (standard MIDI connector) + sto protoboard – you need solder skills here.
  • 1x midi cable. Cut it in a half and connect it directly to protoboard – its a good idea to soldering the wire tip before make the connections.

USB Connection?

  • Open config.h and set MIDI_MODE to 1.
  • Download and install a serial-to-midi converter like
  • Open your favorite DAW, configure MIDI port to get signal from serial-to-midi converter and just go acidulize with your preferred acid synth plugin. Depends on your operational system you may need a additional MIDI virtual port driver installed.