Virtual Reflex Engine - Decoding Reaction Time with Muscle Signals

Published Jun 04, 2026
 12 hours to build
 Intermediate

The proposed project aims to develop a low-cost, portable system using Arduino Uno integrated with an EMG Amplifier circuit to capture muscle activation signals and the measures the stimulus - response delay in real time. The integration of Virtual Reality (VR) further enhances the setup by providing immersive, controlled environments that simulate real world sports training scenarios

display image

Components Used

Arduino UNO
Arduino UNO
1
MyoWare Muscle Sensor
MyoWare Muscle Sensor is a 3-lead electromyography sensor for microcontroller applications.
1
LCD 16x2 with I2C Interface
LCD 16x2 with I2C Interface
1
Connecting Wire Jumper Wires
Connecting Wire Breadboard wires
8
Surface electrodes
Electrodes
3
Google Cardboard VR Headset
1
Perfboard
a pre-drilled, dotted prototyping board used to manually arrange, wire, and solder electronic components when building a permanent circuit prototype.
1
USB Cable
To connect Arduino to the computer for programming and power.
1
Description

   The above is the Final Working Output Video of Virtual Reflex Machine

Workflow:

  1. Electrode Placement
    Surface EMG electrodes are placed on the forearm muscles to detect electrical signals produced during muscle contraction. Two electrodes act as active sensors, while one reference electrode is placed on the wrist to reduce noise.
  2. EMG Signal Acquisition
    The EMG sensor module amplifies and filters the weak muscle signals received from the electrodes, producing a clean analog output suitable for processing.
  3. Arduino Interface
    The amplified EMG output is connected to the Arduino Uno through analog pin A0. The Arduino continuously monitors the signal and detects muscle activation when the value crosses a predefined threshold.
  4. LCD Display Connection
    A 16×2 LCD with an I2C module is connected to the Arduino to display system messages and the measured reaction time in milliseconds.
  5. Programming the System
    Arduino code is uploaded to:
    • Generate a random delay before stimulus presentation
    • Start the timer when the cue appears
    • Monitor EMG signals continuously
    • Stop the timer upon muscle activation
    • Display the reaction time on the LCD
  6. VR Stimulus Integration
    A VR headset provides visual or auditory cues such as race-start signals or flashing indicators, creating an immersive sports-training environment.
  7. Reaction Time Measurement
    When the participant responds by flexing the forearm muscle, the EMG sensor detects the contraction and the Arduino calculates the delay between stimulus and response using the millis() function.
  8. Result Display and Analysis
    The measured reaction time is displayed instantly on the LCD and can be recorded for analyzing reflex speed, fatigue, and hand dominance.

The following is the circuit connection (schematic diagram):

  • Battery + --> +Vs (EMG sensor)
  • Battery - --> -Vs (EMG Sensor)
  • GND (EMG Sensor)  --> GND (EMG Sensor)
  • SIG (EMG Sensor) -->  A0 (Arduino UNO)
  • SCL (LCD) --> A5 (Arduino UNO)
  • SDA (LCD) --> A4 (Arduino UNO)
  • GND (LCD) --> GND (Arduino UNO)
  • Vcc (LCD) -->  5V (Arduino UNO)

Final Output:

Codes

Downloads

emg schematic Download

Institute / Organization

SSN College of Engineering
Comments
Ad