RFIDice Tray

Overview

The RFIDice Tray is a capstone project developed by Andrew Troyer for Western Washington University's Electrical and Computer Engineering Bachelor's program

Overview

The RFIDice Tray is a device created to replace physical dice for table top gaming. Typical table top gaming requires seven differently sided dice for random number generation. Although, if you want to roll the same type of dice multiple times and add it up you’d need multiple of the same type of dice. And you have to be confident that the dice are hitting enough surfaces to generate random numbers!

The RFIDice Tray can generate up to twelve randomized dice rolls in one move and add it up for you with only one RFID enabled die!


Say for instance you wanted to roll seven d12’s for damaging the big bad in your dungeons and dragons campaign. Owning and rolling seven d12’s then adding all of that up is a hassle. The RFIDice Tray could generate those random numbers in an instant!


The RFIDice Tray keeps track of Radio-frequency identification (RFID) tags. RFID tags are a technology for storing and transmitting data wirelessly over short distances. In the case of the RFIDice Tray the RFID tags have a unique ID associated with a number of sides corresponding to the seven most common dice. D4, 6, 8, 10, 12, 20, and 100. When you scan one of the RFID tags with the RFIDice Tray the tray will detect which tag you scanned, generate as many random numbers as you requested, add them up, and display all those random numbers and the sum.

The general flow of operation starts with the user inputting how many dice they would like roll by pressing the UP and DOWN buttons.

The user can then input what number to add to the end of the sum.

The next step is to choose the RFID enabled dice to roll and tap it against the RFID reader.

The microcontroller does the rest. It generates as many random numbers as the user requested, adds up the random numbers and the user inputted number, and then displays all the random numbers and the sum on the display.

Lifetime of the device

The RFIDice Tray has a rechargeable Lithium-Ion Polymer battery that lasts at least 8 hours of dice rolls. The battery charges with a USB C connector.


The device's estimated lifetime is dependent on the lifetime of the battery which is rated to last hundreds of charges and discharges.


If the user is a table-top enthusiast playing every weekend then the RFIDice Tray should last at least six years.

Main Hardware

The microcontroller is an RP2040 by Raspberry Pi Ltd. It was chosen for its cheap price and developed documentation

The RFID reader is the PN532 by NXP. It is a versatile RFID module that can read, write, and emulate RFID tags. The RFIDice Tray communicates to the PN532 with I2C. The main benefit of using I2C instead of SPI is that the PN532 can notify the host controller it has a message pending by pulling a pin low.

The display is a 1.8" TFT screen with a ST8835R driver.

The RFIDice Tray is powered by a Li-Po battery and has a battery charger connected to a USB C port.

Software

The software was developed using Embedded C and the Raspberry Pi Pico Software Development Kit. The Microcontroller was programmed using a Raspberry Pi Pico and Raspberry Pi's Pico Probe software.

About the Engineer

Andrew Troyer is an Electrical Engineering Graduate of Western Washington University Winter 2023. During his time at Western he learned:

  • Embedded Programming
  • FPGA Programming
  • Electronic System Design
  • Control System Design
  • Analog and Digital Signal Analysis/Processing