DJI FPV Goggles Full Betaflight OSD Support (Overlay OSD in DVR)

by Oscar
Fpv Wtf Msp Osd Dji Fpv Goggles

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.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

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.

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

Go to the “Ports” tab, under “Peripherals”, select “VTX (MSP + Displayport)” for the UART to which the VTX is connected. The MSP option should automatically be selected, if not please enable MSP for that UART as well.

Betaflight 4.4 Configurator 10.9.0 Ports Msp Hd Osd Vtx Displayport Peripherals

Then apply the preset (just search for “OSD for Fpv.wtf, DJI O3, Avatar HD”). Once applied you can then skip ahead to configuring in the OSD tab.

Betaflight 4.4 Configurator Presets Osd For Fpv.wtf, Dji O3, Avatar Hd

The preset is the same as entering this command lines in CLI.

set osd_displayport_device = MSP
set vcd_video_system = HD
save

In OSD tab, select HD in video format.

Betaflight 4.4 Configurator 10.9.0 Hd Osd Video Format Bigger Canvas Support

Then 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 = 2499 
set osd_link_quality_pos = 2237 
set osd_rssi_dbm_pos = 2229 
set osd_tim_2_pos = 2563 
set osd_flymode_pos = 3596 
set osd_throttle_pos = 3532 
set osd_current_pos = 3563 
set osd_mah_drawn_pos = 2531 
set osd_craft_name_pos = 2083 
set osd_pilot_name_pos = 2115 
set osd_warnings_pos = 14677 
set osd_avg_cell_voltage_pos = 2520 
save

It looks something like this:

Fpv Wtf Msp Osd Dji Fpv Goggles

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.

Dji Fpv Goggles Root Custom Osd Bin Files Sd Card

You can download other fonts here: https://github.com/bri3d/msp-osd#choose-a-font

Here are some preview of the fonts:

Knifa Material

Dji Wtf Fpv Hd Osd Font Knifa Material

Sneaky Color Font (Conthrax)

Dji Wtf Fpv Hd Osd Font Color Sneaky Conthrax

Sneaky Color Font (Blinder)

Dji Wtf Fpv Hd Osd Font Color Sneaky Blinder

Sneaky Color Font (Sphere)

Dji Wtf Fpv Hd Osd Font Color Sneaky Sphere

Vicewize Italic Color Font

Dji Wtf Fpv Hd Osd Font Color Vicewize Italic

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.

Fpv Wtf Os Dji Fpv Goggles V1 V2 Osd Overlay Dvr 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).

Fpv Wtf Os Dji Fpv Goggles V1 V2 Osd Overlay Dvr Tool Upload Files Font

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.

To enable it, go to CLI on fpv.wtf: https://fpv.wtf/cli, and type the following (line by line, hit enter, then the next line)

package-config set msp-osd rec_pb_enabled true
package-config apply msp-osd

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 – updated instructions for BF4.4 (OSD canvas improvement)

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

73 comments

Richard Burrows 8th June 2024 - 5:01 am

Im only getting 2 .bin files!

Reply
Dario 28th February 2024 - 4:31 pm

Could you please provide information about what the reading (first image, at the top of the page) of 14.6V with an upward arrow represents? I have a feeling it’s the total battery voltage, but I’m not sure. Thanks in advance!

Reply
Hide 19th December 2023 - 6:53 am

Hi Oscar. Hands down, thanks for your excellent tutorial, as always! I suggest a minor point about the two CLI commands you posted in this article. You may like to point out that there is a carriage return (Ie. Enter key) that the user would have to hit to get the commands to work. If one fails to do so, they will be welcomed with an error message, “must specify package, key and value”.

package-config set msp-osd rec_enabled true
package-config apply msp-osd

package-config set msp-osd rec_pb_enabled true
package-config apply msp-osd

Reply
Biswndu 7th December 2023 - 11:38 pm

I have a v2 Google so can I see the GPS parameters of betaflight with o3

Reply
Roberto 7th November 2023 - 2:31 pm

