Jump to content

USB DMX Interface


Recommended Posts

For a while now I have been wanting to use a good fully featured DMX desk for moving lights etc, but for a decent one they are very expensive (for an amateur as opposed to a professional I guess). As I am a software engineer (as opposed to lighting or sound, although I tinker with both) I figured a laptop would be the best way forward, but DMX devices for computers (usb) are either also expensive or not very good.


I still wanted to use faders, as I know in a live situation using a mouse or keys to fade lights is just not on, so I figured a cheap lighting desk and the ability to read DMX in was what's called for (although I also think now that Behringer have brought out cheap usb midi control surfaces, one of these would also do the trick)


So being keen on electronics it made sense for me to build one that did what I wanted, and I have now just finished writing and testing the firmware for it. It has the following important features, and a few others I have not listed :-


Send 1 DMX universe

Receive 1 DMX universe

Set start codes (Send and Receive)

Set last Send address (to up the frame rate, it does 512 channels at full 44 fps)

Only need set the channel values when they change (not constantly using computer resources)

Only receive changed values (again not using computer resources up)

Flash update via USB

Fully opto isolated (send & receive)

USB bus powered

On board DMX monitor for receiver, Frames per second, start address, last channel


So My question really now is, what do I do with it, I could just get on and write my own software for it and use it, but after putting in quite a bit of work I think it might be a shame if I was the only one who was going to end up using it. The prototype I built, like I said is fully functional, but has been built with regular devices, if somebody was interested in surface mounting it it could be made smaller and cheaper (I guess the components, excluding the PCB, cost me about 50 quid as one off purchases).


I have no real interest in the hardware, and don't want to end up making them for people, like I said I'm a software engineer and would ideally like to take a small license fee for the firmware (which was where most of the work and time went). I guess I could just open source the hardware and USB protocol, but I suspect many lighting people would not be interested in building their own hardware, or writing software for that matter.


Obviously I am going to start writing some lighting control software for my laptop next, and at the end of the day if I end up being the only one who does use it, then it's fulfilled its purpose for me anyway. I know there are quite a few lighting desk software packages around and so you may wonder why I am writing my own, its because they are all (most) aimed at PCs and I use a PowerBook G4.


So any ideas on what I should do? Are there any lighting hardware companies that do not have their own DMX USB interface that might be interested in it?

Link to comment
Share on other sites

  • Replies 30
  • Created
  • Last Reply

I have a usb to DMX made by Enttec that will send and receive DMX. Enttec

it seems to work quite nicely with moversFreestyler

I know this is of little help to you as you are trying to write some software for the mac.

the usb to DMX I have is based on the FTDI ft232bm chip data sheet here FTDI

drivers for this chip are available for just about every operating system.

the ftdi chip is connected to a sipex SP485CN which is rs232 to rs485 (DMXs physical protocol) converter.



A lot of companys are releasing pc software such as Avo.

Pearl sim


hope this is of some help to you.

Link to comment
Share on other sites

My hardware design uses a parallel interface from FTDI, but combines this with a PIC micro (16F877) and some SRAM (DS016), along with an opto (HCPL-2630) and a driver (MAX488).


This eliminates the need for the host computer to keep on top of the DMX data stream, and means that you can dedicate your processor power to complicated mathematical algorithms for moving many lights ate once, if so desired.


But I have to say the Enttec method was the first solution I thought of when I first saw the FDTI chips. Its taken me some while to build this, well I designed and built the hardware a year or so ago, but when you spend all day at a computer sometimes you loose the motivation to do it in your spare time as well, hence the time to get round to the firmware.


I have also made (and been using for about a year or so) a 24 channel DMX to analogue convertor (got some cheap old analogue dimmers I wanted to use) and DMX Relay device (for an old smoke machine I had).

Link to comment
Share on other sites

As the dissertation for my robotics degree a few years ago I was looking to build a DMX controller having already written the software for a completely automated followspot controller (using beltpacks and DMX scanners). Whilst in the end time beat me and I used a USBDMX2 from soundlight as the hardware component, I thought about how the software could be commercially released if I were to go down that route.


Of course the main thing is as you say to ensure that you have the software suitable for your own purposes and with your own controller, but I think you can make more money from the software if it is good than you can from the hardware.


As you are primarily a software bod I presume that you are keeping as much control as possible on the PC side rather than subbing it out to the electronics, and are therefore left with a multithreaded system for the processing of individual subsystems with all your data stored in memory for speed and a constant output thread (or something vaguely similar). If so then it is a fairly straightforward step to have the ability to select from a range of supported output devices, and as demand requires add new devices into this selection. You can then interface the output data in the thread directly with the APIs that are included with the interface cards (generally C based but some also come with other interfaces such as delphi and vb)


To get around the problem of having to test the different systems, when people want a new card or device supporting, set up a deal with them where they send you the card and drivers, you write the update for them and send it back with their hardware and for their trouble you give them a discount on the purchase price.


The only thing you have to do then is make your software more user friendly than the other packages available for the same price and you're in business. Cracking real time control would be a bonus for example - incidentally does anyone know of a cheap supplier of motorised faders i.e. <£5 each!


Good luck with it anyhow - and if everything is handled in your electronics then sorry for wasting your time!

Link to comment
Share on other sites



