Arduino DMX-512 I/O Shield

Part I: Features

p1000325

Breadboard is Great and All, But it’s not going to survive a six week run with actors tripping over it and that kid’s show that runs on Sunday mornings.  So here’s a shield that can fit onto your Arduino and securely hold all your connections in place.  It is tested and working with the dmx reception software I wrote for the Arduino.

Features:

  • Same hardware be used to receive or send DMX, so you only have to build one shield.
  • Onboard termination switch.
  • Reset switch brought to top of shield for easy access.
  • Pin 13 LED brought to shield for status/error messages.
  • Two tact switches allow in-the-field addressing, without permanently disabling any pins.
  • Header sockets for easy prototyping.
  • Solder through-holes for permanent installations.

Note: I changed the pin assignments slightly from early versions of the software to allow easier routing.  Pins 3 and 4 in the software are now pins 2 and 3, respectively.  As of Rev11 this change has been made, get the latest version here.

Continue reading for the parts and instructions…

Parts List:

DescriptionMouser Part #QuantityPrice PerExtended Price
Red diffused LED604-WP7104HD10.080.08
5Pin XLR PCB male recept568-NC5MAV14.334.33
5Pin XLR PCB female recept568-NC5FAV14.334.33
6X6mm tact switch653-B3F-100030.230.69
40Pin .1" male header strip571-9-146278-011.641.64
6Pin .1" header socket517-974-01-06-RK21.132.26
8Pin .1" header socket 517-850-01-0821.593.18
Max-485Sampled from Maxim IC100
150Ohm ResistorStocked100
1KOhm ResistorStocked100
Slide switchStocked100
Jumper wiresStocked100
8Pin DIP solder socketStocked100
Total:16.51

Or, if you would prefer a visual checklist:

dmx-shield-components-rev0

Note: the XLR receptacles I bought are Neutrik’s premium “A” line, which they characterize as “State of the Art.”  I was kind of curious about what that might be, so I bought them, but I’m sure you can use the everyday “AA” or “BA” series and save yourself a few bucks.  The difference is–let’s say–subtle.

Here’s the schematic:

schematicThe Eagle board and schematic files are here.  There’s also a 300dpi TIFF image file, if you’re ready to etch.  Here’s some pictures of the front and back of the assembled board.  If you buy header sockets with longer pins, you’ll be able to forgo soldering all those wires in to connect the bottom and top traces, which will make your life much easier.

p1000328p1000329

Let me know how it works for you!

Go to Section:

  1. Part I: Features
  2. Part II: Parts and Downloads
  3. View All

Pages: 1 2


9 Responses to “Arduino DMX-512 I/O Shield”

  • E. Roth Says:

    I’ve been waiting for something like this for some of my projects! It’s not at the top of my list, but I’ll definitely be putting one of these shields together sometime.

  • Mickey Says:

    Hi,have just got Rev 13 working on a 328 (Duemilanova) with Arduino 15 with the modified libraries. It works with an Artistic licence Microscope DMX tester and again with Magic Q + Enttec Pro. Will test with some Avolites desks but am sure it will be fine. Fantastic stuff. Thanks Mickey

  • Michael Says:

    Hi, Just wondering if you’ve considered supporting RDM? It would allow you to patch intelligent fixtures, change behaviour mode, invert axes, and so on – all from the comfort of your arduino sketch. What d’you think? (Email me)

  • Max Says:

    RDM is something I’m interested in doing, and the hardware has been designed to accommodate this functionality. But it’s not really a priority of mine, given that there isn’t a major console that supports it, and in the long run RDM is an evolutionary dead end anyway. In ten years, as intelligent lighting becomes a standard feature of every show, we won’t still be daisy chaining cable that costs $1.50 a foot everywhere. I hope.

  • halfdaft Says:

    Hi Max – this looks great, nice work. I’m planning on adding DMX input to a device I’ve been working on (for theatre use), have you used your adruino/DMX shield combo to pass DMX through, i.e allow the arduino/shield device to live within a DMX chain?

  • my shield/program Says:

    I actually haven’t used this board in a real-world application at all. I seem to be getting larger shows all of a sudden where I don’t have time to do custom stuff like this, I either have to rent something or do without :( (but if you have a project that requires bespoke technology, drop me a line!)

    There’s no real magic to the pass-through, you just connect the five wires on the male and female together 1-to-1. Other people have reported it works for them. Good luck!

  • Dan Says:

    Hi there,

    I was recently trying to see if I could use this to receive DMX via the UART (as you have coded it) and then use NewSoftSerial with rx attached to pin 9 and tx attached to pin 10 so that I could send messages to an xbee at 56700 baud rate.

    So far this does not seem to be working. From my tests it seems that after the USART and TIMER2 setup the NewSoftSerial library will not work.
    Have you peaked at this code before?

    http://arduiniana.org/libraries/newsoftserial/

  • ISO-B Says:

    Hi,

    I build DMX I/O shield. I managed to change dmx address, but I don’t get dmx signal. I am sending with other arduino with DMX shield. It sends fading values for every channel. But I still don’t receive nothing. DMX shield is tested with dmx tester and it is working.

    Does DMX-512 I/O Shield works with Duemilanove328?

  • Erick Nava Aldana Says:

    Recently buy parts to make DMX shield from CuteDigi, three questions:

    I have DMX 3 pin LED bars, its compatible?
    How to connect from 3 to 5 pin and viceversa?
    Need to make some changes in code?

    Thanks.

Leave a Reply