Reflex Arena: Multi-Sensory Reaction Game
A smart reaction time testing system that uses multi-sensory feedback (visual via OLED and audio via Buzzer) to measure user reflexes in precise milliseconds.
Author: Dalbuz Heorhii
GitHub Project Link: https://github.com/UPB-PMRust-Students/fils-project-2026-Heorhii78
Description
The Reflex Arena is built around an STM32 Nucleo microcontroller that orchestrates multiple peripherals to test human reaction speeds. Instead of relying on a basic LED, the system utilizes a 0.96" OLED screen to display the user interface, instructions, and the final exact time. A randomized timer dictates when the stimulus occurs to prevent user anticipation. Once the visual cue appears on the screen and the audio cue plays through the Piezo Buzzer, a hardware timer begins counting. The user must press the corresponding push button as fast as possible to stop the timer, and the result is displayed on the screen.
Motivation
I chose this project to implement the core concepts learned during the labs in a fun and interactive way. This project serves as a practical exercise in asynchronous task management, hardware timers, and peripheral interfacing via I2C and GPIO. My goal was to move beyond simple LED manipulation and understand how to orchestrate a complete embedded system with an actual visual interface and real-time user input.
Architecture
The STM32 interfaces with the components using the following protocols:
- I2C Bus: Drives the 0.96" OLED Display for rendering text, countdowns, and reaction time metrics.
- GPIO (Digital Output): Controls the Piezo Buzzer to provide immediate audio stimulus.
- GPIO (Digital Input): Reads the state of the push buttons, utilizing debouncing techniques to ensure accurate input registration.
- Hardware Timers: Used for generating the randomized delay and accurately measuring the reaction time in milliseconds.
Component Connections:
| Component | Interface | STM32 Pins |
|---|---|---|
| 0.96" OLED Display | I2C | SDA / SCL (TBD) |
| Piezo Buzzer | GPIO | Digital Output (TBD) |
| Push Buttons | GPIO | Digital Inputs (TBD) |
Log
Week 1-4
I started doing research on potential project ideas. The initial idea was just using LEDs, but I decided to upgrade the concept to include an OLED display and audio feedback to make it more complex and engaging.