English Version Spanish Version

MIDIbox 64 SEQ

Created 2001-2003

Important: this page describes the old PIC16F based sequencer which was very limited compared to the redesigned "MIDIbox SEQ". If you are planning to build a new sequencer, then please follow this link

Feature list of the old PIC16F based version:

  • Every pot-row controls one track.
  • 4 independent tracks are available
  • Each track consists of 3 layers which can be assigned to
    • Note Number, Velocity, Gate Length (on Note Events)
    • CC Number, CC Value, Gate Length (on Controllers)
  • available modes for every track: Normal/Transpose/Transpose+Hold/Arpeggiator/Arp.+Hold/Controller
  • available directions for every track: Forward/Backward/PingPong/Random
  • available clock divider for every track: BPM/1, BPM/2, BPM/4, BPM/8, BPM/16
  • available length for every track: 1-16
  • 12 layers can be assigned indiviually
  • 48-250 BPM or external sync via MIDI clock
  • 8 Presets
  • Manual step triggering
  • 128 patterns can be saved in every BankStick
  • patterns can be looped and chained

Important: this page describes the old PIC16F based sequencer which was very limited compared to the redesigned "MIDIbox SEQ". If you are planning to build a new sequencer, then please follow this link



Display Submenu

This is the main screen which provides following views:

Display View 1

Layer A is selected, pattern A1. Current step: 1/16 of Track 1. All steps are unmuted.

Display View 2

Layer B has been selected.

Display View 3

A pot of Track #1 has been moved. Layer A has been assigned to the note value, therefore you will see the four notes of one beat.

Display View 4

Layer B has been selected which is assigned to velocity. Now you will see bars instead of notes for an better oversight.

Display View 5

Layer C has been assigned to the gatelength.

Display View 6

Track #2 - Layer C has been assigned to the CC number, all CC numbers are set to 2Eh.

Display View 7

Layer B of Track #2 controls the CC value.

Display View 8

Layer A of Track #2 controls the gatelength.

Display View 9

Sequencer is running, current step: 5/16. Active Track: 1. Track 3 and 4 are muted.


Patterns Submenu

MIDIbox64seq is the worldwide first MIDI controller with an exchangable, hot plug&playable bank storage device: the BankStick. If you find commercial controllers with the same feature in some years, you know from where the idea comes from.
Every BankStick is capable of storing 128 different sequencer patterns. Since a standard 32k IIC EEPROM is used, these sweet little things are really cheap (about 5 EUR), so why not using several sticks for several songs or synthesizers...
The simple circuit diagramm for the BankStick can be found here.

The BankStick

An opened BankStick case. I'm using 9 pol SubD plugs, but you can also decide to use another type of plug with at least 4 pins.

No Stick found

The LCD shows this message if no BankStick is connected. In this case, only one internal pattern is available.

Stick found

This message appears immediately as soon as you plug the BankStick into the socket. Now you are able to select the pattern with the Left/Right Menu buttons or alternatively by the general purpose buttons (the first 8 GP buttons select the pattern group A-H/a-h, the second 8 GP buttons select the pattern number 1-8)

BankStick Format

A new BankStick has to be formatted before it can be used. Just select a bank and press the Snapshot Button for 3 seconds in order to write the internal bank into the BankStick. Every bank has to be formatted separately. This procedure is only necessary once!


Track Event Submenu

This menu allows you to assign a MIDI event (Note or CC) to the tracks. The track number has to be selected with the Start/Stop/Select button.

Select Note

With the Left/Right menu button you can either assign a note to this track...

Select CC

...or a MIDI controller (CC). Also the MIDI channel has to be specified in this menu.


Track Mode Submenu

Each track can run in an indivual mode which has to be specified in this menu. The track number has to be selected with the Start/Stop/Select button.

TrkMode View 1

Use this mode to disable the track.

TrkMode View 2

Common sequencer mode, notes or CC's are just played.

TrkMode View 3

If the track runs in this mode, an external MIDI keyboard can be used to transpose the notes.

TrkMode View 4

Same like above, but track will not be reset when no key is pressed.

TrkMode View 5

the Arpeggiator mode works similar to the Transpose mode, but up to 4 keys can be transpose up to 4 successive steps with different values

TrkMode View 6

Same like above, but the track will not be reset when no key is pressed.

TrkMode View 7

This special mode allows you to disable the sequencer function for the appr. track and to use the 16 pots for sending CC messages - nice for manual filter sweeps, etc. :)


Track Direction Submenu

Each track can run in an indivual direction which has to be specified in this menu. The track number has to be selected with the Start/Stop/Select button.

TrkDir View 1

Track runs from the left to the right.

TrkDir View 2

Track runs from the right to the left.

TrkDir View 3

Track direction alternates.

TrkDir View 4

Track direction changes randomly.


Track Divider Submenu

A clock divider can be assigned to every track in order to slow down the sequence. The track number has to be selected with the Start/Stop/Select button.

TrkDiv View 1

A divider value from BPM/1 to...

TrkDiv View 5

...BPM/16 is supported.


Track Length Submenu

Each track can run with an indivual length which has to be specified in this menu. The track number has to be selected with the Start/Stop/Select button.

