Conceptual FPV OSD layers connecting a camera image, flight data and a viewing screen.

FPV OSD is an on-screen display that places information over a first-person-view camera image. The camera supplies the scene; a flight controller, camera or separate device supplies and renders the information. Battery voltage, timers and signal indicators can therefore share one screen while coming from different parts of the system.

That distinction matters when something looks wrong. A clear picture with a missing voltage value is a different problem from a picture that disappears altogether. To understand either, follow the data and the video as separate paths until they meet.

FPV OSD has a data source and a drawing stage

An overlay has three jobs behind it: obtaining a value, deciding what to display, and drawing the result. Those jobs may live on the same board, but they are still different jobs.

A flight controller can collect readings from onboard circuitry and connected devices, combine them with software state, and prepare an OSD layout. An analog OSD circuit then inserts characters into the camera signal. The video transmitter, or VTX, carries that combined picture to a video receiver, or VRX, which feeds a display.

The Analog Devices MAX7456 description provides a useful hardware example: it is a character-based OSD generator with a serial interface and support for PAL and NTSC video. It is a drawing component, not a GPS receiver or battery sensor. Other designs use different chips or rendering methods, so the exact board documentation still matters.

For any number on your screen, ask two questions: which device knows this value, and which device draws it? A label alone cannot answer either.

Two paths meet at the overlay
DATA PATH
  1. SourcesSensors · receiver · timer
  2. Flight controllerSelects values and layout
  3. OSD rendererDraws the information
ANALOG VIDEO PATH
  1. CameraCreates the scene
  2. Overlay stageAdds the characters
  3. VTX → VRX → DisplayCarries and shows the picture
Conceptual flight-controller-based analog arrangement. Camera OSD and digital DisplayPort use different paths; this is not a wiring diagram.

Where common on-screen values come from

A useful source map separates measured values, calculated values and software state. The following are common arrangements, rather than a universal specification for every flight controller.

Screen element

Typical source

What to establish

Battery voltage

A voltage-sensing input or reported battery data

Which battery or supply is being measured

Current or consumed capacity

Current sensing or supported telemetry; capacity may be accumulated from current over time

Whether the source exists and is configured correctly

GPS ground speed or satellite count

A connected GPS receiver and flight-controller processing

Whether the receiver has valid data

Flight timer

Firmware timing logic

Which event starts or stops the timer

RSSI or link quality

Data from the relevant receiver/link

Whether the indicator describes the control link or the video link

The ArduPilot OSD panel reference explicitly distinguishes items such as primary battery voltage, GPS satellites and RC received signal strength. That last label is easy to overlook: a healthy control-link reading does not establish that the separate video link is healthy.

A displayed number also does not prove that its source is calibrated or that it is the quantity you intended to monitor. Treat the source definition as part of the display configuration.

Analog video and DisplayPort place the overlay differently

In a conventional flight-controller-based analog arrangement, the camera's video passes through the overlay hardware before it reaches the VTX. The characters become part of the video signal. A compatible downstream receiver and display can show them without independently reconstructing the original sensor values.

Digital OSD can use a different route. With a supported MSP DisplayPort arrangement, the flight controller sends display instructions to the digital video system, which renders the overlay through its supported implementation. The layout and available elements depend on the firmware and receiving system.

The official Betaflight OSD Tab documentation covers both analog MAX7456-based devices and digital systems that accept MSP DisplayPort. It also documents PAL, NTSC and HD layout modes. An OSD tab is therefore not evidence that a board includes analog video-overlay hardware.

This is an architectural distinction, not a pinout. Before connecting hardware, use the documentation for the exact board revision and firmware. A connector that carries control commands is not automatically the same path that carries the camera image.

Camera OSD and flight-controller OSD can coexist

Some cameras generate their own menus or overlays. For example, the official RunCam Racer 5 manual describes camera OSD items including pilot identification, a timer and pitch information, alongside its built-in gyro. Those features belong to that camera; they are not proof of what another camera supports.

This explains why changing a flight-controller layout may leave some characters untouched. A camera-generated item may already be present in the picture before the flight controller adds its own overlay. A goggle menu can add yet another visible layer at the receiving end.

Identify the owner of the item before changing a setting. If two timers disagree, first check whether they come from different devices or start events. If two voltage readings differ, establish their measurement points before assuming that one display is defective.

Read the symptom before changing a setting

The source map gives you a way to narrow a question without trying unrelated fixes.

  • Camera image present, flight-controller overlay absent: inspect the intended rendering path and whether that path is supported and enabled. The working picture does not prove the overlay stage is in use.
  • Overlay present, one value missing or implausible: inspect that value's source, availability, units and configuration. Drawing other characters successfully does not validate every sensor input.
  • Readable values cut off at the edge: inspect the layout against the actual video mode and display area.
  • Wrong symbols or corrupted characters: inspect the font and renderer configuration for the installed firmware. Betaflight's documentation specifically identifies font upload as a possible remedy for incorrect glyphs.

These observations identify the layer to investigate; they do not establish a single cause. A firmware-specific troubleshooting procedure should come from the documentation for the hardware in front of you.

Start with a source map for your setup

Before your next FPV OSD setup change, record the few elements you actually need. For each, write down its data source, renderer, unit and expected behavior. Keep the camera, flight controller and display model names beside that record.

You will then be able to ask a precise support question: “The flight-controller timer is visible, but this battery reading has no valid source,” rather than “the OSD is broken.” That distinction makes both documentation searches and hardware discussions more useful.

To follow what happens after the picture is assembled, read about analog FPV latency from camera to display.