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.
| Setting | Type | Range or values | Default | 4.4 | 4.5 | 2025.12 | 2026.6 | Notes |
|---|---|---|---|---|---|---|---|---|
displayport_msp_col_adjust # |
int8 global |
-6 to 0 | 0needs USE_MSP_DISPLAYPORT |
✓ | ✓ | ✓ | ✓ | |
displayport_msp_fonts # |
uint8 global |
4 comma-separated values, 0 to 255 | 0,1,2,3needs USE_MSP_DISPLAYPORT |
✓ | Δ | ✓ | ✓ | 4.5: default 0,0,0,0 → 0,1,2,3 |
displayport_msp_row_adjust # |
int8 global |
-3 to 0 | 0needs USE_MSP_DISPLAYPORT |
✓ | ✓ | ✓ | ✓ | |
displayport_msp_use_device_blink # |
uint8 global |
OFF, ON | OFFneeds USE_MSP_DISPLAYPORT |
✓ | ✓ | ✓ | ✓ | |
osd_ah_invert # |
uint8 global |
OFF, ON | OFFneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_ah_max_pit # |
uint8 global |
0 to 90 | 20needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_ah_max_rol # |
uint8 global |
0 to 90 | 40needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_alt_alarm # |
uint16 global |
0 to 10000 | 100needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_arming_logo # |
uint8 global |
0 to 3 | 0needs USE_OSD |
— | — | ✓ | ✓ | |
osd_aux_channel # |
uint8 global |
1 to 18 | 1needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_aux_scale # |
uint16 global |
1 to 1000 | 200needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_aux_symbol # |
uint8 global |
0 to 255 | 65needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_camera_frame_height # |
uint8 global |
2 to 16 | set by the targetneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_camera_frame_width # |
uint8 global |
2 to 30 | set by the targetneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_cap_alarm # |
uint16 global |
0 to 20000 | 2200needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_craftname_msgs # |
uint8 global |
OFF, ON | OFFneeds USE_OSD, USE_CRAFTNAME_MSGS |
✓ | ✓ | ✓ | ✓ | |
osd_custom_serial_text_terminator # |
uint8 global |
NULL, LF | LFneeds USE_OSD, ENABLE_OSD_CUSTOM_TEXT |
— | — | — | ✓ | |
osd_displayport_device # |
uint8 global |
NONE, AUTO, MAX7456, MSP, FRSKYOSD, FBOSD | set by the targetneeds USE_OSD |
✓ | ✓ | ✓ | Δ | 2026.6: new values FBOSD |
osd_distance_alarm # |
uint16 global |
0 to 65535 | 0needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_esc_current_alarm # |
int16 global |
-1 to 32767 | -1needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_esc_rpm_alarm # |
int16 global |
-1 to 32767 | -1needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_esc_temp_alarm # |
uint8 global |
0 to 255 | 0needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_framerate_hz # |
uint16 global |
1 to 60 | 12needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_gps_sats_show_pdop #was osd_gps_sats_show_hdop |
uint8 global |
OFF, ON | OFFneeds 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_link_quality_alarm # |
uint16 global |
0 to 100 | 80needs USE_OSD, USE_RX_LINK_QUALITY_INFO |
✓ | ✓ | ✓ | ✓ | |
osd_logo_on_arming # |
uint8 global |
OFF, ON, FIRST_ARMING | OFFneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_logo_on_arming_duration # |
uint8 global |
5 to 50 | 5needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_menu_background # |
uint8 global |
TRANSPARENT, BLACK, GRAY, LIGHT_GRAY | TRANSPARENTneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_nav_map_centre # |
uint8 global |
0 to 1 | 0needs USE_OSD, USE_OSD_NAV_MAP |
— | — | — | ✓ | |
osd_nav_map_min_scale_m # |
uint16 global |
20 to 5000 | 150needs USE_OSD, USE_OSD_NAV_MAP |
— | — | — | ✓ | |
osd_nav_map_mode # |
uint8 global |
0 to 1 | 0needs USE_OSD, USE_OSD_NAV_MAP |
— | — | — | ✓ | |
osd_profile # |
uint8 global |
1 to 3 | 1needs 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,-1needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_rsnr_alarm # |
int16 global |
-30 to 20 | 4needs USE_OSD, USE_RX_RSNR |
✓ | ✓ | ✓ | ✓ | |
osd_rssi_alarm # |
uint8 global |
0 to 100 | 20needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_rssi_dbm_alarm # |
int16 global |
-130 to 0 | -60needs USE_OSD, USE_RX_RSSI_DBM |
✓ | ✓ | ✓ | ✓ | |
osd_show_spec_prearm # |
uint8 global |
OFF, ON | set by the targetneeds USE_OSD, USE_SPEC_PREARM_SCREEN |
— | ✓ | ✓ | ✓ | |
osd_stat_avg_cell_value # |
uint8 global |
OFF, ON | OFFneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_stat_bitmask # |
uint32 global |
0 to 4294967295 | 1879062316needs USE_OSD |
✓ | Δ | ✓ | ✓ | 4.5: default 14124 → 1879062316 |
osd_stick_overlay_radio_mode # |
uint8 global |
1 to 4 | 2needs USE_OSD, USE_OSD_STICK_OVERLAY |
✓ | ✓ | ✓ | ✓ | |
osd_tim1 # |
uint16 global |
0 to 32767 | 2560needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_tim2 # |
uint16 global |
0 to 32767 | 2561needs USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_units # |
uint8 global |
IMPERIAL, METRIC, BRITISH | METRICneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
osd_use_quick_menu # |
uint8 global |
OFF, ON | ONneeds USE_OSD, USE_OSD_QUICK_MENU |
— | ✓ | ✓ | ✓ | |
osd_warn_bitmask # |
uint32 global |
0 to 4294967295 | set by the targetneeds USE_OSD |
✓ | ✓ | ✓ | ✓ | |
vcd_video_system # |
uint8 global |
AUTO, PAL, NTSC, HD | set by the targetneeds 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
- Gyro and D-term filters (27)
- PID tuning (73)
- Angle, horizon and launch modes (20)
- Rates and throttle curve (25)
- Motors and ESC (23)
- Receiver and RC link (32)
- Failsafe and arming (14)
- GPS (14)
- GPS rescue (12)
- Autopilot, position and altitude hold (66)
- Battery and current sensor (28)
- OSD element positions (90)
- VTX and camera control (12)
- Blackbox and debug (20)
- Telemetry and serial (44)
- LED strip and beeper (12)
- Sensors and board alignment (35)
- System and hardware (25)
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.