Halo Pixel

Halo Pixel

The Halo Pixel is a donut-shaped PCB with 96 charlieplexed LEDs arranged in a phyllotaxis spiral, the same pattern you see in sunflower seed heads. I wanted a ring shape because it looks cool, but the spiral layout turned out to be interesting in ways I didn’t expect.

In a phyllotaxis layout, each successive LED is placed at the golden angle (~137.5°) from the previous one. The consequence is that stepping through the array by certain Fibonacci numbers (8 or 13, specifically) traces clean visual spirals across the disc. This means you can build animations that follow the geometry itself rather than just sweeping across a grid. The animations look organic in a way that’s hard to achieve with a regular matrix.

The microcontroller is an ATtiny1616 driving a 13-pin charlieplex, with a LIS2DH12 accelerometer for motion and tilt sensing. Same basic platform as the Heart Pixel, but the spiral layout opened up a whole new set of animation possibilities. Particle systems that travel along Fibonacci arms, noise fields that map naturally to the radial geometry, spiral waves that exploit the parastichy structure. It took a while to port over everything I’d built for the Heart Pixel’s orthogonal grid; a lot of the coordinate math had to be rethought from scratch.

The board is black with amber LEDs. The phyllotaxis pattern gives it a striking look even when it’s off, which has always been important to me. It should look like something you’d want to wear, not a circuit board.

I designed an optional laser-cut acrylic diffuser that sits on top and softens the individual LEDs into something more like a continuous glow. I generated the diffuser pattern with a Voronoi mesh matched to the LED positions, so the cells follow the spiral structure. It changes the character of the piece pretty dramatically. Without it the LEDs are sharp pinpoints, with it the whole thing becomes more of a light field. The board sleeps in deep power-down until the accelerometer detects motion, same as my other badges. You pick it up and it responds immediately. You put it down and it goes back to sleep. You don’t need to think about turning it off.

I’ve been working on this for a while. The firmware is the most sophisticated thing I’ve built, all 8-bit fixed-point math, no floating point, underclocked to prevent brownouts from the coin cell’s internal resistance. The usual constraints. But the spiral geometry made the math more interesting this time around.

Project Video