TrkLen View 1

A track length from 1 step to 16 steps is supported.


Layer Assign Submenu

Each layer of a track can be mapped to one of three functions (The layer and track number has to be selected with the Start/Stop/Select button). This feature allows you to configure the layers for your private needs. For example, if you mainly want to change the Notes with Track #1, a filter CC with Track #2, the filter ADSR decay value with Track #3, the slide function with Track #4, you can assign all these parameters to layer A. All other functions like velocity, CC number, gatelength, can be mapped to the other layers.
Configuration Example:

Assgn View 1

If track #1 plays notes: assign the note values to layer A
If track #1 player CC's: assign the CC numbers to layer A

Assgn View 2

If track #1 plays notes: assign the velocity values to layer B
If track #1 player CC's: assign the CC value to layer B

Assgn View 3

Assign the gatelength to layer C


Next Pattern Submenu

This menu allows you to chain patterns:

Next View 1

This is the default setup: the pattern will stay selected after it has been finished - it will be played in an endless loop.

Next View 2

With the GP or Left/Right buttons the next pattern can be specified to which the sequencer should switch after the current pattern has been finished. You are also able to specify how much times the pattern should be played before it switches to another pattern (press the Start/Stop/Select button to change the number of loops).


Manual Trigger Submenu

This menu allows you to trigger a single step manually with one of the 16 GP buttons. The note(s) and controller(s) will be played exactly with the original parameters and length. This intention behind this feature is to allow a more relaxed offline editing of the tracks ;-)

Trg View 1

Either all tracks can be triggered at once...

Trg View 2

...or a step of a single track.


Shift Submenu

This menu allows you to shift the starting point of the sequencer...

Shift View 1

...from step 1 to 2-16


BPM Submenu

This submenu allows you to setup the speed of the sequencer:

SEQ BPM Master

BPMs from 48 to 250 can be selected with the Left/Right buttons. In this case, the MIDIbox64 sequencer acts as MIDI clock master and you can synchronize other MIDI sequencers with the MIDIbox.


With the leftmost position (below 48 BPM) the Slave Mode is selected. In this case, the MIDIbox64 sequencer acts as MIDI clock slave and can be synchronized to other MIDI sequencers.


Copy Submenu

Use this menu page to copy (or save) the current pattern to another destination.

Copy View 1

note that you can either use the Left/Right buttons, or the 16 GP buttons to select the target pattern.


Preset Submenu

8 presets are available which can be copied into the current pattern for a fast&easy setup:

Preset View 1

Track 1-4 send notes on MIDI Channel 1, 2, 3, 4

Preset View 2

Track 1-4 send controllers on MIDI Channel 1, 2, 3, 4

Preset View 3

Track1/3 send notes on channel 1/2, track 2/4 send controllers on channel 1/2

Preset View 4

Track 1 sends notes on channel 1, track 2-4 send controllers (Track 4 with Ping Pong effect)

Preset View 5

Track 1-4 trigger drum samples (Bass Drum, Snare, Closed/Opened HiHat) on MIDI Channel 10

Preset View 6

Track 1-4 send CC#7 controllers for a nice gater effect on Channel 1-4

Preset View 7

Track 1-4 send notes on Channel 1 in various sequencer modes (Normal/Transpose/T+Hold/Arpeggiator) at the same time

Preset View 8

same like above, but with additional dividers and PingPongs


MIDI Config. Submenu

The MIDI merger allows you ie. to plug the MIDIbox and a keyboard to a computer w/o a second MIDI In interface. Just plug the MIDI Out of your keyboard to the MIDI In of MIDIbox and the MIDI Out of the MIDIbox to the MIDI In of your computer. If you connect the MIDI In of the MIDIbox with MIDI Out of your computer, you should disable the MIDI merger in order to avoid endless feedback loops.

Merger Display

In this mode, you are also able to enable the MIDIbox-to-COM option with the Start/Stop/Select Button (4). Find more informations on the MIDIbox-to-COM Interface Page!


SysEx Submenu

SysEx View 1

This menu allows you to send the pattern setup to another sequencer. In theory. But in praxis the PIC16F firmware of the sequencer is not able to receive a pattern due to memory limitations - this feature will be enabled in the MIOS based implementation.

Limitations of the PIC16F based firmware

