I'd like to build a DMX512 device.

The problem I have is how to decouple the device from the bus. I decided to use opto-isolators, but how should I wire the diode part of the isolator?

Since I need TTL/RS232 levels on the controller side, I'm using either a MAX485 or ADM485 to convert the RS485 levels (DMX512 is just an implementation using RS485) to TTL/UART levels. But where and how should I use the opto-isolator? Before or after the MAX485?

I was thinking before, right at the bus, but I'm not quite sure how the circuit should look like.

The device is only supposed to receive, not send to the bus.

  • 1
    \$\begingroup\$ I think you have at least one thing mixed up here. RS232 levels are not the same as TTL levels. A schematic of what you have so far might help us to understand what you are trying to do. \$\endgroup\$ – The Photon Apr 8 '13 at 4:21

I'm doing that very thing in a project I'm working on right now. I can't take credit for this, but it sure has worked well.

Both the MAX485 and MAX481 should work well. I modified this design a bit. This design currently has a 133ohm terminating resistor between pins 2 & 3 of the DMX connector. This is used to terminate the end of the dmx bus. I added a switch so that I could enable or disable the terminator.

You'll also note that a DC/DC converter is used to create isolated supply and ground. I'm sure someone else can explain, in better detail, why this is important. My understanding is that it helps with ground loops and voltage differences with the external devices that are connected to the dmx bus.

DMX Shield for Arduino with isolation enter image description here

  • \$\begingroup\$ The NME 0505 does the trick. +1'd for that! \$\endgroup\$ – polemon Apr 8 '13 at 22:57

The opto-isolators are after the MAX485. Between MAX485 and the μC.

enter image description here

The diagram is from the app note Using Isolated RS-485 in DMX512 Lighting Applications. The architecture with opto is described. At the same time, Analog Devices is trying to push their ADM2487E magnetic coupler.

  • \$\begingroup\$ Exactly what I was looking for, but do I really need the transformer? My power comes from an external power supply, can I just use the power coming from that to drive the MAX485? \$\endgroup\$ – polemon Apr 8 '13 at 6:29
  • \$\begingroup\$ If you already have a power supply on the bus side and another one on the controller side, then perhaps you don't need to build an isolated DC-DC with a transformer. \$\endgroup\$ – Nick Alexeev Apr 8 '13 at 6:32
  • \$\begingroup\$ You know, it's kind of a bloat, when you need all that extra DC--DC power isolation just to drive one single chip (the ADM485). There is no other way, than having this or two separate power supplies? \$\endgroup\$ – polemon Apr 8 '13 at 6:50
  • 2
    \$\begingroup\$ @polemon, if you want isolation, you have to isolate every connection between the two sides of the isolation barrier. If you don't use an isolated power supply, you negate the function of the opto-isolators. \$\endgroup\$ – The Photon Apr 8 '13 at 16:22
  • \$\begingroup\$ pre-packaged DC power isolators are available search "0505" on digikey - they have quite a selection! \$\endgroup\$ – Jasen Nov 1 '18 at 20:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.