The Saleae Logic makes an excellent DMX / RDM sniffer. Using the Logic and a small amount of hardware you can build a DMX / RDM sniffer for a fraction of the price of commercial units.
To connect a Logic to a DMX512 line you need hardware to convert from the differential 485 levels to a signal which the logic can understand. You can then either use the software provided by Saleae or the Open Lighting Project’s logic_rdm_sniffer program to decode the data.
At the basic level you only need an RS-485 receiver like the Maxim MAX485 or Linear Technology LT1785 to translate from the DMX/RDM differential levels to a TTL level that the Saleae Logic understands.
Connecting this circuit to the Logic is fairly simple. Power the board with a MicroUSB Cable or from the +5V, and COM pins on the TTL connector. Then attach the Logic’s grey ground wire to the COM pin on the sniffer circuit, pull the DIR pin low to put the board in RX mode and connect your Logic’s channel 1 (generally it’s the black cable) to the RX pin. Finally Connect a DXM/RDM source to the board and make sure the green LED is flickering to show data is receiving on the TTL side.
Pre-made boards can be purchases from SeanSill for $65. See RDM Sniffer Board wiki page for more info.
Saleae provides the Logic App which works on Windows, Mac and Linux. The application has a plugin to decode DMX, but it doesn’t understand RDM data. The tool is best for analyzing the signal timing rather than the high level messages.
Open Lighting Project’s logic_rdm_sniffer
OLA has a text-based DMX/RDM sniffer that works with the Logic (it could easily be extended to work with the Logic 16). It can be found in tools/logic directory of the OLA sources.
- Timing information is not displayed
- The Logic16 isn’t supported at this time
- The sniffer doesn’t understand DUB responses yet since it looks for the BREAKs in the signal.
- It may struggle with signal timings that are at the very edge of the E1.11 standard.
- As of late 2013, Saleae doesn’t provide an ARM or 64bit Mac verison of the Logic SDK.
Usage & Examples
See the online man page.
The code is in the tools/logic directory in the OLA repo.