DMX Ardweeny Node using Arduino

DMX Ardweeny

I’ve settled on the lighting industry standard of DMX as my overall control protocol as I explore the world of blinky lights.  This universal control method is electrically robust, radio transmissible, and flexible enough for my needs (not to mention the needs of major concert, theatrical, and entertainment venues.)  There are a variety of DMX sequence controllers from free to thousands of dollars.

To that end, I designed a single-board DMX receiver that serves a Solarbotics Ardweeny daughter-board.  It features;

DMX Ardweeny

o an on-board 5V power regulator – 1AMP capacity
o 5V header for powering other devices (or it can serve to power this board from another regulated supply.)
o opto-isolation to protect the Ardweeny from spikes on the DMX lines
o Arduino analog and digital pin-outs for controlling other gear with your Arduino sketches
o RJ45 jacks for DMX connections (using low-cost Ethernet cables popular amongst lighting hobbyists)
o no DMX termination on board (be sure to place a 120ohm resistor across the last jack in a series)
o on-board PROGRAM/RUN slide switch that disconnects the DMX line from the Ardweeny so you can program it via the ICSP header.

Just rewrite the Arduino code to control any device with DMX.

schematic DMX Ardweeny

design references: – The excellent kits designed by Robert Jordon and other amazing contributors.  I currently own the EtherDongle, Rx/Tx transmitter/receivers, and Lynx Express 16-channel dimming system. (of course)

Matthias Hertel, – who has written the most effective DMX sender/receiver library I’ve found to-date.

major design decisions included;

o feed DMX to the flexible Arduino platform
o build cost less than any similar offering (this comes in at $33 with my volume purchased parts from ebay/China)
o through-hole design for easy assembly
o RJ45 jacks rather than XLR to take advantage of lower-cost Ethernet cables
o can provide power on the board for low-amperage projects or can be powered by larger supplies
o DMX isolation to protect the Ardweeny from transients (I also have a version with power isolation)
o Ardweeny can be easily replaced if damaged

very basic design steps:

o settled on design parameters (above)
o designed schematic and PCB in SparkfunPCB – a free PCB design tool
o checked fit of all components by printing the PCB to paper and punching parts through the printout
o considered burning the PCB at home but backed off due to the tight double-sided tolerances of some of the small vias
o submitted the Gerber design output files to (a service of SparkFun Electronics)
o received the PCB boards and populated one

Here’s a very simple Arduino sketch that controls the 8-channel relay board in the photo.  (You’ll need to install the DMXSerial library written by Matthias Hertel at

// DMX_Relay_8ch_v01 – September 15, 2012
// receives DMX data and operates an 8-channnel relay board via digital outs
// DMX routines Copyright (c) 2011 by Matthias Hertel,


//this device’s DMX start address
// number of DMX channels to reserve for this device

//output pin setup (The number of indices in the array should match DMX_NUM_CHANNELS.)

byte relay_pin[DMX_NUM_CHANNELS] = {2,3,4,5,6,7,8,9};

Read more: DMX Ardweeny Node using Arduino

Leave a Comment

Your email address will not be published. Required fields are marked *