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 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 ( 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, DJI O3, Avatar HD”). Once applied you can then skip ahead to configuring in the OSD tab.

Betaflight 4.4 Configurator Presets Osd For, 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

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 

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:

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:


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

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:

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, 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.


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!

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

Biswndu 7th December 2023 - 11:38 pm

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

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

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

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 )

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.

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.

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?

Levan 23rd August 2023 - 10:58 am


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(

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

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?

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.

babipsylon 8th May 2023 - 9:12 pm


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 :(

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

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?

Oscar 26th April 2023 - 11:01 pm

its’ still there after you arm the quad?

Khairi 28th March 2023 - 6:27 am

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

krys 19th March 2023 - 4:49 am

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

Oscar 21st March 2023 - 12:51 am

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

Finn R 31st December 2023 - 6:22 pm

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

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.

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.

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?

Oscar 14th March 2023 - 12:27 pm

what receiver are you using?

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

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.

FAlk 28th February 2023 - 12:31 am

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

Ioakeim Sogiakas 27th February 2023 - 6:22 pm

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

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?

Oscar 21st February 2023 - 11:10 am

i have added instruction, please check again.

Alan 24th February 2023 - 12:17 pm

Thanks Oscar! Done!

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?

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

Oscar 18th February 2023 - 12:51 pm

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

Odino 19th February 2023 - 9:34 pm

yes, kiss firmware

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?

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:

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

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.

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…..

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

Check for : rec_pb_enabled (enable OSD playback if .msp file is stored alongside video.) Hope that helps!

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

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.

rr 13th January 2023 - 1:43 am

how to enable “rec_pb_enabled” ?

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

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!

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)

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

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.

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

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.

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.

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…

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.

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?

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.


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?

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!

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.

Levan 6th October 2022 - 6:01 pm

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

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.

Dan 21st November 2022 - 7:55 am

How’d you go back to stock?

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.

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!

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?

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 ?

Magnus 8th October 2022 - 7:46 pm

I have the same issue. Did you solve it?

Duncan 20th October 2022 - 2:53 am

I’m also having the same issue.

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.

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!

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.

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