• You can use any pin marked USARTx_TX, so you should be ok. I think DMX uses 12v voltage levels, so you need the level converter anyway (which will be on that shield).

    To send DMX, all you should need is:

    // if using USART1
    Serial1.setup(250000, { tx: DMXpin });
    var DMXdata = new Uint8Array(512);
    setInterval(function() {
      pinMode(DMXpin, "output");
      digitalPulse(DMXpin, 0, 0.1); // send 'break'
      pinMode(DMXpin, "af_output");
      Serial1.write(DMXdata);
    }, 50);
    

    I think you could increase the refresh rate if you needed, and you could make life easier for yourself by not sending all 512 bytes.

    I haven't tried that though, so I'm not 100% sure if it'd work.

About

Avatar for Gordon @Gordon started