Project

# Title Team Members TA Documents Sponsor
85 Poker Buddy: Chipless Poker Companion
Austin Abraham
Lorenzo Dumitrescu
Vishal Ramvelu
Eric Tang proposal1.pdf
# Poker Buddy: Chipless Poker Companion

# Team Members:
- Austin Abraham (austina5)
- Lorenzo Dumitrescu (ldumit4)
- Vishal Ramvelu (ramvelu2)

# Problem
Traditional poker games rely heavily on physical chips for betting, which can be cumbersome, error-prone, and prone to mismanagement or theft. Managing chip counts, handling physical money, and tracking bet amounts often slow down the game and can lead to disputes among players. In addition, determining whose turn it is during fast-paced games can be confusing and cause a lot of frustration between players. With the growing demand for digital integration in gaming, there is an opportunity to streamline the poker experience by eliminating physical chips and automating bet tracking and game flow. This is different from online poker because we want to maintain the in person experience of playing against your friends face to face, but without the inefficiencies of standard chips and markers that represent blinds.

# Solution
We propose a modular device that removes the need for physical chips while enhancing the poker-playing experience. Each player will use a dedicated device that features LED displays to show both their current balance and the money in the pot, along with a built-in turn indicator light that activates when it is their turn. We will use a force sensitive touch sensor to interpret different gestures—one tap for fold, two taps for check, and a long hold for call—eliminating the need for manual chip handling to signal actions. Additionally, five colored buttons correspond to different chip denominations for quick and easy betting. While we could use some type of sensor for these buttons, we want to maintain the tactile feel and choose to use buttons for our design. These devices will wirelessly connect to a centralized mobile/web application that manages buy-ins, tracks all player balances, and synchronizes game status in real time, ensuring an efficient and error-free gaming experience. Although these devices will not track cards, they must handle the real-time logic of betting, maintaining balances, and managing turn order without relying on a computer.
The game logic is distributed and managed by the PCBs in each Poker Buddy. This means that each Poker Buddy keeps track of:
- Whose turn it is to bet (reflected by the turn signal LED).
- The current bet amounts and how they contribute to the pot(reflected by LCD display).
- The players’ individual balances(reflected by another LCD display).
- The outcome of each hand (i.e., when a player wins, the entire pot is automatically credited to their balance).
These devices communicate wirelessly with each other and can optionally sync with a centralized mobile application for overall game monitoring and account management by the host of the game (this will just be used for buying in chips and determining payouts at the end). The system is designed to be portable and is powered by disposable batteries, ensuring flexibility and ease-of-use in various settings.

# Solution Components

## Sensor Subsystem
The Sensor Subsystem captures all user inputs without the need for physical chips:
- Force Sensitive Touch Sensor: An FSR (Force Sensitive Resistor) module will detect user gestures and differentiate between a single tap (fold), double tap (check), and long press (call) based on the force and duration of touch.
- Button Array: A set of 5 tactile push buttons, each in a distinct color, will represent specific chip denominations for placing bets.
## Microcontroller and Processing Subsystem
This subsystem processes inputs, drives outputs, and manages wireless communication:
- ESP32-WROOM-32 Module: Serving as the core microcontroller, the ESP32 provides built-in WiFi/BLE connectivity for real-time data exchange with the mobile/web application as well as handling the logic for the game.
- LED Displays: Two displays (7-segment LED displays such as the LTL-307EE) will show the player's balance and the current pot amount.
- Turn Indicator LED: A dedicated LED will signal when it is the player's turn, ensuring immediate visual recognition.
- Voltage Regulator: A voltage regulator such as the LM2596 DC-DC Buck Converter will ensure a stable power supply to the ESP32 and peripheral components.
- Power Supply – Disposable Batteries: The device is designed for portability and can be powered by disposable batteries (AA battery packs) or via a direct power connection.

## User Subsystem
The User Subsystem integrates physical device interaction with a digital game management system:
- Physical Interface: The combination of the LED displays, turn indicator, force sensitive touch sensor, and colored buttons creates an intuitive interface that replaces traditional chip handling.
- Mobile/Web Application: A dedicated application will allow users to buy in, view real-time balances, monitor the pot, and receive instant updates on game status, seamlessly synchronizing data across all devices.
- Secure Communication: Robust wireless protocols will ensure that all transactions and game data are transmitted securely and accurately between the Poker Buddy devices and the central application.

# Criterion For Success
- Real-Time Status Updates: The system must update player balances, pot amounts, and turn indicators on the app within five seconds in at least 90% of cases.
- Accurate Gesture Recognition: The force sensitive touch sensor should reliably distinguish between a single tap (fold), double tap (check), and long press (call) with a false detection rate below 2%.
- Reliable Wireless Communication: The ESP32 module must maintain stable and consistent connectivity with the mobile/web application, achieving at least a 90% connection success rate during active gameplay.
- User-Friendly Interface: The physical device should offer clear visual feedback through its LED displays and turn indicator, ensuring that users can operate it intuitively without the need for physical chips.
- Game is Mathematically Correct: Since poker involves complex betting logic, the system must correctly update sums, properly rotate blinds around the table, and accurately calculate winnings. The distributed game logic must ensure that all arithmetic and game state transitions are mathematically correct and robust against errors.

ATTITUDE DETERMINATION AND CONTROL MODULE FOR UIUC NANOSATELLITES

Shamith Achanta, Rick Eason, Srikar Nalamalapu

Featured Project

