FPV CamBuddy · by FPSteVeV1.0.2ConfigureStable FlashDev FlashGitHub
ESP32-C3 · Action Cameras · Betaflight

Never forget to hit record again.
FPV CamBuddy's got the camera.

Automatic action-camera recording, live camera status in the Betaflight OSD and a simple browser configurator — built around the way an FPV quad is actually used.

Flash FPV CamBuddy →Open Easy ConfigV1.0.3 Community TestQuick Start

FPV CamBuddy at a glance

  • Betaflight 4.5 OSD support — physically tested via Pilot/Craft Name
  • Camera Switch — 3-position AUX with native GoPro saved presets and supported DJI/Osmo shooting modes
  • Automatic ARM recording + configurable delayed stop on DISARM
  • Live camera OSD — ERR / RDY / REC, battery, time, mode and storage where available
  • Profile-name OSD — brief name-only message when profiles change
  • Browser Easy Config + field AP config with persistent settings
  • Supported camera backends: GoPro, DJI Action, Insta360, Sony, Blackmagic and Caddx
  • Hardware-confirmed cameras: GoPro HERO11 Black Mini, GoPro MAX2 and DJI Osmo Nano core workflow

Default OSD flow

BF 2026.6+ Custom Messages first, then the BF 4.5 Pilot default.

BF 2026.6+ERRCamera unavailable / connecting
BF 2026.6+B:69RDY 00:00VIDEO 4K 60 HST:45m 128GB
BF 2026.6+B:69CLEAN LENSVIDEO 4K 60 HST:45m 128GBFirst-arm reminder · 1 second
BF 2026.6+B:69RECVIDEO 4K 60 HST:45m 128GBARMED + RECORDING · REC-only
BF 2026.6+B:68REC 00:12VIDEO 4K 60 HST:44m 128GBDISARMED · full OSD returns · camera stops after 5s
BF 2026.6+B:68CINEMATICVIDEO 4K 60 HST:44m 128GBPROFILE SWITCH · name shown for 2.5s
BF 2026.6+B:68RDY 00:00VIDEO 4K 60 HST:44m 128GB
BF 4.5ERRCamera unavailable / connecting
BF 4.5RDY B:69 T:45m
BF 4.5CLEAN LENSFirst-arm reminder · 1 second
BF 4.5RECARMED + RECORDING · REC-only
BF 4.5REC B:68 T:44mDISARMED · full Pilot line returns · camera stops after 5s
BF 4.5SLOW MOPROFILE SWITCH · name shown for 2.5s
BF 4.5RDY B:68 T:44m

Features

The useful bits, without the setup-guide wall of text.

📷 Multi-camera support

Camera backends for GoPro, DJI Action, Sony, Blackmagic, Insta360 and Caddx, with a clear tested-status table below so you can see what has actually been confirmed on hardware.

⏺ Automatic recording

Arm starts recording. Disarm restores the normal OSD immediately and stops the camera after a configurable delay — 5 seconds by default.

◱ Camera OSD

ERR / RDY / REC state plus battery, recording duration/time, mode, resolution, FPS, stabilisation and capacity where the camera reports them.

REC-only flight display

Messages containing camera Status can collapse to a clean REC-only display while armed + recording, with optional 1 Hz flashing.

⚠ Smart messages

First-arm CLEAN LENS reminder plus BATT LOW, REC LOW and CAM HOT warning support with defined display priority.

⌁ FPSteVe Easy Config

Read, change, save and verify the complete C3 configuration from the browser. Settings live on the C3 and survive power cycles.

▶ Integrated OSD Preview

Preview templates and simulate ARM, recording, hot/error states and first-arm behaviour before trying changes on the quad.

↻ Auto-connect + keepalive

Automatically discovers/reconnects to supported cameras. GoPro Wake Guard and keepalive provide the proven FPSteVe flight workflow.

⌁ Low-power BLE

Low Power is enabled by default at about −12 dBm, reducing unnecessary RF output beside your receiver and flight electronics.

⇄ Camera Switch

One LOW / MIDDLE / HIGH AUX control. GoPro uses native saved presets; DJI Action 4 / 5 Pro / 6 use supported shooting modes; Osmo Nano now exposes Video, Slow Motion, Timelapse, Hyperlapse, Photo, Panorama and SuperNight from hardware-captured DUML values. Nano switching is implemented and awaiting real-camera validation. The selected preset or mode name can briefly appear in the OSD.

🎬 Camera Switch OSD + Demo

Optional name-only selection notification for about 2.5 seconds, with an on/off setting in USB and field AP configuration. Demo Mode includes CINEMATIC, ACTION and SLOW MOTION examples for testing without a camera.

Older Betaflight? Yes.

Betaflight 4.5 is fully hardware-confirmed using the Pilot/Craft Name compatibility path. BF 4.4 uses the same legacy path and is supported in the configurator, but still needs real-hardware confirmation.

Browser flashing

Install release firmware directly from the web flasher, then power-cycle once and continue straight to Easy Config.

📱 Field configurator

When the FPVCamBuddy Wi-Fi AP is active, open cambuddy.local on your phone. If .local is not resolved by the device/browser, 192.168.4.1 remains the fixed fallback.

Camera matching

Use Any-camera discovery or select a known camera when you need predictable behaviour around multiple devices.

Original FreeCLinker

