Betaflight OSD: CLI settings

OSD units, warnings, alarms, stats and the display port settings for analog (MAX7456) and digital (MSP DisplayPort) video.

49 settings in Betaflight 2026.6. Each range and value list is read from the firmware's settings.c, each default from the CLI get of the release built for the simulator (no board config applied), so a board's own config can still change it. Set one with set name = value, then save. Paste a diff all into the CLI checker to test it against any release.

SettingTypeRange or valuesDefault 4.44.52025.122026.6Notes
displayport_msp_col_adjust # int8
global
-6 to 0 0
needs USE_MSP_DISPLAYPORT
✓✓✓✓
displayport_msp_fonts # uint8
global
4 comma-separated values, 0 to 255 0,1,2,3
needs USE_MSP_DISPLAYPORT
✓Δ✓✓ 4.5: default 0,0,0,0 → 0,1,2,3
displayport_msp_row_adjust # int8
global
-3 to 0 0
needs USE_MSP_DISPLAYPORT
✓✓✓✓
osd_ah_invert # uint8
global
OFF, ON OFF
needs USE_OSD
✓✓✓✓
osd_ah_max_pit # uint8
global
0 to 90 20
needs USE_OSD
✓✓✓✓
osd_ah_max_rol # uint8
global
0 to 90 40
needs USE_OSD
✓✓✓✓
osd_alt_alarm # uint16
global
0 to 10000 100
needs USE_OSD
✓✓✓✓
osd_aux_channel # uint8
global
1 to 18 1
needs USE_OSD
✓✓✓✓
osd_aux_scale # uint16
global
1 to 1000 200
needs USE_OSD
✓✓✓✓
osd_aux_symbol # uint8
global
0 to 255 65
needs USE_OSD
✓✓✓✓
osd_camera_frame_height # uint8
global
2 to 16 set by the target
needs USE_OSD
✓✓✓✓
osd_camera_frame_width # uint8
global
2 to 30 set by the target
needs USE_OSD
✓✓✓✓
osd_cap_alarm # uint16
global
0 to 20000 2200
needs USE_OSD
✓✓✓✓
osd_craftname_msgs # uint8
global
OFF, ON OFF
needs USE_OSD, USE_CRAFTNAME_MSGS
✓✓✓✓
osd_custom_serial_text_terminator # uint8
global
NULL, LF LF
needs USE_OSD, ENABLE_OSD_CUSTOM_TEXT
———✓
osd_displayport_device # uint8
global
NONE, AUTO, MAX7456, MSP, FRSKYOSD, FBOSD set by the target
needs USE_OSD
✓✓✓Δ 2026.6: new values FBOSD
osd_distance_alarm # uint16
global
0 to 65535 0
needs USE_OSD
✓✓✓✓
osd_esc_current_alarm # int16
global
-1 to 32767 -1
needs USE_OSD
✓✓✓✓
osd_esc_rpm_alarm # int16
global
-1 to 32767 -1
needs USE_OSD
✓✓✓✓
osd_esc_temp_alarm # uint8
global
0 to 255 0
needs USE_OSD
✓✓✓✓
osd_framerate_hz # uint16
global
1 to 60 12
needs USE_OSD
✓✓✓✓
osd_gps_sats_show_pdop #
was osd_gps_sats_show_hdop
uint8
global
OFF, ON OFF
needs USE_OSD
✓Δ✓✓ Renamed from osd_gps_sats_show_hdop in 4.5. 4.5 shows PDOP instead of HDOP, so the value shown reads higher than in 4.4. source
osd_logo_on_arming # uint8
global
OFF, ON, FIRST_ARMING OFF
needs USE_OSD
✓✓✓✓
osd_logo_on_arming_duration # uint8
global
5 to 50 5
needs USE_OSD
✓✓✓✓
osd_menu_background # uint8
global
TRANSPARENT, BLACK, GRAY, LIGHT_GRAY TRANSPARENT
needs USE_OSD
✓✓✓✓
osd_nav_map_centre # uint8
global
0 to 1 0
needs USE_OSD, USE_OSD_NAV_MAP
———✓
osd_nav_map_min_scale_m # uint16
global
20 to 5000 150
needs USE_OSD, USE_OSD_NAV_MAP
———✓
osd_nav_map_mode # uint8
global
0 to 1 0
needs USE_OSD, USE_OSD_NAV_MAP
———✓
osd_profile # uint8
global
1 to 3 1
needs USE_OSD, USE_OSD_PROFILES
✓✓✓✓
osd_profile_1_name # uint8
global
text, 1 to 16 characters - (empty)
needs USE_OSD, USE_OSD_PROFILES
✓✓✓✓
osd_profile_2_name # uint8
global
text, 1 to 16 characters - (empty)
needs USE_OSD, USE_OSD_PROFILES
✓✓✓✓
osd_profile_3_name # uint8
global
text, 1 to 16 characters - (empty)
needs USE_OSD, USE_OSD_PROFILES
✓✓✓✓
osd_rcchannels # int8
global
4 comma-separated values, -128 to 127 -1,-1,-1,-1
needs USE_OSD
✓✓✓✓
osd_rsnr_alarm # int16
global
-30 to 20 4
needs USE_OSD, USE_RX_RSNR
✓✓✓✓
osd_rssi_alarm # uint8
global
0 to 100 20
needs USE_OSD
✓✓✓✓
osd_rssi_dbm_alarm # int16
global
-130 to 0 -60
needs USE_OSD, USE_RX_RSSI_DBM
✓✓✓✓
osd_show_spec_prearm # uint8
global
OFF, ON set by the target
needs USE_OSD, USE_SPEC_PREARM_SCREEN
—✓✓✓
osd_stat_avg_cell_value # uint8
global
OFF, ON OFF
needs USE_OSD
✓✓✓✓
osd_stat_bitmask # uint32
global
0 to 4294967295 1879062316
needs USE_OSD
✓Δ✓✓ 4.5: default 14124 → 1879062316
osd_stick_overlay_radio_mode # uint8
global
1 to 4 2
needs USE_OSD, USE_OSD_STICK_OVERLAY
✓✓✓✓
osd_tim1 # uint16
global
0 to 32767 2560
needs USE_OSD
✓✓✓✓
osd_tim2 # uint16
global
0 to 32767 2561
needs USE_OSD
✓✓✓✓
osd_units # uint8
global
IMPERIAL, METRIC, BRITISH METRIC
needs USE_OSD
✓✓✓✓
osd_use_quick_menu # uint8
global
OFF, ON ON
needs USE_OSD, USE_OSD_QUICK_MENU
—✓✓✓
osd_warn_bitmask # uint32
global
0 to 4294967295 set by the target
needs USE_OSD
✓✓✓✓
vcd_video_system # uint8
global
AUTO, PAL, NTSC, HD set by the target
needs USE_VIDEO_SYSTEM
✓✓✓✓

✓ present, Δ changed in that release (hover for what changed), — not in that release. “needs USE_…” is the build option the setting is compiled with: a cloud build without it has no such setting.

Also in this section

These settings exist in 2026.6, but their default depends on build options the simulator build does not compile (DShot, RPM filter, board drivers), so it is not printed here rather than guessed: displayport_max7456_blk, displayport_max7456_col_adjust, displayport_max7456_inv, displayport_max7456_row_adjust, displayport_max7456_wht, max7456_clock, max7456_preinit_opu, max7456_spi_bus, osd_canvas_height, osd_canvas_width, osd_core_temp_alarm, vcd_h_offset, vcd_v_offset.

Other sections

What changed between releases: 4.4 → 4.5 · 4.5 → 2025.12 · 2025.12 → 2026.6. Machine-readable: params.json (2026.6.2), GPL-3.0 like the firmware it comes from.