2025.12.09Microcontroller

Time Bomb ⏰💣

RFID Card Game

Highlights

  • Fun card game as tested by our classmates and friends
  • Implemented I2C communication between RFID reader, OLED screen, and microcontroller
  • Custom card designs for the game

Components

  • micro:bit v2 with nRF52833 microcontroller
  • RFID Reader ID-12LA
  • 52 RFID Cards
  • 1.3in OLED display SSD1306
  • 2 PulseSensors

How to Play Time Bomb

The hit game Time Bomb is a fast-paced 1v1 card game where the objective is to get rid of all your cards. When a black card is played, the next player must play a higher (or equal) card. When a red card is played, a timer begins and the next player must play a lower (or equal) card before the time is up.

If the timer goes off or you play the wrong card, the bomb explodes and you must pick up the discard pile. Whoever gets rid of all their cards first is the winner!

But... the timer is not just a regular old timer -- it's based on player heartbeat! The faster your heartbeat is, the faster a 'tick' of the countdown is, ranging from 0.5s to 1.0s.

So, stay calm and don't explode that bomb!

Development

I worked with Burke Stanton on this final project for Microcontroller System Design. Burke originally came up with the card game and its rules. The project was programmed for the nRF52833 microcontroller in C.

Burke and I worked together to implement the RF reader and pulse sensor. Burke also did a wonderful job with the game loop. Much of my work on the project was programming the OLED screen. I used bit manipulation to create the graphics for the screen.

For the final demo, we placed each RFID card in a card sleeve with its corresponding card design. Burke designed the suit symbols and I designed the face cards. As we crept closer to our deadline, we put the whole system together in a thrifty cardboard box form factor (which we could definitely improve on).

Outcomes

It was a lot of fun to play at the final class demos, and we are very happy that our classmates and friends enjoyed it. This is a great code basis to implement any sort of dynamic card game.