QLab Serial Control of Video Projector Shutters

 Case Study, MIDI, RS232  Comments Off on QLab Serial Control of Video Projector Shutters
Mar 092012

Converts between MIDI, DMX, RS-232 Serial and IR

The DecaBox Universal Protocol Bridge - Click to Enlarge

MIDI Note Inputs Trigger Arbitrary RS-232 String Outputs

We were contacted by a group who was using the Mac OS-based QLab software to run their show.  Part of the show involved a pair of large frame video projectors (a Barco FLM HD20K and a Panasonic whose model number I can’t recall).  The designers needed to control the internal shutters on these two large projectors, but QLab doesn’t allow serial output.  However, its toolkit includes a full complement of MIDI note and show control message generators.

So, we developed a firmware build for the DecaBox which accepts MIDI input (any combination of note on, note off and program change) messages, and outputs serial strings up to 40 characters long.  Setup is based on a very simple text file called ‘map.txt’ which is stored on the DecaBox’s internal SD memory card.

Map.txt looks like this:

; DecaBox Protocol Converter
; Engineering Solutions Inc
; www.response-box.com
; Firmware for converting MIDI messages into
; RS232 serial strings, in a user-configurable way.
; This file is called map.txt and should be edited
; in either TextEdit (OS X) or Notepad (windows). Other programs,
; such as Word, may introduce unwanted garbage characters in the file.
; Note that lines which begin with a semicolon are comments, and
; are ignored by the firmware. A line can contain a comment or a command,
; but not both.
; First define the MIDI channel used to receive data. This is a two
; digit decimal number with the range [01 16]
; In this example, we’re using MIDI channel 1
CHN 01
; Next define the baud rate for the RS232 output. Valid values are
; 9600, 19200, 38400, 57600. No commas are used.
; Default baud rate is 9600
BAU 9600
; Finally, define the cues which will be transmitted.
; This is done by selecting the MIDI note to be monitored, the note
state (ON or OFF),
; and the RS232 string to be generated.
; Characters which aren’t human readable and editable in a
; text editor (such as carriage return, line feed, STX,
; ETX and so forth, are defined by the escape sequence $AB, where AB
is a two digit
; hex representation of a single byte to be transmitted. Valid range
of AB is [00 FF]
; Leading zeroes may be required, depending on desired value.
; The protocol is not case sensitive. $AB == $ab == $Ab == $aB
; For example, to generate the string ‘Hello World’ + carriage return when MIDI
; note #3 is ON, use this syntax:
; N003 Hello World$0d
; Note that each line begins with either “N” or “F” (signifying Note ON or
; Note OFF, and is followed by a three digit note number, then another space,
; then the beginning of the string.
; Strings made entirely of hex characters can also be built using the
; abovementioned
; escape sequences. Here’s how to send the five bytes $02 $04 $10 $22 $38 when
; note #6 is turned off
; F006 $02$04$10$22$38
; If the $ character itself needs to be transmitted as part of a serial
; string, it must be encoded as the hex character 24.
; F006 $02$04$10$22$38$2F$24
; MIDI notes can be added to this table in any order. If a note is duplicated,
; the string appearing farther down in the table will overwrite an
; earlier value.
; Up to 32 string characters can be assigned to each MIDI note.
; Finally, MIDI Program Change messages can be used to
; generate serial output. These are preceded by a ‘P’
; and the other syntax information above applies.
; Note that (currently) only program change messages 1-48 are
; supported due to processor memory space
;; The actual MIDI to RS232 Patch Chart begins here:
; Here’s a string for triggering the shutter on a Panasonic projector
N001 $02ADZZ;OSH:1$03
; and this turns it off
N002 $02ADZZ;OSH:0$03
; Here’s shutter close for Barco:
N003 $FE$01$23$42$00$66$FF
; And here’s open:
N004 $FE$01$22$42$00$65$FF
; Other sample commands for testing, etc.
;P001 MIDI Program Change #1 Received
;P002 MIDI Program Change #2 Received
;P004 MIDI Program Change #3 Received
;;N001 Midi Note 001 Received$0d
;;F001 Hey! Someone just released note #1$0d
;;N002 —>Here’s note number two!!$0D
;F002 _Stop Cue 123.45.67$0D$0A
;N005 Go Pyro Finale$0D
;N006 Open Trapdoor Stage Left$0A
;F006 $02$04$10$22$38$2F
;F007 Foo!$0D
;N128 Highest Note!$0d

Here’s a screenshot from terminal program RealTerm, showing the Panasonic and Barco strings generated by the DecaBox.  Note that the Barco data looks garbled but it’s actually ok – only a few of the bytes required by Barco are human-readable.


That’s pretty much it.  The system runs exactly as expected.

Here’s a couple pictures from the production.  The projection control was handled by

Jordan Goodfellow
The RARE Experience

Since the control system was located quite far from the stage, a pair of RS232-over-CAT5 converters were procured to reliably span the distance.

A Pair of DecaBox Protocol Converters, Plus RS232 Baluns for CAT5 Transmission

Note here that MIDI data is daisy-chained from the QLab computer to the first DecaBox, and then to the second one.

If you need something like this for your next production, just let us know.  And thanks again, Jordan, for the chance to work with you on this project.


 Posted by at 6:06 pm
Dec 162011


Converts between MIDI, DMX, RS-232 Serial and IR

The DecaBox Universal Protocol Bridge - Click to Enlarge

This new firmware revision is an extension of the custom work we did for controlling Jands lighting consoles.  That firmware receives MIDI Show Control messages, then repackages them as RS232 serial strings, which Jands hardware can use for cue triggering.

But now, it’s even more flexible.

Some of our customers were using QLab as a show control platform.  However, they needed to control some RS232 equipment, which QLab doesn’t support.  Since the DecaBox contains an internal SD memory card socket, it made sense to design firmware which could read a simple text file called ‘patch.txt’ from the memory card. This file allows arbitrary serial strings (up to 40 characters in length, each) to be assigned to any MIDI note on, note off or program change message.

System baud rate can be globally set to any standard speed.

Et voilà!  Any serial device can be triggered by MIDI messages.

Here’s how the patch file looks:

; Since this is a command to be parsed, there is no semicolon at the
; beginning of the line.
; Define the MIDI address that the notes will
; be sent from.  MIDI notes received on other channels will be ignored
; Valid range here is [1 16].
; Here's we've set the MIDI channel to 2
; Next, define a baud rate.  No commas needed: 9600 19200 38400 etc
; Note On messages start with N.  Note Off messages start with F.  Program
; change messages start with P.  Hex characters (anything non-printing)
; can be inserted using the $ sign, then a two-digit hex value
; IE carriage return is $0D.  If a $ needs to be generated
; as part of an actual transmitted string, encode it simply as hex $23.
; Google 'ASCII Table' for several handy charts
; Example cue for note 0 [MIDI notes range from 0 to 127] ON
; It's Hello World followed by a carriage return
; N0 Hello World$13
; Note Off Example
; F10 Go Pyro Finale!
; Program Change
; P3 Go Cue 12.34.56$13
; And here's our actual live cue list:
N0 Go Cue 1$13
N1 Go Cue 2$13
N2 Go Cue 3$13
F0 Stop Cue 1$13
F2 Go Cue$13
P8 Someone Hit Program Change #8!!$13

If you need this or similar functionality as part of your system, just let us know.

 Posted by at 11:05 am
Sep 282011
Converts between MIDI, DMX, RS-232 Serial and IRThe DecaBox Universal Protocol Bridge – Click to Enlarge

This firmware revision was commissioned by a Crestron systems integrator in Canada.  He needed to generate simultaneously generate DMX scenes and MIDI note commands from his Crestron controller, which only had an RS-232 output port.

Consequently, we designed a personality which combines features of the RS-232 to DMX Converter and the RS-232 to MIDI firmwares.  DMX commands are generated based on this human-readable ASCII syntax:


  • Commands start with a capital ‘F’ character
  • AAA is a three digit DMX channel, range is 000-512. As only channels 1-512 exist in a typical DMX universe, channel 000 is used to select all channels.
  • @ is the ASCII ‘at’ character, hex 0x40
  • BBB is a three digit intensity value, range is 000-255
  • (:) is the ASCII colon character, hex 0x3A
  • CCC is a three digit value, range is 000-999, describing fade time in tenths of a second. One second is 010, twelve seconds is 120, etc.
  • [cr] is the carriage return character, decimal 13 or hex 0x0D.


Set channel 5 to 240 on a 2.5 second fade:


Setting the channel to zero sets all 512 DMX channels to the specified value and fade time:

F000@255:010[cr] <—- Set entire to full, 1 second fade

F000@000:000[cr] <—- All channels to zero, instantly

Multiple channels may be set to higher or lower levels in the same command, allowing for simultaneous crossfades.  Channel:Value sets are separated by the comma (,) character.

Set channel 10 to full, channels 11-13 to 10, channel 8 to 50%, on a 2 second fade:


MIDI Note messages (Note on and note off are three-byte sequences each, see here for details) are built using a simple five-byte syntax:

M 0xAA 0xBB 0xCC [CR]

  • M is the ASCII ‘M’ character
  • 0xAA is a single byte, relates to note type and MIDI channel
  • 0xBB is a single byte, relates to MIDI note number
  • 0xCC is a single byte, relates to MIDI note velocity
  • [cr] is the carriage return character, decimal 13 or hex 0x0D.

In Crestron control syntax, a single hex character can be sent by using the escape sequence /x.  Thus, the actual command looks like this


Other control systems will of course use different string structures, but the gist is the same.

When the dust settles, a single Crestron (or Extron, or AMX) system can generate crossfading DMX scenes as well as MIDI note information.

A few weeks after we delivered this system, we wrote to see how everything was working.  Quoth the client,

Actually the Decabox worked so well I entirely forgot about it! Basically there were four product reps on the floor, each had an IPAD. They could bring a client to any screen and punch up a video using the IPAD and walk the client through their pitch. Additionally every 10 minutes a master video would roll that spanned across all four screens for a 360 degree projection system.

The Decabox triggered each video through a Dataton Watchout system using MIDI and then triggered preset lighting for each video via DMX. I only needed to make a few minor adjustments in Crestron (MIDI pulse length).

Overall it worked brilliantly and was easily worth the cost. I will be recommending it whenever I can.

Bob, www.rlds.ca


Need something similar?  Let us know.  Always happy to help.


 Posted by at 9:03 pm
Sep 282011


Converts between MIDI, DMX, RS-232 Serial and IR

The DecaBox Universal Protocol Bridge - Click to Enlarge

Technicians at a theme park were building an interactive exhibit.  The display would include a variety of MIDI trigger pads, which of course output standard MIDI Note messages.

The goal of this project was to let the trigger pads drive larger and more complex lighting cues from the venue’s lighting console.  The console had a MIDI input jack, but the console’s firmware would only accept MIDI Show Control messages.

“Would it be possible,” they asked, “to develop software for the DecaBox which could translate between the two languages?”

Further, they wanted the system to be dynamically configurable.  The MIDI notes to be processed, and the corresponding lighting console cues triggered, might change from show to show.

So, we developed a firmware personality for the DecaBox which utilizes a simple text file stored on the system’s internal SD memory card.  Here’s what the text file looks like.

Clearly, any MIDI note can be mapped to any numerical lighting cue.  In this case, the firmware only responds to ‘Note On’ messages, but other variations are certainly possible.

One DecaBox with this firmware was used by Arc3design as part of a performance by the New Jersey Symphony Orchestra.

A standard MIDI keyboard generated note messages, which passed through the DecaBox and were converted to MIDI Show Control ‘go’ messages.  An ETC console received these messages and triggered various cue stacks as appropriate.

The evening was reviewed by the New York Times here.  (Note that if NYT asks for a password, just delete everything to the right of the ‘?’ character in the link.  Here, in plaintext, is the link:  http://www.nytimes.com/2012/01/10/arts/music/new-jersey-symphony-orchestra-in-newark-review.html

Thanks for the chance to help make this production a success!

This firmware is available now in our online store.  Or, contact us if you need something a little different.  We’re always happy to help.


 Posted by at 7:38 pm

DecaBox at Fire House Detroit

 DMX, MIDI  Comments Off on DecaBox at Fire House Detroit
Jul 272011

Fire House Detroit Pyrophone

We were excited to learn that a recently-purchased DecaBox MIDI to DMX converter was used as part of Gregory Holm’s Fire House Detroit Project.

One of their technicians phoned for advice a few days ago, and the conversation went something like this:

“We’re planning to use your box in a pyrophone.”

“A what?”

“You know, we’re driving a whole bunch of propane flame effects from a MIDI sequencer, and your box is the interface. It’s like a xylophone, but with fire.”

Here’s a ‘backstage’ picture taken from inside the firehouse, which shows the DecaBox, some MIDI equipment and the various gas manifolds and valves used:

DecaBox MIDI to DMX Converter Drives Propane Flame Effects

What a neat project! Here are a couple articles published by the local news.  I’ve not seen any video clips yet, but hopefully something will appear over the next few weeks.

Kind words from Ron the technician:

I was involved in a project called Firehouse Detroit as a MIDI tech. My task was to set up a basic midi keyboard to control The Incredible Pyrophone, which is essentially a propane torch-powered pipe organ. We used the Decabox to convert MIDI information into DMX signals, which were used to open valves and fire the Pyrophone. The user interface on the decabox could not be simpler, I was able to integrate the box into the setup without referencing the user manual once.

When I encountered a problem and had to call the manufacturer for help, they were very helpful and offered several ideas. The problem was solved and John from Response-Box called the following morning to check up – a rare thing these days. I will definitely be working with Response-Box again and will be keeping an eye on their product development.

-Ron Zakrin
Artist, Composer, and Pyrophonist!

If you’ve done something cool with your DecaBox, we’d love to hear about it.  Use the ‘contact’ link at the top of this page for telephone and email information.  And be sure to join our mailing list (top right corner, no spam!) to hear about new firmware personalities and product development.



 Posted by at 7:43 pm
Mar 232011

Or, “How to Trigger Cues on a Jands Vista Lighting Console“…

Jands Vista Lighting Console

In early 2009, we were contact by an engineer in Australia who worked for Jands, makers of really neat lighting consoles.  At that time, some of their customers were  trying to automate a production using a Show Control software suite such as QLab.  Unfortunately, the Jands Vista console they were using didn’t support Midi Show Control messages as input.  However, properly formatted RS-232 strings could be received and parsed by the Jands firmware and used to trigger various cues and cue stacks programmed in the console.

The Jands engineer asked if we could design a small ‘black box’ which performed the protocol conversion.

Midi Show Control messages are a subset of regular MIDI sysex commands.  They adhere to a very specific format and byte sequence.  Because of this, parsing these messages and then editing them to match the required Jands protocol is relatively straightforward.

A few weeks later we delivered a stack of standalone, custom-built MSC to RS-232 engines.  They were handsome enough and worked perfectly.

However, at the same time our  company was moving away from purpose built, 1- and 2-off hardware builds.  Obviously we were spending a lot of CAD time, programming effort and circuit board startup fees for each small job.  It made sense to consolidate our most commonly requested tasks into a single system, which became the DecaBox Protocol Converter.

This morning we’re thrilled to announce that a new firmware personality for the DecaBox has been created, and that it perfectly mimics the old standalone system.  Though we don’t have a Vista here in the workshop to test against, customer feedback confirms that the new firmware does exactly what it needs to.

Here’s a (silent) video clip of it running:

This firmware doesn’t currently appear in our online store, but if you need a copy, just ask.

A few words from happy customers:

Without a shadow of a doubt, the product from Engineering Solutions was a worthwhile purchase.

The fact that the box has a range of inputs/outputs which can be linked simply by which firmware is uploaded into it makes it perfect for our needs. Although I had a very specific use for it, in converting Midi to specific RS232 commands, we are already looking into further uses of it to utilise the dmx ports on the device. With so many control protocols used within the live events industry, it was interesting to find that there is only a handful of standalone products that will happily convert between them, and other products on the market can usually can only convert between one input and one output.

This is the first product that I have found which will convert between all of them simply with a change of the firmware. In addition to its functionality, its sleek but durable design makes it perfect for our hire stock within the live events industry.

We converted the power input supplied into a Powercon input, and installed our own small transformer within the box, thus getting rid of the need for an external power supply. Powercon sockets are more of an industry standard and so we were quick to make this small, yet useful change.

As an individual, I have already recommended Engineering Solutions to a number of industry professionals as I was extremely impressed with the level of service provided by the company in finding an outcome for my specific needs. Further to this, the fact that they were able to supply new edited firmware with 20 minutes of an email request makes the stand out against their competitors.

The product was delivered in an extremely impressive time as they were aware that I required it within a few days of the initial phone call.

-Tom Ralston

dbn Lighting Limited

Manchester, UK

(Editor’s Note: Tom was triggering cues on a Jands Vista console, using an external show control software suite which received dry contact closure inputs from somewhere on stage, then output MIDI notes. We slightly modified our standard MSC->RS232 firmware to make it more compatible with this particular situation.  Thanks, Tom!)


In June of 2009, we decided to put together a “live rock and roll arena rock experience” that would allow us to bring the look, sound, and feel of a major concert touring production to a corporate event or wedding. Everything, of course, would need to be scaled down in order to fit within the budget and space confinements of a smaller venue.

We decided to go with Figure53.com Qlab software for our show control. This one program allows us to output multiple stereo audio tracks, backing videos for our plasma displays/live camera footage, Midi Show Control, Midi Program Changes, Midi Control Changes, and Midi Tracks….all from a Macbook Pro 13″ laptop!

For lighting control, we chose Jands Vista PC software because of the ability to program with a “time-line” based GUI. Also, there is a great feature that allows you to swap different fixtures in and out of the show without having to reprogram them.

One drawback, however, was the fact that Jands Vista did NOT have any Midi implementation, but DID allow ASCII serial commands and SMPTE time code input. We were going to go with SMPTE, but that would require purchase of an S3 console at minimum and we didn’t have the need for an actual console, nor the budget to purchase one!

We contacted A.C. Lighting and discovered that John at Engineering Solutions, Inc. was the guru/go-to-man to make the “little black box” (actually a cool shade of blue) that would make all of this happen. After addressing my concerns, John was able to put the Decabox into my hands within a couple of days of ordering it, complete with Midi to Serial conversion software fully loaded and ready to go. Due to a few mistakes on my part, I was at first, unable to make things happen, so I phoned John. After only a couple of minutes, he was able to determine that his box was working perfectly, but that I had made a few mistakes…mistakes which he helped to immediately correct.

Today, March 30, 2011, we are finally able to KNOW that our “idea” can and will be fully realized. Our video shoot is coming up in less than a month and I have NO doubts that we’ll be fully ready thanks to John at Engineering Solutions.


Nathan Blankenship

Liveworks Entertainment, Inc.



 Posted by at 4:16 pm

DecaBox Protocol Converter: Demo Video

 DMX, MIDI  Comments Off on DecaBox Protocol Converter: Demo Video
Jun 232010
MIDI Output for DecaBox Protocol Converter

MIDI Output for DecaBox Protocol Converter

Posted at the bottom of this page is a short video showing how the DecaBox Protocol Converter easily generates MIDI Note and CC messages based on incoming DMX channel data.

This firmware mode has been very popular with our theatrical customers, as they can trigger video clips, sound effects, and more directly from the lighting console.  Obviously, cues designed this way are very precise and easily repeatable.  Most of the popular show control suites (Ableton, SFX…) accept MIDI data as input.

Hopefully we’ll have video demonstrations of other common firmware modes available shortly.

 Posted by at 1:30 pm

Case Study: Merging DMX and MIDI Data

 Case Study, DMX, MIDI  Comments Off on Case Study: Merging DMX and MIDI Data
Jun 182010

88 DMX-Driven RGB LED Nodes

To be fair, this really falls in the category of ‘Fooling Around in the Workshop Instead of Organizing Our Rental Stock.’

But, it ended up working well enough that we shot some video.

We wanted to make a display of the 2010 RGB LED nodes, which are driven by DMX data through a T3 controller.  And, we wanted to play the nodes like a piano keyboard.

The gist of it is that John wrote a firmware personality for the DecaBox protocol converter which

… receives a universe of DMX at 44 frames per second,

… overlays that data with incoming MIDI note messages,

… and then sends the entire new datastream out the DMX port, again at 44 frames per second,

… and with an overall system latency of just one DMX packet.

In that regard, it’s similar to our regular MIDI to DMX firmware (which converts MIDI note and CC messages into DMX channel intensities).  The difference, of course, is that these MIDI notes are added to an existing DMX stream.

Happily, the DecaBox could easily keep up with the design requirements.  We’re thrilled to have such a powerful & flexible system available to our customers.

Here’s the video clip:

EDIT: Even made it to Hackaday for a few hours.

 Posted by at 8:48 pm
May 282010

From our customer…

The situation required for me to control every aspect of a media server consisting of 8 synchronized players and a 220′ projection screen, then hand it over to a Lighting Designer immediately.

The problem was that the software had limited control over Art-Net, MIDI, TCP/IP, and Serial. I had to piece together a solution that would combine all of these elements and be seamless to the LD. After many hours of research and experiments, I decided on a hybrid system that required a couple of protocol converters and custom piece of hardware to glue them together…two weeks before show goes live!

I was lucky to find Engineering Solutions after hours of internet searching for the right solution. John was very responsive to my questions and sense of urgency.

I explained that I needed a DMX to MSC box that was essentially a lookup table of commands. I am aware that most Lighting consoles will do MSC, but why complicate things any further. The first “Box” was in my hands within 2 days. The design was simple, to the point, and very solid. The “Box” behaved exactly as I was hoping it would.

A few software modifications were necessary, but the updates were painless. As a precaution I ordered two. I wanted to be safe…after all, it is the backbone of the control system. Turns out it wasn’t necessary! Everything was extremely solid. There wasn’t a single glitch on the device.

Everything was perfect!

I would not hesitate to use Engineering Solutions for any other situations/projects that may pop up.

In fact, I have a few more that may be coming down the pipeline very soon.

Chad Williams
Background Images

(PS. The show is NBC’s ‘Minute to Win It’ – http://www.nbc.com/minute-to-win-it/ )

Thanks, Chad.  Congratulations on such a fun show.  Our family DVRs it because the kids enjoy watching the games so much.

 Posted by at 10:41 pm