Using Artnet DMX and the ESP32 to Drive Pixels

Contributors: Englandsaurus
Favorited Favorite 10


I like to make things glow probably far more than a colorblind person should, and I've been looking for new and interesting ways to control the output of different lighting applications without having to hard-code in different color sequences. I'd like to be able to have some sort of complex visual, and then have that be able to play on the lights without having to think about which LED needs to be which color in a display.

Artnet DMX, ESP32, and Resolume driven pixels

Required Materials

To follow along with this project tutorial, you will need the following materials:

Please note that although the WS2812 are 5V LED's, you can usually get away with driving small numbers on only 3.3V logic, so I'm going to skip the logic translation as this tutorial is mainly about DMX. You'll also need some 20AWG wire to connect the LED strip to your breadboard.


The following tools are required to follow along with this tutorial:

Suggested Reading

If you aren’t familiar with the following concepts, we recommend checking out these tutorial before continuing.

WS2812 Breakout Hookup Guide

How to create a pixel string with the WS2812 and WS2812B addressable LEDs!

ESP32 Thing Hookup Guide

An introduction to the ESP32 Thing's hardware features, and a primer on using the WiFi system-on-chip in Arduino.

Introduction to DMX

DMX512 is an industry standard in lighting and stage design, whether it be controlling lights, motors, or lasers, DMX512 has many uses. In this tutorial we’ll cover DMX512 (Digital Multiplex with 512 pieces of information).