Team Members:

- Rick Eason (reason2)

- Srikar Nalamalapu (svn3)

- Shamith Achanta (shamith2)

# Problem

The Aerospace Engineering department's Laboratory for Advanced Space Systems at Illinois (LASSI) develops nanosatellites for the University of Illinois. Their next-generation satellite architecture is currently in development, however the core bus does not contain an Attitude Determination and Control (ADCS) system.

In order for an ADCS system to be useful to LASSI, the system must be compliant with their modular spacecraft bus architecture.

# Solution

Design, build, and test an IlliniSat-0 spec compliant ADCS module. This requires being able to:

- Sense and process the Earth's weak magnetic field as it passes through the module.

- Sense and process the spacecraft body's <30 dps rotation rate.

- Execute control algorithms to command magnetorquer coil current drivers.

- Drive current through magnetorquer coils.

As well as being compliant to LASSI specification for:

- Mechanical design.

- Electrical power interfaces.

- Serial data interfaces.

- Material properties.

- Serial communications protocol.

# Solution Components

## Sensing

Using the Rohm BM1422AGMV 3-axis magnetometer we can accurately sense 0.042 microTesla per LSB, which gives very good overhead for sensing Earth's field. Furthermore, this sensor is designed for use in wearable electronics as a compass, so it also contains programable low-pass filters. This will reduce MCU processing load.

Using the Bosch BMI270 3-axis gyroscope we can accurately sense rotation rate at between ~16 and ~260 LSB per dps, which gives very good overhead to sense low-rate rotation of the spacecraft body. This sensor also contains a programable low-pass filter, which will help reduce MCU processing load.

Both sensors will communicate over I2C to the MCU.

## Serial Communications

The LASSI spec for this module requires the inclusion of the following serial communications processes:

- CAN-FD

- RS422

- Differential I2C

The CAN-FD interface is provided from the STM-32 MCU through a SN65HVD234-Q1 transceiver. It supports all CAN speeds and is used on all other devices on the CAN bus, providing increased reliability.

The RS422 interface is provided through GPIO from the STM-32 MCU and uses the TI THVD1451 transceiver. RS422 is a twisted-pair differential serial interface that provides high noise rejection and high data rates.

The Differential I2C is provided by a specialized transceiver from NXP, which allows I2C to be used reliably in high-noise and board-to-board situations. The device is the PCA9615.

I2C between the sensors and the MCU is provided by the GPIO on the MCU and does not require a transceiver.

## MCU

The MCU will be an STM32L552, exact variant and package is TBD due to parts availability. This MCU provides significant processing power, good GPIO, and excellent build and development tools. Firmware will be written in either C or Rust, depending on some initial testing.

We have access to debugging and flashing tools that are compatible with this MCU.

## Magnetics Coils and Constant Current Drivers

We are going to wind our own copper wire around coil mandrels to produce magnetorquers that are useful geometries for the device. A 3d printed mandrel will be designed and produced for each of the three coils. We do not believe this to be a significant risk of project failure because the geometries involved are extremely simple and the coil does not need to be extremely precise. Mounting of the coils to the board will be handled by 3d printed clips that we will design. The coils will be soldered into the board through plated through-holes.

Driving the inductors will be the MAX8560 500mA buck converter. This converter allows the MCU to toggle the activity of the individual coils separately through GPIO pins, as well as good soft-start characteristics for the large current draw of the coils.

## Board Design

This project requires significant work in the board layout phase. A 4-layer PCB is anticipated and due to LASSI compliance requirements the board outline, mounting hole placement, part keep-out zones, and a large stack-through connector (Samtec ERM/F-8) are already defined.

Unless constrained by part availability or required for other reasons, all parts will be SMD and will be selected for minimum footprint area.

# Criterion For Success

Success for our project will be broken into several parts:

- Electronics

- Firmware

- Compatibility

Compatibility success is the easiest to test. The device must be compatible with LASSI specifications for IlliniSat-0 modules. This is verifiable through mechanical measurement, board design review, and integration with other test articles.

Firmware success will be determined by meeting the following criteria:

- The capability to initialize, configure, and read accurate data from the IMU sensors. This is a test of I2C interfacing and will be tested using external test equipment in the LASSI lab. (We have approval to use and access to this equipment)

- The capability to control the output states of the magnetorquer coils. This is a test of GPIO interfacing in firmware.

- The capability to move through different control modes, including: IDLE, FAULT, DETUMBLE, SLEW, and TEST. This will be validated through debugger interfacing, as there is no visual indication system on this device to reduce power waste.

- The capability to self-test and to identify faults. This will be validated through debugger interfacing, as there is no visual indication system on this device to reduce power waste.

- The capability to communicate to other modules on the bus over CAN or RS422 using LASSI-compatible serial protocols. This will be validated through the use of external test equipment designed for IlliniSat-0 module testing.

**Note:** the development of the actual detumble and pointing algorithms that will be used in orbital flight fall outside the reasonable scope of electrical engineering as a field. We are explicitly designing this system such that an aerospace engineering team can develop control algorithms and drop them into our firmware stack for use.

Electronics success will be determined through the successful operation of the other criteria, if the board layout is faulty or a part was poorly selected, the system will not work as intended and will fail other tests. Electronics success will also be validated by measuring the current consumption of the device when operating. The device is required not to exceed 2 amps of total current draw from its dedicated power rail at 3.3 volts. This can be verified by observing the benchtop power supply used to run the device in the lab.