English Version French Version


Hardware Options

This page discusses various hardware options which are provided by MIDIbox SEQ V3. Most of these settings can be adapted in the setup_mbseq_v3.asm if they are not enabled by default. Once you've changed an option, you have to reassemble and upload the code to your MIDIbox like described in the GPASM tutorial


Two preconfigured setups are part of the MIDIbox SEQ package: setup_mbseq_v3.asm (default configuration of MIDIbox SEQ V3) and setup_mbseq_tk.asm (my own configuration). You can copy the setup_mbseq_v3.asm file to a new .asm file and change it for your needs. This private setup can be re-used for firmware updates. New parameters will be notified in the ChangeLog.

Pots or Encoders?

In distance to previous MIDIbox SEQ versions, MIDIbox SEQ V3 only provides an user interface with 16 rotary encoders (endless knobs) + 1 data wheel (the 17th rotary encoder).

Analog pots are not supported anymore. The reason: pot control might sound like "vintage", "old style" and "analog sequencer", and possibly could imply that pots are the best solution for perfect sequences, but this is just a popular fallacy and nothing else! In fact pots are only useful for sequencers which are controlling the analog gear directly, but for a MIDI sequencer you defenitely want to have features like "total recall" and "jumpless switching" between tracks, layers and patterns.

In addition, the menu pages of MIDIbox SEQ V3 rely on rotary encoders more than before. MIDIbox SEQ has a flat menu hierarchy, and this requires that all values can be changed directly - with the 16 rotary encoders.

Inc/Dec button or Datawheel?

For the menu navigation and data entry either Inc/Dec buttons and/or a datawheel can be used. The datawheel (rotary encoder with big knob) should be the preferred solution since it simplifies the selection of parameters with a wide value range (like BPM).

If you are planning a new frontpanel, it even could make sense to consider both - datawheel and Inc/Dec buttons, because buttons are sometimes better for finetuning parameters. The Fwd/Rew buttons can be used for the same purpose by default, but only as long as the Song mode is not active.

Detented or Non-Detented Encoders?

In difference to suggestions for MIOS based MIDI controllers, for MIDIbox SEQ I strongly recomment detented rotary encoders! Of course, MIOS provides three types, and all are working. But for a sequencer, where you want to select the notes exactly and not "smoothly", detented encoders are really the preferred ones.

Note that there are two different types of detented rotary encoders (see also this Wiki page). The setup_mbseq_v3.asm file has been preconfigured for "MIOS_ENC_MODE_DETENTED2", which is the most commonly used (encoders provided by Voti/SmashTV). If you notice, that your encoders only work in one direction, please change the type to "MIOS_ENC_MODE_DETENTED" at the bottom of the setup file.

How many buttons?

If you are building a new MIDIbox SEQ it's highly recommended to mount at least the buttons which are used in the original V3 design to ensure best ergonomic handling. This means, that you want to use at least 44 buttons!

With MIDIbox SEQ V3, some new button functions have been introduced, which should be considered on new frontpanel layouts. These are:

  • Group Select Button 1/2/3/4: Four buttons which provide a direct access to the four track groups. In combination with the four track buttons, this allows you to change between the 16 tracks quickly.
    With the MBSEQ V2 frontpanel, the track group has to be selected with the F4 button
  • Trigger Layer A/B/C: Three buttons which provide a direct access to the 3 trigger layers.
    With the MBSEQ V2 frontpanel, the trigger layer has to be selected with the F3 button
  • Step View: Changes the display view between step 1-16 and 17-32.
    With the MBSEQ V2 frontpanel, the step view has to be selected with the F2 button

Note that there is also a MIDI Remote feature available which allows you to trigger button functions with a MIDI keyboard. However, the handling isn't so perfect like with dedicated buttons (especially since the LEDs are missing on a master keyboard), but it works!

It isn't required that the buttons are assigned to the same DIN input pins like predefined in the setup_mbseq_v3.asm file. You are able to change the pinning for your (existing) hardware. But if you want to keep it compatible, then use exactly the same pinning like me.

DIN Pinning of setup_mbseq_v3

How many LEDs?

Some button functions require a LED as some kind of feedback which is not given by the LCD. For example, the selected Track and Layer is not always displayed by the LCD, also Solo/Fast/All and especially the played (unmuted) steps.