Dear Oscar, i have the V2 goggles and i use it with a small 3,5″ with Caddx vtx, and on another 5″ with DJI O3. May i need to root my goggles anyway? My current firmware is the 01.04.0000, and betaflight is the 4.4.3 version. I have the osd but without data from gps and O3, i have just numbers and text empty

Reply
Oscar 7th November 2023 - 5:45 pm

You can use the V2 with both O3 and Vista, but i recall you might have to rebind each time you switch between these video transmitters. I haven’t followed up on the issue as I don’t have this setup anymore (I fly the Goggles 2 now).

Reply
TriMeX 14th April 2024 - 2:08 pm

you probably allready know by now.. but vista / airunit no need for rebind. as for 03.. Lets say you own 5.. rebinding 1 of em unlocks all 5 again ( so when you have one that is hard to reach.. no issue )

Reply
Dieter 26th September 2023 - 9:44 pm

I use both Arduplane and INAV. The on screen OSD works perfectly with both. However when I do the post processing overlay procedure, I get strange artifacts and some of the elements don’t show at all.

Reply
Oscar 28th September 2023 - 6:11 pm

Maybe you loaded the wrong font file for a different firmware? Copy the font files on your goggles. Try different ones if you are not sure.

Reply
mark quiroz 31st August 2023 - 5:09 pm

so I have the wtfos installed and my gps installed and everything set up correct, but for some reason the gps info doesn’t show up only flickers on the screen but never really stay on. is it something I did wrong or do you have any suggestions on what I should do?

Reply
Levan 23rd August 2023 - 10:58 am

Oscar,

