Inspiration

We roll a lot of dice when playing tabletop games, so we wanted something to do it for us reliably and efficiently. This helps increase accessibility for tabletop games for those who are physically unable to roll dice effectively, as it only takes the push of a button to roll the dice.

What it does

It rolls a specified number of dice. It can also return the dive to the holding cup with the press of a button. ** Special Modes **

"Demo" Mode: you will need to press one of the number buttons to select the number of dice to roll. Once that is done, the dice will be dispensed then immediately returned to the cup.

"Timed Return" Mode: this acts like Demo Mode, but with a 7.5 second delay before returning the dice. This can be used to roll many dice quickly automatically.

"Empty to Table" Mode: this will raise the tray then spin the drum. This can be used to roll lots of dice without filling up the tray.

How we built it

We used a 3d printer, hot glue, and cardboard to make the enclosure, everything else is servos! Before printing the product we made a simpler prototype out of cardboard and popsicle sticks to test the mechanism and form factor. It is run off of an Atmega 2560, a large board with plenty of pins to allow for further expansion of the product.

Challenges we ran into

One of our servos broke while we were testing. Without a spare, we needed to wait until the next day. Mechanism design was more complicated than expected so took much more time than expected to refine.

Accomplishments that we're proud of

Successful portable operation and reliable detection and dispensing fitting within the desired form factor.

What we learned

Mechanical design with Mechanism Synthesis (such as Chasles Theorem). Learning this took us from guessing and checking the mechanical design to analytically modeling the plane position using geometric principles.

Additionally, we learned the constraints of different kinds of sensors. We tried 4 different sensors before finding one that reliably detected and fit within our enclosure size constraint. The sensors we tried were the ultrasonic range sensor, infrared obstacle detector, limit switch, a handmade photoresistor break beam sensor, and finally an infrared line detector sensor is what worked.

Finally, we learned to better supply power to hardware and actuators. for speed and capability. This involved properly tuning our tray lift servos.

What's next for DrumRoller

We identified several potential expansions for the design that we thought would make a bigger and better DrumRoller:

  • Add 6-sided dice detection and roll counting! Rolling dice still requires reading them, so why not automate it further? For 6-sided dotted dice this would involve using openCV to detect blobs and count them. We started working on this functionality but were unable to refine it to the point of effective implementation

  • Add several types of dice storage and dispersion! With 6 types of dice used in DND, it would be great to be able to dispense all kinds at the same time. Adding this functionality would require redesigning the enclosure and

  • Make remotely controlled! Thanks to the extra pins on the Atmega 2560, we can add additional sensors to increase accessibility by making it voice-activated. Another possibility we identified was to connect the device using IoT to a discord Bot to allow players to join in remotely for tabletop games

  • Read all kinds of dice! To increase functionality even further and read all kinds of dice including DND and any board game dice, we could use Machine Learning to identify the top faces of dice and then read the number (or shape) on the dice.

Built With

Share this project:

Updates