Using CLI Commands to Set Betaflight OSD Element Position (DJI and Analogue)

by Oscar
Published: Last Updated on

Every time you update Betaflight or setup a new quad, you have to re-configure the OSD, rearranging element positions, isn’t that annoying? Well, you can actually save your OSD config, and just copy and paste it in CLI. Works for both analogue and DJI FPV systems.

Just copy the below command lines in Betaflight CLI, and you won’t need to move the OSD elements around manually.

These are just my personal setups, you can make your own by moving the elements in the OSD preview window to the desire positions, and get the new values in CLI.

I am using these OSD elements in the following examples

  • Battery current draw (requires current sensor)
  • Battery current mAh drawn (requires current sensor)
  • Battery voltage
  • Craft name
  • Disarmed
  • Link Quality
  • RSSI dBm value
  • RSSI value
  • Throttle position
  • Timer 2
  • VTX Channel
  • Warnings

DJI OSD Layout (Simple)

set osd_warnings_pos = 2346
set osd_vbat_pos = 2438
set osd_rssi_pos = 2119
set osd_current_pos = 2483
set osd_mah_drawn_pos = 2470
set osd_disarmed_pos = 2284

Because the DJI FPV Goggles has such massive FOV, I prefer to have the elements closer to the centre so I can see them more easily.

DJI doesn’t support Link Quality, RSSI_dBm, Craft Name, Warnings, Throttle Position, and Timer yet.

How it looks in the DJI goggles:

DJI OSD Layout (Long Range with GPS)

set osd_vbat_pos = 2274
set osd_rssi_pos = 2518
set osd_flymode_pos = 2392
set osd_craft_name_pos = 2080
set osd_gps_speed_pos = 2360
set osd_gps_sats_pos = 2264
set osd_home_dir_pos = 2190
set osd_home_dist_pos = 2297
set osd_altitude_pos = 2326
set osd_avg_cell_voltage_pos = 2306
set osd_disarmed_pos = 2369

Analogue (PAL)

set osd_warnings_pos = 14634
set osd_vbat_pos = 2466
set osd_link_quality_pos = 2082
set osd_rssi_pos = 2114
set osd_rssi_dbm_pos = 2146
set osd_tim_2_pos = 2486
set osd_disarmed_pos = 2283
set osd_vtx_channel_pos = 2516
set osd_throttle_pos = 2475
set osd_craft_name_pos = 2088
set osd_current_pos = 2507
set osd_mah_drawn_pos = 2498

I use VTX channel for confirming channel in my receiver. Sometimes you can get signal even when you are on the wrong channel, but it’s not going to work reliably.

Time 2 is flight time, it only starts counting after you arm.

How it looks in the goggles (I forgot to put Current draw and mAh Drawn in the picture):

Analogue (NTSC)

set osd_warnings_pos = 14570
set osd_vbat_pos = 2370
set osd_link_quality_pos = 2082
set osd_rssi_pos = 2114
set osd_rssi_dbm_pos = 2146
set osd_tim_2_pos = 2390
set osd_current_pos = 2411
set osd_mah_drawn_pos = 2402
set osd_disarmed_pos = 2251
set osd_vtx_channel_pos = 2420
set osd_throttle_pos = 2380
set osd_craft_name_pos = 2088

Similar to the PAL version, but most of the elements have to be moved up the screen as the bottom is cut off in NTSC.

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.