For our series on race timing, we’re taking a look at another VTx-based lap timing system: the Delta5 Race Timer. This open-source project offers professional-grade features and performance—but you’ll need to build and set it up entirely on your own.
If you haven’t yet read our Lap Timing Guide, you will probably want to check that out before reading this article. That guide covers the basics of lap timing and the various types of systems available, while this one is specific to the Delta5 project.
What you get from the project website, a GitHub repository, is a parts list and software download. You’ll have to source all of the parts and do the assembly yourself. This gives you a lot of flexibility in what your unit’s features and capabilities are. You choose what fits your needs—but on the other hand there’s an expectation that you know what you want, (and what you’re doing,) enough to make good decisions about the supporting components. This is common for DIY/open-source projects; the author gives you just enough information for the base functionality and leaves the user to extend it as needed.
Don’t worry, though: we’ve taken some of the confusion out of the mix and provided a parts list with links at the end of the article.
The Delta5 consists of the main processing unit and a set of “tracking nodes”. Each node is capable of tracking one frequency; you can add any number of nodes to your system (up to 8) to track that number of quads at once. To date, the Delta5 software does not support channel-hopping (like the LapRF Personal and TBS RaceTracker) to track multiple pilots per node—but an intrepid software developer may well add it in the future. The nodes, each an Arduino Nano connected to an RX5808 receiver, do the bulk of the timing work while the main processing unit coordinates them and collects the results. The main processor is a Raspberry Pi 3, meaning it’s a full-fledged Linux computer. The Pi has onboard networking, (some versions with built-in WiFi,) will take a USB keyboard/mouse, and has HDMI video out. Most users of the Delta5 will set it up with a locally-connected keyboard and monitor, but then run it at the field over the network remotely with a separate laptop or mobile device.
The rest of the supporting hardware is up to you. (We’ll come back to that in a moment.)
The nodes each offer excellent accuracy for each racer. Compared head-to-head with a TBS EventTracker, lap times for the Delta5 varied from 0.001s to 0.023s. Since timing is done via RSSI, minor fluctuations are expected based on stray RF noise and the exact location of the timer and quad for each pass. TBS claims +/-10ms accuracy, so if that’s true the two appear to be at least equivalent. Both of these products have a higher accuracy than what’s stated for ImmersionRC’s LapRF—which is the go-to system for MultiGP’s larger events. In other words, the Delta5’s accuracy meets or exceeds that of professional-grade equipment in use at major events today.
The comparison seen here was done at a MultiGP Regional Final where top pilots were competing, so the Delta5 can obviously keep up with the pace of professional race pilots. (The two systems were set up differently with regard to handling the first lap, explaining the larger difference in time.)
The timers we’ve reviewed recently have had a near-zero hardware setup time: literally take it out of the box, charge it up, and place it on the course. As you can imagine, that’s not even close to true with the Delta5. To begin with, you’ll have to plan out what you need, then purchase parts, and then assemble them—including wiring, soldering, and fitting to a case. There’s a list of the core parts on the site, but these don’t link to stores that sell them. There are also a few areas where you need to make important decisions on what you want to build before you finish your parts list and buy components. Again, we have our parts list at the end of the article for easy reference.
The first of these is power. You need to feed the system 5V/3A, but how you do that is up to you. Do you want your timer to run off of a typical household outlet? How about battery power? Do you want an XT-60 connector, or a barrel jack? Maybe an added voltage sensor or alarm? It’s up to you, but you have to decide and then source the components to make it happen. The second major additional requirement is some kind of case. The Delta5 documentation gives you a circuit diagram, but you’ll need to resolve how to connect the components, how to hold them in place, and how to isolate them from each other. Within the project are some STL files for a 3D-printed case, but these expect your timer to be mostly attached to a circuit board (PCB)—which isn’t mentioned anywhere else in the documents.
Help and guidance on many of these issues can be found in the Delta5 Facebook group. Once there, you quickly learn of the PCBs and a few ways to get a hold of them (generally by buying off another group member who purchased 20 or more from a board manufacturer). You’ll find links to extended parts lists with recommended voltage regulators and power connectors. There’s also a list of improved case prints off Thingiverse. If you’re not on Facebook, you’ll miss out on all of these build resources and a lot of help in getting the project put together. The Delta5 group seems to be the only active place where information is posted and getting help is possible.
You’ll also need several tools to build and set up everything. Most of this you will already have if you build and maintain quads. In addition to soldering and electrical assembly, you need a computer, and preferably a separate USB keyboard/mouse/monitor for the Pi at the same time. A micro- and mini- USB cable will each be needed to connect to the Pi and the Arduinos at setup. You likely need a standalone microSD card reader as many of those built into devices aren’t capable of formatting/flashing bootable cards. An Ethernet cable will help as well.
After the hardware is built, you need to install the software. The Arduinos and the Pi each need a separate installation. This isn’t too complicated if you’re used to working with Arduinos and are a somewhat seasoned Linux user. The steps require installing an Arduino IDE, various drivers and configuration in the IDE, changing code definitions and uploading to each Arduino separately, installing a flashing app to create a bootable microSD card, connecting to and configuring the Pi, and running a bunch of commands on the Pi from the command line to install packages and set up services. It’s really not all that bad if these are things you’ve done before, but many people have issues somewhere along the line. If you encounter a problem, go straight to the Facebook group.
The Delta5 software contains basic race management software within its download package. During setup, you decide if you want to run this standalone server or instead choose the integration to race management software LiveTime. Switching back and forth isn’t effortless, but your group will likely settle on one or the other and not need to change. This review will look at the standalone server, which doesn’t require a separate software subscription.
You’ll need to review the Pi’s network configuration before you can connect another system to the Delta5’s server. By default, the Pi will get its IP address from whatever network you connect it to, much like your laptop and phone. On your home network, this means you have to figure out what address was assigned to it before you can connect. Out in the field with only your laptop and the D5, this likely won’t work at all. To fix this, you can set the Pi up as a DHCP server with a static IP. Again, if you’re familiar with networking and Linux, this process isn’t too bad—but for anyone else, be prepared for a lot of research and unfamiliar concepts. One solution is to use a pre-configured microSD card image, which are available in the Facebook group.
You can set up and using the Pi’s built-in WiFi as an access point so you don’t need any other hardware but your phone and the Delta5 itself. This isn’t a terrible idea if you’re using the timer indoors for micro-class racing, but the WiFi range is only about 50′ and struggles outdoors. We connected ours to an old WiFi router, which we could run 50′ closer to us with a long network cable. Many groups connect the Delta5 directly to a laptop. Regardless which method you choose, getting a stable connection is really important. The timer doesn’t handle breaks in the network connection very well and will inconsistently take input and load status pages. These breaks don’t harm accuracy or time capture at all, as all of that’s handled onboard—but a poor connection makes organizing and running races very difficult.
Normally, the first thing you do when you set up a VTx-based timer is calibrate it. The Delta5 calibrates itself! Every time you start a race, the system will reset and begin looking for signal on each node. Based on how high that signal rises and falls during the first pass by the timer, the Delta5 configures itself to look for similar characteristics the rest of the race. Each node ends up individually tailored to the power and antenna characteristics of the VTx in use by that particular craft and the sensitivity of the node’s receiver. It doesn’t matter if your pilots have the same strength VTx. It’s a novel approach that stands in contrast to the more restrictive, and sometimes physically demanding methods found in other systems.
Auto-calibration isn’t without its challenges. For one, it limits the course layout. Since the calibration is done on the first pass, the Detla5 needs to see a clean pass at the beginning of your race. You need your blocks set up before the timing gate so it is passed over fairly quickly. Many groups do this anyway. It’s also best to have your gate in the middle of a straight section of the course and keep other parts of the course well away from it. Most VTx-based timers have a similar requirement. Finally, you can’t really start timing after takeoff or just leave a timer running for open practice.
When it works, it works really well—but when it doesn’t, getting it to work becomes another technical issue you have to understand before you can improve. There are three parameters that help the Delta5 understand what counts as a gate pass. You’ll want to thoroughly read the documentation on these parameters and make sure you have a copy at the field should it become necessary.
In practice, I found the Delta5’s default parameters to work perfectly for outdoor racing. I had a lot more trouble getting it to behave in a challenging indoor RF environment. You really need to give it a lot of space between the next-nearest place the course passes by. 10ft didn’t seem to be enough. Some indoor Delta5 users have reported better results by building an RF shield around it.
Using the Standalone Server/Race Management
The built-in server has an extremely basic appearance, but it allows you to set up pilots, heats, and races. It’s separated into four pages. Two of these are informational only and are open to anyone who connects to the Delta5. The other two control settings and actual running of races; these are hidden behind a login to prevent tampering with results. The Delta5 will keep a record of your pilots, their heats, and their lap times for you to review during and after an event—a nice change from the personal lap timers where your best bet is to take screen captures before the next race starts.
The interface itself is perfectly usable, but lacks polish. For example, no real thought has been put into the UI. The text size everywhere is very small, including on interface elements like buttons and dropdowns. Many of my group members made a comment about these being a little hard to tap while using the interface on a phone or tablet. The page layouts are pieced together using the Bootstrap library, which gives some structure but means they haven’t been custom-tailored to the task at hand. Some bespoke design could elevate the experience considerably. Another minor criticism for the interface is its responsiveness. The Delta5 appears to accept your input and react to it almost immediately, but it doesn’t always give feedback that it has done anything. You might change a value in a text box and not see it update elsewhere on the page for several seconds. This doesn’t limit your ability to make other changes—the app doesn’t make you wait before it lets you do other things—but confirming you have set everything up properly takes just a little extra time.
Pilot, Heat, and Frequency Setup
On the “Settings” page, you’ll see an informational box for each of your connected nodes. The box shows the selected frequency as well as the currently received RSSI value. Each of these have a dropdown where you can select which frequency will be used. It’s really quick to change frequencies for each node, so swapping these around between races would not be difficult at all.
Pilots are added to a list, where you specify their callsign, how to pronounce it, and their name. Most operating systems will use text-to-speech to speak the pilot callsign after each lap, and you can test that here. The order you add pilots to this list is the same order used elsewhere. This is fine if there’s only a few, but when you add many pilots, sorting would have been helpful.
After setting up pilots, you can set up heats. Heats on the Delta5 are a selection of pilots assigned to specific nodes. If your race format has the same pilots in each heat for your entire event, you can set these up once and then just choose the appropriate one when you race. Other formats that change up which pilots are flying in each heat will be harder to manage, because you can’t really edit heats once they have saved races. The heats are great, but it would be nice to have an “open heat” setting where you simply choose the specific pilots at race time vs. having to switch tabs and set up a heat for them. Node frequencies don’t follow heats and will use whatever the node is currently configured to; if you put a pilot on different nodes in different heats, that pilot will need to use a different frequency unless you reconfigure your nodes.
Again, the bare-bones interface here lacks any niceties, such as the ability to delete individual heats or pilots. Your only option is to choose different pilots or rename them, respectively. When your event is over, you can wipe clean the heats list or both heats and pilots. Heats get tied to the race results, too; once you save a race, if you edit the heat it will edit the saved race as well. There’s a written note suggesting that maybe you don’t want to do that, but it won’t stop you from trying.
Running a Race
Getting a race going is pretty simple. “Start Race” will kick off with a tone and then count up; “Start Fixed Time Race” will do the same but set a timer to count down from the value you chose on the “Settings” page. This affects how the app calls out the race duration, but not much else—both methods simply count laps indefinitely until the organizer hits the “Stop Race” button. It makes more sense than it sounds like it should; for example, race formats often allow you to finish your last lap after the race time ends. You won’t find any special options here like a staggered start or maximum lap count. (If you want to replicate the staggered start, the hole-shot time is recorded independently of the first lap; you at least have the data you need to do the math.)
There’s a short delay between pressing the start button and the start tone. There’s no countdown delay, so flying in a race you are running would be difficult. We found kicking off a race to work well when we got the all-clear signal from all pilots, called for racers to arm and take marks, then hit the start button. About 5s later, the start tone would sound. We settled into this routine for a race event and it worked very well—but if you really like having a countdown-style race launch, you won’t get it here. During a race, the timer does a nice job of calling out pilot lap times as quads pass through the gate.
The race page has great stats on it such as each pilot’s most recent lap, best lap, average lap times, and which racers are on the lead lap. I could envision an announcer making use of this data for some engaging race commentary. Below this, the individual lap times are recorded. Each lap has an “X” near it which allows you to remove the lap, adding its time to the next lap after this one. This allows you to tune the system a little more freely: set it up so no laps are missed, even if that means some false-positives are recorded; you can easily prune them afterward. This is a really nice feature that helps with race management which the personal-grade timers don’t have.
After the race is over, you must select either “Save Laps” or “Clear Laps” before another race can start. “Save” will finalize the results and make lap times visible on the “Rounds” page; “Clear” just discards them.
Public pages: Rounds and Heats
Anyone connected to the timer can view the “rounds” and “heats” pages. The “Heats” page is a simple listing of the pilots’ names and callsigns so you know who is who, and shows which “heats” have been set up so you know which other pilots you will race with. Again, the latter is only really useful with a race format that has the same pilots in each heat.
The “Rounds” page shows the lap times for every race that’s completed and saved. This is just the individual lap times; other race stats like total time aren’t included which is a bit of a shame (especially since this information is already available to the race director). You can’t figure out the winner from the “rounds” display unless you are willing to do some math. Races are sorted by heat and then round. If you run multiple heats and multiple rounds, you would typically run round 1 heat 1, then round 1 heat 2, etc., running all the heats in one round before moving onto the next. However, the results page lists the races by heat instead: heat 1 round 1, then heat 1 round 2, etc. We actually found this to simplify things when we needed to run a heat out of order once, but in general we’d rather just have them listed in the order they were most recently run. Even better would be an option for the viewer to sort it themselves.
We also found ourselves wishing there was some kind of public “current race” page, so spectators could see lap times as they came in. Something like this would be ideal to put on a large display screen provided near to the course. Currently, unauthorized users can only view ‘saved’ races, and there’s no single page you can leave unattended which continuously displays current information.
The Delta5 kicks an extra point by adding support for externally attached LED indicators in a development branch. We haven’t had a chance to set up and test this ourselves, but users in the Facebook group report that it works well. In the future, we’d love to set up start lights that give pilots an in-camera indicator of the race start—it would certainly improve the start line experience.
Finally, some race organizers say the Delta5 has problems with crosstalk on the channels. We did experience this, but it was extremely infrequent and only when the channel was not in use (so its calibration would have been overly sensitive). It’s possible that this is a bigger problem if your timer has more than four nodes and you run frequency sets that are more susceptible to IMD. It’s also possible that building an RF shield around the unit will fix this, which is something we are going to experiment with as it seems necessary for indoor events in some types of buildings.
The Delta5 is a truly interesting development in FPV race timing. It offers professional-grade accuracy at a mere fraction of the cost of commercial systems, and even includes race management software. It’s definitely a project, though. To use it, you must first get past a vast array of technical and setup challenges from part selection, design, purchasing and assembly, to installation, configuration, and even network setup. It will take a lot of technical skill and knowledge to build. If you can’t commit to starting a project, the Delta5 isn’t for you. But keep in mind that if you’re building and flying quads, you already have most of the skills necessary to build the Delta5—and if you do need help, the Delta5’s Facebook group provides a strong community where help and resources are easily found, even from the project maintainer himself. But this will still be an undertaking that’s at least as complicated, if not more so, than building a working race quad entirely from parts.
The Delta5 really shines in its features and specs and it absolutely delivers in those areas, though the race management side lacks polish. Being an open-source project, it’s entirely possible that someone will come along and improve it. The open-source model has brought many features to Betaflight in the same way. In fact, we’re already working on a contribution of our own. Almost all the issues we identified with the system can be fixed with software updates. You can also choose to bypass most of the interface if you run LiveTime. Still, whether or not it’s right for you may depend on how you plan to use it. The system really wants to be used to handle race groups and events, and isn’t geared toward personal timing. When really good personal timers can be had for less than $100 and require basically no effort to use, it becomes harder to justify the time and effort needed to get a Delta5 running for just your own use. But the personal timers lack race history, heat management, and accuracy with multiple pilots: all critical components for anyone running a larger event.
For our local race group, it’s certain that the Delta5 Race Timer will be our system of choice for the foreseeable future.
Here’s what we used for components along with where you can find them.
- Delta5 PCB V2: Search for these within the Delta5 Facebook group. Each supports 4 nodes.
- Raspberry Pi3
- 5v regulator (The V2 PCB expects the Polulu board layout.)
- 3.3v regulator (The V2 PCB expects the Polulu board layout.)
- XT60 Connector
- 3D printed case
- 8GB MicroSD
- Network router (old or used is perfect; we found one that doesn’t support WiFi over 5GHz to help keep the video bands clean)
- 50ft Ethernet Cable
- Laptop/tablet (even your phone)
Many of the above components might be readily available at your house, so your cost is going to vary. Assuming you have a spare router, network cable, and SD card lying around, and you have a laptop/tablet/smartphone to view the interface on, the other components should only set you back around $60. The Pi drives a lot of this cost.
Nodes (Build one to eight):
The below items are needed to create one node. Pin headers and resistors usually come in large quantities, so one pack can go a long way for multiple nodes.
Getting all of the above will cost around $30. However, like our previous list, you might have components lying around from other DIY projects. Assuming you get a multi pack of headers and resistors, each node should only cost around $10–15. The prices for all of these components can fluctuate, so definitely shop around. If you race with a local group, try to crowd-source some of the items, especially the resistors, pin headers, and networking gear. There’s a very good chance someone has at least some of the gear lying around!
Scott Chin, the Delta5’s project maintainer, provided the PCB used in our review build, along with information on the project and a sticker for the case.