BouLED is, as its name implies, a spherical-ish LED display (in fact, an icosahedron).
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.
In that, it behaves like artificial horizon systems (used in avionics):
This draws inspiration from StabiloRose, but their project was spherical instead of icosahedric. We chose an icosahedron because it’s easier to fit LEDs on flat triangular PCBs.
Here’s an idea of what it looks like in the simulator:
Don’t worry about the grey triangle, it’s only an indicator of the (z=0) plane.
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.
- 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
- 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