Reaction Time Tester Using Arduino Nano and OLED

by DESHBOT in Circuits > Arduino

16 Views, 0 Favorites, 0 Comments

Reaction Time Tester Using Arduino Nano and OLED

WhatsApp Image 2026-09-18 at 2.46.39 PM.jpeg
WhatsApp Image 2026-09-18 at 2.46.30 PM.jpeg

The objective of this project is to measure how quickly a person can react to a visual signal.

The OLED displays “GO!” after a random delay. The user must press the button as quickly as possible. The Arduino measures the time between displaying “GO!” and pressing the button and shows the result in milliseconds.

Supplies

des 1.jpeg
uno.jpeg
oled.jpeg

DESHBOT SHIELD

ARDUINO NANO

OLED DISPLAY

INBUILD BUTTON

Working Principle

WhatsApp Image 2026-09-18 at 2.46.51 PM.jpeg
WhatsApp Image 2026-09-18 at 2.47.17 PM.jpeg


The Arduino Nano controls the test and displays information on the OLED.

The test follows these steps:

  1. The OLED displays READY.
  2. The user presses the button to start.
  3. The OLED displays WAIT....
  4. The Arduino waits for a random period between approximately 2 and 5 seconds.
  5. The OLED displays GO!.
  6. The Arduino starts measuring time.
  7. The user presses the button as quickly as possible.
  8. The Arduino calculates the reaction time.
  9. The result is displayed on the OLED in milliseconds.

Working Flow

READY → Button Press → WAIT → Random Delay → GO! → Button Press → Reaction Time

Reaction Time Measurement

The Arduino uses the millis() function to measure elapsed time.

When GO! appears:

startTime = millis();

After the user presses the button:

reactionTime = millis() - startTime;

The result is displayed in milliseconds (ms).

For example:

TIME

287 ms

Downloads

Conclusion


The Reaction Time Tester demonstrates how an Arduino Nano can combine button input, OLED display, random timing, and time measurement to create an interactive electronic game. It provides a simple and entertaining way to measure reaction time in milliseconds.