I had already made a different type of DMX tester based on Arduino Mega for checking problems with DMX splitter/buffer boxes but it just pushed out random values on one universe and read back on another universe (via the splitter box) to compare they were the same but the problem was I had no way of setting specific channels to specific values as the entire Serial system was hijacked by the DMX library.
So here is a simple little project for a DMX testing device that was born out of the need to test DMX equipment after its repair without the need of dragging out a DMX desk to do so.
It is a very simple circuit as to keep size/cost down I have not included isolation like you really should with DMX. The most expensive component used is the Amphenol 5 pin XLR (over 50% of total cost).
It uses the Leonardo Pro Micro as it has native support for USB and also has a UART serial so I could easily use an off the shelf DMX library and still have Serial to/from a connected PC.
The software I wrote is a quick and dirty job but seems to work okay. It basically reads lines of serial typed by the user through the serial monitor in a syntax reminiscent of etc connect’s RFU we use.
A line like ‘c1-25@50’ will set all channels in the range 1-25 to a level of 50
A line like ‘c1,100,200-250@50’ will set channel 1, channel 100 and channels 200-250 to a level of 50
There are a few other commands to set all channels to full ‘f’, all channels to zero ‘z’, all channels to a random level ‘r’.
‘h’ will list a simple syntax help and ‘d’ will dump the DMX universe values to the Serial monitor.
In the future I might expand the software so you can switch it to a DMX slave mode and use it to check a DMX master device is sending what your expecting.
£0.05 MAX485 DIP-8 RS-485/RS-422 Transceiver
£2.88 Leonardo Pro Micro ATmega32U4
£4.62 Amphenol AC5FDZ XLR socket, 5pin panel
£0.87 9746mm of 3D printer filament
Stripboard, resistors & hookup wire.
DMX-Tester.ino (13 KB)
DMX Tester.pdf (7.19 KB)
DMX Box v1.zip (77.3 KB)