Controlling DMX lighting natively using inexpensive/isolated hardware?

Rodrigo's icon

So after seeing Andrew Pask's great tutorial (https://cycling74.com/tutorials/working-with-hardware-dmx-part-1/) I want to try some DMX stuff. A couple of things put me off though. First is I'd like to be able to do it without having to rely on an external. (I'm very wary of developing dependencies on hardware specific externals as I don't want a software update to break my setup and ability to use my hardware.)

From looking through the tutorial it looks like that it's packing bytes together into a list, so it's not a very high level message that's being prepared and sent to the external. Does anyone know what one needs to do to get that message transformed into something that DMX hardware can use straight up?

Secondly is the hardware. The LanBox interface in the article, as robust as it seems, is waaaaay beyond overkill for my intended uses (probably for 90% of the people reading the article's intended usages too). There's some cool options linked in the comments (though nothing 'purchasable') but none of them appear to have built in isolation, which is quite important I would think for interfacing high voltage lighting with a computer.

I did find this, which is quite a bit cheaper (but still not 'cheap') and it's isolated, but it requires it's own driver, which is the same problem as having an external. (http://www.enttec.com/index.php?main_menu=Products&pn=70304&show=description).
There's a bunch of Arduino-based stuff, one of which is isolated (http://www.mathertel.de/Arduino/DMXShield.aspx) though it's just up as board designs (as far as I can tell).

Anyone know of a compact/sturdy USB-to-DMX interface that won't break the bank?

David Butler's icon

If you want to go external free, then the best option is to use an Art-Net to DMX interface, and transmit Art-Net from Max. I've written externals to send Art-Net, but it's perfectly possible to form the packets using just Max objects. If you download the current version of imp.dmx (http://www.theimpersonalstereo.com/software/imp-dmx/), it has abstractions for doing this, using only a bit of java code to send the raw bytes as UDP. A good Art-Net to DMX box is the Enttec ODE (http://www.enttec.com/index.php?main_menu=Products&pn=70305&show=description).

Alternatively, The Enttec DMX USB Pro is a very good solution, and I've recently written a new external for it, which I'll be releasing soon.

Rodrigo's icon

So is Art-net (first time I hear about it) a protocol or a connection type (or both?)?

With the way that laptops are going I'm hesitant to commit to ethernet, so USB would be better. Is coming in over ethernet what allows it to be external-free? (ie can you communicate with the USB Pro natively?). With your external (or a external) do you still need to install the driver, or is the external 'the driver' in that sense?

I also take it from your suggestion that the Enttec stuff is good stuff? (The USB Pro seems to be reasonably priced, sturdy, USB, bus powered, and isolated, all of which seem to be the way to go).

David Butler's icon

Art-Net is a protocol for transmitting DMX data (512 8-bit values) using Ethernet. This fact means that you can format a packet to the Art-Net specification and it will work with any equipment that also supports Art-Net. This can be done without an external as it just involves manipulating bytes and the Art-Net packet header is pretty simple.

If you're hesitant about Ethernet: in the event you buy a laptop without a physical Ethernet port, just connect the wired Art-Net to DMX device to your wireless router. Although to be perfectly honest, it's a bad idea to run show-critical lighting over a wi-fi connection.

You're unlikely to find a USB DMX device that can operate without an external. The operation of the DMX USB Pro is too complex to try and work out a method using the serial object (I did try). With my external, you need to install the FTDI VCP driver, which if you're using Arduino stuff you probably already have installed. This just lets my external communicate over a virtual serial port to the hardware.

Enttec hardware is reliable, they actually make products which are used by the greater lighting/show control industry (in my experience).

Rodrigo's icon

Having to lug around a wireless router isn't especially attractive either. I suppose I could live with an external if it meant staying bus powered and USB. (I got burned with hipno/pluggo a few years ago so I avoid dependencies like the plague now).

Rodrigo's icon

In terms of an RGB spot, I'm looking at the chauvet stuff (man, what a horrible horrible webpage), and it looks pretty solid. It's impossible to tell anything from their webpage (in terms of price and feature comparison between series) but they do seem considerably more expensive than other makes (generic DJ brand stuff on ebay and such).

Though that's close to £1000 for a single light....

For my 'core' setup I'm thinking of getting two RGB spot type things and a 4-channel dimmer. For the RGB lamp having a controllable aperture/zoom is handy, as is the 'flicker free' thing, for filming purposes.

Any recommendations for lamps that won't break the bank?

Rodrigo's icon

Actually this looks much cheaper and quite bright/versatile (flicker free too).

There's a tri version and an RGBA version. It looks like the RGBA one can swing more colors, but at the expense of multicolored shadows. Given the main application will be the illumination of a painter working closely on a canvas, the tri version might be better as there's less multicolor shadows.

matheus leston's icon

a few months ago I decided to experiment with dmx as well and as David suggested me I went for an Art-Net device and end up buying this one:

I really recommend it. It is affordable, DMX King's support is great and it is running perfectly fine.

I'm also having a great experience with Art-Net. I got a little confused in the beginning, but with the correct IP settings, everything went fine. after a couple hours (and seven bad dmx cables - seven!) I was controlling my rgb par cans. I use the device connected directly to the ethernet port of my computer with David externals. they are super simple and are also working great.

by the way, thanks, David!

Rodrigo's icon

I'd not seen that dmxking stuff before.

It says it's 100% compatible with the enttec USB Pro, which is what I'm planning on buying and using with David's external, but this is cheaper. Hmm.

matheus leston's icon

I really don't know how comparable it is to Enttec's products, as I am no expert in DMX. But seems to be pretty much the same and, as far as I know, it wil work with the same externals. Try contacting their support, they are usually fast.

I ran away from USB devices because I was afraid of the externals. I wanted to buy this USB version and sent an email to Olaf Matthes, the guy behind dmxusbpro. I got no answers and I was afraid of Max 6 compatibility. It got me thinking: dmxusbpro seems to be great, but maybe it is not a good idea to always need an external that you don't know for sure if it will be further developed and updated. That's why I end up with an Art-Net device. If you like, you can build your own system from scratch with some udp knowledge.

But I'm a noob, just sharing my thoughts!

Rodrigo's icon

I want to stay away from externals too, but I know that ethernet is kind of going away on newer laptops, and I would imagine it also needs a power supply too.

I guess it's about picking your evil in that regard.

I will write dmxking to see if it's compatible with the same drivers (and presumably api's) as I can imagine they won't know if it will work with David's upcoming external for it.

edit:

I'm starting to rethink the whole thing and might want to go with an ethernet solution and just have a USB to ethernet cable for the interface. It still requires power, but it would mean being external free for DMXing.

Towards that end has anyone used an ethernet to usb cable for something like this? (udp stuff)

matheus leston's icon

Yes, you will need another USB port as power supply and to set up the device (something I did just once).

I guess usb or ethernet also depends on the use of the device. I'm planning to use it in live situation, controlling the lights of the theater. For that purpose, ethernet seems to be the best solution, as I can send data through long distances in a network (or a simple cat5 cable) to the lighting board, wherever it is. I'm also interested in networking several computers, and been able to control DMX with the same network seems bo the interesting. I haven't tried it out yet, but your post inspired me to go out and buy a hub to do some testing!

One of the computers I use is an Macbook Air. The ethernet / USB adaptor is working fine. Maybe the Thunderbolt / Ethernet is even better, for those Retina ones. I don't know.

(By the way, as I type I'm also checking out yout C-C-Combine patch. Damn, this is amazing! Thank you for sharing.)

Rodrigo's icon

Thanks on the patch!

Good call on the thunderbolt adaptor. Maybe by the time I get a new computer (my current laptop has ethernet, so I'll be rocking it that way for at least another year) the prices on the thunderbolt hubs will have come down to sane prices, and that would take care of ethernet and general USB hubbery.

So that's good to know that ethernet to USB works fine out of the box.

A couple questions. Did you run the dmxking config app in wine or on a windows computer (to set up the initial values)?
Can you share your patch? Or at least the communication part of your patch?

matheus leston's icon

I'm also hoping for the best with Thunderbolt. It is time to buy a new Macbook Pro, and probably this Thunderbolt thing is the way to go.

I actually used a Windows computer to set up the device for the first time. I admit, it was kind of painful because (as a noob) I was confused about how to setup the IP address and subnet mask of the Windows computer in order to communicate with the device. Long story short: as far as I understand, Art-Net can use IPs such as 10.x.x.x or 2.x.x.x. The eDMX1 came pre configured with an IP such as 10.x.x.x, but I wanted to change it to 2.x.x.x in order to work with the externals. It took me a while to understand what my computer settings should be, but after that, everything ran smoothly. Tip: if you want to buy one of those, ask DMXKing to send it pre-configured as you like. They told me they could do so and I ignored.

Max Patch
Copy patch and select New From Clipboard in Max.

About the patch, it is really as simple as can be. I built a very small example to show you. Right know I'm using imp.artnet.controller, still in Beta. And this is what it looks like:

And this is the prove that It works, running this exact patch: http://d.pr/i/Fvr6

Rodrigo's icon

I'm not too up on the udp stuff, so I'd go through some of the same problems you did. That's nice that they can configure it for you.

So do you need to change anything every time you use it (like when using TouchOSC, you have to set the IP to whatever the computer has loaded up as)? Or is it literally a one time thing (you set the numbers on the eDMX1 and in your udp objects and that's that).

What actual numbers did you use (do you remember)? And can I just use the same ones (maybe changing the end numbers)?

Not seeing the artnet.controller on his page so I can't really see what's happening, but you just deal with the one lamp like that (sending it RGB values) and all the udp stuff happens inside the imp.artnet.controller?

Lastly, about the par lamp, is it a chauvet slimpar?

matheus leston's icon

The imp.artnet.controller is a native C object by David Butler, still in beta, but it works perfectly fine. If you like, you can take a look of what is happening inside the older externals: http://www.theimpersonalstereo.com/software/imp-dmx/

You need no UDP configuration in Max. Those objects handles the network activity. By default, the object is in broadcast mode, sending data to all devices with 2.x.x.x. If you set your device to anything inside that range, it should work. You can set the object in unicast mode, just adding a few arguments and the device's IP address, wich is more efficient. The only thing you need to care about is your computer's settings. Here is a screenshot of what mine looks like: http://d.pr/i/xXOf.

As the ethernet and wi-fi settings are separated, I hardly change it. Changing the IP of the ethernet connection doesn't mess with the Wi-Fi, so I never have to change the settings in the Lemur or TouchOSC apps in my iPad. The eDMX1 configuration is never changed.

With this object you just have to send a list of DMX values (0-255) and my lamp is set to receive 3 channels, R, G and B. As I am currently using four lamps, I just need to send a list with 12 values. But of course it will depend on the kind of lights you have.

This is an Aura Led Par 64 Slim. I think Aura is a national (brazilian) company.

Rodrigo's icon

I see, so it's possible to just use it with the abstraction (as David mentions in his first post).

So on the device you changed it to:

IP Address : 2.0.0.13
Subnet Mask : 255.0.0.0

What about the default gateway? Or does that not matter.

matheus leston's icon

Actually no. 2.0.0.13 is the IP of the computer. The device is another number in that range, like 2.0.0.10. I actually can't remember right now and I'm not finding the file where I have it written down. Later today I'will check with a windows computer (with the included software) and I will let you know all the configs. But that screenshot are the only changes I did in my computer, no other network configuration was required.

The abstraction does the same as the C coded object and is quite similar in terms of use. It includes a java file to convert the messages, because udpsend uses Osc, and not "FullPacket" messages. I haven't tried yet, but you could built something similar with aka.datagram. As I said, I'm no specialist in networking or Art-net and I might be wrong!

Rodrigo's icon

That'd be great. Thanks for all your responses to this stuff as I'm going to be going through the same things quite shortly.

matheus leston's icon

Got a Windows computer. Here is what I have done:

I connected the device to the computer and a wired network was stablished. I got into that connection's settings and changed the IP addresses of the TCP/IPv4 (not 6) item. That setting will depend on how your dmx device is configured. When I first set up the eDMX1, I changed the computer's IP to something like 192.168.0.1 and the subnet was 255.255.255.0, because that's the default subnet of the eDMX1.

Then I opened up the eDMX Configuration Utility and on the tab "Network Adapter IP Address" I chose the IP of the wired connection (192.168.0.1) and it found the device. After the connection is stablished, there is an option called "Network Mode" that has three options: 2.x.y.z, 10.x.y.z and Custom IP. I changed it to 2.x.y.z and hit "Update Network Settings". The eDMX1 sets everything up by itself.

But after that, you need to change your computer settings if you want to connect to the eDMX1 again. After 2.x.z.y was chosen, the device will work with a subnet 255.0.0.0. So, back to the IPv4 settings: I changed the subnet of the computer to 255.0.0.0 and the IP to something as 2.0.0.10. And then I was able to connect to the device again with the Configuration Utility and found out that the IP is now 2.107.34.84 - I don't know way is this number, but it was automatically chosen.

I hope that this isn't confusing. I'm struggling here to explain everything clearly in english! If you got one of those devices, feel free to message or email me if you need any help with it.

Rodrigo's icon

Thanks a ton, that will be super useful.

husasa's icon

Yes, you will need another USB port as power supply and to set up the device (something I did just once)

____________________________________
Love life, stay healthy and enjoy every day
http://www.mmolive.com/
http://www.mmohome.com/

tassock's icon

Hello,

I'm attempting to use broadcast DMX signals from David Butler's imp.artnet.controller (v0.8) via a DMX King eDMX1 following these instructions:

“In order to use broadcast mode the network must be set up so that all devices required to receive Art-Net have an IP address that begins with 2 (or 10 if using alt_ip). The sub-net mask on an Art-Net network must be set to 255.0.0.0.”

I've configured the device to use a 2.x.y.z IP address and a subnet mask of 255.0.0.0 (see screenshot 1). I've configured my Mac's network settings to use the IP address 2.168.0.101 and a subnet mask of 255.0.0.0 (see screenshot 2). I verified my network works as expected with the DMX Display feature in the eDMX configuration utility. When I open the imp.artnet.controller.maxhelp patch, the only warning I get is about not being able to load the ImpAbout.maxpat. However, when I trigger changes to channels, nothing seems to be transmitted to my network. I tried enabling and disabling auto mode to no avail. Any suggestions on what I might do to troubleshoot this?

Thanks!

Peter

Mateusz Malik's icon

Hey guys, I think I would like to add one question to your discussion. I am testing some patches of usbdmxpro with a device that is kind of compliant with Enttec Usb Pro, however as I am running El Capitan I have a problem with drivers. I need to use a D2xxHelper to communicate with the device (Max does not see it as a serial port disappears) but other S/W work (QLC), when I turn off D2xxHelper, Max starts to see the serial port, but no communication.

My question would be if Enttec USB Pro (MK2) was tested by any of you on El Capitan and you can control the lights or is it better to think about ART-NET as it is driver/system independent???