The DMX Offset Machine

 Case Study, DMX  Comments Off on The DMX Offset Machine
Mar 042014
Racks of LED Dimmers, with a DMX Offset Machine Front End

Racks of LED Dimmers, with a DMX Offset Machine Front End.  Click to enlarge.

We were recently able to work with UK-based company Pixelite Ltd. They needed a custom DMX reformatting solution, which we shipped just a day after our initial discussion with them.

Picture a large rack cabinet loaded with a large group of high powered 3-channel RGB LED drivers.  Each driver has a set of DIP switches  for setting its start address.  Obviously it takes some time to address each driver.  But once the job is done, it doesn’t need to change.

Now suppose that this rack of LED drivers is cross-rented to someone else’s show.  If the original set of DMX address range (perhaps 1-120) don’t work nicely with the new LD’s patch, it takes a ton of time, probably in the dark and usually under pressure, to reconfigure everything.

The DMX offset machine, in effect, becomes a ‘master’ controller for the entire rack of LED drivers, combining many discrete drivers into a single system.  Once the address on the offset machine is set to anything which is convenient, the hidden sets of DIP switches never need to be touched again.

In their own words:

We use rack mounted LED DMX dimmers to control our equipment and were spending hours a week opening the racks to readdress them. We needed to find a way of offsetting the start addresses to avoid having to do this.

Engineering Solutions were the most helpful company we approached. They created a bespoke solution and shipped it to The U.K. in just ten days* for an impressive price.

Fantastic service! I would recommend them to anyone.



(*) This is delivery halfway around the world, 10 days from when they first contacted us. We picked USPS Priority Mail for a good balance of delivery speed and price.  UPS, FedEx and DHL are also available.  They’re faster but proportionally more expensive.

Click to Enlarge

Sample Setup – Click to Enlarge

This graphic shows how the system works.  Since the DecaBox has separate DMX input, through and output jacks, it was very straightforward to create custom firmware to do what they needed.  The pushbuttons and LCD make it easy to set the system’s start address.  Total latency is approximately 1/44 second from input to output, which is virtually unnoticeable.

As it turns out, the package spent more time waiting in line to clear customs than it did traveling across the ocean. We love being able to offer innovative gear and quick turnaround times to our customers.  Need something similar?  Let us know.

 Posted by at 2:52 pm

Easy DMX Control of Lutron Graphic Eye 3500s

 Case Study, DMX, RS232  Comments Off on Easy DMX Control of Lutron Graphic Eye 3500s
Feb 282014

newgraphicA theatre in the Pacific Northwest contacted us a few weeks ago.  Their space was set up with a pair of control systems running in parallel:  a DMX console and dimmers handle the theatrical lighting while a pair of wall-mounted 6-channel Lutron Graphic Eye 3500 architectural dimmers drive the house lights and some backstage fixtures.

Users on or near the stage can easily recall presets and adjust the lighting levels of the 12 connected circuits.


In the lighting booth, an ornery Windows XP platform runs Grafik Eye Liason software.  Liason provides a GUI for remotely recalling stored presets and adjusting individual dimmer levels.  This machine is in turn connected to a Lutron GRX-PRG interface, which talks with the wall controllers mounted near the stage.

The somewhat awkward end result is that the lighting designer has to use two separate systems to drive all the lights in the space. To this end, they asked:

“Would it be possible to remove the computer and drive the Lutron system directly from our lighting console?  Running both systems all the time is a drag.”

We’re pleased to report that the answer is an emphatic yes.

What We Did

Research revealed that the GPX-PRG receives RS-232 data from the XP machine, massages it a bit, then sends it to the Graphic Eye dimmers via a balanced RS-485 system. More germane to our situation, this RS-232 protocol is well documented.

DecaBox - Laser Etched

We proposed replacing the large, slow and inconvenient Windows XP computer with a DecaBox.  The new system would receive DMX, impersonate Liason and drive the GRX-PRG (and by extension, the downstream Graphic Eye boxes) as if the stock installation had never been touched.

