MIKROE DMX Click

DMX Click is a device used to establish communication between the MCU and equipment that uses the DMX512-A communication protocol. Unlike many similar solutions on the market, this unique device allows using the common UART data format, which is converted to an appropriate DMX512 format by the powerful PIC18F26K42 MCU from Microchip. This MCU has an integrated DMX peripheral, making it a perfect solution for such application. To allow interfacing with the DMX bus, DMX Click uses the RS485 transceiver from Analog Devices. Besides providing single-ended to differential signal conversion, this IC also provides the complete galvanic isolation from the DMX bus, without using any additional isolation components.

DMX Click is supported by a mikroSDK compliant library, which includes functions that simplify software development.

Click board ™ can be used to create custom DMX512-A compatible equipment of any kind, allowing it to be easily operated from any device that can transmit UART data at any speed. It simplifies development, taking care of the low-level DMX512-A communication. DMX Click is especially suited for stage lighting applications, as it will never cause unintentional blackout if the input data stream becomes interrupted. It can be used for building and development of custom lighting applications for all kinds of stage lighting use cases.

DMX is an abbreviation for Digital Multiplex, and due to its robustness and immunity to EMI, this protocol is extensively used for controlling stage lighting equipment, including dimmers, spot-lights, fog machines, and similar equipment that is operated at low baud-rates, in a very noisy environment. The original DMX512 protocol was created in 1986. It was officially approved by the American National Standards Institute (ANSI) in 2004 and currently, the standard is known as "E1.11 - 2008, USITT DMX512-A", or just "DMX512-A". It is based on a fixed 250 kbps data rate transfer through the RS485 interface. The DMX512-A protocol allows a single controller device which sends data to multiple peripheral devices, over 512 different channels.

DMX Click is equipped with two different ICs: the first one is the PIC18F26K42 from Microchip, which is, among other peripherals, equipped with a DMX512 (DMX) hardware module. This makes it a very robust alternative to many similar software-based solutions, which generate all the specific DMX timings by dynamically switching the UART baud rate, or by using some similar techniques. The second IC is the ADM2862E from Analog Devices, a very compact and robust RS485 transceiver, which provides up to 5kV of galvanic isolation between the bus and the controller side. The same IC was used in RS485 2 Click where you can find a brief explanation of its functionalities. More detailed information can be found in its official datasheet, in the links below.

The basic concept of DMX Click is to take plain UART data at any baud rate at its input and use it to fill in the channel data of any of the 512 available DMX slots, without worrying about timings, signal conversion, frame rates, etc. In other words, DMX Click supports controlling a single DMX Universe over the common UART interface found on almost every MCU, which opens up many design possibilities. It can be used to design an independent control desk (DMX controler), which doesn't require a PC to be connected. It can also be used to design custom DMX peripheral applications very easily.

The DMX protocol itself has some specifics, which need to be explained in order to better understand how the Click board™ works: the DMX data format is very similar to a common UART, except it is fixed to a data rate of 250kbps, one start bit, eight data bits, two stop bits and no parity. Data is sent in frames and each frame consists of:

  • Break condition (BR)
  • Mark-After-Break (MAB)
  • Slot 0, containing the Start Code
  • Up to 512 slots of channel data, each containing a single byte

Considering the fixed DMX baud rate, it takes approximately 23ms to send 513 bytes of data, along with BR and MAB signals, which translates to a maximum frame rate of 44 Hz. In other words, the channel data of a single slot can be updated 44 times per second. If higher frame rates are required (e.g. smoother movement, smoother light transition), the entire frame can be shortened. DMX512-A standard doesn't require sending all 512 slots, which can save time between two frames.

DMX Click can be operated in both controller and peripheral modes. It allows many of DMX parameters to be configured for each mode, by using simple UART commands interface. User can configure the frame length itself, gap length between two consecutive frames, number of channels within the frame, duration of the interrupt signal after each frame, and so on. The DMX Click Manual provides all the necessary information about the available parameters in both modes.

The firmware on the PIC26K42 MCU utilizes two memory buffers. Incoming data from the UART input is stored in the first buffer (A), while the second buffer (B) is transferred to the UART output. Data transfer is performed by using dedicated DMA channels. When the transfer is done and if the A buffer is full, the DMA transfer restarts, while the buffers are swapped. Now the buffer B is accepting data from the input, while the buffer A is transferred to the UART output. This is a typical double-buffering concept and it allows synchronization between two buffers working on different speeds.

The input-side UART is configured to auto or fixed (115200) baud rate, while the output-side UART is set to a DMX mode and is routed to the RS485 transceiver. The 3-pole output terminal is used to connect the Click board™ to the DMX bus, with its connections clearly marked on the PCB (DN - Data Negative; DP - Data Positive; GND in the middle)

The interrupt pin (INT) is used to signalize different events to the host MCU, while the STAT LED is used as a visual indication (i.e. for config errors). The MODE LED indicates operating mode (peripheral or controller), while the RUN LED indicates the running status of the Click board™. Please refer to the DMX Click Manual for a detailed explanation of DMX Click functions in each mode.

DMX Click offers a selection between 3.3V and 5V operation, with the onboard SMD jumper, labeled as PWR SEL. This allows both 3.3V and 5V MCUs to be interfaced with this Click board™.

  • Interface: GPIO, UART
  • Compatibility: mikroBUS™
  • Dimensions" 57.15 x 25.4mm
  • Input Voltage: 3.3V, 5V

MIKROE DMX Click Product Help and Resources

Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

Customer Reviews

No reviews yet.