Project
| # | Title | Team Members | TA | Documents | Sponsor |
|---|---|---|---|---|---|
| 46 | Reaction Time Measurement and Training Device |
Michael Griegel Sahil Aggarwal |
Zhuoer Zhang | ||
| # Reaction Time Measurement and Training Device Team Members: - Sahil Aggarwal (sahil6) - Michael Griegel (griegel2) - Looking for one more team member # Problem Reaction time is important in applications including athletic training, driving, gaming, and rehabilitation. Professional reaction-time measurement systems can provide accurate measurements but are often expensive and inaccessible to regular users. Phone-based reaction tests are inexpensive but introduce uncertainty from touchscreen sensing, display latency, and software processing. We want to develop a standalone hardware device that can measure and characterize human reaction time using physical buttons and LEDs. The project will focus on understanding the timing behavior of the complete hardware system rather than simply implementing a reaction-time game. # Solution We will build a benchtop device containing a 3x3 grid of illuminated mechanical buttons. During a test, the device will activate a target LED after a randomized delay. The user will respond by pressing the corresponding button. A hardware timer in the microcontroller will measure the interval between the stimulus and response. We will design and fabricate a custom two-layer PCB containing the microcontroller, button input circuitry, LED driver circuitry, buzzer driver, power regulation, and interfaces for a small display. The system will also expose electrical test points that allow the stimulus and button signals to be measured using an oscilloscope or logic analyzer. This will allow us to characterize the difference between the ideal timer measurement and the actual physical response of the hardware. # Solution Components ## Timing and Control Subsystem The microcontroller will coordinate stimulus generation, button sampling, timing, game logic, and display updates. The hardware timer will be used to measure reaction time without depending on the execution time of the main software loop. Components: - STM32G431CBU6 microcontroller ## Stimulus Subsystem Nine LEDs will be integrated with the nine-button grid. LED driver circuitry will allow the microcontroller to activate individual target LEDs. The electrical stimulus signal will also be routed to a test point so that LED activation timing can be measured with laboratory equipment. Components: - 9x LEDs - LED current-limiting resistors - N-channel MOSFET drivers as required ## Response Subsystem Nine mechanical pushbuttons will allow the user to respond to the stimulus. The button interface will be designed to reduce the effects of mechanical button bounce. Button response timing and mechanical bounce will be characterized experimentally. Components: - 9x mechanical pushbuttons - Input pull-up/pull-down circuitry - RC filtering and/or firmware debouncing circuitry ## Audio Subsystem A piezoelectric buzzer will provide an alternative auditory stimulus for reaction-time experiments. Components: - Piezoelectric buzzer - N-channel MOSFET driver - Associated resistors ## Display Subsystem A small display will show reaction times, scores, and test status. Components: - SSD1306-based OLED display ## Wireless Data Logging Subsystem An ESP32 module will add Bluetooth connectivity so that reaction-time results can be logged to an external database. After each test, the STM32 microcontroller will send the result to the ESP32 over a serial interface (UART/SPI), and the ESP32 will transmit the record over Bluetooth to a paired host (phone or computer) that maintains the database. Because the STM32 performs all timing-critical measurement locally and the ESP32 only handles the non-time-critical data transfer, Bluetooth latency does not affect the measured reaction times. Storing results externally allows scores to be compared across sessions and users and used to build leaderboards. This data can be moved to an app or webapp to make it user-friendly. Each record follows a simple format: | Name | Score | | ----- | ----- | | Sahil | 245 | Components: - ESP32 development board (ESP32-DevKitC-32E, based on the ESP32-WROOM-32E module) - Serial (UART/SPI) interface lines between the STM32 microcontroller and the ESP32 ## Power Subsystem The PCB will regulate the input supply to the voltage levels required by the microcontroller, LEDs, display, and buzzer. Components: - Regulated power input - 3.3 V voltage regulator - Decoupling capacitors - Power protection components as required # Criterion For Success - The device successfully activates each corresponding LED and detects presses from all nine buttons. - The system measures reaction-time intervals with a timer resolution of 1 ms or better. - The difference between the measured timing interval and a known reference timing signal is experimentally characterized using an oscilloscope or logic analyzer. - The device can distinguish valid button presses from mechanical button bounce without producing false reaction measurements. - At least 95% of valid test trials produce a reaction-time measurement without missed stimulus or response events. - The device successfully supports both visual and auditory reaction tests. - The device successfully transmits reaction-time results (user name and score) over Bluetooth to an external database, with at least 95% of records received without loss or corruption. - The custom PCB successfully powers and operates all major subsystems without exceeding component voltage or current limits. |
|||||