Rev15 of the Arduino DMX Reception Software Released

By Max

New in this version:

  • Tested and working with IDE version 0021.  I have not tested it with the new Arduino Uno hardware, but can’t think of any reason why it wouldn’t work.  If you have any success or otherwise with the new hardware, drop a line in the comments.
  • A bug has been fixed in the addressing routine caused by button debounce, and the addressing routine logic has been simplified and made clearer.  Big thanks to Ron Barber for pointing out the source of the bug and contributing new code.
  • There is now a check when the previously stored address is read from EEPROM to ensure that it is in the valid range of 1-511, to prevent a bad value being read in from uninitialized EEPROM.
  • Fixed a potential bug in the break detection routine that could cause the read values to be off by one in cases where the break from the microcontroller was exactly 88uS.

You can grab it here or mosey on over to the original post for the instructions.

17 Responses to “Rev15 of the Arduino DMX Reception Software Released”

  • Brian Says:

    Am I doing something wrong with putty; all I am seeing when I transmit a value it get symbols and letters shouldn’t I be getting a numeric value written?

    Serial Com5
    Baud 250000
    2 Stop Bits
    Flow None
    No Parity

    Thanks for some help

  • Max Says:

    Hi Brian,
    Working as intended, congratulations! Putty interprets the 0-255 values as ASCII, e.g. 065 = A. I think there is a way to make it display decimal values, though. I use a shareware called RS-232 Analyzer, which can be set to output decimal values (Using 256000 baud, which is close enough, apparently).


  • Smittie Says:

    Thanks a lot,

    I,ve got my project up and running now :D

  • madis Says:

    Hi folks,
    I still would like my DMX reciever to use dip switches for addressing. I’ve seen that many fixtures use a 4051 multiplexer/demultiplexer between switches and processor. It only takes 4 pins of cpu. Since I’m all new to this programming stuff, maybe somebody can give me a hint how this setup works and how to integrate it with Max’ software?

  • Brian Says:

    Thanks Again for all of your help and what you have done, helped me start moving my christmas lights to DMX. I have built some basic boards that are more stripped down versions of the Arduino.

  • Siliconsoul Says:

    Arduino 0022 was released on Christmas but the core files have been modified to use register-based and not CPU-based #if defines.
    I was curious if it were possible to implement an #ifdef (ARDUINO_DMX) into the HardwareSerial code so that we just have to include #define ARDUINO_DMX into the source code. Any suggestions?

  • Dan Julio Says:

    Hey Max, I’ve implemented my second project using your receiver code. Thanks! This one is a full-feature DMX RGB LED fixture using Brian Neltner’s LED Array.

    The only changes I made to the core code was to completely decouple the DMX reception from the main loop (I did this for the other project).

  • Max Says:

    Hey Dan,
    Wonderful build, it really looks like you thought out how all the parts need to connect and mount, which is definitely not an easy thing. I will be interested to take a look at your code to see what changes you have made.

    I will also take a gander at the new version of the software, to see if easier accomodations for the code might be made. From a cursory glance, the issue seems exactly the same– the Arduino software calls dibs on the serial receive interrupt, whereas we would like to use it for our purposes?

  • Chris Says:

    Is this version (15) working with the 0022 Arduino build? I’m having a bit of trouble. With both my UNO board and Duemilanove board I’m getting some signals, but the timing seems off. When I should get a signal on channel 1,3,5 and 7 (for example), I’m actually getting signal on 0 and 3.

    Any thoughts of places I should start troubleshooting?

  • Leo C Giacometto Says:

    Does this need to be compiled by some other program like xcode. I been having a hard time getting this to work.

  • Cinci Says:


    Well job man! I put it in an arduino UNO usoing arduino 022, and it worked! I had some problems, output was random because my “reciever”‘s inputs (a simple differential with tow transitors) was inverted…

    I put off the adressing too, and I need to add 3 to start to the good @…

    Tomorrow, I will get it in live to drive my fog machine and some lights on / off, hoping I will manage to build a dimer in future.

    has somebody tryed it working both with dmxSimple? I would like to make a dmx bridge to group some tracks and save some of my poor 12 tracks console…


  • Matt Says:

    Was wondering if there will be another revision for the current IDE.


  • Max Says:

    Hi Matt,
    I’m sure I’ll eventually buy an Uno, and then I would probably do a revision for the current IDE and new hardware. But in the meantime, you can compile under the IDE noted, so apart from the inconvenience of downloading a separate IDE it isn’t an urgent issue as I see it.

  • Mark Says:

    Was wondering what changes in the Sketch that you would recommend to change from a pwm signal to digital so it could be used to switch a relay on/off?


  • Max Says:

    Hi Mark,
    If we’re talking about the example code that dims an LED based on the value received, it’s only an example. Upon receiving the new DMX values, you can execute any code you like. Best of luck!

  • Mark Says:

    Woohoo! Thanks Max I finally figured it out. I do not know much when it comes to coding arduino or anything at that but this brings me one step closer. I would like to try and implement a fail mode based off a dip switch. If the board lost DMX signal it would take all outputs to OFF instead of holding last value. Any Ideas?


  • SetMonkey Says:

    Great project. We are using this with the Uno for a prop on stage. The light shop has been doing all the work but it all because I said it was possible because of your website.
    Once we finish the project I will try to remember and share it with you.
    Any luck with the new IDE? We downloaded the old one for our project, just wondering if you still plan on updating.

Leave a Reply