Various DMX mods - mtongz ArtNet node port

I’ve been upgrading mtongz’s artnet v2 project for some boards I made, then I found this excellent project (d’oh). So I am now planning to add a few mods for what I need, they are:

  1. Dual DMX output using an interrupt-enabled driver for UART0 & 1
  2. DMX input on UART0 also supported by the driver (though not my first priority)
  3. Onboard device & 2x port status WS2812 LEDs
  4. Network (ArtNet/sACN) to DMX passthrough (not sure if this is already supported?)
  5. Network to LED direct mapping (for external pixel effects - not sure of this is already supported?)

They will only support ESP8266 because that’s the only hardware I have.

Just wondering if anybody has any tips before I pile in? I know that I should aim to add them as usermod v2 features, but not sure if there is such low-level access available for all the above?

Other things that could be supported: DMX RDM

Okay, so it looks like some of what I’m looking for is already there. So to start I propose two modifications, hopefully as usermods:

DMX Config

  • Support for two UARTs
  • Integrate DMX driver as LED mode: DMX
  • Add new LED HTML template type with channel map dropdown
  • GPIO LED option can only be UART pins
  • Modify existing DMX page for fixture size and several channel maps
  • Add Amber and UV as channel map options
  • Add passthrough universe number for both UARTs
  • Add UART direction GPIO numbers
  • Add per-UART input tickbox
  • UART RX GPIO number - built into driver

Status
Make status page to pick LED segment number as status output and hide from main UI

Any comments @Aircoookie ?

These modifications are now complete. PM for details

@blazoncek Could you explain why my links have been hidden please? There’s nothing in the community guidelines about posting links to github or other websites for that matter.

I do not manage the forum so IDK.

Hey

I just started to thinking about a mod like this yesterday, great that you head the same idea.

I would love to try it out, my aim would be to get it running on a WT32-ETH1.

Do you have experience with this controller already?

Would you be so nice to share your modded code?

Greetings
Tinka

I’m afraid I’ve only implemented on an ESP8266 and don’t have ESP32 hardware or the time to test it and get it working.

A binary is available on racitup dot com

You will struggle to make DMX reliable (gap-free) without a full ISR DMX driver which is implemented for the ESP8266 here:

One day I might have time to implement the ESP32 version but unfortunately has a completely different ISR API. Also I believe it still has the UART bug with the idle timer which took a lot of figuring out. And the 8266 still has 2 years support.

I haven’t posted the mods as a PR because they seem reluctant to accept them and without ESP32 support would be rejected anyway.

1 Like

For me, it would be interesting to see the changes you made for the ESP8266.
I’m a Hardware and Firmware developer, so I would love to branch off from your working branch to see how far I can get it.

Could you share a link to the repo or branch which is working for you?

Many Thanks

If you port the UART driver I might decide to share the rest. The driver is the difficult bit. Hope you have an oscilloscope or protocol analyser.

Hey

I found this really promising implementation, the guy wrote a own part Implikationen and the way how he deals with the break problem sound promising too me.
Works with esp32 and as a feature RDM + a sniffing tool.

https://www.reddit.com/r/esp32/comments/l8sun9/comment/glfmlm5/

So I think it’s worth to try to get this running.

Would be still interesting to see the changes you made.
Did you manage to implement your work in one user_mid file or did you have to change more in the project?

I will try out your binary later with an esp8266, looking forward to this. Did you actually implied a interface for the node?

Many greetings