The theatre approved our design, so we shipped up a DecaBox containing this custom firmware.

It took two or perhaps three minutes to connect the new hardware and set the start channel.  The custom firmware we provided worked instantly and flawlessly.  12 consecutive channels of DMX are monitored.  Any time one of them changes, the appropriate control string is sent to the -PRG interface.

Et voilà!  The lighting designer has complete and convenient control of every fixture in the space.

And in the client’s own words:

“We run a small community performing arts center in an old historic fire station and needed a way to have our DMX light board communicate commands with our RS-232 based house lighting.
The DecaBox was the solution we needed. We called, outlined the situation, ordered  and received the unit in a few days and had it up and running perfectly in no time. I was surprised at how a seemingly insurmountable problem was dealt with at such a reasonable cost with so little effort. Thanks so much for the quality product and service Engineering Solutions!”All the Best,~Matt @ The Firehouse Performing Arts Center

Need something similar?  Let us know.

 Posted by at 4:54 pm

PropWatcher Saves the Day

 Case Study, DMX  Comments Off on PropWatcher Saves the Day
Oct 222013


Giant Pushbutton from Adafruit

An AV provider on the east coast contacted us with a fairly specific request.  They were designing a ‘live action’ video game.  As part of the setup, participants would be pressing a pair of giant (4″) arcade buttons.  When the buttons were pressed, they wanted some fairly complex lighting patterns to be displayed on nearby LED tape and a series of DMX controlled dance floor panels.

The LED fixtures were programmed with software called Venue Magic, which is a sophisticated show control package.

The customer’s bottom-line questions was

“How can we get these LED cues to happen exactly when the buttons are pressed?”

We suggested that our PropWatcher DMX trigger machine would work very nicely in this situation, as it accepts simple contact closure inputs and can output arbitrary DMX channel:value combinations.  This meshes nicely with Venue Magic’s ability to recall cues based on incoming DMX values.

Here in the shop, we programmed input #1 to set DMX Channel 1 to 255, and input #2 to set DMX channel 2 to 255.  The buttons, of course, can be triggered in any combination.  For these two cues, the DMX outputs were set to be ‘on’ for either .5 seconds or the duration of the button press, whichever is longer.  These capabilities are available in the stock PropWatcher firmware.

And thus, three weeks of searching the entire Internet, plus many phone calls to local A/V companies and equipment manufacturers, was distilled to a simple wiring exercise.  The entire system was working perfectly very shortly after our gear arrived.

We even provided a rough sketch for connecting the pushbuttons to the PropWatcher using a pair of regular 9V batteries:

Click to Enlarge

Click to Enlarge

The final system, installed at a trade show

The final system, installed at a trade show

 Posted by at 6:16 pm

The 8 Channel DMX Triggered Parallel Running Audio Engine

 Case Study, DMX  Comments Off on The 8 Channel DMX Triggered Parallel Running Audio Engine
Oct 072013


This was a neat project which only took one day to fabricate, once we finally got started.  And part of the afternoon was spent milling rectangular holes in the chassis.

The original conversation with the client went something like this:

“We need DMX triggered audio playback.”


As a bit of background, this assembly was to be installed in a haunted house.  Various pressure switches, light curtains and proximity sensors would trigger pneumatics, hydraulics and lights in different areas of the installation.

