I helped build a timer for RC plane events. Main requirement was to be very visible in outdoor conditions - that was achived by using a 7-segment display with segments that rotate rather than being lit.
Each segment is attached to a standard hobby servo, the servos are controlled by a pair of PCA9685 servo controllers. The main brain of the unit is an ESP32, allowing remote setup using a smartphone, and a remote using ESP-NOW. To help with timekeeping, a DS3231 RTC is used.
I built all the electronics and wrote all the code. Code was written in C++ in the Arduino IDE. The timer body and segments were done by someone else. As of about a year later, the timer is actively being used and I haven't heard any complaints.
The code is somewhat complex:
- There are multiple phases (preparation, ready, flight, break) with different lengths
- There is a lap counter
- There is a siren which sounds at specific points in the phases
- The timer can be started, stopped, and changed with a remote. Laps can be incremented and decremented
- The segments are staggered, so servos don't start moving all at once. There are a lot of servos, so their power draw is significant
