I'll throw out two quick suggestions for you:
- DMX kinda sucks but it's manageable. Cabling isn't cheap, it really wants shielded 120 ohm cable. If you do go that route, don't cheap out and use Mic cable or Cat-5, you'll be chasing ghosts forever.
- However... Art-net is an absolutely brain dead simple protocol that you can run over WiFi or ESP-Now if you don't care about it being perfect, or over Ethernet with an ESP32 with an Ethernet PHY or a Teensy or similar. I'm serious, you can implement it in an afternoon. Lots of COTS lighting controllers can talk Art-net, and you'll be amazed at how trivial it is to make a Python script to blast out the appropriate UDP packets.
- sACN is the new kid on the block for this stuff though and it's a little more complex. Not to shill LLMs... I hadn't actually heard of it before, Claude mentioned it and then one-shotted both a server (ESP32-side) and a test client (Python). There were a couple little bugs, but about two hours from never having heard of the protocol to having existing COTS lighting design software talking to it was pretty dope.
The other annoy bit with DMX: it's 250kbaud RS485, so it's not always trivial to just make a USB-serial-RS485 adapter that will actually run at that baud rate. With the Art-net/sACN approach, it is trivial to get an ESP32 or similar to run at that baudrate and drive the RS485 DE pin correctly as well.
Enjoy!
"Don't use mic cables"
I've used mic cables for 1000+ shows over 20+ years with no issues. I guess most of my runs have been at most 100-200 feet if distance is the issue. Wireless/wifi controllers are the only things I've had consistent problems with.
Can affirm Art-net is supereasy to implement indeed. One thing you shouldn't skimp on is the DMX controller. I've used DMX to USB controllers in the past, but those have lots of driver issues. The better ones operate over Ethernet and you can just use UDP. I've been using a Showtec box, but i'm sure there are other alternatives as well.
UDP rules for this sort of thing. Art-net sounds very similar to OSC¹ and that's a good thing.
1. https://en.wikipedia.org/wiki/Open_Sound_Control
Yup, they're definitely cousins. The only reason I didn't mention OSC is because you're not going to have the same ecosystem of existing open-source and commercial lighting control software available. OSC is fabulous for controlling all sorts of things and nails that COTS software compatibility layer for lots of other live production scripting stuff. (e.g. if you implement OSC on an ESP32 you can control what it's doing from an existing iPad app)