Further discussion revealed that their situation required some specific design constraints which, after deeper contemplation, make for a tricky final build.  To wit:

  • Setting a DMX channel to full intensity triggers audio playback of a specific track. (This is easy, and we’ve done it for years and years.)
  • We need eight DMX channels to trigger eight different tracks. (… still easy.  Been there, done that.)
  • These eight triggers may happen at any time, in an asynchronous manner.  Multiple  audio playback instances may / will overlap. (… not as easy, even a little bit.  On a PC, this is no big deal.  A multi-track recording studio can play 192 channels from a hard drive without even working hard.  But in the embedded world where we play, dealing with eight open files on a memory card, or even caching and then reading eight files from RAM while keeping proper playback timing, is nontrivial.
  • Each triggered sound effect needs a separate audio output.  We’re using local loudspeakers in different areas of the haunt, so mixing down to stereo bus is completely, totally out.  (ouch.)
  • And no, it won’t work to have a large DMX bus and single-channel audio engines at each station.  (Ouch.)
  • Standalone operation is very strongly preferred over using a PC.  Because they lock up and crash. (sigh)
  • Reasonably low cost.

Some fairly obvious solutions immediately come to mind:

If we ignore constraint #1, a PC ($800?)  running MAX/MSP ($300) with a decent 8-way audio interface ($300-$3K) and an Enttec DMX Bridge ($150) would do the job nicely.  Probably spend an afternoon building the Max patch and you’re home free.  This is easier if you already own any or all of the required parts.  But the client didn’t.

In a similar vein, a Raspberry Pi ($40) plus Processing ($0) and  audio interfaces might work.  But a fairly detailed Internet search shows that while a few people have considered 8-way audio on the Pi, just about nobody has made it work in a stable way.  And this comes from guys who are comfortable poking around in Linux’s hairy undercarriage.

The pyGame library looked neat as well, but it assumes stable decent audio output, and didn’t appear (?) to support complicated audio routing.  Further, the Pi’s ‘stock’ audio output is PWM’d garbage.  So a USB interface of some sort is required. And, can the Pi’s processor even handle pushing 8 x HiFi streams over its USB bus?  Finally, we discovered that there are HDMI bridges which can extract 7.1 channel audio from an HDMI cable, but that seems like a lot of work on the front end…

After some further brainstorming, we discovered a batch of 100-300 second press-to-trigger audio playback modules.  Connect them to your PC, use the dreadful Asian software to load your WAV files in permanent memory via USB, then play each file by closing a pair of contacts.

Granted, the audio resolution isn’t the best.  10 KHz.  We discussed this.  I suggested the client order one for testing.  Since the ambient environment would be loud and confusing anyway, this might be a decent tradeoff.  The price is certainly right.

So a few days later, the client reported that these would work ‘just fine’ for the installation.  So we installed eight of them in a chassis, added one of our own DMX–>Relay Cards (it’s got 8 outputs of SSR, rated at 60V / 3A per output), and were off and running.

It’s embedded.  It boots and is ready to run about half a second after power is added.  Each output is on a sturdy 1/4″ jack, which can be routed, patched, mixed and amplified in exactly the required way.  Yes, the picture above shows eight separate panel-mount USB ports.  This is because putting more than one of these cards on a USB bus causes contention and ugly infighting.

Fun project.  Works perfectly.

Contact us if you need something similar.






 Posted by at 7:07 pm

Engineering Solutions Goes to Burning Man

 Case Study, MIDI  Comments Off on Engineering Solutions Goes to Burning Man
Sep 202013

…well, sort of.  Our gear was there, though nobody from the shop staff had a chance to visit.

A few days back, we received this thoughtful (and unsolicited) email:

So, your responsebox was awesomely reliable in unreasonable conditions for a week at burning man.  The box I installed in our organ controlling a light show worked beautifully!

-Tom Pine

Earlier in the spring, we’d spent some pre-sale time on the phone with artist Tom Pine.  He needed a straightforward and simple way to drive a handful of DMX channels from a MIDI keyboard.  Our DecaBox with MIDI->DMX firmware was a perfect fit, so we sent one out for further testing.

Once the gear arrived, we talked on the phone once more, just to confirm that everything was up and running.

It turns out that the entire project was called ‘The Church Trap’ and its project website is here.  Our box was part of the organ, and it helped drive the sashes of LED mounted in the ceiling.

Here’s an amazing after-dark picture of the interior.  It was featured in Rolling Stone as well.  And finally, a clip from YouTube.  And, the entire installation was burned at the end of the event.

Thanks, Tom, for the chance to help out with your project.  It’s always fun to see how this gear gets used around the world.

 Posted by at 1:36 am
Jul 152013


We were contracted by an A/V Integrator who was taking over a large installation, originally designed and programmed by a different company.  The installed system was quite complicated, consisting of multiple Crestron touch pads, video projectors, light fixtures, etc.  The group who owned the facility wanted to upgrade the (now old) video projectors, but appreciated that everything had been programmed to work as part of a larger automated system.

Unfortunately, the company who did the original installation was either (a) long since out of business, (b) uninterested in changing the control system, or (c) interested, but requesting an extortionate amount of money to make the changes.

Since most installers closely guard the source code / interface configuration / custom modules they’ve created for these projects, it’s difficult for third parties to make any changes.

“Could you perhaps,” the new integrator asked, “design a box which receives RS232 commands (generated by the existing automation controller) and then retransmits our new commands?  This way we can install a bigger/faster/stronger/brighter/different brand of video projector and have it work seamlessly within the larger system.”

“Of course!”‘

Because realistically, we’re only worried about watching for a handful – at most a few dozen – of serial commands for each device.  Receive ‘power on’ in Sanyo syntax and retransmit à la Barco.  Or perhaps switch projector inputs.  And so forth.

Enter the Serial Port Interceptor

It’s an RS232 learning remote.  The networking crowd would describe it as a beneficial man-in-the-middle attack.

Showing Upstream and Downstream RS232 Ports

Showing Upstream and Downstream RS232 Ports

Rear Panel Includes VGA and PS/2 Keyboard Connections

Rear Panel Includes VGA and PS/2 Keyboard Connections

These two photos show a rev1 prototype.  The panels are simple laser cut plastic, rather than our traditional anodized and brushed aluminum.

This nifty yet nondescript black chassis contains:

  • 1 x female DB-9 connector, for listening to upstream requests
  • 1 x male DB-9 connector, for driving downstream equipment
  • 1 x PS/2 keyboard connector, used for initial setup and programming
  • 1 x VGA monitor jack, for programming and testing.

Here’s a very rough-cut demo video of the system in operation:

Interest piqued?  Contact us for more details.


 Posted by at 5:30 pm
Jan 252013

For several years now, our DecaBox Protocol Converter with MIDI to DMX firmware has been received in a wonderful way.  We’ve shipped systems all over the world, and they’ve been used with excellent results by musicians and performance artists in a variety of venues.

Today we’re thrilled to release a firmware update for the MIDI to DMX converters.  We’ve borrowed code from our RS232 to DMX Engine (a smashing success in its own right, and the preferred tool of hundreds of A/V technicians and systems integration companies) and used it to create automatic, beautiful, silky smooth fades.

In the past, to create fades and lighting dissolves using MIDI commands, a series of either note or CC messages were required.  It worked well enough, but wasn’t as elegant as it could be.

This new firmware build automates the entire process, in a very straightforward way.  MIDI program change (also known as patch change) messages, which typically are used to switch between voices on a keyboard, such as grand piano, electric piano, vibraphone, etc, now control the DecaBox’s internal dimming engine.

Here’s a handy chart of the general MIDI voices.

These program changes all have a numeric value.  What we’ve done is taken the value and then subtracted one.  This number is the time, in seconds, that subsequent MIDI note messages will cause the DMX channels to fade in and out.

For example, Acoustic Grand is PC #1.  1 – 1 = 0.  Zero second (instant) on / off times.

PC #10, the venerable Glockenspiel, generates a nine second fade time.  10 – 1 = 9.

And so forth.

Any combination of notes and PC messages may be transmitted.  They’ll be processed in the order they are received.  Fade times can overlap each other in any combination.  The dimming engine calculates all fade times in parallel, so it can be fed a dizzying array of data without skipping a beat.

Note that as before, the MIDI note velocity corresponds to the final DMX channel intensity.  The dimming engine only affects the time it takes DMX channels to move from one level to another.

Here’s a video clip which demonstrates the new firmware.  In the clip, we used a handful of the LED panels which were left over from the Christmas project shown here.

You can click on the ‘Youtube’ link in the player to see the clip full screen, etc.

If you choose to purchase a DecaBox, this new firmware (v3.0d) will be included at no charge.  You can grab yours in the online store – it’s a ‘Standard DecaBox with MIDI to DMX firmware’.

If you’ve ordered one of these after October 1, 2012, we can email you a copy of the new firmware at no charge.  It only takes a few seconds to complete the update using your DecaBox’s USB port.

Update 2/6/2013 Firmware 3.2d has been released, with the following additions:

  • ‘Note Off’ at any velocity clears the DMX channel. Speed is based on the currently selected engine speed.
  • Dimming engine speed can be controlled by (a) MIDI PC messages or (b) MIDI CC#0 messages.  This setting can be accessed in the DecaBox’s menu system, and the setting survives a power cycle.  Note that if MIDI CC#0 is selected to drive the dimming engine speed, DMX channel #1 can not be also driven with CC messages.  This was added because some sequencer programs don’t save program / patch changes messages very well.  It was easier to work with a dynamic CC fader / knob tool (which can be automated as part of playback) rather than the PC messages.  So now, either method can be used with equal results.  In most systems’ MIDI implementation, CC#0 is also named ‘Bank Select’.
  • Dimming engine speed is adjustable now in .25 second increments, up to a maximum fade time of ~ 30 seconds.

Finally, if your gear is older than October, we can provide an update for $26.  Contact ‘sales AT’ for more details.


 Posted by at 5:55 pm

Scheduled IR Blasting

 Case Study  Comments Off on Scheduled IR Blasting
Apr 092012

From a phone call we received last week:

I’m finishing off an art installation to be installed in our local library.  The video projector we’re using needs to run all day, but be turned off each evening when the library closes.  The library staff aren’t available to turn the projector on and off each day, so the process needs to be automated.  Can you help?

It  turns out that this is a bit more tricky than first imagined.  The easy solution, of course, is to plug the projector in to a $4 mechanical timer, then set the on and off interval as appropriate.  However, this won’t work for any modern video projector.  Instead, (once mains AC is applied) they require a ‘soft’ power command, either through a remote control or on-panel pushbutton.  And usually to turn a projector off, the power button is pressed once, and then a second time a second or so later, to confirm operation.

Since the DecaBox already does a nice job recording and replaying IR commands , it made sense to write a firmware module which included a clock and scheduling routine.  Once this is done, any captured IR command can be replayed at any time on any day.

The DecaBox contains an internal socket for an SD memory card.  On that card is a text file called, surprisingly, ‘schedule.txt.’  It looks like this:

As shown above, the projector is programmed to turn on at 09:00 and off at 21:00 weekdays.  At 21:00, the ‘power’ command is sent twice to ensure proper shut-down.  The Saturday and Sunday schedule is different, to match the library’s operating hours.

Here’s a quick video clip showing how easy it is to set up and configure the system:

Need something similar?  Just let us know!

 Posted by at 6:14 pm

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
; 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

iPad + Crestron + RS232 to DMX Bridge LED Control

 Case Study, DMX, RS232  Comments Off on iPad + Crestron + RS232 to DMX Bridge LED Control
Feb 292012

One of our customers works with a systems integration group in Quebec, Canada.  A few months ago they purchased one of our RS232 Driven DMX Engines.  Once the box arrived, we spoke briefly on the phone to help them get started using the box’s control language.

A month or two later, we heard back.  They’ve written some neat preset-setting software for an iPad, which communicates with a Crestron controller, which in turn outputs serial data to our little black box.  DMX from the box drives installed LED arrays throughout a home or business.

The video clip was shot at a trade show.  Apparently there are also installed ‘smart’ wall switches which can be used to recall the stored preset scenes.

If you’re interested in the Crestron / iPad end of this, contact Hugo:

Hugo Bergeron
Clef de Sol Inc.
418-563-7238 phone

And if you need your own RS232 to DMX bridge, we’v got plenty of stock in the online store.



 Posted by at 8:14 pm