Embedded systems contributor
DTU Embedded Systems Programming

Sports Timing and Control System

An ESP32 prototype integrating sensing, state feedback, physical actuation, displays, and race-control logic.

Embedded sports timer sensing, timing-state, and feedback loop01READY02COUNTDOWN03ARMED04RUNNING05FINISHEDULTRASONIC EVENT · TIMER · MULTI-MODAL FEEDBACK
Scroll to inspect the full diagram →
Sensor event / control state / feedbackArchitecture abstraction

The problem

Combine analog-style timing, digital race state, environmental warnings, and physical feedback in one embedded prototype.

System architecture

  • ESP32-WROOM-32 application written in C with ESP-IDF.
  • Ultrasonic crossing detection, temperature/humidity sensing, IR control, OLED and seven-segment displays.
  • Stepper-motor timing output, RGB state feedback, and PWM audio cues.
  • A user-state model spanning OFF, READY, COUNTDOWN, ARMED, RUNNING, STOPPED, FINISHED, and SET LAPS.

Engineering decisions

  • Use explicit UI states to coordinate sensors, feedback, and race-control actions.
  • Provide redundant visual and audio feedback for countdowns, warnings, laps, and completion.
  • Keep hardware integration observable through OLED status and serial monitoring.

Testing and verification

  • Component-level checks and full breadboard integration.
  • Sensing-driven lap detection and environmental warning logic.
  • Team development through Git and GitHub.
Breadboard prototype of the ESP32 sports timing system with displays, sensors, stepper motor, LED and wiring.
Real project artifactSource: public project repository

Limitations

  • Ultrasonic triggers vary with distance, reflection, angle, clothing, and surrounding noise.
  • The stepper motor has no absolute position feedback.
  • The prototype is breadboard-based and the current firmware remains concentrated in a large main file.

What I would improve next

  • Separate drivers and UI logic into modules.
  • Improve lap sensing, wiring documentation, and repeatable hardware tests.