Setup guide
The best race-day setup.
Every piece, installed in order. Do the race director's part once on the timing laptop; each pilot does theirs once on their goggles. After that, race day runs itself: channels set, recordings named, lap times in every pilot's goggles.
How it fits together
- TimerRotorHazard 4.0+, or the FPVTrackside alpha
- dd-pitson the timer (plugin) or beside it on the laptop
- Timer backpackELRS Netpack on the network, or a USB backpack
- Pilot's gogglesHDZero firmware 9.5.45 + the race-day goggle backpack
- Pilot's quadfollows the goggles' channel through their radio's TX backpack
Race channels
dd-pits puts every pilot on their race channel as each race is cued, Raceband or Lowband.
Lap times in the goggles
Position, lap, last and best lap on the OSD, live, in the layout you choose.
DVR named after the race
hdz_0042-WinterCup-Mains-A-R5-H1.mp4, with the goggle clock set right.
Quad follows the goggles
A pilot picks a channel on the goggles; their VTX, radio and the timer follow.
Brackets and marshalling
Races drawn and run for you, laps fixed from each pilot's signal (RotorHazard timers).
Dashboard and stream
Live times on every phone, 22 OBS overlays and an AI commentator.
Everything except the goggle extras works with stock goggle firmware. The race-day firmware adds Lowband from the timer, DVR names and the quad following the goggles.
Once, on the timing laptop
The race director
-
Set up the timer and dd-pits
RotorHazard 4.0 or later
Upload the dd-pits plugin at Settings → Plugins (4.3+; on 4.0–4.2 copy the
dd_pitsfolder intosrc/server/plugins) and restart RotorHazard. dd-pits appears in its menu and runs on the timer itself.FPVTrackside
Install the FPVTrackside alpha (brackets, the Meeting editor and race control need its REST API). In FPVTrackside tick Menu → Application Settings → Auto start HTTP Server, restart and open your event. Then download dd-pits and run it on the same laptop.
-
Connect a timer backpack
This is how dd-pits reaches every pilot's goggles. The best is an ELRS Netpack: on a PoE board one Ethernet cable powers and connects it, anywhere on the venue network, and it confirms each message reached the goggles. A USB backpack plugged into the laptop works too.
In dd-pits open Settings → Backpack (
/setup/backpack) and choose Network (netpack) with its name (elrs-netpack.local), USB, or netpack with USB fallback. -
Add your pilots
Settings → Goggle pilots (
/setup/pilots): each pilot's callsign exactly as the timer spells it, and their ELRS bind phrase (or their 12-character goggle ID). dd-pits works out each goggle's address from the phrase, the same way ExpressLRS does. Set the OSD layout at Settings → OSD screen, for everyone or per pilot. -
Turn on race channels
Race director → Goggle control (
/goggles): switch on Race channels as each race is cued. From then on every pilot's goggles go to their channel for the race the moment it's cued. Or use the buttons there for the race on the line or the one up next. -
Optional: brackets, marshalling, stream
Brackets → Create bracket draws the finals and runs them on the timer. Race director → Marshal fixes laps from each pilot's signal on a RotorHazard timer (beside FPVTrackside too, when it times with a RotorHazard). Overlays gives every OBS scene with an Add to OBS button.
Once, on each pilot's goggles · about 10 minutes
Each pilot
For HDZero Goggle, Goggle 2 and BoxPro. You need the goggles, their SD card and a computer. Both firmwares are community builds by bob9, not affiliated with HDZero or ExpressLRS; stock firmware can always be flashed back.
-
Flash the goggle firmware (9.5.45)
From the 9.5.45 release download the one file for your goggles:
HDZero Goggle HDZERO_GOGGLE-…-9.5.45.binHDZero Goggle 2 HDZERO_GOGGLE2-…-9.5.45.binHDZero BoxPro HDZERO_BOXPRO-…-9.5.45.binCopy it, exactly as downloaded (don't open it), to the top level of the SD card. In the goggles: Menu → Firmware → Update Goggle. Keep them powered until they restart.
-
Flash the goggle backpack
From the race-day backpack release download
AUFPV_HDZero_Goggle_Backpack.zipand extract its four files (bootloader.bin,partitions.bin,boot_app0.bin,firmware.bin). On a Mac extract from Terminal (unzip AUFPV_HDZero_Goggle_Backpack.zip): double-clicking can damage the files.Put them in a folder called
ELRSat the top of the SD card, then Menu → Firmware → Update ESP32. Delete the files afterwards. What the backpack adds → -
Bind, and tell the race director your phrase
Your existing binding survives both updates. Your goggle backpack, your radio's TX backpack and the race director's list should all use your bind phrase. To re-bind: goggle backpack into bind mode, then Backpack → Bind in your radio's ELRS Lua script. Give the race director your bind phrase (or goggle ID) for dd-pits.
-
Name recordings after the race
Menu → Record Option → Naming Scheme → ELRS. It stays greyed out until the goggles know the time; the timer sets the clock as soon as it's running. Recordings then come out as
hdz_<counter>-<Meeting>-<Mains/CTA>-<R|Q><round>-H<heat>.mp4. -
Optional: let your quad follow your goggles
Turn on your radio's TX backpack, bound to the same phrase, and get ELRS VTX Administrator working (as you would for the Lua script). Then picking a channel on the goggles and long-pressing the dial sends it to your quad, radio and the timer; a green
VTX SENTconfirms it. Auto Send VTX on the goggles' ELRS page does it on every change: leave it off at races where the timer assigns your channel, or browsing other pilots' feeds retunes your own quad.
How to use dd-pits
From download
to race day in minutes.
Seven steps, all in the browser. Do the first two and you already have a live dashboard; the rest are optional.
-
1
Download and run
Download dd-pits and run it on the same laptop as FPVTrackside. The setup guide opens in your browser on first run.
./dd-pits
-
2
Switch on FPVTrackside's web server
It's off by default, and it's how dd-pits reads the timing. In FPVTrackside open Menu → Application Settings, tick Auto start HTTP Server under Web, restart, and open your event. The dashboard lights up; share the laptop's address with pilots over the venue wifi.
Application Settings → Web → Auto start HTTP ServerOptional, for faster lap calls: under Gate / LED POST notifications, set the notifier to
LegacyModeand NotificationURL tohttp://localhost:8088/fpvtrackside/events.
-
3
Put it on screens
Open the TV view on a screen at the pits, and add the overlay to OBS as a Browser Source.
/live · /overlay
-
4
Choose who speaks
Pick whether dd-pits or FPVTrackside makes the race calls. dd-pits sets FPVTrackside's speech to match.
/setup/calls
-
5
Wire up the goggles
Add each pilot's bind phrase, connect an ELRS netpack or USB backpack, then lay out the goggle screen.
/setup/pilots · /setup/backpack · /setup/osd
-
6
Turn on commentary
Pick a writer and a voice. Hear it on the laptop's speakers, or add the audio to OBS as a Media Source.
/setup/booth · /booth.wav
-
7
After the race
Paste the stream's YouTube link and place one heat. Every heat gets a Watch link, and you get chapters to paste into the description.
/setup/video
Before the first heat
On the day
- Pilots power on their goggles. On Goggle control each pilot in the race on the line shows a ✓ when their goggles are set up.
- Check one pilot end to end: cue a race and watch their goggles switch channel and show the race name.
- With a netpack, its test page (
http://elrs-netpack.local/test) sends an OSD message, a channel or a DVR name to any pilot's goggles. - Share the dashboard address with pilots:
http://<laptop or timer>:8088. They tap their name for their own stats.
Download dd-pits Goggle firmware 9.5.45 Goggle backpack Watch it in action