There's nothing like the satisfying clack of dice alongside the murmurs of conversation while friends enjoy a nice table top game. But why not digitize the process? You could save a little space and avoid the risk of losing any dice all while giving your brain a healthy workout. That's exactly what maker and developer Abe from Abe's Projects has done with this Raspberry Pi Pico-powered digital dice called Mr. Dice.
According to Abe, the idea was to make something that would be easy to take with you and operate with just one hand. The system needed to support multiple sided die options as well as use an interface that would be easy for anyone to pick up on. After creating many projects, Abe went on to confirm that this particular build was among his most favorites.
The unit is handheld and conveniently portable with a color LCD screen and buttons for input. The housing was designed by Abe just for the project and 3D printed to fit all of the hardware which includes a custom PCB. The PCB is designed so that the Raspberry Pi Pico is surface mount soldered to it. The Pico has castellations on each of the GPIO pins. Using the best soldering iron and soldering station you can melt solder into the castellations, fusing the Pico to the PCB and making the required connections. This saves on height and layers of 3D printed plastic.
The 3D printable housing was designed in Tinkercad and resembles a little robot wearing a tuxedo. It comes in three parts, held together using a mix of friction and screws. It has a recessed bezel for the LCD screen to mount behind along with the custom PCB and Pico. Buttons are on the front that allow you to interact with the interface and throw dice rolls. From this interface we can also change the number of faces on a die, useful when we move from a D6 to a D20. The user interface is awesome. A clear no-frills means to roll your dice.
To write the project code, Abe chose C/C++. C/C++ on microcontrollers is close to bare metal and offers a speed boost over other languages, such as MicroPython. Abe used a Raspberry Pi Pico Probe to flash the Pico while it was inside the case. Connecting via the debug pins meant that Abe didn't need to open the case to flash the new code.
A LiPo battery is used to power the device, and from the video it looks like an Adafruit Powerboost is used to charge the cell and provide power to the unit via a USB C connection.
In use the project has settings that let you add dice to your hand, for those times when you need multiple dice. Pressing the side button will roll the dice and output the values to the OLED screen. The total for all of the dice cast is automatically tallied.
If Abe's Projects sounds familiar, you might recognize it from a project of his we recently covered in which Abe used Chat GPT to make a working Pokédex.
If you want to get a closer look at this Raspberry Pi project and see it in action, check out the video shared to Abe's channel over at YouTube, Abe's Projects. Be sure to follow him for more cool creations and future Pi projects.