This means that you want to have at least 30 LEDs. One additional LED can be added as beat indicator. Two others to display the MIDI Rx/Tx activity (I don't use these two LEDs for my own design).

With MIDIbox SEQ V3, some new LED functions have been introduced, which should be considered on new frontpanel layouts. These are:

  • Group Select LED 1/2/3/4: to display the selected group
  • Trigger Layer A/B/C: to display the selected trigger layer
  • Step View: either one LED which shows if step view 17-32 selected, or two LEDs which display if step view 1-16 or 17-32 are selected.

Also LEDs for Play/Stop/Pause are available now. These LEDs have been requested, but if you ask me: they are not required...

DOUT Pinning of setup_mbseq_v3

Button/LED matrix

By default the 16 "general purpose" LEDs (which belong to the 16 "general purpose" buttons) display the triggers of the current selected track. If the sequencer is running, they also display the current sequencer position by inverting the appr. step LED.

MIDIbox SEQ supports an option to handle 64 LEDs for all 4*16 steps of a pattern (which consists of 4 tracks). This option requires just 4 additional DOUT pins which are driving the cathodes of the LED rows.

It's even possible to use Duo-Colour LEDs, so that the step pointer gets an individual colour (no inversion of the active step required)

Another hardware option allows to use 64 instead of 16 GP buttons, or, to use the 64 buttons in addition to the 16 GP buttons.

All possible options, and the appr. settings are described in the CHANGELOG.txt, and setup_mbseq_v3.asm file of the release package.

Pinning of Button/Duo-LED matrix (Note: circuit needs to be improved for high-current LEDs!)

I built such a Button/Duo-LED matrix as some kind of "breakout box" for my MIDIbox SEQ, which sits on top of the sequencer - pictures. WARNING: there is no premade PCB available - design not recommended for beginners!

Which display size?

For MIDIbox SEQ V3, two 2x40 LCDs are required! The menu pages won't be displayed completely on smaller LCDs, a software solution for 2x16 or 2x20 LCDs is not supported (and very hard to realize)!

A single 4x40 LCD as replacement for the two 2x20 LCDs is possible, but keep in mind, that this requires to arrange the GP buttons and rotary encoders at the top and the bottom of the LCD, so that they are aligned with the 8*5 character segments of the display. Without this alignment, menu item values cannot be edited intuitively.

BPM LED digits

Optionally MIDIbox SEQ can be stuffed with 3 LED digits which display the current BPM value. Note that this only works in master mode, in slave mode SLA will be displayed instead. LED digits with common anode or cathode are supported. They are driven time multiplexed, and have to be connected to two dedicated shift registers like documented in this schematic.


Older PIC18F4620 were affected by the EUSART bug, so that at least one MBHP_IIC_MIDI module was recommended for a stable MIDI output.

For newer chip revisions (PIC18F4620 B4 and higher), this workaround is not required anymore. But using MBHP_IIC_MIDI still has advantages!

Main advantage of multiple MIDI ports is reduced latency (as MIDI events can be sent in parallel), and relaxed MIDI channel handling (for 4 synths you don't need to take care about the MIDI channel at all)

For the first MBHP_IIC_MIDI module the MIDI OUT and IN port is supported. The MIDI IN is intended as alternative input to connect a MIDI keyboard if the core based MIDI IN is already allocated by a connection to a MIDI clock master device. Incoming data can also be routed to the MIDI OUT and AOUT ports. But: this MIDI input neither supports receiving MIDI clock, nor forwarding SysEx data (this possibility would affect the overall performance of the application).

For the remaining three MBHP_IIC_MIDI modules the MIDI IN port is not supported, accordingly the "OUT only" version is sufficient.

Following diagram shows the module interconnections. Note that J2:RI of the first IIC module has to be connected to J6:SI of the core module. This connection is new since MIDIbox SEQ V3.2 - without this connection MIDI IN data won't be transfered to the core!

The modules will be detected by the MIDIbox SEQ application automatically during startup. "Hot plug&play" while the application is running is not supported.


  • MIDIbox SEQ stores only a single pattern when no BankStick is connected!
  • With a 32k BankStick (24LC256) you are able to store 64 patterns
  • With a 64k BankStick (24LC512) you are able to store 128 patterns (recommended)
  • Up to 6 "Pattern BankSticks" are supported
  • An additional BankStick (24LC256 or 24LC512 (recommended)) is required to store 16 (24LC512: 32) songs
  • An additional BankStick (24LC256 or 24LC512, only 32k used) is required to store 128 mixer maps
  • Each BankStick needs an individual "chip select" address. Microchip EEPROMs are recommended (e.g., ST EEPROMs don't support the chip select function, Atmel EEPROMs only support 4 CS lines)
  • The BankStick assignments can be adapted in setup_mbseq_v3.asm, the default setup:
    • CS0: 64 Patterns (32k) - should be changed to 64k if possible
    • CS1: 64 Patterns (32k) - should be changed to 64k if possible
    • CS2: 16 Songs (32k) - should be changed to 64k if possible
    • CS2: Mixer Map (32k)
    • CS4: 64 Patterns (32k) - should be changed to 64k if possible
    • CS5: 64 Patterns (32k) - should be changed to 64k if possible
    • CS6: 64 Patterns (32k) - should be changed to 64k if possible
    • CS7: 64 Patterns (32k) - should be changed to 64k if possible
  • As you can see, 32k BankSticks are preconfigured. This is to avoid data incoherency for the case than somebody uses the prebuilt .hex file on a MIDIbox which is stuffed with 32k EEPROMs. If your MIDIbox is stuffed with 64k EEPROMs, please adapt the setup_mbseq_v3.asm file, so that you are able to use the full memory range. After this change, the EEPROMs can be formatted again in the "Format" menu page (see User Manual).

CV outputs

MIDIbox SEQ V4 can control up to 8 analog outputs by connecting an MBHP_AOUT or MBHP_AOUT_NG module, or up to 4 MBHP_AOUT_LC modules to the core.

Up to 8 digital triggers (gates) are available at J5 of the core module. They have to be enabled in the setup_mbseq_v3.asm file (this is to avoid a short circuit for the case that somebody uploads the .hex file on a MIDIbox where pots are connected to J5)

For those who cannot get enough, 48 additional drum triggers are available in the DOUT chain. They can be controlled with individual key numbers and trigger a pulse of 1 mS. The used DOUT shift registers have to be defined in the setup_mbseq_v3.asm file (DEFAULT_ENABLE_DOUT_GATE_*)

Tracks can be assigned to the outputs in the MIDI event menu. It's also possible to route incoming MIDI events to the AOUT/gate triggers in addition (this replaces a CV interface completely). The AOUT channel and trigger routing is described in the User Manual.

AOUT interconnections, AOUT_LC interconnections

Hardware costs

Here a list of a common "MIDIbox SEQ V3" setup - you can reduce the costs by choosing cheaper buttons, a cheaper case/panel and by organizing collective orders in the MIDIbox Forum!

Note that premade PCBs can be purchased at www.mikes-elektronikseite.de or http://mbhp.avishowtech.com (SmashTV). They also purchase complete kits for the modules and some of the other parts (like rotary encoders).

Prices and ordering numbers are from Reichelt if not specified. A list of alternative electronic shops outside germany can be found in the Wiki

Part Description Price
the brain of MIDIbox SEQ
It must be stuffed with a PIC18F4620 !!!
Parts: ca. 20 EUR
PCB: ca. 6 EUR
digital inputs for buttons and encoders Parts: ca. 15 EUR
PCBs: ca. 15 EUR
digital outputs for 32 LEDs Parts: ca. 3 EUR
PCB: ca. 5 EUR
Optional: 1..4 MBHP_IIC_MIDI modules for additional MIDI Out ports
Note that the "OUT only" version is sufficient - this reduces the part costs!
Parts: ca. n x 5 EUR
PCB: ca. n x 5 EUR
LCDs two 2x40 Displaytech "LCD 402A LED"
Hot tip: such displays are mostly available at EBay for less than 10 EUR!
ca. 50 EUR
BankSticks at least 3 x 24LC512-I/P for Patterns/Song/Mixer Map, Part #4915665 from Farnell, Part #579-24LC512-I/P from Mouser ca. 9 EUR
44 buttons for example "DT 6 colour" (colour = BL, GN, GR, RT, SW) - optionally you can add 8 buttons for the new MIDIbox SEQ V3 specific functions, see above ca. 19 EUR
32 LEDs for example "LED 3mm St colour" - optionally you can add 9 LEDs for the new MIDIbox SEQ V3 specific functions, see above ca. 6 EUR
17 encoders for example M-SW-ROT from Voti or the Bourns encoders from SmashTV's Shop ca. 20 EUR
16 Knobs
1 datawheel
12 x "DK13-164 black-soft", 4 x "DK13-164 gray-soft", 1 x "DK38-144" from Albs ca. 12 EUR
3 vectorboards for mounting the Buttons/Encoders/LEDs: "H25PR200" ca. 6 EUR
PSU Wall adapter (Power supply) 9V / 500 mA "MW 17-GS/6". Note: Higher current (1A, 1.5A) may be required depending on your LCD and LED choice. ca. 6 EUR
Case 19" 3U rack #460 019 from Pollin ca. 33 EUR
Panel mbseq_v3.fpd from Schaeffer Apparatebau
Please edit this .fpd file so that the dimensions match with your components!
ca. 105 EUR

Last update: 2021-04-04

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