CrowMotion
Open-source FPV head tracker

Turn your head. The camera follows.

CrowMotion is a wireless head tracker for FPV flying that you can build for about 5 dollars. Two parts, four wires, no soldering skills beyond the basics, and it pairs with your radio like a wireless trainer.

v0.1.1 Apache-2.0 ESP32-C3
Flash it now View on GitHub
PHOTO: tracker mounted on FPV goggles, hero shot
How it works
1

Wear it

CrowMotion sits on your goggles and measures head pan and tilt with a 6-axis IMU, fused at 100 Hz.

2

It talks to your radio

Channels stream over the FrSky PARA Bluetooth trainer link, or over CrowLink to any radio with a trainer jack.

3

The camera follows

Your radio forwards the channels, and two servos on the aircraft pan and tilt the FPV camera to match your head.

Why CrowMotion
$5

About 5 dollars

An ESP32-C3 Super Mini and an MPU6500 module. That is the whole tracker.

Truly wireless

Bluetooth to the radio, tap gestures instead of buttons, and a plug-in battery option. Nothing tethers your head.

Self-calibrating

Continuous gyro auto-calibration kills yaw drift while you fly. Double-tap the tracker to recenter at any time.

Configure from your phone

Quad-tap opens a WiFi hotspot with a full web UI: live 3D head view, channels, response curves, and updates.

Updates over the air

Check and install new firmware from the config UI, or reflash from the browser. No cables, no toolchain.

Open source

Apache-2.0, built from scratch on ESP-IDF. Firmware, protocol, and hardware notes all public.

Flash it

Flash from this browser

Plug your board into this computer over USB-C and click Connect. The right firmware is picked automatically: an ESP32-C3 gets CrowMotion, an ESP32-C6 gets CrowLink. Works in Chrome and Edge on desktop.

This browser cannot flash over USB. Use Chrome or Edge on a desktop computer.

Board not showing up? Use a data-capable USB-C cable, hold BOOT while plugging in, and close any serial monitors.

Or open the standalone flasher at updates.crowpilot.in

Build it

Two parts, four wires, one afternoon.

ESP32-C3 Super Minimicrocontroller + Bluetooth
$2-3
MPU6500 module6-axis IMU
$2
3D printed casecoming soon
filament
USB-C powerany power bank
reuse
Total ~$5

Headers, wires, filament, and shipping are extra. Cheapest wireless head tracker we know of - the nearest DIY alternative starts at a 16 dollar board.

MPU6500 VCC3V3
MPU6500 GNDGND
MPU6500 SDAGPIO4 (D2)
MPU6500 SCLGPIO3 (D1)
MPU6500 AD0GND
PHOTO: wiring closeup, four wires
1

Wire it

Five connections, all on one side of the board.

PHOTO: parts flat-lay
2

Flash it

Use the flasher above, straight from the browser.

PHOTO: board plugged into laptop
3

Mount it

Flat against your goggles temple, USB-C to the rear. Any other position works too: run Auto-detect in the config UI.

PHOTO: tracker mounted at temple
4

Pair your radio

Add CrowMotion as a wireless trainer on your FrSky radio and map the trainer channels.

PHOTO: radio trainer screen
VIDEO: build walkthrough - coming soon

Building from source instead? See docs/BUILD.md in the repo.

No app needed

Everything in the browser

Quad-tap the tracker and it opens its own WiFi hotspot. Join crowmotion-XXXX, open 192.168.4.1, and everything is there: a live 3D view of your head, channel mapping, sensitivity and deadband, tap tuning, firmware updates, and backup of your settings. No app store, no account, no cloud.

PHOTO: config UI screenshot on a phone
Any radio
in development

No Bluetooth trainer? Meet CrowLink.

CrowLink is a small battery-powered receiver that plugs into any radio's 3.5mm trainer jack. The tracker streams to it wirelessly over ESP-NOW and it outputs standard 8-channel PPM, which means CrowMotion works with essentially every radio ever made, not just FrSky. Firmware is ready; build guide coming soon.

Questions
Which radios work?

FrSky radios with the PARA wireless trainer (developed against an X20S on EthOS) connect directly over Bluetooth. Everything else can use CrowLink through the trainer jack.

Has it flown?

The link is bench-verified against a real radio. Flight testing is in progress - this is an actively developed project, and the roadmap is public on GitHub.

Does it drift?

Yaw drifts slowly on any magnetometer-free tracker. Continuous auto-calibration removes most of it, and a double-tap recenters instantly.

Is my radio's trainer mode safe?

Yes, that is the best part: flip the trainer switch and your radio sticks take over instantly, exactly like an instructor override.

Where do I get help?

GitHub Issues for bugs, GitHub Discussions for everything else.