The MIDI to DMX Bridge - Basic System Information

This firmware personality for the DecaBox receives MIDI note and CC information a on a user-specified MIDI channel.  This data is converted to DMX512 lighting data.  In the standard firmware version, the first 128[1] DMX channels can be controlled in real time via MIDI.

Getting Started

Follow these instructions to get up and running quickly.  Each step is described in detail in the following pages:

  1. Set the DecaBox to the correct MIDI channel.
  2. Set the DMX equipment to a known start address.  Note that the right LED on the DecaBox is illuminated, signifying that DMX data is being generated.  Check your receiving equipment - it may also contain an LED indicator to confirm data being present.
  3. Use the ‘MIDI Monitor’ function on the DecaBox to confirm valid data is being received.  Note: connected DMX equipment will not respond in monitor mode.  The left LED on the DecaBox will flicker as MIDI data is received.
  4. Exit ‘MIDI Monitor’ and drive the lighting equipment directly, using any combination of Note On / Note Off / Midi Patch Change / MIDI Continuous Controller messages.

Step 1: Set the DecaBox to the correct MIDI channel

In the MIDI world, there are 16 channels available.  Between 1 and 16 channels can be transmitted via a single MIDI cable.  During initial setup, it’s best to restrict the MIDI output of your equipment (be it a guitar pedal, a sequencer, a keyboard, or similar) to a single MIDI channel.  This way, the wire is ‘quiet’ with the exception of MIDI data being used to control lighting equipment.

Press the center pushbutton which corresponds to ‘setup’ on the LCD screen.

Then, use the left and right buttons to set the desired MIDI channel.  When finished, press the center button ‘Next.’

If no other settings are required, choose ‘Next’ several more times, skip through the MIDI monitor mode, and let the system resume its home / startup screen, #1 above.

Step 2: Set the DMX equipment to a Known Start Address

When we do telephone support, we often suggest setting the first lighting fixture to DMX channel 60.  This makes it easy to access via the musical notes near the middle C octave.  Once the system is stable, the DMX start address can be set to any number in the range [1 128].

Your DMX equipment will have a manual for making this change.  It may involve setting DIP switches or manipulating buttons on a front panel.


Step 3: Use MIDI Monitor Mode to Confirm Valid Data

The MIDI monitor screen is several functions deep from the main run screen.  It can be accessed by pressing the center ‘setup’ button, then ‘next’ several times.  The first screen will display this text:

On this screen, a sample MIDI note on message was transmitted.  The DecaBox interprets it as being on MIDI channel 1, Note #55, Velocity 100:

Next, a MIDI note off message was transmitted:

In MIDI monitor mode, NO DMX IS OUTPUT.  Connected fixtures will not respond.  This mode is useful for simply checking the status of transmitted data.  To exit monitor mode and resume normal operation, press the left button, ‘ESC’.

Step 4: Exit ‘MIDI Monitor’ and Drive the Lighting Equipment

The DecaBox responds to Note, Program / Patch Change (PC) and Continuous Controller (CC) messages.  Each will be discussed in turn.

There are 128 notes in a MIDI scale.  Each note is assigned a number.  Middle C is #60.  Depending on the equipment manufacturer, this note is also called C3, C4 or C5.  What’s most important to know is that the very lowest possible MIDI note on the scale, C0 (or C-1, or C-2, depending on who is writing the documentation) has a number of ‘0’.  The very highest possible note in a MIDI scale is G8 or G9, and it has a value of 127.  Here are a pair of examples:

MIDI scale starting at C-1

MIDI scale starting at C0

What’s important to understand is that no matter the naming convention, the DecaBox maps the first MIDI note in the scale (C-1, C0, etc) to DMX channel 1.  The highest possible note in the scale corresponds to DMX channel 128.

