ESP32 controller wishlist

For my outdoor pixels, I’m currently using ESPixelStick_v3. The hardware is outstanding, supporting anything from 5V-12V input, including reverse-polarity and ESD protection, and supporting DMX output. Oh, and it has an SD card reader too. Not the least expensive controller, but I love the feature set (Well done, Shelby!).

I’m ready to go a step further. The ESPixelStick comes by default with ESP8266, and I want to use 100MB ethernet to avoid the problems that wireless adds, while retaining the fool-proof nature and other features I’ve come to love.

But, more than just a wishlist, I think I found a pin configuration that would allow use of a d1 Mini32. I’ve even mocked up some portions of the schematic on EasyEDA.


Priorities / Features (click to expand)
  • (Pri 0) ESD protection on all connectors (e.g., pixel data lines)
  • (Pri 0) VIN → VDD has mini/micro ATC fuse holder (e.g., LittleFuse 01530008Z)
  • (Pri 0) VIN / VDD supports 5V-24V input
  • (Pri 0) VDD is reverse-polarity-protected (e.g., DMP3056L-7)
  • (Pri 0) VDD to +5V is regulated (e.g., TPS54202DDCR)
  • (Pri 0) Basic SD card support
  • (Pri 0) 1x pixel output
  • (Pri 0) Built-in level-shifter for any pixel output
  • (Pri 0) board printing indicates max amperage for VIN → VDD
  • (Pri 1) Board traces support 7.5A from VIN → VDD
  • (Pri 2) JTAG pins (IO12-IO15) exposed and usable for debugging
  • (Pri 2) Built-in level-shifter has DMX output option (e.g., TI UA9638CDR)
  • (Pri 3) additional pixel outputs supported
  • (Pri 3) relay control pin & supporting electronics
  • (Pri 3) re-use of debug pins for expansion port (e.g., LCD output)
  • (Pri 3) Board traces support 10A from VIN → VDD

Note: JTAG header need not be the nice 10-pin header … it can just be a 1x6 header (4 pins, GND, 3V3).


I think I’ve come close to finding a pin assignment that works, and supports everything above (except for a relay control) with 2x pixel output lines. See linked schematic.

I’ve never designed anything even close to this complex. The Ethernet controller portion of the schematic is based on the WT32-ETH01, and likely should be scrapped for a better existing design … but it is useful to track which pins are needed from the ESP32. I also don’t know how to ensure the board would be able to handle 5A (never mind the 7.5A or 10A I’d prefer) for VIN–>VDD.

Anyone else interested in getting something like this made? I’d definitely need help.

1 Like

Why not talk to @srg74 ?
He already has his Wemos shield which is pretty close to your wishlist.
With a few modifications (i.e. scrapping ESP8266 support) it could easily support Ethernet board add-on.

I have something coming out pretty soon which will basically be an extension option for my QuinLED-Dig-Uno and QuinLED-Dig-Quad boards which will add some of this stuff or at least the SDcard slot. The main feature that would be missing is the Ethernet support though, I have that as option for my boards, but not combined with an SDcard slot.

Is Ethernet support and SDcard such a big desire? I would figure that running ESPixelstick v4 firmware which would have the sequence files locally on the SDcard together with a good quality WiFi connection would be enough? What would Ethernet add in that regard once WiFi isn’t burned by the real-time information anymore?

Just trying to understand the desire. :slight_smile:

Good questions. Summary is that sometimes real-time control is needed, while other times it’s playback of a previously-built show.

WiFi is simply not reliable, not only in urban environments, but also suburbs (houses are being put too close together, imho).

Reverse-polarity protection, wide voltage range (5V-24V), and ESD protection are also often missing from offerings. Reverse-polarity protection is not critical, but can save serious aggravation. Wide voltage range support allows the device to hang off the end of the pixels, with power supply at the opposite end. ESD protection is a must-have … too easy to damage the controller otherwise.

Other items in my layout target mounting: I want the board to fit into 1.25" PVC pipe, which limits the board width to (approximately) that of a d1 mini32. However, the form factor is really useful when using one controller per prop, and therefore is highly desired.

[[Edit]]
There’s also the benefit of having one controller usable for both ad-hoc or pre-made shows. The backup modules can then be of a single type, and swapping one in/out avoids the problems where one type is used for 5V, another for 12V, and a third for 24V. It avoids the problems when replacing a board, and forgetting to switch the jumper to match voltages, too (very sad when that happens). I don’t mind spending a few extra dollars for a controller, when it can save me hours of frustration. :slight_smile:

[[Edit2]]
The final thing my pin selection offers is support for proper debugging via JTAG… and re-use of those JTAG debug pins for an LCD (or other extension) when not needing JTAG debugging.