1 of 1

UNOmatic

D4: Thomas Kang, David Peng, Jason Stentz

18-500 Capstone Design, Spring 2024

Electrical and Computer Engineering Department

Carnegie Mellon University

System Architecture

Product Pitch

UNO remains one of the most popular playing card games in the world as it surpasses 151 million copies sold worldwide. Recently, there was even a competitive tournament. Due to its vast popularity, there are many conflicting rule sets. In a casual setting, rule disputes can lead to arguments and negatively impact the user experience. In a tournament setting, it is imperative to enforce a standard set of rules for fairness.��UNOmatic is a system capable of tracking the entire UNO game state to automatically deal cards, track illegal moves, perform scoring each round, and provide a great spectator experience. It aims to eliminate as much pressure as possible for players, providing them with an experience to focus on the social aspects of playing card games. It will also be able to assist dealers during tournaments to create smoother gameplay.

System Description

System Evaluation

Conclusions & Additional Information

The UNOmatic system is centered around the Raspberry Pi (RPi), which handles all UNO game logic, interfaces with the hardware/Arduino, and sends state information to the server. The Arduino controls all of the motors to deal cards and rotate the machine.

matic

Metric

Target

Actual

Rotation Accuracy 

< 10 degrees

< 5 degrees on normal, 

< 15 degrees on reverse

Rotation Latency

< 3 s

1.90 - 2.00  s

Card dispensing Latency

< 1 s

 ~ 1.5 s

Battery Life

> 60 min

93 min on average

Card Dispensing

> 95% 

97.5% correct card dispensing 

Website Latency

< 2000 ms

200-250 ms

Classification latency

< 1000 ms

300-350 ms

Classification Accuracy

> 95%

100% on test data, > 99.5% in field

http://course.ece.cmu.edu/~ece500/projects/s24-teamd4/

Overall, we believe that UNOmatic presents a complete solution for automating the game of UNO and making it more fun and accessible for all. Over the course of the semester, we faced several challenges and learned a lot about the importance of iteration and diligence. In the future, the system could be improved by adding voice and player detection to allow for the system to find players automatically and listen for UNO through microphones.

Software:

    • State: Controls UNO game logic
    • Displayer: Sends and receives state updates to laptop webserver
    • Controller: Interfaces with peripherals, Arduino, and ML
    • Webserver: Handles web socket connections with users and RPi
    • Classifiers: Uses CNN’s to classify UNO card type and color

Hardware:

    • Arduino: Receives motor commands over UART from the RPi and uses Adafruit Motor Shield to control motors to rotate the machine and deal cards
    • Card Dealer: Deals cards from the bottom using DC and servo motors and detects possible failures using the IR sensor

Card Dealer

Website

Inside the enclosure