Drone racing is nifty as heck, and a need all races share is a way to track lap times. One way to do it is to use transponders attached to each racer, and use a receiver unit of some kind to clock them as they pass by. People have rolled their own transponder designs with some success, but the next step is ditching add-on transponders entirely, and that’s exactly what the Delta 5 Race Timer project does.
The open-sourced design has a clever approach. In drone racing, each aircraft is remotely piloted over a wireless video link. Since every drone in a race already requires a video transmitter and its own channel on which to broadcast, the idea is to use the video signal as the transponder. As a result, no external hardware needs to be added to the aircraft. The tradeoff is that using the video signal in this way is trickier than a purpose-made transponder, but the hardware to do it is economical, accessible, and the design is well documented on GitHub.
The hardware consists of
RX508 RX5808 video receiver PCBs modified slightly to enable them to communicate over SPI. Each RX508 RX5808 is attached to its own Arduino, which takes care of low-level communications. The Arduinos are themselves connected to a Raspberry Pi over I2C, allowing the Pi high-level control over the receivers while it serves up a web-enabled user interface. As a bonus, the Pi can do much more than simply act as a fancy stopwatch. The races themselves can be entirely organized and run through the web interface. The system is useful enough that other projects using its framework have popped up, such as the RotorHazard project by [PropWashed] which uses the same hardware design.
While rolling one’s own transponders is a good solution for getting your race on, using the video transmission signal to avoid transponders entirely is super clever. The fact that it can be done with inexpensive, off the shelf hardware is just icing on the cake.
10 thoughts on “How To Time Drone Races Without Transponders”
RX508? Is that newer than RX5808?
Whoops, that’s a plain old error on my part. Should read RX5808 and I’ll fix that. Thanks for pointing it out!
Messy configuration. Why not use spare pins on the Arduino to select its I2C address rather than having to modify the sketch for each unit?
Spoils what is otherwise a good system design.
An advantage of using spare i/o, is that you can connect a coded rotary switch, such as https://www.mouser.co.uk/ProductDetail/Grayhill/94HAB08T?qs=sGAEpiMZZMsfGXvUAbE5PxhuKC8De8G%2f7hxB1bTeN3w%3d
The outputs correspond to either the BCD or hex value of the little numbers on the top.
I’ve done this with I²C addressing on individual ICs before (MCP2317). Then you only have to set the addresses by twiddling the switch, and the software and a few pullups take care of the rest.
The RotorHazard fork has pin-based address selection.
How much of this was inspired by the Chorus Lap timer?
Please also correct the video transmitter is an RX5808, not an RX508.
Not much honestly. They where developed separately but the devs from both projects have shared tips between Delta5 and Chorus to make both projects more useful and better for their user base.
soooo, how do you actually measure if a craft has crossed the finish line from only the fpv data?
In short, monitor the signal strength and look for peaks.
Hi, im interested in using this for timing sports, mountain biking specifically. Would it be possible just to use the video transmitter as a transponder, with just a power source and no other hardware? Sorry for the dumbass question just know nothing about drones and dont know where to start.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)