Then, the DecaBox converts the MIDI note velocity to DMX data by doubling it.  Note velocity corresponds to loudness, if the notes were played on a piano.  When keys are barely touched, velocities are very low.  If pounded as loudly as possible, the note velocity will be high.  In the MIDI world, note velocities are a 7-bit value and cover the range [0 127].

DMX is an 8-bit system, which means levels can vary over 256 discrete steps.  Their valid range is [0 255].  The DecaBox doubles the incoming MIDI note velocity to create DMX channel values.

Every lighting equipment manufacturer sets up their equipment in a slightly different way.  For this reason, it’s essential to consult the equipment manual during programming to determine the ‘DMX Channel Map’.

A very basic example would be an RGB stage light.  It could be designed to run in several different modes:

To make this particular fixture work properly, DMX channel 4 must always be set to 100%.  Without channel 4 being turned on, the fixture will appear unresponsive.  If written on a musical staff, this would correspond to a whole note which lasts for many measures:

Then, other notes are added and removed, corresponding to different colors.  In some cases, these may appear to be very ugly chords indeed.  

The Internal Dimming Engine

It can be useful to slowly fade lights up and down.  One method to set this up in a sequencer is to transmit a series of 16th (or even 32nd) notes, with ever increasing or decreasing velocity / loudness levels, to the DecaBox:

However, this can be tedious and is in fact unnecessary.  The DecaBox includes a 128 built-in dimming engines, one for each DMX channel.  These engines run simultaneously and in parallel, and can be set to any speed at any time.

Here’s how it works:

On the main screen, the LCD indicates the currently selected fade speed.  In this case,

S = 0, signifying instantaneous changes.  The speed is changed by sending a MIDI Patch Change / Program Change message.  A patch change message is used to specify a MIDI instrument, such as grand piano, pipe organ, bass drum, etc.  

There are 128 programs in the general MIDI command set, and each has a corresponding value in the range [0 127].  The DecaBox receives these messages and multiplies their value by 0.25 seconds.  Thus a basic acoustic piano corresponds to instant changes, a pipe organ (#17) sets the engine to an approximate 4 second fade time, and so forth.

In this photo, the message ‘change to Kalimba’ was sent:


What’s useful is that MIDI note messages and PC messages may be interleaved in any combination.  The most recently received PC message sets the dimming speed for all subsequent note messages until a new PC message is received. 

For example, suppose channels 1, 2 and 3 should fade up slowly. But while they are fading, channel 4 should flash on and off instantly.  Here’s the message flow:

Drive the DMX Engine Using MIDI Continuous Controller (CC) Messages

The Decabox also responds to MIDI CC messages.  These messages correspond to varying parameters in a composition.  Some common names include ‘modulation’ or ‘knob controller’ or ‘general purpose wheel.’  In any case, there are 128 MIDI CC messages, each with a unique number.  The Decabox accepts the first 119 general-purpose messages and maps them 1:1 to the first 119 DMX channels.

In a sequencer program, MIDI CCs can often be represented by a knob, slider or even drawn freehand with a pencil tool:

By using CC messages, complicated lighting transitions can easily be created within a MIDI sequencing suite.


If reading this document online, these links should be live and clickable:

Engineering Solutions Inc | DecaBox MIDI to DMX Bridge | (801) 999-8369


[1] Other firmware builds are available which allow access to an entire universe of DMX data via MIDI.  Contact Engineering Solutions for caveats and more information.

[2] Originally, the lighting guys wanted to keep their wiring separate from the audio crew, who were using XLR-3 microphone cable; thus the 5 pin lighting data standard.  However, in nearly every current implementation of DMX control only pins 1, 2 and 3 are used.  The 5 pin connectors cost about $2 more in quantity, so some manufacturers eschew them for less expensive 3 pin versions.  Professional and touring gear still relies nearly exclusively on the 5 pin infrastructure.  In either case, pin 1 is ground, pin 2 is ‘data complement’ or D- and pin 3 is ‘data true’ or D+.  For even more gory detail, see the appendix.