Due to memory limitations the PIC16F based firmware comes with some known imperfections which will be fixed in the MIOS based implementation:

  • Layer C contains only one value for the whole row (Layer A, B: 16 values). This restriction was necessary due to limited RAM - in the PIC18F452 version this limitation will not exist. Workaround: assign a static sequencer function to Layer C. If the track should play a drum, just assign the note number to layer A, velcoity to layer B and the gatelength to Layer C (-> gatelength never change). Or if you want to sequence a MIDI controller, assign the CC Value to Layer A, the gatelength to Layer B and the CC number to Layer C (-> CC number never change)
  • Buttons and LED functions are not free assignable to DIN/DOUT pins. Find the available IO pins in these files: mbhp_dinx4_mb64seq.pdf and mbhp_doutx4_mb64seq.pdf
  • SysEx dumps cannot be received
  • the 16 "general purpose" LEDs only show the status of the "active track". The MIOS based version will allow to use 64 LEDs for all 64 pots.
  • the layer assign function should be enhanced so that track functions can also be mapped to other pot rows, so that all three parameters of one track are controllable without switching to another layer.
  • the GP buttons should also be used to select the track mode, track length, clock divider etc. depending on the active submenu.
  • a "performance" and "edit" mode. The pattern should be played endless in edit mode, it should not be switched to the "next pattern" like in performance mode
  • no Song mode, the "next pattern" feature is very hard to use
  • only one pattern can be played at the same time. The MIOS based implementation allows to play 4 patterns at once -> 16 tracks!
  • Groove styles (Shuffle etc...) - a very essential feature for drum patterns - are only supported by the MIOS based implementation!
  • the sequencer core should be reusable for other control surfaces (e.g for a TB303 like user interface)
  • the MIOS based implementation offers an optimized control surface for sequencers with two 2x40 LCDs and 17 rotary encoders. Please keep in mind that controlling so much tracks and layers with common pots makes no fun, once you've to switch between the layers in order to edit an existing sequence!
  • note also that this firmware has been discontinued and won't be maintained in the future. The MIOS based implementation provides an option which allows you to re-use your existing MIDIbox64seq hardware (called MIDIbox SEQ Vintage), you just only have to exchange the PIC and the crystal.


Schematics & PCBs
File Size Description
MBHP LINK see MIDIbox Hardware Platform
mbhp_dinx4_mb64seq.pdf 4k button pin assignments
mbhp_doutx4_mb64seq.pdf 4k LED pin assignments
PIC16F Firmwares LINK Firmware for PIC16F877 (expired, don't use it for new MIDIboxes!)
Walkthroughs & Tutorials
Report LINK Steven Thomas wrote a report about his TB3030+MIDIbox64 Sequencer Project. Check this site if you are searching for an extravagand enclosure!
Tutorial LINK The MIDIbox64 tutorial
MIDIbox Forum LINK Support at the MIDIbox Forum
MIDIbox Wiki LINK A lot of additional informations on MIDIbox

Sequencer Demo Samples

These samples are intended for people who want to know more about the advantages of a hardware step sequencer. Note that the parts are mostly played live within one evening regardless of the sound quality. You see: the results come fast and sound interesting :)
A Yamaha AN1x Synthesizer and XG card were used as sound source.

MP3 (515k) A classical step sequencer loop. Four voices are played simultaneously
(Seq Mode Independent, Loop Mode 1111, Play Mode 1111, Loop Length 16)
MP3 (990k) This sample demonstrates how fast a gater effect can be realized. One pot track controls the VCA of a saw sound. Only 4 pots are played in a loop, this allows to change the gate times fast and unique for every cycle.
At the beginning, the gate time of pot #1 is gained, thereafter the gate time of pot #3, then pot #2. After 25 seconds, some effects are modified (because the gater effect lives on modulation of parameters) and drums are played.
(Seq Mode Independent, Loop Mode 1---, Play Mode L111, Loop Length 4)
MP3 (1550k) You hear the reason why I built the sequencer. ;-)
A deep dark sound is played. After 30 seconds, the sequencer is started. It modulates the sync intensity and cutoff frequency of the sound. Later, the pots deticated for the cutoff frequency are moved to get a special rythmic feeling.
(Seq Mode Independent, Loop Mode 11--, Play Mode 2211, Loop Length 16)
MP3 (380k) 3 pot tracks and the button track are playing 4 drum samples of a XG sound card. After 12 seconds, the fourth pot track is switched on which additionally modulates the cutoff frequency.
(Seq Mode Independent, Loop Mode 1111, Play Mode 1112, Loop Length 16)
MP3 (235k) Two voices are played simultaneously. Pot track #1 and #2 controlls the cutoff frequency and resonance of the first, pot track #3 and #4 the parameters of the second voice.
(Seq Mode Independent, Loop Mode 1111, Play Mode 1111, Loop Length 16)
NEW MP3 (996k) A techno-like song, uses the transpose function. Only the lead sound is controlled by the MIDIbox64 sequencer (notes and sync rate), the other sounds are coming from a RM1x groovebox, which is synchronized via MIDI clock.
(Seq Mode Tranpose, Loop Mode ---1, Play Mode ---2, Loop Length 8)
NEW MP3 (540k) A classical electronic arpeggiator tune. MIDIbox track 1-3 sends the notes, the independent track #4 the cutoff controllers
(Seq Mode Arpeggiator, Loop Mode ---1, Play Mode ---2, Loop Length 16)
NEW MP3 (344k) Arpeggiator speed increased from 100 BPM to 250 BPM.
Do you remember the C=64? :-)
(Seq Mode Arpeggiator, Loop Mode ----, Play Mode ----, Loop Length 4)
LINK Find the Songs 'Floating Sequences' and 'Get Sequenced' at this page. It especially demonstrates the different play modes of the sequencer.

TK in the DIY corner.

Last update: 2023-11-04

Copyright 1998-2023, Thorsten Klose. All rights reserved.