FPV CamBuddy is built on FreeCLinker by sheeprine. The original open-source project provides the foundation and supported-camera work that made this edition possible. FPV CamBuddy adds the Easy Config, GoPro-focused automatic-recording workflow, richer Betaflight OSD behaviour and the V1 test work documented here.

Camera support status

Feature-by-feature status — hardware confirmed where we have real-camera proof, and clearly marked where testing is still needed.

CameraConnect / reconnectRecord controlLive OSD / telemetryCamera SwitchSelection-name OSD
GoPro HERO11 Black Mini✓✓✓✓✓
GoPro MAX2✓✓✓✓✓
Insta360 Ace Pro 2✓✓◐——
DJI Osmo Nano✓✓✓◐◐
DJI Action 4✓✓✓◐◐
DJI Action 5 Pro✓✓◆◐◐
DJI Action 6◆◆◆◐◐
Sony◆◆◆——
Blackmagic◆◆◆——
Caddx◆◆◆——
✓ Hardware confirmed◐ Implemented / testing◆ Implemented backend, not hardware-confirmed here— Not currently supported / not claimed

A green tick applies only to that camera and feature. Partial/testing states are deliberately kept separate from hardware-confirmed results.

NEW IN v1.0.3 RC1 · GPS & CAMERA UPDATES

New test firmware features — hardware validation in progress.

🛰️ Naked GoPro GPS Time Sync

Restore the clock on a naked GoPro using GPS-derived date and time from Betaflight over MSP, then send it to the camera over Bluetooth. Configurable timezone; requires valid GPS time and compatible GoPro.

🔄 GoPro Reconnect Recovery

Improved recovery when a GoPro disconnects or is restarted, with reconnection and recording control paths awaiting real-world regression tests.

📱 USB & Wi-Fi Configuration

Updated USB Easy Config and on-board Wi-Fi AP settings workflow, including stronger settings readback checks and persistence testing.

📺 OSD & Camera Controls

Betaflight OSD and camera-control refinements in the RC1 candidate. Camera compatibility and advanced controls still require per-camera testing.

v1.0.3 RC1 is a test candidate, not a hardware-verified stable release. Stable v1.0.2 remains available.

Flash v1.0.3 RC1 → · Community test checklist → · Full release notes ↗

🤘 Hardware-confirmed for V1

  • GoPro HERO11 Black Mini + GoPro MAX2
  • GoPro native saved-preset discovery, naming, AUX switching and persistence
  • DJI Osmo Nano native BLE pairing, ARM recording and core telemetry
  • DJI Action 4 connection, live telemetry, recording control and AUX-triggered recording
  • DJI Action 5 Pro connection, recording control and Camera Switch mode switching
  • ESP32-C3 Super Mini + GoPro BLE auto-connect/reconnect
  • Betaflight 4.5 MSP + Pilot/Craft OSD — real FC hardware-confirmed
  • ARM → record and ERR / RDY / REC state
  • REC-only + flashing REC
  • CLEAN LENS first-arm reminder
  • Immediate full OSD restore on disarm + 5 s delayed camera stop
  • Configurator save / readback / reconnect / NVS persistence
  • Official GoPro keepalive behaviour

Implemented / not all hardware-validated

  • Camera backends: DJI Action, Sony, Blackmagic, Insta360 and Caddx
  • Osmo Nano Camera Switch mode selection is implemented from hardware-captured DUML values and awaiting real-camera validation
  • Demo Mode Camera Switch simulation is implemented in the V1.0.2 test build
  • Betaflight 4.4 legacy Pilot/Craft path — implemented, awaiting hardware confirmation
  • Custom Messages 1–4 path for BF 2026.6+
  • Templates, preview and firmware logic validated
  • Other camera families have not necessarily been physically tested by FPSteVe

Quick Start + Wiring

The shortest route from a fresh ESP32-C3 Super Mini to a working FPV CamBuddy.

⚡ Quick Start

  1. Flash FPV CamBuddy in the browser.
  2. Power-cycle the C3 once after flashing.
  3. Wire the C3 to one spare FC UART using the table opposite.
  4. In Betaflight Ports, enable MSP on that UART at 115200.
  5. Open Easy Config, connect, read the board and choose your camera/OSD options.
  6. In Betaflight OSD, place Pilot Name for BF 4.5 or the chosen Custom Messages for BF 2026.6+.
  7. Bench-test with props removed: camera reaches RDY, arm starts REC, disarm stops after the configured delay.

🔌 ESP32-C3 Super Mini wiring

C3Flight controller
GPIO4 / TXUART RX
GPIO5 / RXUART TX
GNDGND
5VSuitable 5V supply

TX → RX, RX → TX. The C3 and FC must share ground. Board layouts vary, so follow the labels on your actual C3 Super Mini.

💜 Thanks to the community

FPV CamBuddy gets better because people take the time to test it, try it with different cameras and setups, report what works, find what doesn't, and share ideas.

A huge thank you to everyone who has helped test the project so far — and to everyone who helps in the future. Your feedback doesn't just help get FPV CamBuddy to a release; it helps shape what gets fixed, improved and added next, and makes the project better for the whole FPV community.

Help & feedback

Need help? Join the Squadding Quads Discord and ask for FPSteVe: Join the Discord.

For useful bug reports, include your camera model, Betaflight version, C3 board and what the OSD is displaying.