OpenDMX

This project consisted in the creation of a USB interface that allows to control DMX-512 (RS485) devices in music shows. There are already some devices like these on the market, but the cheapest is around 50€ plus shipping, while the Martin dongle costs more than 1000€. I really wanted one, but I couldn’t afford those… So I decided to make my own device. The building of a “toy” like this can be trivial for some, and, at the same time, a head-ache for others. I must confess that I found it very simple, considering the accessibility to the products I needed.

Project Status

Progress: 100%Time Spent: 15 hoursCost: 30€

Tools Needed

USB Serial Converter

Canon/XLR female connector

IC SN 75176

100Ω resistor

Veroboard

Box and screws

Some wires

First steps

I came up with this idea while I surfed the Arduino website. Some people showed, not how to make the bridge between the software and the lights, but how to generate the DMX signal to comunicate directly with the machines, which was not exactly what I intended. I found this PDF in Google. Using only 1 Integrated Circuit, 1 resistor and the Arduino, I could transform it into an authentic DMX Interface. It is actually very simple. The IC is not that expensive and nothing to say about the resistor.

I mounted the circuit on my Diecimila and the protoshield, wired it to a LED PAR 64 DMX device I had here and it worked like a charm! Then I thought I would be japperdising all the functionalities of the Arduino, by using just the RX channel, that is from the FTDI chip. I would be using neither the digital channels, nor the ATMega.

I really needed one simplified circuit that had that USB to Serial converter (the FTDI chip). I discovered that there were an Arduino version that had exactly that. The Arduino USB Serial Converter. PERFECT! The circuit would be like the one on the left.

Assembly

1. Add 2 ‘headers’ to the Serial Converter

This is an important step, as these headers will hold our Serial Converter, so that it doesn’t shake and probably screw up with an
exhaustive use. It is quite simple, provided that you have the necessary tools. I recommend a product that is called “Handy-Hands” which allows you to hold the components, especially for precise solderings.

2. Cut the front part of the box to fit the USB conector and the XLR/Canon connector

In the image, you can see that the USB hole is a little “#%&$(#, as it was made with an x-acto. You should try to make it as clean as possible, using an hobby-drill, like Dremel or similar.

3. Drill the veroboard on the screws place

In the image, it is already drilled and with the screws. Everything shinny!

4. Soldering the Serial Converter to the veroboard

You should do this with maximum care, so you dont melt the FTDI chip, because you run the risk of burning it with the iron high temperature. Use the “handy-hands” to hold the components in place and follow my tips on “How to solder properly” on the Tutorials section.

5. Solder the IC and the resistor

Make shure to reserve some space in the prototype board for the Integrated Circuit and the resistor. Tou can use a IC socket, instead of soldering it directly. That makes it much easier if you need to replace the IC.

6. Wiring it up

6. Set the Canon/XLR in place

Drill a hole and screw the connector.

7. Wire the connector Canon/XLR

Following the schematics, make the necessary connections.

Close the box, and it is done!

Final notes – Software

The software that I recommend you to use is Freestyler. When it asks you what type of interface you have, chose Enttec OpenDMX. Plug in your DMX device and have fun!

FAQ (Frequently Asked Questions)

Does the circuit need an Arduino?
No. The circuit is composed of “USB Serial Converter” (which is a version of the Arduino, with no ATmega, only the USB -> Serial part – has the FTDI chip), the IC 75176 and a resistor.

When you connect the interface to USB, the PC won’t recognize it, right?
It will recognize, as long as you have the FTDI drivers installed. Those come with the Arduino IDE program, because the chip is the same (FT232R).
Download link: http://www.ftdichip.com/Drivers/D2XX.htm

When you run Freestyler, how does it recognizes the hardware and its port?
You just need to chose the Enttec Open DMX interface.

I have the “Breakout Board for FT232RL USB to Serial”, will it also work, as it has the same chip?
Actually, this is not the same one I used. However, what really matters is the FTDI chip. It should work with no problems.

Permanent link to this article: http://ricardo-dias.com/projects/opendmx/

Ricardo Dias

Triesna

I have a dfrduino uno. I want to make those tools into device USB like the enttec OpenDmx. I do not understand about the arduino and programming. only I would like to have one tool to control lighting using my laptop. How do I create a lighting controller by using my dfrduino? If the above tool I can use? in addition to installing the enttec …can it be used only by installing a freestyler?

Sorry I have been a hassle you

your regard
triesna

Ricardo Dias

First of all, everyone is free to comment and post doubts in the comments I always try to answer as soon as possible.

I didn’t know DFRduino, but I did a little research and found out it is an Arduino “clone”. However, we should always be cautious with clones because they may work well in some situations while in others they are not even close to the original.
If you read the article you may have noticed that I did use the Arduino Duemilanove/Diecimila in a first stage, then I found that what I was using in that Arduino was just the USB to Serial converter (the FTDI chip, namely the FT232RL).

Triesna

Yes … I bought a dfrduino production of dfrobot as you say. I’ve made a dmx shield as you are in compliance with the scheme that is in your web. The components that I use is the Max 485 resitor and 100 0hm.
1. Pin 1 (max 480) I connect with resistors.
2. Pin 2 I connect another resistor on the feet then I connect with the ground pin of the arduino.
3. Pin 3 and pin 8 I connect with 5 v.
4. I connect Pin 4 to pin RX on the arduino.
5. I connect pin 5 to Arduino ground
6. I connect Pin 5 to pin 1 on xlr connectors too.
7. I connect Pin 6 to pin3 on xlr connector .
8. I connect Pin 7 to pin 2 on xlr connector .
then I connect the arduino to my laptop using the usb. I open the freestyler512 and equipment I go on settup enttec dmx open but is not recognized. What is wrong?
thx for ur anwser friend….

