Issues with MKR 485 Shield and DMX

Hi All,

I've been working on a DMX lighting project, using an Environmental Lights 4 Channel DMX Decoder that I am controlling from an Arduino. This works really well with the Uno, using both DmxSimple as well as a DMX Shield with DMXSerial.

For my final implementation of the project, however, I need to use an Arduino MKR 1010. Because DmxSimple is not compatible with the SAMD21, I've been following this guide to use the MKR 485 shield to connect to the DMX decoder.

It seems very straightforward. With the shield attached to the MKR 1010, my wiring is this:

- ISO GND -> DMX decoder GND (pin 1)
- Y -> DMX decoder Data + (pin 2)
- Z -> DMX decoder Data - (pin 3) (I have tried reversing 2 and 3)
- Jumper Z \/\/ Y set to ON

I'm using the standard Blink example from the ArduinoDMX:

/*
  DMX Blink

  This sketch toggles the value of DMX channel 1 between 255 and 0.

  Circuit:
   - DMX light
   - MKR board
   - MKR 485 shield
     - ISO GND connected to DMX light GND (pin 1)
     - Y connected to DMX light Data + (pin 2)
     - Z connected to DMX light Data - (pin 3)
     - Jumper positions
       - Z \/\/ Y set to ON

  created 5 July 2018
  by Sandeep Mistry
*/

#include <ArduinoRS485.h> // the ArduinoDMX library depends on ArduinoRS485
#include <ArduinoDMX.h>

const int universeSize = 16;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  // initialize the DMX library with the universe size
  if (!DMX.begin(universeSize)) {
    Serial.println("Failed to initialize DMX!");
    while (1); // wait for ever
  }
}

void loop() {
  // set channel 1 value to 255
  DMX.beginTransmission();
  DMX.write(1, 255);
  DMX.endTransmission();

  delay(1000);

  // set channel 1 value to 0
  DMX.beginTransmission();
  DMX.write(1, 0);
  DMX.endTransmission();

  delay(1000);
}

I have double and triple checked my connections but for some reason this doesn't work. My lights don't blink. Has anybody worked with the MKR 485 shield and DMX and could give me any pointers as to why this doesn't work? Or any good alternatives to connecting a DMX device to the MKR 1010?

Any help is really appreciated!

Best
2788west