Overall idea
BouLED is, as its name implies, a spherical-ish LED display (in fact, an icosahedron), made of triangular PCBs.
The displayed image is stabilized: there’s an AHRS (accelerometer, gyroscope, magnetometer) array that computes the ball’s orientation and rotates the image so that it appears not to move, even if the ball itself does. Here’s what it looks like in the simulator:

The LEDs are not to scale here, so that it’s more obvious that the algorithm works. However, it will be enclosed in a plastic sphere that will diffuse the LED’s light, so this is a reasonable preview of the final product
The triangles are nothing more, electrically speaking, than a LED strip with APA102 LEDs and a 5V switching power supply. There’s also a main board with the main MCU, a SD card for image/animation storage, an AHRS array, and an ESP32-DevkitC that handles network communication. The triangles are divided in a few chains and are connected to the main board over SPI as you’d do with a regular APA102 LED strip.
An archive of the repository is available on GitHub. You can also find bouLED on Hackaday.io.
Post index
- Polling an AHRS array
- Visualizing an orientation
- Visualization and 3D printing
- Turning LEDs on
- Visualization shenanigans and 3D modeling
- More on the LED strip
- Simulation, math and component choice
- 3D printing
- A pretty triangle and a pretty simulator
- The last 3D printing
- SPI benchmarking, architecture and component choice
- Update on power consumption
- Scaling the icosahedron
- Choosing a LED layout
- Physical structure
- LED layout redux and component choice
- MARG
- Designing the main board
- Triangle’s circuit diagram
- Drawing the main board’s schematics
- Starting placement and routing for the main board
- Placing LEDs
- Finishing the main PCB
- Done with the PCBs
- Drawing on bouLED
- Trying a projection algorithm
- News from the LED panels
- Adding WiFi
- A proto-demonstrator