INAV OSD Display Features
About 3 minINAVINAVOSD屏幕显示MAX7456MSP DisplayPort数字图传模拟图传
I. Introduction
OSD (On-Screen Display) is a feature that overlays flight data onto the real-time video image, helping pilots view key information in real-time during flight (such as voltage, altitude, heading, RSSI, GPS, etc.).
✅ Two common implementation methods:
1. Analog System OSD (using MAX7456 chip)
- Directly overlays OSD data onto the analog video stream through a hardware chip (like MAX7456) on the flight controller.
- All display content is overlaid as characters (fonts), such as battery voltage, flight mode, GPS status, etc.
2. Digital System OSD (using MSP DisplayPort protocol) - The flight controller sends OSD data to the video transmission system (such as DJI, HDZero, Walksnail, etc.) via the MSP DisplayPort protocol.
- The video transmission system synthesizes this information with the digital video image and displays it on the flight screen.
II. Features and Limitations
Not all OSD systems have the same functionality. The table below shows the differences between various mainstream OSD systems.
| OSD System | Character Grid Size | Character Display Support | Canvas Graphics Support | MSP DisplayPort Support | Full Element Support |
|---|---|---|---|---|---|
| Analog PAL | 30 x 16 | ✅ Yes | ❌ No | ✅ Yes | ✅ Yes |
| Analog NTSC | 30 x 13 | ✅ Yes | ❌ No | ✅ Yes | ✅ Yes |
| PixelOSD | Same as PAL or NTSC | ❌ No | ✅ Yes | ❌ No | ✅ Yes |
| DJI Native OSD | 30 x 16 | ✅ Yes | ❌ No | ✅ Yes (partial support only) | ❌ No (only supports BF default characters) |
| DJI WTFOS (modified) | 60 x 22 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| HDZero | 50 x 18 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Avatar (Walksnail) | 53 x 20 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| DJI O3 + WTFOS | 53 x 20 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| DJI Goggles 2 and newer models | 53 x 20 (HD) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes (but does not support custom fonts) |
III. Post Flight Statistics
Post Flight Statistics are built into the flight controller firmware to display summary data of the current flight via OSD after landing or power-off.
Displayed Statistics
| Statistic | Requirement | Page | |
|---|---|---|---|
| Flight Time | 1 | Total time from arming to disarming. | |
| Flight Distance | 1 | ||
| Maximum Distance From Home | GPS | 1 | |
| Maximum Speed | GPS | 1 | |
| Average Speed | GPS | 1 | |
| Maximum Altitude | Barometer/GPS | 1 | |
| Minimum Average Cell Voltage | 1 | ||
| Minimum Pack Voltage | 1 | ||
| Maximum Current | Current Sensor | 1 | |
| Maximum Power | Current Sensor | 1 | |
| Energy Used (Flight) | Current Sensor | 1 | |
| Energy Used (Battery Total) | Current Sensor | 1 | This data is not reset on arming. |
| Average Efficiency | Current Sensor & GPS | 1 | |
| Minimum RSSI | 2 | ||
| Minimum LQ | CRSF | 2 | |
| Minimum dBm | CRSF | 2 | |
| Minimum Satellites | GPS | 2 | |
| Maximum Satellites | GPS | 2 | |
| Minimum ESC Temperature | ESC Telemetry | 2 | |
| Maximum ESC Temperature | ESC Telemetry | 2 | |
| Maximum G-Force | 2 | ||
| Minimum Z axis G-Force | 2 | ||
| Maximum Z axis G-Force | 2 | ||
| Blackbox file number | Blackbox recording | 2 | |
| Disarm method | 1 & 2 | ||
| Settings save status | 1 & 2 | Displays a message if settings are being saved or have been saved on disarm. | |
| INAV provides some parameters to customize the statistics pages displayed on the OSD after flight. |
Important
osd_stats_page_auto_swap_time
- Function: Sets the display time for each statistics page (unit: seconds)
- Description: If set to 0, automatic switching is disabled, and you need to manually switch pages using the roll channel on the RC transmitter. Otherwise, the system will automatically cycle through pages at the interval set by this parameter.
Important
osd_stats_energy_unit
- Function: Selects the unit for "energy consumption" in the OSD
- Options: MAH: milliampere-hours (default) WH: watt-hours
Important
osd_stats_show_metric_efficiency
- Function: Whether to display efficiency values in metric units (such as km/Wh) when using non-metric units (like imperial) for flight data.
- When enabled: Efficiency values will be displayed in metric units simultaneously, suitable for international users or pilots who need reference to standard units.
IV. OSD Elements Provided by INAV
| Number | Element | Added | Notes |
|---|---|---|---|
| 0 | OSD_RSSI_VALUE | 1.0.0 | |
| 1 | OSD_MAIN_BATT_VOLTAGE | 1.0.0 | |
| 2 | OSD_CROSSHAIRS | 1.0.0 | |
| 3 | OSD_ARTIFICIAL_HORIZON | 1.0.0 | |
| 4 | OSD_HORIZON_SIDEBARS | 1.0.0 | |
| 5 | OSD_ONTIME | 1.0.0 | |
| 6 | OSD_FLYTIME | 1.0.0 | |
| 7 | OSD_FLYMODE | 1.0.0 | |
| 8 | OSD_CRAFT_NAME | 1.0.0 | |
| 9 | OSD_THROTTLE_POS | 1.0.0 | |
| 10 | OSD_VTX_CHANNEL | 1.0.0 | |
| 11 | OSD_CURRENT_DRAW | 1.0.0 | |
| 12 | OSD_MAH_DRAWN | 1.0.0 | |
| 13 | OSD_GPS_SPEED | 1.0.0 | |
| 14 | OSD_GPS_SATS | 1.0.0 | |
| 15 | OSD_ALTITUDE | 1.0.0 | |
| 16 | OSD_ROLL_PIDS | 1.6.0 | |
| 17 | OSD_PITCH_PIDS | 1.6.0 | |
| 18 | OSD_YAW_PIDS | 1.6.0 | |
| 19 | OSD_POWER | 1.6.0 | |
| 20 | OSD_GPS_LON | 1.6.0 | |
| 21 | OSD_GPS_LAT | 1.6.0 | |
| 22 | OSD_HOME_DIR | 1.6.0 | |
| 23 | OSD_HOME_DIST | 1.6.0 | |
| 24 | OSD_HEADING | 1.6.0 | |
| 25 | OSD_VARIO | 1.6.0 | |
| 26 | OSD_VARIO_NUM | 1.6.0 | |
| 27 | OSD_AIR_SPEED | 1.7.3 | |
| 28 | OSD_ONTIME_FLYTIME | 1.8.0 | |
| 29 | OSD_RTC_TIME | 1.8.0 | |
| 30 | OSD_MESSAGES | 1.8.0 | |
| 31 | OSD_GPS_HDOP | 1.8.0 | |
| 32 | OSD_MAIN_BATT_CELL_VOLTAGE | 1.8.0 | |
| 33 | OSD_SCALED_THROTTLE_POS | 1.8.0 | |
| 34 | OSD_HEADING_GRAPH | 1.8.0 | |
| 35 | OSD_EFFICIENCY_MAH_PER_KM | 1.9.0 | |
| 36 | OSD_WH_DRAWN | 1.9.0 | |
| 37 | OSD_BATTERY_REMAINING_CAPACITY | 1.9.0 | |
| 38 | OSD_BATTERY_REMAINING_PERCENT | 1.9.0 | |
| 39 | OSD_EFFICIENCY_WH_PER_KM | 1.9.0 | |
| 40 | OSD_TRIP_DIST | 1.9.1 | |
| 41 | OSD_ATTITUDE_PITCH | 2.0.0 | |
| 42 | OSD_ATTITUDE_ROLL | 2.0.0 | |
| 43 | OSD_MAP_NORTH | 2.0.0 | |
| 44 | OSD_MAP_TAKEOFF | 2.0.0 | |
| 45 | OSD_RADAR | 2.0.0 | |
| 46 | OSD_WIND_SPEED_HORIZONTAL | 2.0.0 | |
| 47 | OSD_WIND_SPEED_VERTICAL | 2.0.0 | |
| 48 | OSD_REMAINING_FLIGHT_TIME_BEFORE_RTH | 2.0.0 | |
| 49 | OSD_REMAINING_DISTANCE_BEFORE_RTH | 2.0.0 | |
| 50 | OSD_HOME_HEADING_ERROR | 2.0.0 | |
| 51 | OSD_COURSE_HOLD_ERROR | 2.0.0 | |
| 52 | OSD_COURSE_HOLD_ADJUSTMENT | 2.0.0 | |
| 53 | OSD_SAG_COMPENSATED_MAIN_BATT_VOLTAGE | 2.0.0 | |
| 54 | OSD_MAIN_BATT_SAG_COMPENSATED_CELL_VOLTAGE | 2.0.0 | |
| 55 | OSD_POWER_SUPPLY_IMPEDANCE | 2.0.0 | |
| 56 | OSD_LEVEL_PIDS | 2.0.0 | |
| 57 | OSD_POS_XY_PIDS | 2.0.0 | |
| 58 | OSD_POS_Z_PIDS | 2.0.0 | |
| 59 | OSD_VEL_XY_PIDS | 2.0.0 | |
| 60 | OSD_VEL_Z_PIDS | 2.0.0 | |
| 61 | OSD_HEADING_P | 2.0.0 | |
| 62 | OSD_BOARD_ALIGN_ROLL | 2.0.0 | |
| 63 | OSD_BOARD_ALIGN_PITCH | 2.0.0 | |
| 64 | OSD_RC_EXPO | 2.0.0 | |
| 65 | OSD_RC_YAW_EXPO | 2.0.0 | |
| 66 | OSD_THROTTLE_EXPO | 2.0.0 | |
| 67 | OSD_PITCH_RATE | 2.0.0 | |
| 68 | OSD_ROLL_RATE | 2.0.0 | |
| 69 | OSD_YAW_RATE | 2.0.0 | |
| 70 | OSD_MANUAL_RC_EXPO | 2.0.0 | |
| 71 | OSD_MANUAL_RC_YAW_EXPO | 2.0.0 | |
| 72 | OSD_MANUAL_PITCH_RATE | 2.0.0 | |
| 73 | OSD_MANUAL_ROLL_RATE | 2.0.0 | |
| 74 | OSD_MANUAL_YAW_RATE | 2.0.0 | |
| 75 | OSD_NAV_FW_CRUISE_THR | 2.0.0 | |
| 76 | OSD_NAV_FW_PITCH2THR | 2.0.0 | |
| 77 | OSD_FW_MIN_THROTTLE_DOWN_PITCH_ANGLE | 2.0.0 | |
| 78 | OSD_DEBUG | 2.0.0 | |
| 79 | OSD_FW_ALT_PID_OUTPUTS | 2.0.0 | |
| 80 | OSD_FW_POS_PID_OUTPUTS | 2.0.0 | |
| 81 | OSD_MC_VEL_X_PID_OUTPUTS | 2.0.0 | |
| 82 | OSD_MC_VEL_Y_PID_OUTPUTS | 2.0.0 | |
| 83 | OSD_MC_VEL_Z_PID_OUTPUTS | 2.0.0 | |
| 84 | OSD_MC_POS_XYZ_P_OUTPUTS | 2.0.0 | |
| 85 | OSD_3D_SPEED | 2.1.0 | |
| 86 | OSD_IMU_TEMPERATURE | 2.1.0 | |
| 87 | OSD_BARO_TEMPERATURE | 2.1.0 | |
| 88 | OSD_TEMP_SENSOR_0_TEMPERATURE | 2.1.0 | |
| 89 | OSD_TEMP_SENSOR_1_TEMPERATURE | 2.1.0 | |
| 90 | OSD_TEMP_SENSOR_2_TEMPERATURE | 2.1.0 | |
| 91 | OSD_TEMP_SENSOR_3_TEMPERATURE | 2.1.0 | |
| 92 | OSD_TEMP_SENSOR_4_TEMPERATURE | 2.1.0 | |
| 93 | OSD_TEMP_SENSOR_5_TEMPERATURE | 2.1.0 | |
| 94 | OSD_TEMP_SENSOR_6_TEMPERATURE | 2.1.0 | |
| 95 | OSD_TEMP_SENSOR_7_TEMPERATURE | 2.1.0 | |
| 96 | OSD_ALTITUDE_MSL | 2.1.0 | |
| 97 | OSD_PLUS |