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.
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.

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.
