# Tinkerkit DMX Master Shield

**URL:** <https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163>\
**Category:** UNO R4 WiFi\
**Created:** [September 19, 2023, 11:17pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163 "2023-09-19T23:17:06Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![drqt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/drqt/32/1001750_2.png) [@drqt](https://forum.arduino.cc/u/drqt)\
**Post date:** [September 19, 2023, 11:17pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/1 "2023-09-19T23:17:06Z")

</div>

Trying to get DMX running on an rev4.  
avr/io.h is putting up a fight.

The board is listed with a "-" on this page:

> **[Arduino UNO R4 Shield Compatibility | Arduino Documentation](https://docs.arduino.cc/tutorials/uno-r4-minima/shield-compatibility)**
>
> This article covers popular shields and their compatibility including the libraries used.

Am I out of luck? Do I need to shift to a Rev3 board?

---

<div class="post-metadata">

**Author:** ![van\_der\_decken](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/van_der_decken/32/1006976_2.png) [@van\_der\_decken](https://forum.arduino.cc/u/van_der_decken)\
**Post date:** [September 19, 2023, 11:24pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/2 "2023-09-19T23:24:51Z")

</div>

Hello, and welcome.

> [@drqt](#):
>
> Trying to get DMX running on an rev4.

Why? Is there some feature on an R4 that's not available on an R3 that you need for your application?

> [@](#):
>
> avr/io.h is putting up a fight.

That's not surprising. The R4 is not an AVR board.

> [@](#):
>
> Am I out of luck? Do I need to shift to a Rev3 board?

Ask yourself the question: is your purpose to learn about the R4, or to get your shield working with minimum fuss?

---

<div class="post-metadata">

**Author:** ![drqt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/drqt/32/1001750_2.png) [@drqt](https://forum.arduino.cc/u/drqt)\
**Post date:** [September 19, 2023, 11:27pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/3 "2023-09-19T23:27:05Z")

</div>

Up and running is the goal.

I think I have a Rev3 board across the city.  
Attempting tonight -- hopefully that will be painless.

Do you expect DMX libs for Rev4 are just going to take time, or is there something inherent about it that won't easily support DMX or old shields?

---

<div class="post-metadata">

**Author:** ![van\_der\_decken](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/van_der_decken/32/1006976_2.png) [@van\_der\_decken](https://forum.arduino.cc/u/van_der_decken)\
**Post date:** [September 19, 2023, 11:37pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/4 "2023-09-19T23:37:01Z")

</div>

The R4s aren't even 6 months old; they're still bleeding edge and the software is going to take time to catch up. They haven't even ironed all the wrinkles out of the core code yet. So I imagine that a whole lot of libraries haven't even been looked at so far - a category that your DMX shield seems to fall into.

---

<div class="post-metadata">

**Author:** ![ubidefeo](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ubidefeo/32/217164_2.png) [@ubidefeo](https://forum.arduino.cc/u/ubidefeo)\
**Post date:** [September 20, 2023, 6:51am UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/5 "2023-09-20T06:51:32Z")

</div>

@drqt

The DMX Master library is very unmaintained,  
with the last commit made 10 years ago almost to the day.

Unfortunately it is heavily reliant on AVR, and it was never ported to Arduino API

```arduino
#if defined( __AVR_ATmega168__ ) || defined( __AVR_ATmega168P__ ) || defined( __AVR_ATmega328P__ ) || defined( __AVR_ATmega1280__ ) || defined( __AVR_ATmega2560__ )
#define TIMER2_INTERRUPT_ENABLE() TIMSK2 |= _BV(TOIE2)
#define TIMER2_INTERRUPT_DISABLE() TIMSK2 &= ~_BV(TOIE2)
#elif defined( __AVR_ATmega32U4__ )
#define TIMER2_INTERRUPT_ENABLE() TIMSK3 |= _BV(TOIE3)
#define TIMER2_INTERRUPT_DISABLE() TIMSK3 &= ~_BV(TOIE3)
#elif defined( __AVR_ATmega8__ )
#define TIMER2_INTERRUPT_ENABLE() TIMSK |= _BV(TOIE2)
#define TIMER2_INTERRUPT_DISABLE() TIMSK &= ~_BV(TOIE2)
#else
#define TIMER2_INTERRUPT_ENABLE()
#define TIMER2_INTERRUPT_DISABLE()

```

I don't believe it would take much to adapt it, but if the maintainer is AWOL I doubt anyone will.  
Try open an issue on their repo and see if anyone responds, but I really doubt as there's an unanswered issue from 2016.

> **[Issues · TinkerKit/DmxMaster](https://github.com/TinkerKit/DmxMaster/issues)**
>
> Contribute to TinkerKit/DmxMaster development by creating an account on GitHub.

On the other hand, a quick search brought up SparkFun's DMX Library which seems to be based on Arduino API and maybe that one works if you wanna give it a try.

> **[GitHub - sparkfun/SparkFunDMX](https://github.com/sparkfun/SparkFunDMX)**
>
> Contribute to sparkfun/SparkFunDMX development by creating an account on GitHub.

good luck  
u.

---

<div class="post-metadata">

**Author:** ![drqt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/drqt/32/1001750_2.png) [@drqt](https://forum.arduino.cc/u/drqt)\
**Post date:** [September 22, 2023, 7:58pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/6 "2023-09-22T19:58:20Z")

</div>

I ordered a Sparkfun ESP32 DMX shield but it looks like that is not what is needed?

You were suggesting a library not the shield I guess.

I also got the TinkerKit shield working on the r3 but I’m missing a cable to test it.

I’ll try the Sparkfun library when the cable arrives today.

---

<div class="post-metadata">

**Author:** ![drqt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/drqt/32/1001750_2.png) [@drqt](https://forum.arduino.cc/u/drqt)\
**Post date:** [September 23, 2023, 12:02am UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/7 "2023-09-23T00:02:13Z")

</div>

Cable arrived and lighting is a-go.

I’m looking to play back a score of ~512 channels of 24fps DMX.

Is there enough memory on the rev3 to store a minute or two?

I’m working from a Jetson Orin.  
Is there a data transfer protocol from the Jetson to the Arduino that you would recommend for streaming the data in realtime if it can’t be stored?

---

<div class="post-metadata">

**Author:** ![tractormad](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/tractormad/32/1126465_2.png) [@tractormad](https://forum.arduino.cc/u/tractormad)\
**Post date:** [December 9, 2025, 3:06pm UTC](https://forum.arduino.cc/t/tinkerkit-dmx-master-shield/1170163/8 "2025-12-09T15:06:18Z")

</div>

Did anyone get to the bottom of this! I’d really like to be able to use a DMX shield with the UNO R4 for the increased memory for neopixels
