bouLED draws inspiration from an earlier similar graduation project from Télécom Paris, StabiloRose, which used LED ribbons on a sphere. This time, the goal was to achieve higher resolution and performance. The icosahedric shape solved the LED placement issue (covering a sphere with ribbons is not easy).

To display the image, each LED's color needs to be computed. We wanted to be able to test projection algorithms as soon as possible. The AHRS attitude sensors we used returns an orientation in space as a quaternion, which is why we wrote a simulator that accepts quaternion and displays bouLED, but rotated accordingly. The sensor and the simulator can be linked together, which made projection algorithms much easier to test: (more information on the algorithm here)

The next step was facet design. Facets are triangular PCBs, but we experimented with 3D-printed facets tailored to fit classic LED ribbons:

In the end, we chose to ditch this idea and to go with triangular PCBs instead. Below is a single facet being tested:

The main PCB carries the AHRS sensor fusion system (MPU9250+EM7180), the main processor (from the STM32H7 family), an ESP32 (for WiFi remote control), and connects to the triangles.

Electrically speaking, the triangles behave as APA102C ribbons, split into four chains (hence the four red micromatch connectors) and with integrated switched-mode power supplies. bouLED is powered by a 4S 3300mAh LiPo battery. 

As for mechanical design, triangles are screwed to cornerpieces, and there is a main plate (also screwed to some triangles) for carrying the main board, power distribution board and battery.

Below is a global view of bouLED's 3D structure, some triangles being omitted for simplicity's sake:

Sadly, we didn't take enough footage, but here's bouLED in action:

Project logs are available on our blog.