Analog FPV goggles normally need a dedicated 5.8 GHz receiver module, but Leon (Twotoz) has built one out of a Seeed Studio XIAO ESP32-C5 and seven resistors. His open-source C5VRX-5 firmware uses the ESP32-C5's own dual-band Wi-Fi radio to pick up the FM video from a drone's analog VTX, demodulates it, and pushes composite PAL or NTSC video out of six GPIO pins into your goggles, a DVR or a monitor. There are no extra RF parts on the board.
How a Wi-Fi chip ends up receiving analog video
The ESP32-C5 was never designed to receive analog TV-style signals, so the project goes around the normal Wi-Fi stack. According to the repository, the firmware taps the radio's diagnostic sample path (MODEM_DIAG), takes selected bits from the radio's ADC at 40 MS/s, and runs FM demodulation in the chip's BitScrambler peripheral, so the CPU is not in the sample path at all. A tracking demodulator the maker calls U85Q keeps the picture locked when the VTX's deviation drifts, the carrier is off-centre or there is multipath.
On the output side there is no video DAC chip. Six resistors on pins D4 to D9 (8.2 kΩ, 3.9 kΩ, 2 kΩ, 1 kΩ, 470 Ω and 240 Ω, LSB to MSB) meet at one node to form a passive, binary-weighted 6-bit DAC (each resistor roughly half the one before), and a seventh 200 Ω resistor to ground is the load. That node is the CVBS output. The maker notes the pin order matters: swap two resistors and you get a scrambled, banded picture.
Key details
- Board: Seeed Studio XIAO ESP32-C5, powered over USB-C or the 5 V pin
- Band: 5.8 GHz analog FPV, 48 channels, with a scan mode that picks the strongest centred signal
- Output: composite PAL/NTSC from a 6-bit resistor DAC, adjustable output level (0.5x to 5x)
- Calibration: filter and DC correction are measured once at startup (best with the VTX off) and saved
- Flashing: browser-based web flasher, or ESP-IDF 6.0.2 for your own builds
- Licence: GPL-3.0
Why it matters
This is a neat example of how much signal processing modern MCU radios can do once you reach below the protocol stack. The same idea, reading raw samples from a Wi-Fi PHY and processing them in hardware, is what turns cheap chips into SDR-style tools. For FPV pilots it means a working analog receiver for the price of a XIAO board, and for engineers it is a readable case study in FM demodulation and resistor-ladder video DACs.
The maker is clear that this is experimental firmware. Video can drop out without warning, so it should not be your only way to keep control of a drone. Test every build on the ground with the props off before you fly. The code, schematics, DAC test pattern and web flasher are on GitHub.
Image credit: Twotoz / C5VRX project, from the GitHub repository; composite of two photos, resized.
About the author: Aswinth Raj is an electronics engineer and the editor of CircuitDigest, where he has published more than 150 hands-on projects and tutorials across Arduino, PIC, ESP32, Raspberry Pi and EV battery systems. He selects the stories on this page for what engineers and makers can actually learn or build from. Connect on LinkedIn
Add a comment
No account needed. Your comment appears once a moderator has reviewed it.