How to Build DMX512 Fixture Using Arduino Nano & MAX485 IC

This is a project demonstrating how to make DMX512 Fixture Using Arduino to Control the Stepper Motor. We have controlled the Stepper motor position angle using the value on the DMX512 channel. In this fixture we can change the Channel number addressing using the simple DIP switches.

If we talk about the DMX512, It is a standard for digital communication networks that are commonly used to control stage lighting and effects. It was originally intended as a standardized method for controlling light dimmers.

Further DMX512 stands for digital multiplex 512. This means that 512 channels are controlled digitally through 1 data cable. A channel is a set of 255 steps that are assigned to control attributes in each light. This may be a color like red, green or blue, and intensity, strobe, pan/tilt or other attributes.

In General DMX512 is commonly used to control stage lighting and theatrical effects (ex: moving lights, color changing lights, fog machines, etc.) and also used for color changing LED applications Different type of the fixtures are available in the market. As I have said for we are going to control the stepper motor and it is some kind of special requirement, so we will make our own fixture.

I was interested in controlling the angle of the stepper motor using the DMX channel value. Because of this specific purpose I have made my own DXM512 fixture. The detail explanation is available there in the video attached at the bottom of this blog. The circuit diagram for the fixture as given below.

DMX512 Fixture Circuit Diagram to Control the Stepper Motor

The list to main parts and components used to make this Fixture in this project is as under

  1. Arduino Nano
  2. DIP switches
  3. MAX485 IC
  4. Stepper Motor
  5. Stepper Motor Driver Module TB6600
  6. Power Supply 24V 4A for Stepper Motor
  7. General Purpose PCB, Jumper

As shown in above diagram we can select the DMX channel by using the DIP switches. If the switch is OFF we have taken it as Zero and if it is ON we will consider it as 1. to address 512 channel we need 9 DIP switches. Assume, if we make first 3 switches ON then the receiving channel will be 7. The calculation and binary to decimal conversion is explained by the Figure as under.

DIP Switch Addressing for DMX512 Channel Selection and Binary to Decimal Conversion

To send the DMX Value we are using a DMX controller the detail descriptions you can see the video attach with this post. the DMX controller Fixture and channel details of my DMX controller is as under.

DMX512 Controller Fixture and Channel Details

As you know, In this project we are using the Arduino Nano board and we are using the DMXSerial Library in this project the links given there to download the Sketch and Library

Click Here to Download the Arduino Sketch

Click Here to Download the Arduino Library “DMXSerial”

Moreover above, The complete explanation and demonstration of the project is described in the YouTube video as below

8 thoughts on “How to Build DMX512 Fixture Using Arduino Nano & MAX485 IC”

      1. muchas gracias, estoy muy atento vuestro trabajo. Sepuede usar el mismo codigo con arduino + dmx shield? soy principiante con circuitos y componentes…

  1. Hi, I would like to USA a a4988 driver and a normal nema 17 stepper motor. How to I use that in this circuit. I am just a bigginner 🙂

  2. Hi, I would like to use a a4988 driver with a generic nema 17 motor. How can I use that with this circuit?

    (I don’t now if the first one was posted)

  3. Nice post. I learn something totally new and challenging on sites I stumbleupon everyday. It will always be helpful to read articles from other writers and use something from other sites.

Leave a Comment

Your email address will not be published.

Shopping Cart