GitHub
hx-esp32-cam-fpv air unit

An open-source digital FPV link that fits on a bare ESP32-CAM. Low-latency video, MAVLink telemetry & RC, and a DisplayPort OSD — built for the price of cheap analog gear.

hx-esp32
cam-fpv
90–110ms latency up to 2km range 1280x720* 30 / 50 fps
What you get

A full digital FPV stack, end to end.

Low-latency video link

Frames are transmitted in real time as they are read from the camera sensor, using Wi-Fi packet injection — no waiting for the full frame to arrive first.

640×360 · 800×456 · 1024×576 · 1280x720

MAVLink telemetry & RC

Bidirectional, FEC-encoded serial link carries MAVLink 2 telemetry downlink and RC_CHANNELS_OVERRIDE uplink for full control.

MAVLink 1 / 2 · MSP RC translation

DisplayPort MSP OSD

Render INAV / Betaflight / Ardupilot OSD at 115200 with selectable fonts — your whole HUD, drawn on the ground station.

MSP DisplayPort · MSP RC

Dual recording

Record to SD on both the air unit and ground station simultaneously — identical quality, no recompression.

.avi on air + ground

Forward error correction

FEC 6/12 by default doubles bandwidth so any 6 of 12 packets can drop and the frame still recovers — no acknowledgements, no retransmits.

k=6 n=12

Adaptive compression

Per-frame JPEG quality is tuned in real time to the available bandwidth, SD write speed and Wi-Fi queue — the key to a usable stream.

2-12MB · bandwidth-aware
Two boards, one flight

A tiny air unit. A ground station that listens for kilometers.

XIAO ESP32-S3 Sense air unit with OV5640 camera
VTX · Air unit

XIAO ESP32-S3 Sense + OV5640

Compact, under 300mA, with the best image quality and 720p HQ DVR. The recommended build.

Radxa Zero 3W ground station with dual Wi-Fi cards
VRX · Ground station

Radxa Zero 3W, dual diversity

Who is this for?

Built for DIY enthusiasts.

This project is for DIY enthusiasts who want to build an FPV system for their own vehicles — RC planes, drones, RC cars and RC boats. This is for people who are experienced in electronics, soldering and embedded programming.

RC Planes Drones RC Cars RC Boats
ESP32-S3 Sense pinout diagram

Pros and cons

Honest expectations

What you gain vs analog
  • Clean digital image, no analog interference
  • Simultaneous recording on air unit and ground
  • Digital OSD with MAVLink telemetry & RC
  • Tiny, low-power air unit (<300mA @ 5V)
  • Reuses OpenIPC / RubyFPV ground-station hardware
Honest drawbacks
  • Blocky JPEG compression artifacts
  • No wide dynamic range, distorted colors
  • Poor low-light performance (especially OV2640)
  • Occasional dropped frames on busy channels
  • Outclassed by all commercial digital FPV systems

Ready to fly

Pick your boards. Flash. Fly.

Head to the GitHub repository to explore the project, or go straight to the downloads page to grab the firmware — or flash it online.


Downloads

Latest release · v0.6.4

Everything you need to get flying — ground-station images, companion apps, and air-unit firmware you can flash straight from the browser or download as binaries.

Ground stations & apps

Images and companion apps

Air unit firmware

Firmware by board

Pick your board, then choose a stack. Broadcast is the standard one-way video link; APFPV adds the access-point pairing workflow. Flash online from a Chrome-based browser, or download the binary.

Board Broadcast APFPV
ESP32-CAMOV2640 · OV3660 · AI-Thinker
XIAO ESP32-S3 SenseOV2640 · OV3660 · OV5640 · autodetect
ESP32-C5OV3660 · OV5640 · 2.4 + 5.8GHz · experimental