The lack of full Betaflight OSD support has been one of the biggest complaints of the DJI FPV goggles, but with the public beta release of the fpv.wtf MSP OSD project, this is going to change. DJI FPV Goggles can now use all the elements in Betaflight OSD! I will show you how to do it in this post.
Apart from full support of OSD elements, you can also use the OSD menu and get custom fonts. It’s very easy to setup. Not only Betaflight, basically any firmware that supports HDZero MSP DisplayPort will also work, such as iNav and Ardupilot.
Table of Contents
Root, Install WTFOS and Package
Follow this tutorial to root and install WTFOS on your DJI FPV Goggles as well as Air Unit / Vista.
Once that’s done, go to packages (https://fpv.wtf/packages) and install msp-osd on your goggles and Vista. This will give us full Betaflight OSD support.
Goggle Settings
In your Goggles, you should disable Settings => Display => Custom OSD, otherwise you will get some duplicated OSD elements.
Betaflight Configuration
In Ports tab, enable MSP for the UART you’ve connected the Vista/Air Unit to. You probably have done this already if you have been flying the drone. In my example, I connected the Vista to TX1 and RX1 pins (UART1).
Go to the Presets tab, and search for “wtf”, the “FPV.WTF MSP-OSD” preset should pop up, in options, select the UART you’ve connected to the Vista unit.
Picking this preset is the same as entering these command lines in CLI, but Preset makes it so much easier!
set osd_displayport_device = MSP set displayport_msp_serial = x (should be 1 less than the UART number, e.g. if UART1, enter 0 here) save
In OSD tab, enable and place your preferred OSD elements, just like analogue.
You can check in the goggles while adjusting the position of the OSD elements, it should update in real time. Try to put the elements around the center of the screen so they don’t go beyond what can be displayed in the goggles.
This is how I setup my OSD, you can just copy and paste them in CLI if you wanna try mine.
set osd_vbat_pos = 2404 set osd_link_quality_pos = 2148 set osd_rssi_dbm_pos = 2116 set osd_tim_2_pos = 2422 set osd_throttle_pos = 2167 set osd_vtx_channel_pos = 170 set osd_current_pos = 2133 set osd_mah_drawn_pos = 2340 set osd_warnings_pos = 14569 set osd_avg_cell_voltage_pos = 2372 save
It looks something like this:
Custom Font
The default font looks too “blocky” and low resolution for the HD screen, I highly recommend using a different font. Here’s how to upload a new font.
There are four .bin files to every font, simply put those files in the root directory of the SD card and insert it to the goggles, that’s it. You don’t need to do anything to the Vista.
You can download other fonts here: https://github.com/bri3d/msp-osd#choose-a-font
- For simple white font, this is a great one: https://github.com/Knifa/material-osd/releases/latest/
- If you like HD color fonts, there are a couple of options:
Here are some preview of the fonts:
Knifa Material
Sneaky Color Font (Conthrax)
Sneaky Color Font (Blinder)
Sneaky Color Font (Sphere)
Vicewize Italic Color Font
If the font you downloaded doesn’t have the same names as the screenshot above then you should rename them by replacing the name of the font to the word “font”, like this:
font_bf.bin
font_bf_2.bin
font_bf_hd.bin
font_bf_hd_2.bin
OSD Overlay in DVR
Unfortunately it’s not possible to have OSD burned into the recorded video straight out of the goggles due to hardware limitations, but we can overlay the OSD in the DVR manually in post thanks to the work by FPV WTF team! Actually it might be better as we have the option to keep the clean feed or have DVR overlayed. This is still an experimental feature therefore setting it up is still a bit cumbersome, but I will show you how here.
Make sure your goggles and Vista have been rooted and have WTFOS installed. Install MSP-OSD packages on both Vista and Goggles.
Power on your goggles, and connect USB cable to your computer.
Go to the CLI on fpv.wtf: https://fpv.wtf/cli
Enter the following command lines and hit enter (copy line by line, right click mouse to paste if keyboard shortcut doesn’t work), this will enable OSD recording.
package-config set msp-osd rec_enabled true package-config apply msp-osd
After that, power cycle your goggles and quad. Now go out and fly! It should generate a .osd file along with the DVR video file and srt file.
To overlay the OSD in your DVR, use this web browser tool: https://knifa-develop.fpv.wtf/osd-overlay
Select the video file (your DVR footage), the osd file and the font files you want to use in the overlay (remember there are 4 files for each font, so upload all of those font files).
Click Start, and save your video with OSD somewhere. That’s it.
If you update WTFOS to 0.91 or newer on your Goggles, they’ve added “rec_pb_enabled” configuration option. By enabling this option, the OSD overlay will be added when you play back DVR inside the goggles. This might be useful for checking GPS coordinates after you crash for example.
Improved OSD Canvas in Betaflight 4.4
The new OSD canvas in Betaflight 4.4 utilizes the whole 16:9 screen area, there’s more space available to place your OSD elements. It makes the font and screen much appropriately sized for HD FPV videos.
To enable it, simply select HD in Video Format in the OSD tab.
Make sure to update both of your FPV goggles and Vista to the latest WTFOS version in order to get the correct display grid size. Also you need to enable compressed transmission to get the grid size to work reliably, otherwise you’d have to rely on certain bootup order to get it work, i.e. power up the quad first then the goggles. Hopefully this will be fixed in future version of WTFOS.
Edit History
- Sep 2022 – tutorial created
- Nov 2022 – added instructions on how to change font
- Jan 2023 – added instructions on how to overlay OSD in DVR, added links to HD color fonts
- Feb 2023 – added news about BF4.4 OSD canvas improvement
26 comments
I see waiting on OSD menu then disappears. Then nothing. no fonts. Please help. Cant find solution
did you root and install WTFOS on both the Goggles and Vista/Air Unit?
did you install the MSP OSD packages?
did you disable custom osd in the goggles menu?
did you setup Betaflight as shown in this post?
—
Try to connect your vista/goggles to your computer and update WTFOS to the latest version.
how to enable “rec_pb_enabled” ?
Enter these two lines in FPV.WTF CLI:
package-config set msp-osd rec_pb_enabled true
package-config apply msp-osd
Then press Enter
Unreal the information you provide. You just got me up and running. The setting in the googles fixed my issue. Thank you!
Great article firstly. Before you continue reading. I have noticed in your article the step:
Go to the Presets tab, and search for “wtf”, the “FPV.WTF MSP-OSD” preset should pop up, in options, select the UART you’ve connected to the Vista unit.
Instead of preset I did enter:
set osd_displayport_device = MSP
set displayport_msp_serial = x (should be 1 less than the UART number, e.g. if UART1, enter 0 here)
save
My Vista is on UART 3.
This is what I have done.
I have an issue, after doing all the hack. I am able to see custom OSD in my V2 goggles. But at same time I can see DJI OSD overlapping. So I have some OSD twice…
It looks good in BetaFlight configurator 10.8.0. The problem is in DJI V2 goggles itself. I can either turn off custom OSD (which is the one I want only) if I do this. I will be able to see only DJI OSD not me. If I keep custom OSD turn on. I will see both OSD my (custom from BetaFlight) and DJI OSD simultaneously. So my question is HOW I can turn off, disable DJI OSD in my V2 Googles and keep only the ones from WTFOS. Both Air unit Vista and Goggles have been rooted accordingly, WTFOS INSTALLED. Package loaded into vista and Googles. All is working expect I see DJI OSD and WTF OSD (Betaflight) at same time with same indicators placed in goggles twice. H_E_L_P!!!!
Yes, you need to turn off Custom OSD in the Goggles, you know this, so what’s the issue exactly? I don’t quite get it.
Guys, is there any way how to record flight video to sd card in goggles with this WTF OSD?
Because when I record the flight now, the record contains only DJI OSD, not WTF OSD.
I got GPS onboard and its quite important to me have recorded GPS position if I will crash somewhere far away.
Thanks
Do I need to activate my DJI Goggles V2 before adding the FPV.WTF hack? I’m concerned that if I activate them, it will require a firmware upgrade before I can root…
I don’t think you have to upgrade the firmware during activation. I think after activation it will ask you if you want to update to the latest version, you just need to click Cancel or No. I could be wrong as I don’t have the V2 goggles, only the V1, but I just activated a brand new Vista last week and that’s what happened.
So are you saying if I do this mod it will work with my betaflight quads.. And also my inav planes?
.
Thanks for the great tutorial as usual. I was able to update everything and get the OSD working for all elements except the warnings. Which is pretty important. They simply don’t show up whereever I put the element in the screen.
I have warnings such as arming disables selected. Why wouldn’t it feed through the OSD? Is there another betaflight config I may be missing? Im getting all other OSD info like Bat V, RSSI, alt, etc.
Is there a full list of currently supported elements anywhere? I couldn’t find anything on the wiki.
Thanks
Warning should be working. On the right side panel in the OSD tab, under Warning, have you selected the type of warning to display there? Try enable Battery not full, then plug in an empty battery and see if you get battery < full warning?
I ended up figuring it out. Had custom osd turned on so it wasn’t using the wtfos osd and i didnt realize. That’s why some things were displaying and some not.
Thanks though!
just had this hack/mod and its the best thing that happen to google v1 and v2 since like forever. but do note, i had to revert back the autorecord button as it makes the goggle ui laggy and sometimes responsive and corrupted recording file. will have to do a test flight with this mod.
In my Case LQ is not displayed and shows RSSI LOW error
I did this and had my first ever black out mid flight. Day 1. Pisses me off!!
Broke an arm, motor and Hero 11…..
Paying $100 for ruined parts now and reverting back to stock.
How’d you go back to stock?
Thanks Oscar and Team FPV.WTF! This now makes the DJI System the best overall HD system for FPV today!
can the osd data be saved into an SRT file like before? wait, will goggle-side DVR even work anymore?
I am not able to display gps coordinates, speed and some other items. Some show and some others don’t. When I enable custom OSD then it shows the gps coords old style but shows some duplicate entries.
Any ideas ?
I have the same issue. Did you solve it?
I’m also having the same issue.
I had same issues on a iFlight Chimera 4. No items visible. After doing upgrade of Betaflight to latest version everything I configured for OSD is visible.
“Do you really need this?”
The answer is an absolute yes for me. Not necessarily because it gives me God Mode and lets me fly merely by changing where my eyes go in the goggles. But because the goggles are finally rootable and we can enjoy more custom firmwares that let us actually accomplish these (barely) useful things.
Rooted goggles make me happy. Because well, root.
#
Take care with the process and the temperature of the air unit and caddx vista.
Maybe you get an error while are getting the wtf software.
And try back, reset the Googles and getting crazy for something that works easely.
But really after 3 years, dou you need this? Take care and enjoy your life!!
Thanks for ever Oscar ;)