Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


The dmxfire16 is an Arduino-compatible 16 channel solid state relay board with built-in RS-485 serial. It is the wired version of the wifire16 - much more information on the SSR side of the board is available there.

The RS-485 connection is DMX512 compatible with any number of Arduino libraries, so the dmxfire16 can be used to control LED strip lighting or flame effects with commercial off-the-shelf lighting controllers.

dmxfire16 photo

Feature Summary

  • Arduino compatible
    • Use "Duemilanove or Diecimila" as the Board in the Arduino IDE
  • Programmable via 6-pin FTDI header or 6-pin ICSP header
  • 16 DC load channels switched via MOSFET
  • RS-485 support (DMX512 compatible) via 8P8C connectors
  • Termination resistor and jumper for serial connection
  • All ATMega I/O pins are broken out on the board
  • DC load power is optoisolated from the control system power
  • Power connectors use 5mm screw terminals or Anderson Powerpole connectors
  • Load power status is reported to the microcontroller via an optoisolated input pin
  • Output power channels are controlled with a TLC5940 constant current driver that works like a shift register
  • Each output channel has a status LED for easy debugging
  • TLC5940 control lines are broken out to input/output headers, so boards can be chained without additional control systems


DMX Details

  • The DMXSerial library can be used.
  • A from the MAX-485 is positive signal, and goes to RJ-45 pin 1 / XLR pin 3.
  • B from the MAX-485 is negative signal (aka signal invert), and goes to RJ-45 pin 2 / XLR pin 2.
  • Many receivers implement A-B in hardware, so if these pins are swapped DMX is unlikely to work.

To send DMX data, CTRLDE (mapped to Arduino digital pin 6) must be set high:

  pinMode(6, OUTPUT);
  digitalWrite(6, HIGH);


16 channel RS-485 (DMX512 compatible) SSR.



No packages published