Project

# Title Team Members TA Documents Sponsor
18 RFID Poker Board
Darren Liao
KB Bolor-Erdene
Satyam Singh
Eric Tang design_document1.pdf
final_paper1.pdf
proposal1.pdf
video
# Team Members:
- Satyam Singh (satyams2)
- Darren Liao (darrenl4)
- Khuselbayar Bolor-Erdene (kb40)

# Poker

Traditional poker tables rely on the dealer and players to track cards, bets, and pots. This process can be slow and error prone, especially in casual games where the dealer is inexperienced. Players may misread cards, deal incorrectly, or lose track of the state of the game. Live poker also lacks many of the conveniences of online poker, such as automatic hand evaluation, instant game state updates, and precise tracking of actions. Online platforms further enhance the player experience with detailed statistics, and hand histories while live games rely entirely on player knowledge.

# Solution

An RFID-enabled poker table with tagged cards helps to bridge this gap by bringing digital intelligence into the live poker experience. By embedding RFID readers in the table, the system can automatically recognize cards, display the game state in real time, and evaluate hands without error. Game state management features such as LED indicators can track dealer position, blinds, and turn order, giving players visual cues that keep the game running smoothly.

A dedicated companion app would serve as the primary user interface, providing players with immediate feedback. The app can also highlight blind positions, display whose action it is

At a high level, we will stick 13.56 MHz HF RFID sticker tags onto poker cards (and possibly chips later), place small antenna pads under the “seat” zones in front of each player, and a larger one in the middle for the community cards. We will build a main PCB with an ESP32, a single HF reader IC, and an RF MUX switch so the microcontroller unit (MCU) can scan all pads sequentially. The MCU will resolve tag UIDs into chip denominations or card identities, then send compact state updates to a small UI over Wi-Fi in near real-time.

# Solution Components

## Subsystem 1: RFID Cards and Antenna Network

Each card and chip will have a 13.56 MHz HF RFID NFC sticker (ISO 15693) attached. Antenna pads will be embedded under each player’s seat zone and a larger pad will be used for the community cards. All pads will be routed through an RF multiplexer (e.g., a 16:1 analog switch like the HMC7992) into a single HF RFID reader IC (such as PN532 or MFRC522). The microcontroller will sequentially energize each pad, cycling through them at a fast interval per pad to collect tag UIDs, filter duplicates, and reliably detect card positions in near real time.

## Subsystem 2: Central Microcontroller

The system will use an ESP32-S3 (dual-core with Wi-Fi) as the central controller. It will interface with the RFID reader via SPI or I2C and control the RF multiplexer using GPIO select lines. The microcontroller will maintain an internal mapping of card and chip UIDs to their identities (rank/suit or chip denomination) and update the game state. Once the game state is compiled, it will be serialized into JSON format and transmitted to the visualization app over HTTP for low-latency communication.

## Subsystem 3: Game Visualization App

The visualization layer will be a cross-platform application (built with Python + Flask) that receives JSON packets from the ESP32. It will display each player’s hole cards and the community cards, highlight blinds and active turns, and compute win probabilities for each player using either Monte Carlo simulation or a precomputed odds lookup. As a stretch goal, the app will also store hand histories and send LED or LCD commands back to the ESP32 to synchronize the physical table indicators with the digital state.

# Criterion For Success

- 100% accuracy in tracking the cards currently in play through 5 rounds of gameplay
- Game state is accurately updated on the app within 2-5 seconds of updating
- Board can correctly differentiate between folds and players accidentally moving their cards away from antennas

# Stretch Goals
If we have the time, we would also like to enhance the player experience by adding small LED indicators for the game state (big/small blinds, betting rounds, LCD screen showing the pot size) to help each player better understand the game without having to rely strictly on the app.

Tracking chips can be more challenging, since stacking with RFID can be difficult. However, we would love to implement this so we can build on the tech idea above and display the total pot size directly on the board along with the app.

Additionally, if desired, we could use algorithms and machine learning in the app to help players make the best decisions given the current game state.

Real-time EEG Drowsiness Detection Device

Senturran Elangovan, Nikhil Talwalkar

Featured Project

**Real-time EEG Drowsiness Detection Device**

Team members:

- Nikhil Talwalkar (nikhilt4)

- Senturran Elangovan (se10)

