I created a library that allows an Arduino/Teensy to emulate an Enttec or DMXKing USB DMX device: https://github.com/DaAwesomeP/dmxusb. When paired with OLA (https://www.openlighting.org/ola/), you can control your LEDs from ArtNet, OSC (Open Sound Control), and many other protocols. I was able to drive 300 APA102 LEDs at 500 FPS on a Teensy 3.2. The library is in the Arduino Library Manager and I have a FastLED example in the repo.
This library functions differently from DmxSimple and DMXSerial because it emulates a USB serial protocol, not DMX serial. Without this library, in order to control FastLED with DMX from a computer, you would need components and hardware to make an functional DMX 3 or 5 pin serial port as well as a commercial USB to DMX device.
I’ve been controlling my LEDs with QLC+ through ArtNet and with Processing through OSC. I’m still experimenting with making patterns in Processing. While I could program everything I can do in Processing directly to FastLED on the Teensy, Processing allows me to visualize the LEDs on my computer and do everything dynamically—I don’t have to reprogram to Teensy to make a modification, and the LEDs can be controlled with a variety of applications and protocols. Also, multiple applications can be synced together much omre easily. Many DMX control applications including QLC+ allow you to create cues and sync DMX to music. I can also control other devices with the same methods: For example, relays and holiday lights also controlled from OLA.
Please share your thoughts, open issues, and submit pull requests! I’ll soon post a project for which I created this library.