Note
The use of this plugin is dependent on the release of the v1.5 of the ELRS Backpack. It is recommended to wait for this release of the backpack if not yet avaliable. This version provides the following critial features for the plugin to work:
- Timer backpack targets for RotorHazard
- Improvements to the HDZero goggle's backpack ability to rapidly recieve OSD messages
This is a plugin being developed for the RotorHazard timing system with the following features:
- Send OSD messages to pilots using compatible equipment (such as the HDZero goggles)
- Allows for the race manager to start the race from their transmitter
- Automatically switching pilot's video channels and output power
- RotorHazard v4.1.0+ is required to run the plugin
- A connected device that can run the ExpressLRS Timer Backpack (avaliable in the v1.5 release)
- Connections over USB or UART will both work
To install, follow the instructions on the latest release of the plugin.
To build the firmware for your HDZero goggles, use the ExpressLRS Configurator.
Select Backpack
on the left side menu. Select the 1.5.0 release (or a newer version), find the HDZero goggle target, enter your bindphrase, and
build the firmware.
To install, follow the instructions on the ExpressLRS Docs.
Available devices for the RotorHazard Timer Backpack category in the ELRS Configurator. It is recommended to use a chip that is capable of connecting an external wifi antenna.
ELRS Device | Compatible Hardware |
---|---|
EP82 Module (DIY) | ESP8266 NodeMCU |
EP32 Module (DIY) | ESP32-DevKitC |
EP32C3 Module (DIY) | ESP32-C3-DevKitM-1U |
EP32S3 Module (DIY) | ESP32-S3-DevKitC-1U |
NuclearHazard | NuclearHazard Board v7 or newer |
While other specific development boards with similar chipsets may be supported by the targets in the table, it is not guaranteed that they work. For example, the Seeed Studio XIAO ESP32C3/S3 board do not work with the targets listed above, but when using the ExpressLRS Toolchain for building the backpack firmware, you can change the platformio settings to build the firmware to use the XIAO boards for the timer backpack.
To build and flash the firmware, use the ExpressLRS Configurator
- Connect the device to your computer over USB.
- Select
Backpack
on the left side menu. - Select the 1.5.0 release (or a newer version)
- Select the RotorHazard device category
- Select the target for your device
- Select the UART flashing method
- Enter the bindphrase (for race control from the director's transmitter)
- Select the COM port for your device
- Build and flash the firmware
To build the firmware, use the ExpressLRS Configurator
- Select
Backpack
on the left side menu. - Select the 1.5.0 release (or a newer version)
- Select the RotorHazard device category
- Select NuclearHazard as your device
- Select the WIFI flashing method
- Enter the bindphrase (for race control from the director's transmitter)
- Build the firmware
- Follow this guide to flash the on board ESP32. Instead of downloading the backpack bin files, use the files you built with the configurator.
There is a feature to control the race from the race director's transmitter by tracking the position of the DVR Rec
switch setup within the transmitter's backpack. It currently works
by binding the race timer's backpack to the race director's bindphrase similarily like you would do with the transmitter and VRx backpacks.
Currently only starting and stopping the race are supported. Setting up this feature will not prevent other users from recieving OSD messages.
Important
This feature requires the Race Director to have the ELRS Backpack setup on their transmitter. Please ensure this is setup before completing the following instructions.
- Setup the
DVR Rec
switch in the ELRS backpack- Open the ExpressLRS Lua script (v3 is recommended) on the transmitter
- Open up the Backpack settings
- Set the AUX channel for
DVR Rec
Note
Note: This will not not stop the ability to start recording DVR through this switch. It is just a state that the race timer's backpack listens for.
- Bind the Race Timer backpack to the Transmitter. This step can be skipped if flashing the timer's backpack with firmware that contains the race director's bindphrase.
- Start the RotorHazard server with the ESP32 connected.
- Navigate to the
ELRS Backpack General Settings
panel. - Click the
Start Backpack Bind
button. - Within the ExpressLRS Lua script on the transmitter, click
Bind
To test to see if the backpack was bound sucessfully, navigate the the Race
tab within RotorHazard, and use the DVR Rec
switch to start the race. Race Control from Transmitter
will need to be enabled under ELRS Backpack General Settings
Tip
Anytime the backpack needs to be bound to a new transmitter, it will be easiest to reflash the ESP32 with the firmware in the latest release, and then rebind.
The pilot's individual bindphrase for their backpack. If a bindphrase is not set, the pilot's callsign will be used as the bindphrase instead.
Turns the pilot's ELRS OSD on/off
Allows the race director to start the race from their transmitter. Please navigate to here for binding the backpack.
Allows the race director to stop the race from their transmitter. Please navigate to here for binding the backpack.
Puts the timer's backpack into a binding mode for pairing with the race director's transmitter.
Tip
After sucessfully completing this process, the timer's backpack will inherit the race director's bindphrase from the transmitter.
Will display OSD messages on HDZero goggles with a matching bindphrase. Used for testing if the timer's backpack sucessfully inherited the transmitter's bindphrase.
Starts the backpack's WiFi mode. Used for over-the-air firmware updates.
Shows the race name on start.
Note
Requires the race's class and heat names to be set
- TOGGLED ON: Shows current position and current lap when multiple pilots are in a race
- TOGGLED OFF: Only shows current lap
- TOGGLED ON: Shows the gap time to next pilot if using a compatible win condition for the race
- TOGGLED OFF: Shows lap result time
The pilot will be shown results when they finish the race. It is recommeded to have pilots turn off Post Flight Results
in Betaflight so the results won't be overridden when the pilot lands.
The message shown to pilots when the timer is staging the race
The message shown to pilots when the race first starts
The message shown to pilots when the pilot finishes
The message shown to pilots when the time runs runs out
The message shown to pilots when the the race is stopped
The message shown to pilots when Show Gap Time
is enabled and the pilot is leading the race
The length of time Race Start Message
is shown to pilots
The length of time Pilot Done Message
and Race Finish Message
is shown to pilots
Length of time the pilot's lap or gap time is shown after completing a lap.
Length of time to show announcements to pilots. (e.g. When a race is scheduled)
Row to show race status messages.
Row to show current lap and position
Row to show lap or gap time
Row to show announcements such as when a race is scheduled. This row is also used by Show Race Name on Stage
The row to start showing a pilot's post race statistics on. It will also use the follow row in conjunction with the entered one.
If you are looking to have a case for an externally connected ESP32-DevKitC-1U board, users have commonly liked to use the following 3D printable case avaliable on Printables