
Ever wished your D20 rolls came with a dramatic light-up reveal? PiShop built exactly that, a physical electronic dice roller using a Raspberry Pi Pico and an 8×8 LED matrix driven by a MAX7219. Each result from 1 to 20 gets its own handcrafted bitmap, a pixel-font number rendered inside a rounded dice border, crisp, readable at arm’s length, and oddly satisfying to watch. The build is beginner-to-intermediate friendly, with a short parts list and everything breadboard-compatible. The MAX7219 communicates with the Pico over SPI, and the buttons rely on the Pico’s built-in pull-up resistors, no external resistors needed.
The real magic is in the roll animation: 20 frames of random results flash across the display, with the delay between frames starting at 55ms and increasing by 11ms each frame, mimicking a die decelerating to a stop. The final result is locked in before the animation even begins, so the outcome is always fair — and a brief blank flash before the reveal adds a satisfying moment of suspense.
Written in MicroPython and thoroughly documented, it’s a perfect weekend project for tabletop fans and makers alike.








Want to show off what you’ve built? We love seeing the incredible projects our community creates with components from PiShop. Whether it’s a clever Raspberry Pi automation, an intricate 3D-printed model, or an electronic gadget, share your creation with us! Fill out this form with details and photos or videos, and we might feature your project on our blog, social media, and newsletter to inspire other makers.