But if it’s not being recognized in your PC, you should debug that part too, because that’s nothing to do with hardware wiring (as long as you didn’t a short-circuit by accident ).
Now, did you install the FTDI driver? Head to this page (http://www.ftdichip.com/Drivers/D2XX.htm) and download the one that’s suitable for your operating system first. Download and install before plugging it in.
Then, if you are in Windows, check in “Device Manager” if it shows up correctly and without warnings as a COM port.

I recommend you start debugging hardware only after you are sure software is ok.

pascal

Ricardo Dias

This version is not that safe, you must use good quality products in the DMX chain. However, I have several friends using this version for years without any problem.
The newest version of OpenDMX includes a separation between the two circuits, which helps protecting your computer. I’ll be making it available as soon as I have some time to write a full article about it.

John Dorion

Hello there,,,i have a question,,,,,i would “like” to be able to run,,say,,,freestyler,,,,,to control dmx lighting, but don’t quite understand..
If i use a usb >>>>dmx converter, will this let me control 1 fixture or many????
Considering i have say 3 fixtures on 3 different address,,would i be able to control each sepertly via software

Ricardo Dias

The first one that you pointed does not include the required FTDI chip. The USB-Serial conversion is made by an ATMega, which will have a different PID/VID. This is what the PC software is looking for when it searches for the interface.

I’ve already used the one from Sparkfun and can confirm that it works great! Bear in mind that the cheap USB mini connector is not very practical nor robust.

Ricardo Dias

Arduino is Open Source Hardware and allows us to check its schematic!
I found it online and seems that the Arduino Mega R3 uses an ATMega8 to handle all the USB communications, not the FTDI chip. This means that it will probably have different VID/PID and thus will probably not work!

Best regards.

Callum

Ah okay thanks anyway, I’ve found this instead http://www.ebay.co.uk/itm/330702826105 it’s takes USB 2.0 through the FT232RL and then send it through a SN75176 out to some screw terminals all on one £6 board!

Alex

Just like to point out that there should also be a 120 ohm resistor between the A and B output pins. While it will probably work fine without it is recommended (see datasheet for MAX485), and should extend it’s range a bit.

Alex

That’s what I would have said, you always terminate the end of the chain. However I’ve checked Maxim’s datasheet again and they have one at each end on all diagrams relating to the 485. Also to quote from it “To minimize reflections, the line should be terminated at both ends in its characteristic impedance”. Unless I’m missing something they seem to be clear on it. Perhaps it’s to cut reflections from and stubs?

Regards, Alex.

Ricardo Dias

Yes Alex, it should have 120ohm impedance terminals in both ends, so this is something to consider in the next versions.
Exactly, the terminals are used in transmission lines to attenuate (ideally cut off) reflections.

JoeG

The OSEPP FTDI is a USB-to-serial (TTL) converter for serial communication with devices like the OSEPP Pro and Pro Mini boards. The board uses the popular FT232RL chip from FTDI.

It apears to be what you are using.. yet I cannot seem to get it to work.. When plugged in Freestyler sees it and the RX Led flashes continuously.. but my lights do not seem to see a DMX signal. granted I’ve no terminator.. but I’ve also only a single light connected directly to the USB-to-DMX cable.
Can’t get to a store tonight to get another XLR end, but once I can I’ll try making a terminator anyway.
Any other suggestions?

Ricardo Dias

First of all, thanks for giving feedback.
When you pick a different module, you should check the internal wiring (many of them have schematics freely available).

The problem is with RX/TX signals. In this case, the PC is TX’ing (transmiting) and the fixtures will be RX’ing (receiving). There are boards that announce the TX/RX from the PC’s perspective and other boards do that from the perspective of the device you are connecting it to.

By the way, thanks for posting it, I’m sure it will help many of other users facing the problem.

Best regards,
Ricardo Dias

Tomas

I have an usb-485 made with ft232rl that I use for other purpose, but when I try to use it with FreeStyler 3.5.2 it says to me “Open Failed”. If I open any other terminal software it works without any problem.
Any idea? any solution? Com ports used are COM7 and COM8 (I have 2 usb-485)
Thanks,

enrique romero

hi ricardo ….. I have a problem with this project ….. I’ve ridden all …. I run freestyler Enttec selected open source R I FT232 chip detects perfectly …. the TX LED flashes. …. but when I connect my device dmx (work mobile head mh 150) ……… TX LED stops and everything falls …… I used the ST485cn ic ….. what may be the problem? moving head device? thanks

Debby

I am currently doing a project very similar to yours. Though I need to do my device working with a software (pc-mode) and in stand-alone mode too.
I use Mbed to do that.
Do you know if it is possible to combine FTDI chip with the Mbed and max485?
(until now I have my Mbed generating DMX signals and the max485 to modify the voltage to meet RS485 requirements)

Ricardo Dias

The OpenDMX is a simple converter from USB to RS485 levels, it doesn’t generate DMX by itself – the computer does.
You already have a microcontroller to generate the DMX signal, so I don’t get where you want to introduce the FTDI? What is your ambition?

Best regards,
Ricardo Dias

Despina

I am currently design a usb to DMX device, like the one you describe, but I want the device to have a stand-alone mode as well. So I decided to add an Mbed microcontroller. Do you know if it is connect to combine Mbed with the FTDI chip and how?

Thank you in advance for any help

Bosse

Hi!
Great job! It is easy to understand. But I run into a problem when trying with Freestyler 3.5.5. The fixture responds to color but flashing al the time. The fixture is a Skytec par 64 shot DMX led and works perfectly on my DMXmaster I controller. (4 channel, 1=red,2=green,3=Blue and 4=lmp)