This is a quick guide on how to flash the Watchman firmware (SteamVR tracking dongle) onto Crazyradio PA dongle.
CAUTION: It seems like the dongles end up with really short range, they work technically but is not really all that usable at this time.
- A Crazyradio PA dongle
- A Linux device (Raspberry PI is excellent for this, but any computer running Linux will do)
- The "SteamVR HDK" for the Firmware binary
AFAIK no one can legally redistribute this, you will have to register for a SteamVR Tracking License to get this.
Registering for SteamVR Tracking license is free. - The Crazyradio USB firmware tools
Note: If you are getting the dongle from any other source than the official one, make sure the nRF24LU1+ chip is the 32kB one not the 16kB one.
The firmware is made for the 32kB chip, and flashing this over the 16kB chip will most likely brick the dongle.
If you want to verify, the 32kB chip is marked with the name24LU1P
while the 16kB ones are marked withLU1P16
To use the firmware tools you will have to make sure that your Linux install has Python 2.7 installed, as well as the pyusb
module.
After you have downloaded the SteamVR HDK you can find the firmware at Steam\steamapps\common\SteamVR Tracking HDK\firmware\dongle\watchman_dongle_combined.bin
.
To simplify things, place the firmware binary in the same directory as the python scripts on your Linux machine.
Once you have everything in place flashing the firmware should be straight forward.
- Connect the Crazyradio PA to a USB port on your Linux device
- From the directory the firmware scripts are in run
sudo python launchBootloader.py
to start the bootloader - To verify that things work and as a backup, you can dump the current flash by running
sudo python nrfbootload.py dump ./binarydump.bin
- If that is working you can flash the Watchman firmware by running
sudo python nrfbootload.py flash ./watchman_dongle_combined.bin
- Once flashing is complete (should be pretty fast), you can verify that the flash is correct by running
sudo python nrfbootload.py verify ./watchman_dongle_combined.bin
Once these steps are done, you can unplug the USB dongle and connect it to the machine you are running SteamVR on, the dongle should register as a SteamVR dongle.
You can also verify this by running the lighthouse_console tool from "Steam\steamapps\common\SteamVR Tracking HDK\tools\bin\win32\lighthouse_console.exe"
.
Remember to unplug all other SteamVR devices to make sure you are indeed looking at the right device.
With all these things done you can pair the dongle as you would any other SteamVR dongle.
Have fun! :)
Just letting you know I completed a hardware hack to increase the range by placing a 1K Ohms resistor from C14 to R11 enabling the LNA on the RFX2401C Chip that the firmware does not enable by default. Image 1
Edit: Updated Image source