Have you tried to use video steaming from Google to WideFPV (for example) with colourful osd fonts? Fonts in the googles change to default when you try to stream(

Reply
Dexter 30th July 2023 - 9:49 pm

Hey Oscar, followed the tutorial on Goggles V1 with Vista, in get an OSD waiting in the corner of the screen and nothing else is going on or updating from betaflight

Reply
Brandon 1st June 2023 - 2:22 pm

Hey oscar, love your content. I have tried to download the Color HD fonts and the default font shows up. i have tried on bf 4.2.9, 4.3.1, and on my kiss ultra those fonts actually are HD Color Fonts. But not Betaflight. any idea what is going on?

Reply
Oscar 1st June 2023 - 3:29 pm

you need to update BF to the latest version (4.4), then enable HD Canvas in the Video format option in the OSD tab.

Reply
babipsylon 8th May 2023 - 9:12 pm

Thanks!

Reply
Butcher 1st May 2023 - 8:34 pm

It seems the osd overlay feature is not working anymore, I asked the support on discord, I didn’t get any answer, I trued it on different computers and on different browser, no success :(

Reply
Andi 12th July 2023 - 4:00 pm

did you get it working again? im new into this, bf 4.4, nothing works with the osd..

Reply
Frank 26th April 2023 - 9:40 pm

Everything worked great! New fonts upload and show now better over backgrounds! Great tutorial Oscar.

One question – How do I remove the Vista Temp that is visibly on my Goggles OSD now on the right?

Reply
Oscar 26th April 2023 - 11:01 pm

its’ still there after you arm the quad?

Reply
Khairi 28th March 2023 - 6:27 am

Care to make howto tutorial on inav 6 with wtfos on dji goggle v1/v2 ?

Reply
krys 19th March 2023 - 4:49 am

so osd wont work on vista + goggles 2 unless you have the wtfos installed on both?

Reply
Oscar 21st March 2023 - 12:51 am

No, you don’t need WTFOS for this combo to work.

Reply
Finn R 31st December 2023 - 6:22 pm

can the fonts be changed using the same method on the goggles2?

Reply
Josh 18th March 2023 - 1:38 am

Had the OSD warnings working on one of my quads, then switched my o3 air unit onto a different frame with a different flight controller and its not working. Do I have to root everything again ? Could I be doing something wrong? Any help would be great.

Reply
Oscar 21st March 2023 - 12:14 am

You shouldn’t need to root the O3, it should work out of the box.
Make sure you are updated to the latest version in Betaflight, and you included “OSD (HD)” in the Build option when flashing your FC.

Reply
Wojt 14th March 2023 - 9:55 am

I got LQ 0:0 on my OSD and lq Warning all the times but quad flies fine, no failsafe etc. Anyone know how to put correct lq value?

Reply
Oscar 14th March 2023 - 12:27 pm

what receiver are you using?

Reply
Apache Wolf Wounded Sniper 8th March 2023 - 1:21 pm

Good day Oscar what’s up,
I got a question. I’m trying to get my osd working on my DJI vista its rooted but it’s on a serial poort and that one i snot on the preset tab. Any idea ho wi can make it work. I’m on serial 11.
Thanks and stay safe

Reply
Fernando 1st March 2023 - 6:02 pm

Hi Oscar, excellent tutorial. I’m commenting because it’s the only one of yours that I can’t get to work on a Foxeer F722v4 board. I bought two of these from five33 to build two Switchback HDs, and I have a Vista connected as shown in the board’s images. What I find interesting about your tutorial and other places is that everyone talks about the SBUS port (which goes to my RX1), but no one talks about what to do with the Vista’s TX and RX (which I have connected to UART5). Shouldn’t we configure the Rx of 5 in the Ports tab? (in my case). I also noticed that when I apply the preset, the font manager is no longer enabled. I tried connecting the drone first and then the USB without success. Thank you very much.

Reply
FAlk 28th February 2023 - 12:31 am

Hi Oscar,
many thanks for the useful and very up-to-date tips!!!!!

Reply
Ioakeim Sogiakas 27th February 2023 - 6:22 pm

Hey Oscar probably a stupid question but how can i find the defalut fonts?

Reply
Alan 21st February 2023 - 2:32 am

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.

How do you enable this?

Reply
Oscar 21st February 2023 - 11:10 am

i have added instruction, please check again.

Reply
Alan 24th February 2023 - 12:17 pm

Thanks Oscar! Done!

Reply
Stephane Philippe 20th February 2023 - 8:00 pm

Hy , i want with inav 6 on googles2 with caddx vista… is very difficult can you please HELP me?

Reply
Odino 18th February 2023 - 8:21 am

Hello Oscar and Thanks for your fantastic tutorials that teach everything and more: this hack/mod to have osd on dji goggle+vista can also work on my Fettec F7 FC+osd fettec board connected and if it is possible how should I connect the tx and rx wires of the caddx to the Fettec osd board/
F7 FC ?? Thanks and best regards
Odino

Reply
Oscar 18th February 2023 - 12:51 pm

Fettec uses Kiss firmware? I am not sure I don’t really use Kiss stuff, sorry.

Reply
Odino 19th February 2023 - 9:34 pm

yes, kiss firmware

Reply
Alan 18th February 2023 - 8:09 am

Hi Oscar, Thanks for your tutorials! Issue I am facing is when I attempt to render the OSD using the Knifa link oonline. The rendered video is of a very low quality blocky and almost unplayable. From the videos i see online the quality is almost a good as the goggle DVR quality. Is there any setting that I missed out resulting in a very low res video being churned out?

Reply
Roland 18th February 2023 - 1:41 am

Hello Oscar,

there is a change, which made me almost crazy to find out.
set displayport_msp_serial = X is no longer valid

it changed to this:
https://github.com/betaflight/betaflight/pull/11913

It is a PITA to get TBS Tracer LQ and RSSI to show up in wtf.osd . everything shows up in HD OSD, but not the part with 1:100. ok, i detail 1:100 shows up, but never changes.
i tried a custom build and went back to core, if this is maybe the problem.
i still try out some combinations. i got every detail running in osd, even those fonts are cool, osd recording everything, but not that 1:100 :-)

Reply
Oscar 18th February 2023 - 12:46 pm

Yea, you can just set it up in the ports tab then apply the preset that’s it you don’t need to enter CLI commands anymore.

Reply
Gabriel timm 9th February 2023 - 4:56 am

Good evening, I have a question regarding the O3 aerial unit, I installed the entire wtfos system, and I have the following question, I made the code in the rc_pb_enable cli, but I can’t get the osd in my recordings, both in the glasses and in the videos taken from the SD card ..I need the information from the osd because as a long range flight with gps, I end up not having the coordinates after a failsafe, and for the ling range this is paramount .what would be the solution, thank you very much…..

Reply
Iain C. 17th February 2023 - 6:03 am

Check github.com/fpv-wtf/msp-osd for : rec_pb_enabled (enable OSD playback if .msp file is stored alongside video.) Hope that helps!

Reply
Steve Conner 4th February 2023 - 2:55 am

I see waiting on OSD menu then disappears. Then nothing. no fonts. Please help. Cant find solution

Reply
Oscar 4th February 2023 - 7:27 pm

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.

Reply
rr 13th January 2023 - 1:43 am

how to enable “rec_pb_enabled” ?

Reply
Oscar 13th January 2023 - 9:57 am

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

Reply
JD Dupuy 9th January 2023 - 3:04 am

Unreal the information you provide. You just got me up and running. The setting in the googles fixed my issue. Thank you!

Reply
Lukasz 3rd January 2023 - 5:57 pm

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!!!!

Reply
Oscar 4th January 2023 - 6:53 am

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.

Reply
Pierre K 25th March 2023 - 8:26 am

Hi Oscar, I have the exact same problem, the “old” OSD overlapping with the HD OSD, one shifted with the other, and this doesn’t disappear by allowing custom osd on the goggles. I can’t see how to get rid of the old low resoluton OSD on the goggles (Betaflight 4.4, WTFOSD).

Reply
PierreK 26th March 2023 - 2:37 pm

Well, I think I have the problem solved! In my case at least, I need to have Custom OSD set to OFF AND I need to start the Goggles (DJI, V2) before the quad or else I still get either the old low resolution OSD (if custom OSD set to OfF) or both the low resolution OSD and the new high res one (if Custom OSD set to ON), but shifted on the screen. If I power the goggles first, wait for the Waiting for OSD prompt and then power the quad, I then get the beautiful high res OSD, well centered as set in Betaflight.

Reply
George 17th November 2022 - 5:46 pm

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

Reply
Jeff Burke 22nd October 2022 - 4:27 pm

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…

Reply
Oscar 22nd October 2022 - 5:00 pm

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.

Reply
Simon 23rd October 2022 - 6:23 pm

So are you saying if I do this mod it will work with my betaflight quads.. And also my inav planes?
.

Reply
Bryce 17th October 2022 - 4:50 am

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

Reply
Oscar 17th October 2022 - 11:57 am

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?

Reply
Bryce 18th October 2022 - 6:45 pm

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!

Reply
grabejud 9th October 2022 - 3:11 am

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.

Reply
Levan 6th October 2022 - 6:01 pm

In my Case LQ is not displayed and shows RSSI LOW error

Reply
Ender 5th October 2022 - 6:16 pm

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.

Reply
Dan 21st November 2022 - 7:55 am

How’d you go back to stock?

Reply
Frank 26th April 2023 - 11:00 pm

It’s always good to do a safety flight test when adding ANYTHING to a quadcopter. You don’t have to load your recording camera to do a test.

Reply
Bobby Baggs 5th October 2022 - 12:45 pm

Thanks Oscar and Team FPV.WTF! This now makes the DJI System the best overall HD system for FPV today!

Reply
daich 3rd October 2022 - 5:01 pm

can the osd data be saved into an SRT file like before? wait, will goggle-side DVR even work anymore?

Reply
Paulo 3rd October 2022 - 3:22 pm

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 ?

Reply
Magnus 8th October 2022 - 7:46 pm

I have the same issue. Did you solve it?

Reply
Duncan 20th October 2022 - 2:53 am

I’m also having the same issue.

Reply
Dirk 24th December 2022 - 7:37 pm

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.

Reply
Johan 21st February 2023 - 10:20 pm

Same problem here… Tmotor F7 HD and I see all items double. If someone knows a fix please tell!

Reply
ShaneG 2nd October 2022 - 10:12 pm

“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.
#

Reply
Gabyguay69 1st October 2022 - 8:28 pm

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 ;)

Reply