Thats very much the approach I am going to be adopting. I have made the hardware as simple as possible, whilst making sure that it adds no overhead to the application (for example needing a thread to constantly send data would be a bad, whereas just sending updates in the thread is good).


I need to have a good think about what required from the software over the next few weeks before I actually start writing anything. I guess a good starting point would be to check out the features of the main lighting desks like the perl and frog etc, to make sure I encompass all of those features. My experience of lighting desks is very limited to a pulsar masterpiece 108 and some older analogue desks not designed for movers etc, so not entirely sure what needs to be included in my software. Also I write firmware and back end server applications not GUI's so its going to be a steep learning curve!


I have often thought about making more with hardware (for example I figured out how to program game boy advances, so that I could get a nice custom colour screen involved in a hardware device I made, but what lets me down is not so much the electronics / firmware but making it physically look nice. Without access to CNC machines and the like it will never look professional (and I'm a bit of a perfectionist so that would not do).


Like I mentioned in the original post Behringer do a nice USB MIDI control surface which has motorised faders on it, but maybe not enough for what you want. I think they use ALPS faders in them. I did once look into getting them but there was a minimum order quantity of around 100 I think when I spoke ALPS in the UK.




Link to comment
Share on other sites

Before you look at the alternatives - have a think about how you'd solve the problem yourself. Ignorance breeds innovation and all that. One of the main criticisms I have of most software based lighting desks are that they all seem to have the same basic control types and the main thing that seems to distinguish between them is the price.


I've never had to put a major moving light control system into a desk as I only do this as a hobby and most of the desks I've written have been preset clones and used in high schools and similar with a few DJ-esque scanners and possibly some gel scrollers (my favourites being written as MS Access databases!). However if I did write a generic one it would take a lot of effort to produce something original without the standard 'element boxes' style of interface as found in Light Jockey and similar packages.


Also consider your target audience - as you say there is a significant gap for amateur users and with the cost of movers getting ever cheaper a realistic PC based control system for the lower end user with a medium sized rig isn't really around yet.


One idea would be to open out the development phase to forums like this with people contributing to control designs and where the traditional systems are vunerable to improvements.

Link to comment
Share on other sites

I am writing my own, its because they are all (most) aimed at PCs and I use a PowerBook G4.



I am also a Mac user :D - check out www.lanbox.com for Mac lighting control software - may give you some ideas. I almost bought one of these but in the end opted for a Fat Frog as I got a really good deal.


Anyway, if you make any progress with the software and you need someone to take a look, let me know.


All the best with it.



Link to comment
Share on other sites

I will be having a good think about how the software should work, and I take onboard your suggestion not to just copy a lighting desk.


First thoughts, that need a lot of shaping I suspect :) :-


1. I guess at the basic level what you actually have in lighting software is a pile of fixtures each with differing parameters that can be configured (intensity, colour, gobo, position, focus etc). Then you have a set of stored parameters aka scenes for individual or groups of fixtures


2. After that its just a case of being clever at the type of transition between these (following the scene theme I guess these are chases). Along with the ability to auto generate them as well in shape generators fashion (and thats presumably just math)


3. Some kind of time line (possibly a global one for a show, and individual ones for each transition set).


4. And of course real time control of fixtures, and a way to 'fire' off transitions when needed. Probably using either DMX input from a small desk with faders, and flash buttons or from a MDID control surface.


To be honest I'm not going to be at all precious about this, I'm more bothered about making it right, than making money, and would certainly value any thoughts people have on what the ideal lighting software should have in it. And if there are any other software developers (mac) out there that want to collaborate then thats fine by me.


I did look at lanbox a while back, seem to remember it was somewhat out of my price range but looked good, although I was just going to want it as an interface so it would have been overkill.


I wondered if a quick hack to build a lanbox emulator (just a daemon listening on the relevant port) with the output going via my interface might be a stop gap to writing my own software. I did try to play with the lanbox software to see how it works (and get some ideas) but I think maybe the demo lanbox was not working as the software failed to connect. I guess the problem with stop gaps is that you often live with them for far to long, so probably just better getting on and making my own. Even if it just does a few useful things to start off with.

Link to comment
Share on other sites

Ben.suffolk you that you wanted phyisical slider control as this is much better in a live situation but your piece of hardware only seems to be a converter. Are you going to develope a simple slider wing which could be usb and connected to a PC or Mac to interact with the PC software... this is very much like HogPC I think but a lot cheaper... I know you don't want to make them for people but I may (thats only a "may") be intreseted in your device plus a slider wing if you were to develope one...
Link to comment
Share on other sites

Are you going to develope a simple slider wing which could be usb and connected to a PC or Mac to interact with the PC software..


Well the main idea of making the USB DMX interface receive a DMX universe as well transmit one, was to allow a cheap DMX based console (you know that type that has a handful of channels and thats it) provide a series of analogue inputs the computer. I did consider making my own slider wing but for the cost of the parts and getting somebody to machine a nice case would be a lot more expensive.


I guess the problem with a cheap console is that as you changed the meaning of the faders on the computer application you would need to re-align them (as you do with the behringer desk, or the pulsar masterpiece that I have) and thats not ideal in a live environment. So I will probably go down the route of using a midi control surface (normally used with mixing / sound software) but you can get them with motorised faders, so when you change the meaning of the fader, they can instantly re-align to the correct setting. They are USB based anyway and I think you can should be able to pick them up for around 130 quid.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.