**Problem**

Many people unintentionally doze off while studying, working, or in situations that demand constant focus—such as driving or monitoring critical systems. Current consumer sleep trackers, such as smartwatches, are primarily designed to analyze and record sleep patterns after the fact. They cannot provide real-time interventions to prevent drowsiness-related lapses. In high-risk scenarios like long-distance or nighttime driving, even a few seconds of microsleep can result in serious accidents. Therefore, there is a need for a portable, proactive system that can detect drowsiness in real time and alert users before loss of focus occurs.

**Solution**

Our project proposes an implementation of a real-time drowsiness detection device. The system uses a lightweight EEG headband to continuously monitor the user's brain activity. By analyzing frequency changes in EEG signals associated with early stages of drowsiness, the device can detect when the user is at risk of falling asleep. When drowsiness is detected, the system triggers an audible or tactile alarm to immediately alert the user, helping prevent microsleep-related accidents or lapses in attention.

Compared to computer vision–based systems, which rely on slower external cues such as eyelid closure, yawning, or head movement, and which often perform poorly in nighttime conditions, our device provides earlier and more reliable detection by directly monitoring EEG signals.

To ensure usability and a practical aesthetic, the electrodes will be put into a cap-style wearable that requires so special alignment or positioning by the user. The device will be powered by a lithium polymer battery with a projected life of 8 to 10 hours.

In terms of performance, most false positives and false negatives arise from interference in EEG signals, such as when eyes are closed during meditation or half-open. Since these states are not relevant to driving scenarios, they will still trigger an alert. We expect a 1–2% false positive rate during normal focus and a less than 10% false negative rate when the user is drowsy.

**Subsystems:**

**Subsystem 1: EEG Headband Hardware**

- Lightweight, dry electrodes attached to Fp1, Fp2, and Fpz regions of the head, wired neatly into a cap-style wearable to capture brain activity.

- Ideally dry, reusable, Ag electrodes, restricted to the budget. If allowed, higher end electrodes can be integrated for future modifications.

**Subsystem 2: Signal Processing Unit**

- Analog noise filtering using Butterworth filter, aiming for a bandpass between 0.5 to 30 Hz.

- Includes a CMRR operational amplifier to amplify the signal from 10^{-3} range to 1.

- Analog to digital signal converter to allow signal to be filtered digitally for flexibility and data collection. f_{s} around 250Hz for good signal.

**Subsystem 3: Detection Algorithm**

- Software running locally to identify characteristic frequency changes in EEG that correspond to drowsiness

- Using open libraries such as MNE, YASA and others for the EEG signal processing

- ML (RFA, Naive Bayes) algorithms to determine if user is at the brink of stage 1 sleep

**Subsystem 4: Alert Mechanism**

- Audible (buzzer) or tactile (vibration motor) alerts to immediately notify the user when drowsiness is detected.

**Subsystem 5: Power System**

- Lithium-polymer battery providing 8–12 hours of continuous operation for portability and reliability

- Power electronic circuit to ensure battery doesn't overcharge or over-discharge, and maintain limited current draw, and if possible (time constraints) temperature monitoring.

- Exploring 'AAA' battery alternatives if integratabtle and doesn't make the device look too chunky.

**Criterion of Success:**

EEG acquisition – the EEG captures reliable and accurate brain signals. Can be checked by blinking, which will induce a relatively significant voltage spike in the EEG signal.

Real-time sleep detection – the control system can detect when the user feels has micro-sleeps or is drowsy. Feeding open-source data or sleep and drowsiness into the system, and check if there is any outputs.

Prompt alerting – the buzzer triggers the alerting noise at a timely manner, with acceptable detection-to-alert latency. Measuring the time delay from the input and the output signal, to ensure the latency is acceptable.

Safety and comfort – the device is wearable for long hours and safe. Since user-based, allow randomly-selected volunteers to wear for a day and tell if there's any discomfort. Quantize it by using a numbering survey. TA can be included too, if they volunteer.

**Resources:**

https://github.com/SuperBruceJia/EEG-DL

https://github.com/lcsig/Sleep-Stages-Classification-by-EEG-Signals

https://www.sciencedirect.com/science/article/pii/S2090447922002064

Bohao Li, et al 2021, J. Phys.: Conf. Ser. 1907 012045