This project is the second of a few LED based novelty display objects that I have created. The final project is a fully self contained, battery powered, dodecahedron of RGB LED panels. All of the LEDs are individually addressable and can be controlled via a web interface. The original intention was to create a LED sphere with a dodecahedron center and spherical resin mold on the outside, but there are printing complications that have yet to be solved.
There are three major components of the LED dodecahedron, a universal LED panel, the LED driver board, and a 3D printed support strucutre to hold the dodecahedron together. For each dodecahedron there are twelve seperate panels and only one controller.
Each LED panel contains 36 individually addressable WS2812-MINI RGB LEDs with 432 total RGB LEDs for the whole dodecahedron. Since the LEDs are individually addressable and the constant current driver is contained within the LED package, there is no additional hardware required to drive the LEDs. This configuration allows us to use only a single data line for all the LEDs and greatly simplified the firmware development.
The controller consists of the required hardware to drive and power the LED panels and is located on the reverse of the panels. Although each panel could be a controller, only one is required to drive all twelve panels and so only one board is populated. The controller is centered around an ESP32-C3 module that interfaces with all the other hardware components. Additional hardware features present on the controller include a power meter, temperature sensor, battery fuel guage, 3-axis accelerometer, an I2S audio driver with speaker pads, and a USB-UART converter for USB debug output.
To construct the dodecahedron, a 3D printed shell with holes for magnets was designed for each panel to simply snap into place. The magnets are press fit into the shell and mate with magnets glued onto each panel PCB.
The main goal of the controller's ESP32 is to properly send data and control signals to the LED panels according to the current LED effect. Additionally, the firmware implements proper battery safety monitoring both battery charging and the overall system power draw. To connect to the outside world, the firmware configures and hosts a simple web interface on any nearby local network. Through this interface a user can change the effect and see useful information such as internal temperature, battery state of charge, and system power draw. For ease of setup, the firmware provides a WiFi manager to bootstrap any network connection as well as an mDNS service to have a name based connection rather than having to obtain an IP address.