Informational reference only.
Verify current law, official regulator guidance, manufacturer documentation, and qualified professional review before acting. The handbook does not authorize unlawful spectrum use, interference, Remote ID defeat, offensive operations, or unsafe modification of aircraft or payloads.
Read the terms and safety disclaimer
Every drone in the air right now is using between one and five
simultaneous radio links. Most operators can name two. This chapter
covers all five.
The Problem Nobody Talks About
A racing quad has two links — RC control and video. Simple. But the
moment you add GPS return-to-home, you've added a third (telemetry).
Add a companion computer with a mesh radio and you're at four. Add
a payload camera with its own downlink and you're at five.
Each link has its own frequency, its own protocol, its own antenna,
its own failure mode, and its own opinion about which direction
the drone should go. When they disagree, things get interesting. Review needed: configuration / failure mode
Understanding the five link types is the foundation of everything
else in this handbook. If you don't know what's talking on your
drone, you can't diagnose why it stopped talking.
The Five Links
Link 1: Manual Control (RC)
What it does: Carries stick commands from the pilot to the
flight controller. The link that keeps a human in the loop.
Frequencies:
- 2.4 GHz — most common (ELRS 2.4, CRSF, Ghost, FrSky ACCST)
- 900/868 MHz — long range (ELRS 900, Crossfire, FrSky R9)
- Sub-GHz proprietary — tactical (IRONghost dual-band)
What you need to know:
- Latency and freshness matter across RC, video, telemetry and sensor/control pipelines. A 500 Hz update interval is 2 ms; it is not a measured stick-to-actuator delay. Record protocol/mode and the complete measurement boundary.
- Loss of this link triggers failsafe. Every FC firmware handles
failsafe differently. Know yours before you need it.
- ELRS and Crossfire use serial protocols (CRSF wire format) that
carry bidirectional telemetry inside the RC link. This blurs the
line between Link 1 and Link 2 — your RC receiver is also a
telemetry radio. This is efficient but means RC loss also kills
your telemetry. Review needed: performance / configuration
Common problems:
- RC and video on the same frequency band (both 2.4 GHz) causing
desense. Solution: different bands, or physical antenna separation.
- Wrong UART baud rate in FC configurator — CRSF wants 420000, not 115200.
- ELRS binding phrase mismatch after firmware update.
Link 2: Telemetry / Command & Control (C2)
What it does: Bidirectional data link between the drone and a
ground station. Carries flight data down (position, battery, attitude)
and commands up (waypoints, parameter changes, mode switches).
Transport options:
- Embedded in RC link — CRSF/ELRS carry MAVLink or custom telemetry
inside the control channel. No separate radio needed.
- Dedicated telemetry radio — SiK (3DR), RFD900x, MicroHard P900.
Separate frequency, separate antenna, separate failure mode.
- WiFi — ESP32 bridge, companion computer WiFi, mesh radio backhaul.
- Cellular — LTE modems for beyond-visual-line-of-sight (BVLOS). Review needed: regulatory / failure mode
What you need to know:
- MAVLink is the lingua franca for autonomous platforms. If you're
running ArduPilot or PX4, everything speaks MAVLink. If you're
running Betaflight, everything speaks MSP. If you're running a
mixed fleet, you need both.
- Telemetry bandwidth matters more than telemetry latency. You
don't need millisecond position updates on the ground — 1-10 Hz
is fine. But you do need all the data fields to arrive intact.
- Dedicated telemetry radios (RFD900x, SiK) are point-to-point.
They don't scale to multiple drones without a mesh layer on top.
Common problems:
- MAVLink stream rate misconfigured — too high floods the link,
too low makes the GCS look frozen. Use the exact firmware's stream-rate interface; SRx is not universally a physical serial-port number.
- SiK radio firmware mismatch between air and ground units.
- UART conflict — telemetry and GPS both assigned to the same UART.
Link 3: Video Downlink
What it does: Sends camera feed from the drone to the pilot's
goggles or ground station monitor. The link that lets you see.
Technologies:
- Analog video — composite capture, RF modulation and receiver/display processing; measure the complete path.
- DJI digital / Walksnail / HDZero — product-specific camera, radio and display ecosystems; supported modes and latency depend on the exact hardware/release.
- OpenHD / WFB-ng / OpenIPC — open software stacks with specific adapter/image/camera requirements. RTL8812EU is included in OpenHD's published adapter support since 2.6.3; see the OpenHD reference.
A glass-to-glass result includes camera and display. The previous generic numerical comparisons mixed measurement boundaries and are withdrawn.
What you need to know:
- Video is almost always 5.8 GHz. This means it's on the same band
as 5 GHz WiFi, some mesh radios, and the 5.8 GHz ISM band that
everyone assumes is uncontested. In practice, 5.8 GHz is crowded.
- Analog video uses 40 channels across 5.8 GHz. At a race event
with 8 pilots, frequency management is a real operational problem.
At a tactical deployment with multiple teams, it's a coordination
requirement.
- Digital video links (DJI, HDZero) are frequency-hopping or
wideband. They're harder to interfere with but also harder to
coordinate. You can't just "pick a channel" the way you can
with analog.
- The RTL8812AU chip that OpenHD/WFB-ng depends on has been
discontinued by Realtek. The RTL8812EU replacement does NOT
support monitor mode in the same way. This is slowly killing
the open-source digital FPV ecosystem. OpenIPC is moving to
other solutions.
Common problems:
- 5.8 GHz video transmitter (VTX) too close to 2.4 GHz RC antenna
causes receiver desense. Minimum 10 cm separation, more is better.
- VTX power set too high for proximity flying — at 800 mW you're
heating the VTX and potentially interfering with your own RC.
25-200 mW is enough for most LOS operations.
- Wrong VTX table in Betaflight — mismatched power levels,
missing channels, or wrong band assignments.
Link 4: Payload Data
What it does: Carries data from a mission payload — mapping camera,
multispectral sensor, LiDAR, SAR, SIGINT receiver, delivery mechanism
confirmation. Distinct from the FPV video feed (Link 3).
Technologies:
- Ethernet (wired, on companion computer)
- USB (camera to companion)
- WiFi (payload-specific AP)
- Dedicated RF downlink (separate frequency, separate antenna)
- Store-and-forward (record on board, download after landing)
What you need to know:
- Most consumer and racing drones don't have Link 4. It shows up
on commercial mapping drones, agricultural platforms, and defense
ISR platforms.
- Payload data is usually high bandwidth and tolerant of latency.
A mapping camera generates gigabytes per flight — you're not
streaming that in real time. You're storing it and downloading
after landing.
- When payload data IS streamed (tactical video from a gimbal camera,
SAR data, EW sensor output), it competes for bandwidth with
telemetry and video. This is where mesh radios with QoS become
important — prioritize C2 over payload, always.
- The companion computer is the integration point. Payload connects
to companion via USB/Ethernet/GPIO. Companion decides what goes
down the RF link and what gets stored.
Common problems:
- Payload drawing too much power from the FC's 5V/12V rail.
Payload should have its own BEC or regulated supply.
- USB bandwidth contention between payload camera and companion
computer's other USB devices.
- Payload data timestamps not synchronized with flight controller
timestamps. Use GPS time or NTP on the companion for correlation.
Link 5: Mesh / Swarm Coordination
What it does: Drone-to-drone communication for fleet operations.
Position sharing, intent coordination, task allocation, sensor data
relay. The link that turns individuals into a team.
Technologies:
- ESP-NOW — Espressif peer-to-peer, 2.4 GHz, ~250 byte packets,
no infrastructure needed. Good for ground operations (Tooth mesh,
pre-flight sync). Not suitable for in-flight swarm at range.
- Linux WiFi mesh — batman-adv or 802.11s on an explicitly supported Linux/network stack.
- Vendor MANET — model-specific waveforms and management interfaces. IP/Ethernet compatibility does not establish an open WiFi air interface. Silvus identifies its technology as MN-MIMO; do not infer batman-adv from a Linux management environment.
- MAVLink over a network — addressing/routing/freshness remain application concerns independent of the radio waveform.
What you need to know: Measure throughput, delay and recovery using the exact node topology, traffic, radio mode and conditions. There is no universal three-hop throughput percentage. Mesh integration distinguishes IP integration from waveform implementation.
Common problems:
- Mesh radio on 2.4 GHz interfering with 2.4 GHz RC link.
Solution: different bands (mesh on 900 MHz or 5 GHz).
- Routing convergence depends on implementation, traffic and topology. Use documented settings and a measured recovery test rather than a universal OGM interval.
- IP address conflicts in the mesh. Use a consistent addressing
scheme: 10.0.0.{system_id} with system_id matching MAVLink ID.
How They Interact
The five links are not independent. They share spectrum, share power,
share the FC's limited UARTs, and share the operator's limited attention.
Frequency Deconfliction
Link
Common Frequency
Conflict With
RC (Link 1)
2.4 GHz
WiFi mesh, BLE, companion WiFi
RC (Link 1)
900 MHz
Telemetry radio, mesh radio
Telemetry (Link 2)
900 MHz
Long-range RC, mesh radio
Video (Link 3)
5.8 GHz
5 GHz WiFi, mesh radio, payload WiFi
Payload (Link 4)
varies
depends on payload type
Mesh (Link 5)
2.4/5/900 MHz
everything else
The rule: no two links on the same band within the same airframe
unless they're designed to coexist. ELRS 2.4 GHz and an ESP32
WiFi AP on the same drone will fight. ELRS 900 MHz and an RFD900x
telemetry radio will fight. Plan your frequency layout before
you build.
UART Allocation
A typical F405 flight controller has 3-6 UARTs. They get consumed fast:
UART
Typical Assignment
UART1
RC receiver (CRSF/ELRS/SBUS)
UART2
GPS
UART3
Telemetry radio or MSP bridge
UART4
ESC telemetry (if DShot + telemetry)
UART5
Companion computer (MAVLink or MSP)
UART6
(you're out of UARTs)
Running out of UARTs is one of the most common integration problems
on F4-class FCs. Solutions: use soft serial (limited baud rate),
upgrade to an H7 FC (more UARTs), or use a companion computer to
multiplex multiple data streams over a single UART.
Power Budget
Every link has a radio that draws power. Every radio has an amplifier
that draws more power. On a 5-inch FPV quad with a 1300 mAh 6S battery,
your total electronics budget (FC + ESCs + radio + VTX + GPS + receiver)
is typically 2-5W continuous. Adding a mesh radio at 1-2W is significant.
Adding a companion computer at 3-10W changes your flight time.
Know your power budget before you add links.
The Operator's Decision
Not every drone needs all five links. Most don't. The right number
of links depends on the mission:
Mission
Links Needed
FPV racing
2 (RC + video)
Freestyle / cinematic
2-3 (RC + video + optional telemetry)
Mapping / survey
3-4 (RC + telemetry + video + payload)
Tactical ISR
4-5 (all five)
Swarm operations
5 (all five, mesh is mandatory)
Autonomous delivery
3 (telemetry + video + optional mesh)
More links = more complexity = more things to break = more things
to diagnose. Add links because the mission requires them, not because
the hardware supports them.
Next
Chapter 2: Frequency Bands and Regulatory Reality — the rules
that govern where your links can operate, and the gaps between
the rules and reality.
Chapter 8: UART Layout and Why It Matters — the practical
constraint that limits how many links you can actually use.
Every link you add is a complication. Know what it costs before you add it.
The regulations tell you what you're allowed to do.
The physics tell you what will actually work.
They don't always agree.
The Bands That Matter
Drone operations live in a handful of frequency bands. Here's where
everything sits and why.
900 MHz (902–928 MHz in the US, 868 MHz in EU)
What lives here: Long-range RC links (ELRS 900, TBS Crossfire),
telemetry radios (RFD900x, SiK, MicroHard P900), some mesh radios,
LoRa, and a surprising amount of industrial IoT.
Why it matters: Sub-GHz propagation is king. 900 MHz bends around
obstacles, penetrates foliage, and reaches farther per milliwatt
than any other band you'll use. A 100 mW ELRS 900 link will
outrange a 1 W 2.4 GHz link in most real-world environments.
Regulatory:
- US: ISM 902–928 MHz, up to 1 W conducted + antenna gain (FCC Part 15.247)
- EU: 868 MHz band, 25 mW ERP with duty cycle limits (ETSI EN 300 220)
- The EU/US split is the single biggest cross-border problem in
drone operations. 900 MHz hardware built for the US market
doesn't work in Europe, and vice versa. ELRS handles this with
region-specific firmware builds. Many other systems don't. Review needed: regulatory / configuration
What the regulations don't tell you: The 900 MHz ISM band
is shared with utility meters (smart grid AMI), industrial SCADA,
agricultural sensors, and LoRaWAN gateways. In urban environments,
the noise floor at 900 MHz can be 20+ dB higher than rural. Your
range will be shorter in the city.
2.4 GHz (2400–2483.5 MHz)
What lives here: Most RC links (ELRS 2.4, Ghost, ACCST, IBUS),
WiFi (802.11b/g/n/ax), Bluetooth, ZigBee, microwave ovens, baby
monitors, wireless cameras, mesh radios, and roughly half of all
wireless devices ever manufactured.
Why it matters: 2.4 GHz is the default for everything. It's
globally harmonized (same band everywhere), license-free, and
supported by every chip on the market. If you don't know what
frequency to use, you use 2.4 GHz. So does everyone else.
Regulatory:
- Global ISM band, generally 100 mW–1 W EIRP depending on jurisdiction
- FCC: up to 1 W conducted, 4 W EIRP with directional antennas (Part 15.247)
- EU: 100 mW EIRP (ETSI EN 300 328)
- Japan: 10 mW/MHz (effectively limits wideband signals) Review needed: regulatory
What the regulations don't tell you: 2.4 GHz is a war zone.
At any given moment at a race event, fly-in, or urban deployment
site, you're sharing spectrum with:
- Every phone's WiFi and Bluetooth
- Every laptop's WiFi
- Every smart home device
- Other pilots' RC links
- Nearby mesh radios
- The microwave in the food truck
The saving grace is that modern protocols (ELRS, Ghost, CRSF) use
frequency hopping, which spreads the signal across the entire band
and makes them resilient to narrowband interference. But when the
entire band is congested, even FHSS degrades.
The 2.4 GHz deconfliction problem: If your RC link is 2.4 GHz
AND your mesh radio is 2.4 GHz AND your companion computer's WiFi
is 2.4 GHz, you have three transmitters on the same band in the
same airframe. Even with different channels and different protocols,
the front-end receivers will desense each other. The fix is simple:
put at least one of them on a different band.
5.8 GHz (5725–5875 MHz)
What lives here: Analog FPV video, digital FPV video (DJI, HDZero,
Walksnail), 5 GHz WiFi (802.11a/n/ac/ax), some mesh radios, radar,
and weather services.
Why it matters: 5.8 GHz is the FPV video band. Virtually every
drone with a camera transmits video on 5.8 GHz. The band has enough
bandwidth for analog and digital video, and the higher frequency
means smaller antennas.
Regulatory:
- ISM 5.725–5.875 GHz in most jurisdictions
- FCC: 1 W conducted (Part 15.247)
- EU: 25 mW EIRP (yes, really — ETSI EN 300 440). Most VTX
modules shipped into the EU are technically non-compliant
at any setting above 25 mW.
- The broader 5 GHz UNII bands (5.15–5.35, 5.47–5.725 GHz) are
used by WiFi but have DFS (Dynamic Frequency Selection)
requirements due to radar coexistence. DFS can force your
radio to change channels mid-flight. Not ideal. Review needed: regulatory
What the regulations don't tell you:
- 5.8 GHz has significantly higher path loss than 2.4 GHz. In
free space, 5.8 GHz loses ~7.7 dB more than 2.4 GHz at the
same distance. In practice this means roughly half the range
per milliwatt. You compensate with power and antenna gain.
- 5.8 GHz does not penetrate foliage, buildings, or terrain well.
If you fly behind a tree, your video will break before your
RC link does (assuming RC is on 2.4 GHz or 900 MHz).
- At FPV race events, analog 5.8 GHz channel management is
critical. 40 channels sounds like a lot until 8 pilots are
in the air and their harmonics are stepping on each other.
Digital systems (DJI, HDZero) are wideband and harder to
deconflict — they don't fit neatly into the 40-channel system.
Sub-GHz Below 900 (433, 315, 169 MHz)
What lives here: LoRa long-range, some RC systems (FrSky R9
at 433 MHz in some regions), key fobs, garage door openers,
tire pressure monitors, and very long-range telemetry.
Why it matters: Lower frequency = better propagation = longer range.
433 MHz LoRa links can reach 10+ km with tiny antennas and milliwatts
of power. But bandwidth is measured in kilobits, not megabits.
Regulatory:
- 433 MHz ISM: 10 mW in EU, not ISM in the US (amateur band,
requires ham license for non-ISM use)
- 315 MHz: US ISM for low-power devices
- 169 MHz: EU smart meter band, very restricted
When you'd use it: Very long-range telemetry (LoRa), sub-floor
FHSS detection (listening, not transmitting), or interoperability
with existing infrastructure on these bands.
Military and Licensed Bands
L-band (1–2 GHz): Some tactical mesh radios (Doodle Labs HelixL+S).
Military satellite. GPS (L1 at 1575.42 MHz, L2 at 1227.60 MHz).
No ISM access — requires licensing or government authorization.
S-band (2–4 GHz): Overlaps 2.4 GHz ISM. Some military radar.
Weather radar. Tactical links.
C-band (4–8 GHz): Doodle Labs C-Band radios, satellite downlinks,
some military comms. Requires licensing in most jurisdictions.
You don't need to operate on these bands unless you're working
with military or government platforms. But you do need to know they
exist because: (a) military radar on S-band and C-band can overwhelm
your receivers, and (b) GPS signals on L-band can be jammed or
spoofed, affecting your drone's navigation.
The Gap Between Rules and Reality
What Operators Actually Do
The regulatory framework assumes static, ground-based transmitters
in controlled environments. Drone operations are none of those things.
In practice:
- FPV pilots routinely fly 600–800 mW VTX power despite EU limits of 25 mW
- Long-range operators use 900 MHz at full power in countries where
the band allocation is ambiguous
- "1 W EIRP" limits are rarely enforced at hobby flying fields
- Military operators have blanket spectrum authority in their
operational areas and don't worry about ISM band rules
This handbook doesn't tell you to break the rules. It tells you
the rules exist, what they are, and acknowledges that the
enforcement reality differs from the regulatory text. Know your
jurisdiction's rules. Make your own informed decisions.
Frequency Coordination at Events
At any gathering of more than 4-5 pilots:
Assign video channels before anyone powers up. Analog 5.8 GHz
has 40 channels across 6 bands (A, B, E, F, R, L). Use non-adjacent
channels. Band F (Fatshark / IRC) and Band R (RaceBand) are the
most common for events.
Separate RC bands. If half the pilots are on 2.4 GHz ELRS and
half are on 900 MHz Crossfire, that's actually ideal — no RC
interference between the two groups.
Power down when not flying. A VTX broadcasting 800 mW on the
ground creates more interference than one in the air at 200m,
because ground-level signals have direct paths to every other
receiver in the pit area.
Review needed: performance / failure mode
Know your VTX table. Betaflight's VTX table maps power levels
and channels for your specific VTX hardware. Verify it matches
reality — misconfigured VTX tables can put you on the wrong
channel or the wrong power level.
Frequency Coordination for Fleet Operations
At a commercial or tactical deployment with multiple drones:
Map all five links for each platform. Build a frequency plan
before the operation, not during it.
Separate bands where possible. RC on 900, telemetry on 2.4,
video on 5.8, mesh on a different 5 GHz channel. The more band
separation, the less self-interference.
Document what's transmitting. If you're operating near other
teams, other companies, or military assets, knowing exactly what
frequencies you're using — and at what power — prevents problems
and demonstrates professionalism.
Plan for interference. If your operation is near an airport,
military base, or large venue (stadiums use a LOT of 2.4 and 5 GHz),
your range predictions from a clean test site are optimistic.
Budget a 50% range reduction in congested spectrum environments.
Review needed: performance / failure mode
Quick Reference: Band Comparison
Band
Range (per mW)
Penetration
Bandwidth
Congestion
Typical Use
433 MHz
Excellent
Best
Very low
Low
LoRa telemetry
900 MHz
Very good
Good
Low-medium
Medium
Long-range RC, telemetry
2.4 GHz
Good
Fair
High
Severe
RC, WiFi, mesh, BLE
5.8 GHz
Fair
Poor
Very high
High
FPV video, WiFi
The universal trade-off: lower frequency = longer range and better
penetration but less bandwidth. Higher frequency = more bandwidth
but shorter range and worse penetration. Everything in RF engineering
is a version of this trade-off.
The regulatory side of "reality"
Spectrum is licensed and operations are regulated. The rules sit with the
regulator, not with a vendor or a forum post. These are the canonical,
publicly accessible sources — go to them, not to a summary.
Two operator habits worth keeping: Part 107 is the floor, not the ceiling
— state and local law (see NCSL) add restrictions the FAA does not; and the
ASIAS incident reports are a real corpus — the failure modes repeat, so
read them before flying an unfamiliar profile. Review needed: regulatory / failure mode
The full list, including industry/research sources (AUVSI, ASSURE, UAS
Magazine) and a machine-readable copy, is in appendices/appendix-f-regulatory-resources.md
and data/erau_resources.json.
Next
Chapter 3: Antennas for People Who Aren't RF Engineers — how to
choose, orient, and not break your antennas.
Chapter 1: The Five Link Types — frequency deconfliction in
the context of a complete drone system.
The spectrum is a shared resource. Know what you're transmitting,
where, and at what power. The drone next to you is sharing the
same resource.
Chapter 3: Antennas for People Who Aren't RF Engineers
The antenna is the most important and least understood component
on your drone. A $200 radio with a bad antenna loses to a $30
radio with a good one.
The One Rule
Match your antenna to your link.
That's it. Everything else in this chapter is explaining what
that means and how to do it.
What an Antenna Does
An antenna converts electrical signal into radio waves (transmit)
and radio waves back into electrical signal (receive). It doesn't
amplify — it shapes. An antenna with "5 dBi gain" isn't creating
energy. It's focusing the energy that's already there into a
narrower pattern, the same way a flashlight focuses light from
a bulb into a beam.
More gain = narrower beam = longer range in one direction,
shorter range in every other direction.
This is the fundamental trade-off in antenna selection. There is
no antenna that's better in all directions. There are only antennas
that trade coverage pattern for range.
Antenna Types You'll Actually Use
Dipole / Whip
What it is: A straight stick. The stock antenna on most
receivers, telemetry radios, and mesh radios.
Pattern: Donut-shaped. Good coverage in all horizontal
directions, weak directly above and below the antenna axis.
Gain: 2–5 dBi
When to use it: Default choice for anything where you don't
know which direction the other radio will be. RC receivers,
telemetry, mesh nodes on drones that fly in all orientations.
Orientation matters: A vertical dipole radiates horizontally.
A horizontal dipole radiates vertically. On a drone, the receiver
antenna should point down or sideways — NOT parallel to the
frame. Two antennas at 90 degrees to each other (antenna diversity)
covers all orientations.
Patch Antenna
What it is: A flat rectangle. Common on GPS modules, some
directional links, and video receivers.
Pattern: Directional — strong in front, weak behind.
Like holding up a book and only hearing what's in front of it.
Gain: 6–14 dBi depending on size
When to use it: On the ground station pointing at the drone.
GPS antennas (patch facing sky). Video receiver antennas in
goggles (facing forward). NOT on the drone itself unless you
know exactly where the ground station will be.
The goggle antenna mistake: Many pilots fly with stock goggle
antennas (usually small omnis) and wonder why they get video
breakup at 500m. Replacing one goggle antenna with a directional
patch that points toward the flying area can double or triple
video range with no change to the drone.
Helical Antenna
What it is: A coil of wire. Comes in two types: normal-mode
(small, used as compact omni) and axial-mode (larger, highly
directional, used for long range).
Pattern: Axial-mode helix is a focused beam — high gain,
narrow coverage. Normal-mode is similar to a dipole.
Gain: 8–15+ dBi (axial mode)
When to use it: Ground-station tracking antenna for long-range
operations. Paired with an antenna tracker that points it at the
drone. Not practical on the drone itself (too large, too directional).
Pagoda / Lollipop / Stubby
What it is: Compact circular-polarized antenna. The standard
FPV video antenna on both the drone and the goggles.
Pattern: Roughly omnidirectional with circular polarization.
Gain: 1–3 dBi
When to use it: 5.8 GHz FPV video. Both the VTX antenna on the
drone and the receiver antenna on the goggles should be circular
polarized and the same handedness (both RHCP or both LHCP). Mixing
handedness costs you ~3 dB (half your signal).
Why circular polarization for video: When a linearly polarized
signal bounces off a surface (multipath), its polarization can
rotate. If your receive antenna is linear and the signal arrives
at the wrong angle, you lose it. Circular polarization doesn't
have this problem — it receives equally regardless of rotation.
The trade-off is ~3 dB less gain than an equivalent linear antenna.
PCB / Ceramic Chip Antenna
What it is: A tiny antenna printed on the circuit board or
bonded as a ceramic chip. Found inside ESP32 modules, Bluetooth
devices, GPS modules, and small receivers.
Pattern: Roughly omnidirectional but with significant nulls
depending on PCB ground plane and nearby components.
Gain: -2 to 2 dBi (often negative gain compared to an ideal
isotropic radiator)
When to use it: When size and cost matter more than range.
The ESP32-C6 on a Tooth uses its built-in PCB antenna for mesh
communication at short range. For anything beyond 100m, use an
external antenna via the U.FL/IPEX connector if available. Review needed: performance / commercial
Polarization
Radio waves vibrate in a specific orientation. If the transmit
antenna sends vertically polarized waves and the receive antenna
is oriented horizontally, you lose ~20 dB of signal. That's the
difference between a clear link and no link.
The rules:
- Linear antennas (dipole, whip): orient both the same way.
Both vertical, or both horizontal. On a drone that changes
orientation constantly, this is hard — which is why diversity
(two antennas at 90 degrees) helps.
- Circular polarized antennas (pagoda, lollipop): match handedness.
Both RHCP or both LHCP. Don't mix.
- Cross-polarization loss: linear TX → circular RX (or vice versa)
costs ~3 dB. Not ideal but survivable.
Connectors
The small connectors used in drone antennas are fragile. Know them.
Connector
Size
Common Use
Durability
SMA
Medium
VTX, telemetry radio, ground station
Good — threaded, secure
RP-SMA
Medium
Same as SMA, reversed polarity
Good — check male/female
U.FL / IPEX
Tiny
On-board connections, GPS, receiver
Fragile — 30 mate cycles rated
MMCX
Small
Some receivers, compact VTX
Fair — snap-on, better than U.FL
The U.FL problem: U.FL (also called IPEX or MHF) connectors are
rated for about 30 connect/disconnect cycles. After that, the spring
contact weakens and the connection becomes intermittent. Every time
you unplug and replug a U.FL antenna, you're using one of those
30 cycles. On a racing drone that gets rebuilt weekly, this matters.
Fix: Don't disconnect U.FL antennas unless you have to. Route
the antenna wire so it stays connected during maintenance. If a
U.FL connection becomes intermittent (video cuts out when you flex
the cable), replace the pigtail — the connector is worn out.
Antenna Placement on a Drone
Where you put the antenna matters as much as which antenna you choose.
Do
Mount RC receiver antennas pointing away from the frame at
90 degrees to each other (diversity). The classic "V" shape
with antenna tubes works.
Mount GPS antenna on top of the frame with a clear view of
the sky. No carbon fiber between the GPS patch and the
satellites.
Mount the VTX antenna where it won't get hit in a crash.
Rear-facing on a standoff is common.
Keep transmit antennas (VTX, mesh radio) as far from receive
antennas (RC receiver, GPS) as physically possible on the frame.
Don't
Don't run antenna wires parallel to power wires. Motor current
creates magnetic fields that induce noise in antenna cables.
Don't let antenna wires cross each other at sharp angles.
Don't fold or kink antenna wires. The coax impedance changes
at the bend and reflects signal back instead of radiating it.
Don't mount antennas inside a carbon fiber enclosure. CF
attenuates RF. If the antenna is inside a CF tube, you're
losing signal.
Don't forget the ground plane. A 900 MHz dipole needs a ground
plane (the FC, the frame, or a dedicated ground plane element)
to radiate properly. Hanging in free space with no ground
reference, it underperforms.
Range Estimation (Quick and Dirty)
You don't need to calculate a full link budget to estimate range.
Here's the shortcut.
Start with the manufacturer's claimed range. Divide by 3.
That's your real-world range with obstacles, interference, and
non-ideal antenna placement. Review needed: performance / failure mode
If you're doing better than 1/3 of claimed range, your setup
is good. If you're doing worse, check antenna orientation,
connections, and interference from other on-board transmitters. Review needed: performance / failure mode
If you need more range:
1. Better antenna on the ground station (cheapest improvement)
2. Higher VTX/radio power (easy but wastes battery)
3. Better antenna on the drone (limited by weight/size)
4. Lower frequency band (900 MHz instead of 2.4 GHz)
5. Higher gain directional antenna with tracker (most effective,
most complex)
The order above is also the order of cost-effectiveness. A $15
directional antenna on your goggles does more for range than a
$50 amplifier on the drone. Review needed: performance / commercial
The Antenna You Already Have
Before buying new antennas, check the ones you have:
Is it the right band? A 5.8 GHz antenna on a 2.4 GHz
radio is a $0 dummy load. It will not work. At all. This
sounds obvious but it happens.
Is it connected? Flex the cable gently at the connector.
If the signal changes, the connection is bad.
Is it damaged? A cracked antenna element, kinked coax,
or corroded connector all kill performance.
Is it oriented correctly? Rotating an antenna 90 degrees
can cost 20 dB. Try different orientations before buying
a new antenna.
Long-Range Antenna Setups (What Actually Gets You 20km)
When you see someone post a 20km flight on a wifibroadcast system
like OpenHD, they're not using stock dipoles. They're using a
high-gain directional antenna on the ground pointed at the drone,
usually with an antenna tracker. The drone side stays omni.
This is the same principle as TV broadcasting. The TV tower has
a high-power omnidirectional transmitter. Your house has a
directional antenna (the dish, the yagi on the roof) pointed at
the tower. One side broadcasts everywhere, the other side listens
in one direction very well. Wifibroadcast systems work identically.
Stock Antennas: Set Realistic Expectations
Setup
Ground Antenna
Air Antenna
Realistic Range
Stock both ends
Dipole 2-3 dBi
Dipole 2-3 dBi
1-3 km
Upgraded ground
Patch 8-12 dBi
Dipole 2-3 dBi
5-8 km
Directional + tracker
Yagi 12-14 dBi
Cloverleaf 3 dBi
8-15 km
High-gain + tracker
Panel array 16-18 dBi
Pagoda 4 dBi
10-20 km
Extreme
Grid/dish 20-24 dBi
Omni 3 dBi
20 km+
The math is simple. Every 6 dB of additional antenna gain
roughly doubles your range. Going from a stock dipole (3 dBi)
to a panel array (18 dBi) adds 15 dB — that's about 5.6× the
range. 3 km × 5.6 = ~17 km.
OpenHD's own range calculations (from openhdfpv.org/hardware/antennas,
assuming -93dBm Rx sensitivity and 10dB link margin) confirm this:
Ground Antenna
Air Antenna
Freq
TX Power
Calculated Range
Maple 5dBi omni
Maple 5dBi omni
5.2 GHz
200 mW
2.9 km
Maple 14dBi flat panel
5dBi omni
5.2 GHz
200 mW
8.2 km
17dBi planar
5dBi omni
5.8 GHz
500 mW
16.4 km
Their FAQ states it directly: "1–3km is easy to achieve, even
with low power WiFi cards and the antennas that come with them.
Carefully chosen WiFi cards, antennas, and optionally an antenna
tracker should put 20km+ within reach."
Air Side: Stay Omnidirectional
The drone changes orientation constantly — banks, turns, pitches.
A directional antenna on the drone would lose link every time it
turns away from you. Use omnidirectional antennas:
Cloverleaf / Skew-Planar (RHCP): 2-3 dBi, circular
polarized. Better multipath rejection than linear dipoles.
The standard upgrade from stock.
Pagoda (RHCP): 3-5 dBi, still mostly omni. Slight
gain improvement over cloverleaf.
Stock dipole: Works fine under 2 km. Replace for anything
serious.
Use matching polarization on both ends — vertical/vertical
or horizontal/horizontal. Cross-polarization costs 3 dB (half
your power). RHCP circular polarization works for multipath
rejection but most wifibroadcast community setups use linear
vertical since the common directional ground antennas (panels,
yagis) are linear vertical.
Ground Side: This Is Where Range Comes From
Antenna
Gain
Beamwidth
Needs Tracker?
Notes
Stock dipole
2-3 dBi
360° omni
No
Default. Fine for close-in.
Patch panel (flat)
8-12 dBi
60-90°
No
Point toward flying area. Good first upgrade.
Yagi
10-14 dBi
30-50°
Recommended
Classic directional. Cheap, effective.
Helical (RHCP)
12-16 dBi
30-40°
Yes
Circular polarized — best for wifibroadcast.
Panel array (2×2 / 4×4)
14-18 dBi
20-30°
Yes
High gain, manageable size. Popular for long range.
Grid / parabolic dish
18-24 dBi
10-15°
Must track
Extreme range. Very narrow beam — loses link without tracker.
Antenna Trackers
Once your ground antenna exceeds ~10 dBi, the beam is narrow
enough that you need to physically point it at the drone. An
antenna tracker does this automatically using the drone's GPS
position from the telemetry stream.
Tracker
Protocol
Cost
Notes
Evidence
u360gts
MAVLink / LTM / GPS
$30-60 DIY
Open-source, Arduino. Most popular in long-range FPV. Uses GPS from telemetry to compute bearing + elevation.
Review needed: performance / commercial
YAAPU AAT
MAVLink via ELRS/Crossfire
$40-80 DIY
Runs on OpenTX/EdgeTX radio. Yaapu telemetry script drives servos.
—
Commercial (various)
Various
$200-500
Pre-built. Less common — most long-range pilots DIY.
Review needed: performance / commercial
Dual Antenna Diversity (Best Practice)
Run two antennas on the ground: one omni + one directional on a
tracker. The receiver picks the strongest signal per packet.
This gives you reliable close-range coverage (omni catches the
drone overhead, behind you, during takeoff/landing) AND long-range
capability (directional catches it at 15km). No switching, no
manual pointing for nearby flights.
Most wifibroadcast systems (OpenHD, Ruby) support antenna
diversity natively — plug in two adapters and it works.
Next
Chapter 4: Link Budgets Without the Math — estimating
range from specs without a calculator.
Chapter 1: The Five Link Types — which antenna goes
with which link.
The best antenna is the one that's pointed the right way,
connected properly, and on the correct frequency.
Everything else is optimization.
Updated: October 1, 2026. A free-space reference model with explicit inputs; not a guaranteed operating range.
Use the RF calculator to enter a configuration and export the result, working, sources, and publication release.
Describe your configuration
Record hardware and firmware revisions, frequency, packet/data mode, antennas, cables, connectors, and geometry. The receiver threshold must apply to that configuration. Unknown sensitivity remains unknown.
Convert transmit power
dBm = 10 log10(P_mW). These are mathematical conversions, not permitted-power limits or recommended settings.
Power
dBm
Evidence
Evidence
1 mW
0.00
@@PROTECTED0@@
See cited evidence
10 mW
10.00
@@PROTECTED1@@
See cited evidence
25 mW
13.98
@@PROTECTED2@@
See cited evidence
100 mW
20.00
@@PROTECTED3@@
See cited evidence
250 mW
23.98
@@PROTECTED4@@
See cited evidence
500 mW
26.99
@@PROTECTED5@@
See cited evidence
1000 mW
30.00
@@PROTECTED6@@
See cited evidence
Calculate free-space loss
ITU-R P.525-5 Annex section 2.3 gives the practical rounded form:
The table below is derived from that formula. Path loss is positive and subtracted from the budget. These values do not include obstructions, polarization mismatch, multipath, measured cable losses or interference.
Distance
Frequency
Calculated loss
Evidence
Evidence
0.1 km
900 MHz
71.48 dB
@@PROTECTED7@@
See cited evidence
0.1 km
2400 MHz
80.00 dB
@@PROTECTED8@@
See cited evidence
0.1 km
5800 MHz
87.67 dB
@@PROTECTED9@@
See cited evidence
0.5 km
900 MHz
85.46 dB
@@PROTECTED10@@
See cited evidence
0.5 km
2400 MHz
93.98 dB
@@PROTECTED11@@
See cited evidence
0.5 km
5800 MHz
101.65 dB
@@PROTECTED12@@
See cited evidence
1 km
900 MHz
91.48 dB
@@PROTECTED13@@
See cited evidence
1 km
2400 MHz
100.00 dB
@@PROTECTED14@@
See cited evidence
1 km
5800 MHz
107.67 dB
@@PROTECTED15@@
See cited evidence
5 km
900 MHz
105.46 dB
@@PROTECTED16@@
See cited evidence
5 km
2400 MHz
113.98 dB
@@PROTECTED17@@
See cited evidence
5 km
5800 MHz
121.65 dB
@@PROTECTED18@@
See cited evidence
10 km
900 MHz
111.48 dB
@@PROTECTED19@@
See cited evidence
10 km
2400 MHz
120.00 dB
@@PROTECTED20@@
See cited evidence
10 km
5800 MHz
127.67 dB
@@PROTECTED21@@
See cited evidence
derived · evidence
Doubling free-space distance adds 6.0206 dB path loss
A positive margin says only that modeled received power exceeds your supplied threshold. It does not establish reliable connectivity, acceptable latency, permitted operation or aircraft authority. Unknown losses or an inappropriate threshold can dominate the answer.
derived · evidence
Illustrative 2400 MHz, 1 km, 20 dBm TX, zero gains/losses and -100 dBm assumed receiver threshold: 100.00 dB path loss, -80.00 dBm predicted power and 20.00 dB margin
All configuration inputs are hypothetical; no radio has been tested by this example.
The former fixed environment multipliers were not supported by a documented test method or configuration and have been withdrawn. Generic device sensitivities, obstacle-loss allowances, noise floors and legal-power labels were also removed pending configuration-specific sources.
Use Report / add field evidence to contribute a measurement. Include equipment and revisions, firmware/mode, antennas and placement, distance and geometry, date, conditions, measurement method and units, and uncertainty. A result applies to its recorded setup rather than every device in its band.
Keep measured losses separate from estimates. A noise-floor increase is not a universal subtraction from sensitivity; assess the receiver, bandwidth and measurement method.
Correction record
Proposed October 1 rewrite: unsupported range multipliers and categorical range conclusions withdrawn; configurable thresholds; explicit loss signs; sourced formula-derived tables. Publication remains subject to review.
You have 6 drones, each with a control link, video link, and GPS. That's
18 RF links sharing the same airspace. If you don't plan your frequencies,
your own fleet will jam itself before the enemy gets a chance to. This
guide is the practical worksheet for deconflicting multi-drone operations.
Every FPV drone has at minimum two active RF links, sometimes three:
Link
Direction
Typical Band
Purpose
Evidence
Control (RC)
Ground → Air
900 MHz or 2.4 GHz
Stick commands, arming, mode switching
Review needed: safety
Video (VTX)
Air → Ground
5.8 GHz (or 1.2/2.4/7.2 GHz)
Camera feed to pilot goggles
—
GPS/GNSS
Satellite → Air
1.575 GHz (L1), 1.227 GHz (L2)
Navigation, RTH, position hold
—
GPS is receive-only and shared across all drones — it doesn't need
deconfliction. Control and video are the two links you must plan.
Telemetry rides on the control link (CRSF/ELRS telemetry is bidirectional
on the same channel). It does not need a separate frequency assignment.
MAVLink telemetry over a separate radio (SiK, mLRS, DroneBridge) is a
fourth link that DOES need its own frequency assignment.
Frequency Band Map
900 MHz Band (ELRS 900 / MafiaLRS / mLRS)
Use
Frequency Range
Notes
ELRS 900 MHz
863–928 MHz
Region-dependent: EU 868 MHz, US/AU 915 MHz
MafiaLRS
433–560 MHz + modified 868/915
Non-standard bands for EW evasion
mLRS 900
863–928 MHz
LoRa modulation, longer frame times
MILELRS 900
863–928 MHz
Same hardware as ELRS, encrypted
Self-interference risk: Low for control links because ELRS uses frequency
hopping (FHSS). Two ELRS transmitters on different binding phrases will
hop independently and rarely collide. However, if you run 6+ drones on 900 MHz
ELRS simultaneously, aggregate interference increases. Monitor LQ.
2.4 GHz Band (ELRS 2.4 / Ghost / WiFi)
Use
Frequency Range
Notes
ELRS 2.4 GHz
2400–2483 MHz
ISM band, shared with WiFi and Bluetooth
Ghost (GHST)
2400–2483 MHz
Orqa/ImmersionRC protocol
WiFi (DroneBridge)
2400–2483 MHz
Telemetry only
Bluetooth
2400–2483 MHz
Short range, ground station
Self-interference risk: HIGH. This band is crowded. WiFi from ground
stations, Bluetooth from phones, and multiple ELRS transmitters all compete.
ELRS FHSS helps but doesn't eliminate the problem. If running 4+ drones on
2.4 GHz ELRS, expect LQ degradation.
WiFi conflict: if using a DroneBridge ESP32 or companion computer with
WiFi (Raspberry Pi, VOXL 2) on the same drone, the WiFi radio can interfere
with a 2.4 GHz ELRS receiver. Use 900 MHz ELRS with 2.4 GHz WiFi, or
vice versa. Never stack same-band RC and WiFi on the same drone.
5.8 GHz Band (Video)
This is where frequency planning matters most. Analog VTX channels are
narrowband and can easily interfere with each other.
Band
Channels
Range (MHz)
Channel Spacing
R (Raceband)
R1–R8
5658–5917
~37 MHz apart
F (FatShark)
F1–F8
5740–5880
~20 MHz apart
A (Boscam A)
A1–A8
5865–5725
~20 MHz apart
E (DJI/Lumenier)
E1–E8
5705–5880
~25 MHz apart
Critical rule: adjacent Raceband channels (e.g., R1 and R2) have
enough spacing for 2 drones. Adjacent channels on other bands may NOT —
some overlap. When mixing bands, use a frequency chart to verify no
channel is within 30 MHz of another active channel.
Raceband is the standard for multi-pilot operations because its channels
are deliberately spaced to minimize adjacent-channel bleed. Use Raceband
unless you have a specific reason not to.
Non-Standard Video Bands
Band
Notes
1.2 / 1.3 GHz
Long range, good penetration, fewer jammers. Large antennas. Harmonics can interfere with GPS L1 (1.575 GHz) — check with a spectrum analyzer.
2.4 GHz video
Shared with RC band — never use 2.4 GHz for both RC and video.
7.2 GHz
Very short wavelength, needs line of sight. Compact antennas. Not covered by most jammers (as of mid-2025).
The Assignment Table
Print this and fill it in before every multi-drone operation.
Never put control and video on the same frequency band on the same drone.
Standard pattern:
RC on 900 MHz + Video on 5.8 GHz — the most common and safest combo
RC on 2.4 GHz + Video on 5.8 GHz — also safe, but 2.4 GHz is crowded
RC on 900 MHz + Video on 1.2 GHz — long range combo, check for GPS
harmonic interference Review needed: performance / failure mode
RC on 433 MHz + Video on 5.8 GHz — MafiaLRS config, maximum separation
Never: RC on 2.4 GHz + Video on 2.4 GHz. Never.
Rule 2: ELRS Binding Phrases Are Your Friend
ELRS frequency hopping means two drones on the same band won't directly
interfere — they hop independently. But they share the same spectral space.
The binding phrase ensures each TX only talks to its paired RX.
For multi-drone ops, use unique binding phrases per drone (or use model
match IDs if sharing a binding phrase across a fleet).
Rule 3: VTX Channel Spacing
For analog video, minimum 30 MHz between any two active VTX channels.
Raceband channels are pre-spaced for this:
6 drones on Raceband (maximum safe assignment):
Drone
Channel
Frequency
1
R1
5658 MHz
2
R2
5695 MHz
3
R4
5769 MHz
4
R5
5806 MHz
5
R7
5880 MHz
6
R8
5917 MHz
Note: R3 (5732) and R6 (5843) skipped to maintain wider spacing. With 8
Raceband channels, 6 drones is the practical maximum for simultaneous
analog video without interference.
Digital video (DJI, Walksnail, HDZero) handles channel management
internally with wider bandwidth per channel. Maximum simultaneous drones
varies by system — check manufacturer documentation. Generally 4–8
simultaneous digital feeds per band.
Rule 4: Telem and Mesh on Their Own Channels
If running a separate telemetry radio (SiK 915 MHz, mLRS, DroneBridge):
Don't put it on the same band as your RC link
If both are 900 MHz, ensure different channel/frequency settings and
verify they don't overlap using the manufacturer's channel plan
mLRS and ELRS 900 MHz can coexist if on different LoRa channels, but
test before trusting in the field
Mesh radios (Silvus, Doodle Labs, Rajant) typically operate on their own
managed spectrum and self-deconflict within the mesh. But they can still
interfere with RC or video if in the same band. Check the mesh radio's
operating frequency before assignment.
Rule 5: Ground Station RF Discipline
Your ground station emits RF too:
Laptop/tablet WiFi — 2.4 GHz and 5 GHz. If parked next to your
goggle patch antenna, the 5 GHz WiFi can interfere with 5.8 GHz video.
Disable 5 GHz WiFi on ground devices or position them away from
antennas.
Phone hotspot — same issue. Keep phones away from receiver antennas.
Mesh radio ground node — ensure its antenna isn't pointed at your
video receiver antenna.
Recon drones run lower VTX power to reduce detectability. Strike drones
run higher power for better video at speed. All on 900 MHz ELRS with
unique binding phrases.
Split RC across bands to reduce aggregate spectral load. GCS WiFi on
5 GHz only to avoid 2.4 GHz interference. Telem radio on different LoRa
channel than the 900 MHz ELRS units.
Maximum frequency diversity. No two drones share the same link stack.
Fiber optic drone is immune to all RF jamming. 7.2 GHz video is outside
most jammer coverage. MafiaLRS on 433 MHz is below standard jammer bands.
MILELRS multiband provides failover if one band is jammed.
Harmonics and Interference Gotchas
1.2 GHz Video ↔ GPS L1
1.2 GHz VTX 2nd harmonic = 2.4 GHz (interferes with 2.4 GHz RC).
1.2 GHz VTX at high power can also desense the GPS L1 receiver (1.575 GHz)
if the VTX antenna is near the GPS module. Use physical separation (GPS on
top, VTX antenna on bottom) and a bandpass filter on the GPS if available.
5.8 GHz Video ↔ WiFi 5 GHz
5 GHz WiFi (5150–5825 MHz) overlaps with low 5.8 GHz video channels.
If running a companion computer with 5 GHz WiFi, avoid VTX channels below
5800 MHz, or disable 5 GHz WiFi and use 2.4 GHz WiFi instead.
Motor Noise ↔ Everything
ESC switching noise generates broadband EMI. On poorly shielded builds,
this can raise the noise floor across all bands. Countermeasures: capacitors
on ESC power leads, twisted signal wires, physical separation between
power wiring and RF components, ferrite beads on USB and signal cables.
Spectrum Analyzer: What to Look For
If you have a spectrum analyzer (even a cheap RTL-SDR works for basic
analysis), sweep the operating area before launch:
Existing transmitters — are there other operators, WiFi APs, or known
jammers active? Avoid their frequencies.
Noise floor — how loud is the ambient RF? A high noise floor on a
specific band means poor performance on that band regardless of jamming.
Your own emissions — power up one drone at a time and check for
spurs, harmonics, and unintended emissions.
Chapter 37: Packable Antennas — Range You Can Carry
The best long-range antenna is worthless if it doesn't fit in the
bag you actually brought. This chapter is about the antennas that
give you real range and still pack down — and the one polarization
mistake that quietly throws away half your signal on a WiFi link.
The Three-Way Trade
Chapter 3 covered the gain-versus-pattern trade. In the field there is
a third axis: how small it packs and how fast it deploys. You are
now trading three things against each other, not two:
Gain — range, but only in the direction the antenna points.
Beamwidth — how forgiving it is about aiming (and, on a mesh,
how many neighbors it can hear).
Pack size / deploy time — whether it rides in a pouch and sets
up in ten seconds, or needs a mast, a tripod, and a tracker.
There is no antenna that wins all three. A grid dish is 24 dBi and packs
like a trash-can lid. A rubber-duck packs to nothing and gives you 2 dBi.
The useful middle — flat CP patches and dual-band panels, 8–13 dBi,
that pack flat — is where a field-portable long-range link actually
lives.
The Polarization Trap on WiFi Links
This is the single most common way to lose 3–20 dB on a WiFi-broadcast
or mesh link (WFB-NG, OpenHD, or a raw ad-hoc/mesh setup on cards like
the MediaTek MT7612U), and almost nobody checks it.
The antenna sets the polarization, not the radio. An MT7612U USB
card is fed as a linear (dipole) device, but if you bolt a circularly
polarized antenna onto it, the link radiates circular. What matters is
the pair of antennas across the link, not the chipset.
TX antenna
RX antenna
Loss
Notes
CP (RHCP)
CP (RHCP) — same hand
~0 dB
Correct. Matched circular.
CP (RHCP)
CP (LHCP) — opposite hand
-20 to -30 dB
Wrong-hand CP is near-total rejection. The link may not close at all.
CP
Linear
-3 dB (consistent)
Survivable. Loss is fixed regardless of rotation.
Linear (vertical)
Linear (vertical)
~0 dB
Correct, if both stay vertical.
Linear (vertical)
Linear (horizontal)
-20 dB+
Cross-polarized. Effectively no link.
Two rules fall out of this table:
If you run CP on one end, run same-hand CP on the other. A
3 dBic CP omni on the air side and a CP patch on the ground must be
the same handedness (both RHCP or both LHCP). Opposite hands is not
a 3 dB penalty — it is a 20–30 dB hole that looks like a dead radio.
Don't mix CP and linear to "save money." Putting a linear panel
(e.g. an Alfa APA-M25) against a CP air antenna costs a flat 3 dB.
It works, but you gave away a quarter of your range for nothing. If
you want linear panels on the ground, run a linear antenna on the air
side too.
The CP-to-linear 3 dB is at least consistent — it does not swing with
airframe rotation the way linear-to-linear misalignment does (which is
why CP is preferred on things that bank and roll in the first place).
That consistency is the only reason a mixed setup is tolerable.
Mesh Topology Changes the Antenna Choice
If the link is a true mesh — a routing protocol such as Babel
(RFC 8966, a loop-avoiding distance-vector protocol built for dynamic
wireless mesh) picking paths across several moving nodes — then a
narrow directional antenna on a node is a liability. The node can only
hear neighbors inside its beam; anything behind it is invisible to the
routing table, and the mesh can't route around a link it can't see.
Node role
Antenna
Why
Roaming / airborne node
Omni (CP, 2–5 dBic)
Must hear any neighbor in any attitude. Directional would drop peers on every turn.
Fixed gateway to a known sector
Wide directional (patch, 8–13 dBi, 60–120° beam)
Covers an operating area, not a pinpoint. Range without going blind.
Point-to-point backhaul leg
Narrow directional both ends
Known, fixed geometry. Highest gain, needs aiming.
The practical read: put the gain on the fixed end pointed at the
operating area, keep the moving ends omni, and prefer a
wide-beam patch (like the TrueRC X-Air's ~120° pattern) over a narrow
yagi so the mesh keeps discovering neighbors across a sector instead of
a pencil line. A tracker only earns its complexity once the beam gets
narrow enough (below ~15–20°) that a human can't keep it pointed.
Babel doesn't change RF range — it changes what the link needs to
stay routed: a healthy path in both directions. A big patch on the
gateway does nothing if the moving node's little omni can't be heard on
the way back. Budget the weaker direction, not the stronger one.
The Packable Menu
Gains and pack characteristics below are from manufacturer specs and
field use. Treat gain as a comparison guide, not a guarantee — axial
ratio and real pattern vary.
Air / moving side — stay omni, stay light
Antenna
Gain
Pol
Pack
Notes
CP omni stub (Singularity-class)
2–3 dBic
CP
Trivial
Direct upgrade from a stock 3 dBic. Better pattern, still tiny.
Cloverleaf / skew-planar
2–3 dBic
CP
Trivial
Good multipath rejection. Fragile elements.
Linear dipole / whip
2–5 dBi
Linear
Trivial
Only if the ground end is also linear.
Don't chase gain on the moving end — a directional antenna there loses
link every time the airframe turns away.
Ground / fixed side — this is where range is won
Antenna
Gain
Beam (−3 dB)
Pol
Pack
Needs aiming?
CP omni stub
2–3 dBic
360°
CP
Trivial
No — but no range gain either
TrueRC X-Air (5.8 / 2.4)
~9.5–10.5 dBic
~68°
CP
Flat, pocketable
Point at the sector; no tracker
TrueRC X²-Air (5.8)
~13 dBic
~62°
CP
Flat, slightly larger
Point at the sector
Alfa APA-M25 (dual-band 2.4/5)
8 dBi (2.4) / 10 dBi (5)
~66°
Linear
Flat panel, ~167×66×18 mm
Point at the sector
Folding yagi
10–14 dBi
30–50°
Linear
Folds, longer
Recommended
Panel array (2×2 / 4×4)
14–18 dBi
20–30°
Linear/CP
Bulkier, still flat
Tracker recommended
Grid / dish
18–24 dBi
10–15°
Linear
Does not pack
Must track
The sweet spot for "range you can carry" is the flat CP patch
(X-Air / X²-Air) or the dual-band linear panel (APA-M25) — 8–13 dBi,
rides flat in a pouch, wide enough beam to cover a sector by hand. That
band of the table is the whole point of the chapter.
Worked Example: MT7612U Mesh, CP Both Ends
The setup that prompted this chapter, run through the Chapter 4 method
so the numbers are honest:
Radios: MT7612U USB cards both ends. Box says 23 dBm; the Linux
driver caps these at ~18 dBm and they famously ignore higher
power settings — budget 18 dBm, not 23.
Air antenna: 3 dBic CP omni.
Ground antenna: TrueRC X-Air, ~10 dBic CP directional patch,
same handedness as the air antenna (this is not optional — see the
polarization trap above).
Polarization loss: 0 dB (matched CP-CP). Cable/connector: ~1 dB.
Effective one-way budget: 18 + 3 + 10 − 1 = 30 dB of power +
gain to spend against path loss.
RX sensitivity (WFB-NG-style, MCS0/1, long GI): ~−91 dBm at the
raw decode edge.
Two range numbers, both assuming clear line of sight and a clear
first Fresnel zone:
Band
Theoretical (0 dB margin, decode edge)
Expected (10 dB link margin)
2.4 GHz (X-Air 2.4, ~10 dBic)
~11 km
~3.5 km
5.8 GHz (X-Air 5.8, ~10 dBic)
~4.5 km
~1.5 km
Read those two columns as the envelope, not a promise. "Theoretical" is
the distance where the signal just reaches the decode threshold with
nothing held back — one gust of multipath and it drops. "Expected" holds
back 10 dB for fading, imperfect aiming, and Fresnel intrusion, which is
what you actually plan around. Reality lands between them and drifts
toward the left column only in a clean rural RF environment.
Three things move these numbers more than anything else:
Band. 2.4 GHz buys ~3× the range of 5.8 GHz for the same gear
(13 dB less free-space loss at the same distance). If regulations and
spectrum congestion allow it, run the link on 2.4.
The MT7612U's real 18 dBm. That's ~5 dB under the box number —
about a 45% range haircut baked in before you leave the truck.
Measure your card's actual output; don't trust the label.
Fresnel, not just line of sight. At 4 km on 2.4 GHz the first
Fresnel zone is ~11 m in radius at midpoint. Ground clutter eating
the bottom of it is most of the gap between the two columns above.
Anatomy of a Range Record
The packable setup above lands in single-digit kilometres. WiFi-broadcast
systems like OpenHD have flown 60–75 km on the same physics. The
record is not one exotic component — it is the discipline of stacking
every lever at once. Free-space loss at 60 km on 5.8 GHz is ~143 dB;
closing that with margin takes roughly 58 dB of TX power + antenna gain
combined. Here is where that comes from, in order of contribution:
Lever
Buys you
How
Tracked directional ground antenna
~30 dB
20–30 dBi panel/dish on a GPS antenna tracker. The beam is ~10–15° wide — a human can't hold it, so the tracker is the enabling piece, not an accessory.
Altitude + terrain
Makes 60 km exist
Ground station on a ridge, aircraft at altitude. Radio horizon ≈ 4.12·(√h_tx + √h_rx) km — a 500 m ridge + 1500 m aircraft reaches ~250 km of horizon. Mountain-to-air, never a field.
Narrow channel (5/10 MHz)
~3–6 dB
Halving bandwidth halves integrated noise: ~3 dB per halving of receiver sensitivity. Trades video bitrate for reach.
Lowest MCS + FEC
Graceful edge
MCS0 (BPSK) is the most robust rate; WFB-NG forward error correction softens loss instead of cliff-diving, so you can operate at the ragged edge of the budget.
Card + (last) power
A few dB
RTL8812AU/EU over MT7612U — proven injection, 5/10 MHz support, and it honors higher power settings. A PA to ~30 dBm is the least efficient lever: 6 dB (4× power) only doubles range, versus 30 dB from an antenna.
RX diversity + clean spectrum
Protects the margin
Multiple ground RX cards combined per-packet; flown in rural terrain where the noise floor sits near −100 dBm. An urban −85 dBm floor would erase 15 dB instantly.
The air side stays omni through all of this — the aircraft banks and
turns and can't point anything. Every one of these knobs lives on the
ground or in the flight profile. That is the whole lesson of this
chapter at its extreme: put the gain on the end that isn't moving, give
the signal a clean path to fly across, and never rely on a single trick.
The failure mode of chasing records: each lever narrows your
operating envelope. A 15° beam that loses tracking lock drops the link.
A 5 MHz channel gives you a slideshow, not video. MCS0 at the margin
means one terrain intrusion is a dropout, not a blur. Records are flown
by people who accept those constraints deliberately — they are not a
config you leave on for everyday flying.
Recommendations
If you keep CP (your air antenna is CP):
Ground end → TrueRC X-Air (matched hand, ~10 dBic, flat, no
tracker for a sector). Air end → keep the 3 dBic CP omni or step to a
Singularity-class stub. This is the smallest-bag, no-mismatch path and
needs zero changes to your polarization scheme.
If you'll commit the whole link to linear:
Ground end → Alfa APA-M25 (dual-band, 8/10 dBi, packs flat, native
RP-SMA for the Alfa cards). Air end → linear dipole. Slightly cheaper,
dual-band in one panel, but only correct if both ends are linear.
Either way:
- Run 2.4 GHz for range unless the band is unusable.
- Point the fixed patch at the operating sector, not a pinpoint —
the wide beam is doing you a favor on a moving target and on a mesh.
- Add a tracker only when the ground gain climbs past ~15 dBi and the
beam gets too narrow to hold by hand.
Failure Modes
Wrong-hand CP. RHCP against LHCP looks exactly like a dead radio
or a broken cable. Before you tear the build apart, confirm both CP
antennas are the same handedness. This costs 20–30 dB.
Trusting the box power. "23 dBm" on an MT7612U is ~18 dBm in
practice. Every downstream range estimate inherits that 5 dB error.
Directional antenna on a mesh node. Narrow-beam gain on a moving
or peer-facing node blinds the routing table to neighbors outside the
beam. Keep gain on the fixed end.
One-way budgeting. A big ground patch that the air node can't be
heard back through gives you a downlink and no uplink. Babel needs the
return path; budget the weaker direction.
Ignoring the Fresnel zone. "I have line of sight" is necessary,
not sufficient. Clutter in the bottom of the first Fresnel zone pulls
you off the theoretical number long before the geometry says it should.
Next
Chapter 3: Antennas for People Who Aren't RF Engineers — gain,
pattern, and polarization from the ground up.
Chapter 4: Link Budgets Without the Math — the method behind the
worked example above.
Chapter 2: Frequency Bands & Regulatory Reality — before you
"just run 2.4 GHz for range," check what you're allowed to transmit.
Range you can't carry to the field is range you don't have. Pick the
antenna that packs, match your polarization, and put the gain on the end
that isn't moving.
Handbook track
Part 2 — Flight Controller Firmware
Firmware choices, serial protocols, UART maps, RC links, and ESC control.
Chapter 5: Four Flight Controller Firmware Ecosystems
This guide covers Betaflight, INAV, ArduPilot and PX4. Select an exact board target, firmware version and matching configuration application. A protocol name alone does not establish support for a particular message, sensor or vehicle.
Functional requirements
Requirement to verify
Project documentation to check
Acceptance record
Manual rate control, altitude/position hold or rescue
Betaflight release/build options and mode documentation
Exact target, enabled features, required sensors and configured recovery behavior
Navigation and mission functions on the intended vehicle
INAV release and target documentation
Vehicle support, configurator compatibility and mission/mode limits
Vehicle-specific mission, sensor and peripheral integration
ArduPilot vehicle/version documentation
Exact vehicle firmware, parameter names, units and defaults
Companion/offboard integration
PX4 versioned Offboard and interface documentation
Supported message/frame, prerequisites, timeout and loss behavior
This is a requirements checklist. It does not rank flight feel, community size, safety or compatibility.
Betaflight
Betaflight 2025.12 introduces Altitude Hold and Position Hold when included in the build. GPS is required for Position Hold and a magnetometer is strongly recommended in the project's documentation. GPS Rescue, position holding and waypoint missions are distinct capabilities. Check the current release rather than extrapolate from older descriptions.
The Betaflight App is a web application with platform-specific packaging; it replaces the former Chrome-app description. Match the app/firmware compatibility table and release channel. The release watchlist separately records newer versions whose capabilities require checking.
MSP provides versioned message/command interfaces; CLI configuration backups such as diff all and dump all have different scope. Preserve the original firmware/defaults and read back migrated configuration after an upgrade.
INAV publishes firmware, board targets and a matching configurator through its project repositories. Consult the exact release notes for supported vehicles, navigation modes, sensors and MSP interfaces. Do not transfer Betaflight CLI commands or defaults merely because both projects expose MSP and a CLI.
ArduPilot documentation and parameters are vehicle- and version-specific. Use the selected vehicle's parameter reference and board documentation. Parameter counts vary with the build and are not a measure of integration capability.
MAVLink supports published telemetry and request/command services. Stream-rate control depends on the firmware and MAVLink interface instance; it does not map universally to a physical UART. Verify message support, addressing, units, frames and command acknowledgements separately.
PX4 has versioned board, vehicle and interface documentation. Its Offboard mode requires the documented proof-of-life stream and valid estimator/control prerequisites. Message support, reference frames and loss behavior must match the selected release. Main-branch documentation can describe unreleased changes.
Chapter 6: MSP Protocol — The Betaflight/iNav Language
MSP is a question-and-answer protocol. You ask the FC a question
(send a request with a function code). It answers (sends a
response with the data). No streaming, no subscriptions,
no surprises.
What MSP Is
MSP (MultiWii Serial Protocol) is the serial communication protocol
used by Betaflight and iNav. It's been around since the MultiWii
days and has evolved through several versions. The current version
is MSP v2, which supports 16-bit function codes and CRC8
checksums. Review needed: performance / configuration
MSP is simple by design. It runs over any serial connection (UART,
USB, TCP, Bluetooth) at any baud rate. There are no connection
handshakes, no sessions, no state. Send a request, get a response.
Same structure but with > (0x3E) instead of < (0x3C).
The Messages That Matter
Identity
Function
ID
Direction
Returns
MSP_FC_VARIANT
0x02
Read
4-byte ASCII: "BTFL" or "INAV"
MSP_FC_VERSION
0x03
Read
3 bytes: major, minor, patch
MSP_BOARD_INFO
0x04
Read
Board identifier, manufacturer, board name
These are the first messages to send on any new connection. They
tell you what firmware is running, what version, and what hardware
it's running on.
Auto-detect pattern: Send MSP_FC_VARIANT. If you get "BTFL",
it's Betaflight. If "INAV", it's iNav. If no response within 2
seconds, it's not an MSP firmware (try MAVLink).
PID Tuning
Function
ID
Direction
Payload
MSP_PID
0x70
Read
9 bytes: [Roll P, Roll I, Roll D, Pitch P, Pitch I, Pitch D, Yaw P, Yaw I, Yaw D]
MSP_SET_PID
0xCA
Write
Same 9 bytes
Each value is 0-255. The FC interprets these differently by firmware
version (scaling factors change between BF 4.3 and 4.4, for example).
Always record the firmware version alongside PID values.
Rates
Function
ID
Direction
Payload
MSP_RC_TUNING
0x6B
Read
Rate values (format depends on rate type)
MSP_SET_RC_TUNING
0xCC
Write
Same format
Rate payload format depends on the configured rate type (Betaflight
rates, Actual rates, KISS rates, Quick rates). Read
rates_type from the RC tuning response to know how to interpret
the values.
Cell count, capacity, voltage (mV), current (cA), mAh consumed
MSP_ANALOG
0x6E
Read
Voltage, power (mAh), RSSI, current
Blackbox
Function
ID
Direction
Payload
MSP_BLACKBOX_CONFIG
0x5C
Read
Device (flash/SD), rate, conditions
MSP_DATAFLASH_SUMMARY
0x70
Read
Total size, used size, ready flag
MSP_DATAFLASH_READ
0x71
Read
Address + data chunk (~4 KB)
MSP_DATAFLASH_ERASE
0x72
Write
Erases all flash (10-30 sec)
Blackbox download is the most bandwidth-intensive MSP operation.
At 115200 baud, downloading 2 MB of flash takes ~3 minutes. At
921600 baud (via ESP32 bridge), it takes ~20 seconds.
Motor Control
Function
ID
Direction
Payload
MSP_MOTOR
0x68
Read
8x uint16: motor values (1000-2000 or DShot)
MSP_SET_MOTOR
0xD6
Write
Same format — TEST MODE ONLY
MSP_SET_MOTOR bypasses the PID controller and directly sets motor
outputs. Props must be removed when using this. This is for
motor direction testing, not flight.
EEPROM
Function
ID
Direction
Description
MSP_EEPROM_WRITE
0xF9
Write
Saves current settings to EEPROM
Always send MSP_EEPROM_WRITE after SET commands. Without it,
your changes are lost on the next reboot.
Write Safety Pattern
Never write to an FC without this sequence:
Read the current value (snapshot before)
Show the diff to the operator (before vs after)
Get approval (operator confirms)
Write the new value via MSP_SET_*
Read back to verify the FC accepted it
Compare read-back to what you wrote
EEPROM write after all changes in the batch
Log every change with timestamp, old value, new value
Step 5 is critical. Some FC firmware versions silently clamp
values to valid ranges. If you write P=200 and read back P=150,
the FC clamped it. Your operator needs to know.
Practical Tips
Baud rate: MSP works at any baud rate, but the FC UART must
be configured to match. Betaflight defaults MSP-configured UARTs
to 115200. You can change this in the Ports tab. For blackbox
download speed, 921600 is recommended. Review needed: performance / configuration
Timeout: If you send a request and don't get a response within
100 ms, the FC didn't understand it (wrong function code, wrong
firmware version, or the UART isn't configured for MSP). Retry
once, then try a different approach.
Versioning: MSP function codes and payload formats change
between firmware versions. A message that works on BF 4.4 may
not exist on BF 4.2. Always detect the firmware version
(MSP_FC_VERSION) before sending version-specific messages.
Multiple MSP ports: An FC can have multiple UARTs configured
for MSP simultaneously. This is useful for connecting both a
configurator and a companion computer. Each port operates
independently.
MSP over WiFi: The ESP32 bridge (Tooth, SpeedyBee adapter)
wraps MSP in TCP. The byte stream is identical to serial — the
same parser works on both USB and TCP transport. The only difference
is the connection setup.
Next
Chapter 7: MAVLink Protocol — the other language, for ArduPilot
and PX4.
Chapter 8: UART Layout — where to put your MSP connections.
MSP is simple. That's its strength. Ask a question, get an answer.
No handshakes, no state, no negotiation. The protocol stays out of
the way so you can focus on the data.
Chapter 7: MAVLink Protocol — The ArduPilot/PX4 Language
MAVLink is a publish-subscribe protocol. You tell the FC what
streams you want, and it sends them continuously. You send
commands when you need something done. Both directions flow
at the same time.
What MAVLink Is
MAVLink (Micro Air Vehicle Link) is the communication protocol
used by ArduPilot, PX4, and their ecosystems. It's been the
standard for autonomous drone communication since ~2009.
Unlike MSP (request-response), MAVLink is a streaming protocol.
The FC continuously publishes telemetry at configured rates, and
the GCS/companion sends commands as needed. Both directions are
independent — you can receive telemetry while sending a command.
MAVLink v2 is the current version. v1 is deprecated but still
supported for backward compatibility. Always use v2 for new
development. Review needed: performance / configuration
Packet Format (MAVLink v2)
A MAVLink v2 packet has a 10-byte header. With payload length L, the CRC occupies bytes 10+L and 11+L; a signed packet then adds a 13-byte signing trailer.
Byte offset
Field
0
Magic 0xFD
1
Payload length L
2
Incompatibility flags
3
Compatibility flags
4
Sequence
5
System ID
6
Component ID
7–9
Message ID, little-endian 24-bit
10 through 9+L
Payload, when L is nonzero
10+L through 11+L
CRC-16/MCRF4XX
12+L through 24+L
Optional signing trailer: link ID, timestamp and signature
The checksum accumulates the message-specific CRC_EXTRA after the packet bytes covered by the CRC. CRC_EXTRA is not the checksum's initial seed. Signing authenticates messages; it does not encrypt the payload.
Every device on a MAVLink network has a system ID and component ID.
System ID: Identifies the vehicle. Drone 1 = system 1, Drone 2
= system 2. GCS is typically system 255. In a swarm, each drone
must have a unique system ID.
Component ID: Identifies a subsystem within the vehicle.
- 1 = Autopilot (the FC)
- 100 = Camera
- 154 = Gimbal
- 191 = Companion computer (Wingman uses this)
- 250 = GCS
Why this matters: When you connect to a mesh with 10 drones,
you'll receive MAVLink messages from all of them. The system ID
tells you which drone sent each message. If two drones have the
same system ID, you can't tell them apart. This is one of the most
common mistakes in multi-vehicle setups.
Setting the system ID:
- ArduPilot: SYSID_THISMAV parameter
- PX4: MAV_SYS_ID parameter
The Messages That Matter
HEARTBEAT (msg_id = 0) — The Keepalive
HEARTBEAT rates and timeout rules are implementation-specific; 1 Hz is common. It's how devices
discover each other and know the connection is alive.
Fields:
type = vehicle type (2=quadrotor, 1=fixed wing, etc.)
autopilot = firmware (3=ArduPilot, 12=PX4)
base_mode = armed/disarmed flag (bit 7)
custom_mode = current flight mode (firmware-specific number)
system_status = boot/calibrating/active/critical/emergency
Auto-detect pattern: Send a HEARTBEAT with system ID 255
(GCS). Wait for a response. Read the autopilot field:
3 = ArduPilot, 12 = PX4. This is the equivalent of MSP_FC_VARIANT
for the MAVLink world.
A missed heartbeat can indicate congestion, a stopped process or a transport fault. Configure and document a timeout for the application; a five-second rule is not part of the universal wire format.
Parameter Protocol
MAVLink parameters are named floating-point values. ArduPilot has
~1,200. PX4 has ~900.
Message
Direction
Description
PARAM_REQUEST_LIST
GCS → FC
"Send me all parameters"
PARAM_VALUE
FC → GCS
One parameter: name, value, type, index, count
PARAM_SET
GCS → FC
"Set this parameter to this value"
Full parameter pull:
1. Send PARAM_REQUEST_LIST
2. FC streams PARAM_VALUE messages (one per parameter)
3. Track received indices — if any are missing after the stream
ends, request them individually with PARAM_REQUEST_READ
A full pull of ~1,200 ArduPilot parameters at 115200 baud takes
5-15 seconds depending on link quality.
Writing a parameter:
1. Send PARAM_SET with param_id (name) and param_value
2. FC responds with PARAM_VALUE confirming the new value
3. If the confirmed value differs from what you sent, the FC
rejected or clamped the value
Parameters persist across reboots (stored in EEPROM/flash).
No separate save command needed, unlike MSP's MSP_EEPROM_WRITE.
Telemetry Streams
Request telemetry streams by sending REQUEST_DATA_STREAM or
SET_MESSAGE_INTERVAL.
Per-cell voltage, current, mAh consumed, temperature
GPS_RAW_INT
24
2-5 Hz
GPS fix type, satellites, HDOP, raw position
RC_CHANNELS
65
5-10 Hz
All RC channel values (for monitoring stick input)
Setting stream rates: Prefer MAV_CMD_SET_MESSAGE_INTERVAL where the exact firmware supports it. ArduPilot SRx_* indices identify MAVLink instances; they do not universally equal physical SERIALx port numbers. Multiple clients can overwrite each other's rate requests. ArduPilot stream-rate documentation, checked 2026-10-07.
Commands
MAVLink commands are sent via COMMAND_LONG or COMMAND_INT and
acknowledged via COMMAND_ACK.
Command
ID
Description
MAV_CMD_COMPONENT_ARM_DISARM
400
Arm or disarm
MAV_CMD_DO_SET_MODE
176
Change flight mode
MAV_CMD_NAV_TAKEOFF
22
Takeoff to specified altitude
MAV_CMD_NAV_LAND
21
Land at current position
MAV_CMD_NAV_RETURN_TO_LAUNCH
20
Return to home
MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN
246
Reboot FC
Arm command:
COMMAND_LONG:
target_system = 1 (drone's system ID)
command = 400 (ARM_DISARM)
param1 = 1.0 (1=arm, 0=disarm)
param2 = 0.0 (0=normal, force variants are excluded from this example)
Wait for COMMAND_ACK.MAV_RESULT: 0 ACCEPTED, 1 TEMPORARILY_REJECTED, 2 DENIED, 3 UNSUPPORTED, 4 FAILED, 5 IN_PROGRESS. Acceptance is a command-protocol result; confirm the resulting vehicle state separately.
Mission Protocol
Upload waypoint missions to the FC:
Send MISSION_COUNT (number of waypoints)
FC requests each with MISSION_REQUEST_INT
Send each MISSION_ITEM_INT
FC confirms with MISSION_ACK
Download existing mission:
1. Send MISSION_REQUEST_LIST
2. FC sends MISSION_COUNT
3. Request each with MISSION_REQUEST_INT
4. FC sends each MISSION_ITEM_INT
Offboard Control (PX4)
PX4's offboard mode lets the companion computer directly command
position, velocity, or attitude setpoints:
SET_POSITION_TARGET_LOCAL_NED:
x, y, z = position in local NED frame (meters)
vx, vy, vz = velocity (m/s)
type_mask = which fields are valid
Requirements for offboard mode:
1. Companion must stream setpoints at > 2 Hz (PX4 requires
continuous updates or it exits offboard mode)
2. RC switch must be set to offboard mode
3. Vehicle must be armed
This is the control path for Wingman L3 (Delegate) autonomous
operations on PX4.
ArduPilot vs. PX4: MAVLink Differences
Both speak MAVLink v2, but they differ in important ways:
Feature
ArduPilot
PX4
Flight mode numbers
ArduPilot-specific (0=Stabilize, 3=Auto, 6=RTL)
PX4-specific (different numbers for same concepts)
Parameter names
ATC_RAT_RLL_P style
MC_ROLLRATE_P style
Stream rate config
SR0_* parameters
SET_MESSAGE_INTERVAL command
Offboard control
Guided mode + SET_POSITION_TARGET
Offboard mode + SET_POSITION_TARGET
Sensor data
High-bandwidth DDS bridge
uXRCE-DDS to ROS2
Mission dialect
Standard + ArduPilot extensions
Standard (fewer extensions)
Implication for tools: Any tool that works across both ArduPilot
and PX4 (QGroundControl, MAVSDK, Wingman) must handle these
differences. The MAVLink wire format is identical — the interpretation
of mode numbers, parameter names, and command behaviors differs.
Practical Tips
Always send heartbeats. Your GCS or companion must send
HEARTBEAT at 1 Hz to the FC. If the FC doesn't receive GCS
heartbeats, it may trigger GCS failsafe (ArduPilot: FS_GCS_ENABLE).
Monitor packet loss. MAVLink packets have a sequence number.
If you see gaps in the sequence, you're losing packets. At > 5%
loss, the link is degraded. At > 20%, it's unreliable for commands.
Don't flood the link. Sending commands faster than the FC can
process them causes buffer overflow and dropped messages. One
command at a time, wait for COMMAND_ACK before sending the next.
Use MAVSDK or pymavlink, not raw parsing. MAVLink has 300+
message types with varying payload formats. Writing a parser from
scratch is an error-prone waste of time. MAVSDK (for control) and
pymavlink (for analysis) handle the parsing.
Test with SITL. Both ArduPilot and PX4 have Software-In-The-Loop
simulators that emulate a real FC over a simulated MAVLink link.
Test your companion software against SITL before connecting to
real hardware.
Next
Chapter 6: MSP Protocol — the simpler alternative for
Betaflight and iNav.
Chapter 8: UART Layout — where MAVLink connections go
in the FC's serial port map.
MAVLink is a conversation. The FC talks continuously. You listen
and speak when you have something to say. The protocol handles
the rest.
You will run out of UARTs before you run out of ideas.
Planning the layout before you build saves hours of rewiring later.
What a UART Is
A UART (Universal Asynchronous Receiver/Transmitter) is a serial
port. Two wires: TX (transmit) and RX (receive). Every device that
talks to the flight controller — RC receiver, GPS, telemetry radio,
companion computer, ESC telemetry, Bluetooth module, mesh radio —
needs a UART.
The flight controller has a fixed number of UARTs. Once they're
allocated, they're gone. Adding another device means either freeing
a UART or getting a different FC.
How Many UARTs You Actually Get
MCU
Typical FC
Hardware UARTs
Usable UARTs
Notes
STM32F405
Most 30x30 FCs
6
3–5
UART1 often hardwired to USB/VCP
STM32F722
Budget FCs
4
3
Fewer UARTs, fewer features
STM32F745/F765
Mid-range
8
5–6
More headroom
STM32H743/H750
Premium FCs
8+
6–8
Best for complex builds
RP2040
Pico-based FCs
2
2
Very limited
ESP32-C6
Tooth/Seed
2
1–2
One for FC bridge, one for debug
"Usable" is lower than "hardware" because:
- One UART is typically dedicated to USB (VCP/CDC) for configurator access
- Some UARTs share pins with SPI (used for gyro, OSD, flash) and can't be used
- Some UARTs have inverted-only pads on the PCB (for SBUS) and can't be
repurposed without hardware modification
Check your FC's documentation for which UARTs are actually available
on pads. The schematic may show 6 UARTs, but if only 4 have TX/RX
pads on the board, you have 4 usable UARTs.
The Standard Allocation
For a typical FPV quad with GPS and telemetry:
UART
Assignment
Protocol
Baud Rate
UART1
RC Receiver
CRSF (ELRS/Crossfire/Ghost)
420000
UART2
GPS
NMEA or UBX
38400 or 115200
UART3
Telemetry / MSP Bridge
MSP, MAVLink, or SmartPort
115200
UART4
ESC Telemetry
BLHeli/AM32 telemetry
115200
That uses 4 of your ~5 usable UARTs and you haven't added a
companion computer, mesh radio, or Bluetooth module yet.
What Eats UARTs
Every peripheral that communicates over serial needs its own UART.
Here's the complete list of things that might want one:
Device
Protocol
Required?
Notes
RC Receiver
CRSF/SBUS/IBUS
Yes
Non-negotiable. No UART = no control.
GPS
NMEA/UBX
For navigation
Required for RTH, GPS modes, position logging
Telemetry radio
MSP/MAVLink/LTM
For GCS link
Can share with RC if receiver supports it (CRSF telemetry)
ESC Telemetry
Serial telemetry
For RPM filter
Only needed if using bidirectional DShot or ESC temp monitoring
OSD (analog)
MSP DisplayPort
For on-screen display
Only if using DJI OSD or analog OSD with MSP
Companion computer
MAVLink/MSP
For AI/autonomy
The big UART consumer — wants high baud rate
Bluetooth module
SPP/BLE
For wireless config
Can use MSP-over-BT instead of USB
Mesh radio
Serial/Ethernet
For swarm
If the mesh radio uses serial (some use Ethernet instead)
LED controller
Serial LED
For prop LEDs
Rarely needs a full UART — can use soft serial
Rangefinder
Serial
For altitude hold
Some rangefinders use I2C instead (saves a UART)
Optical flow
Serial/I2C
For position hold
Prefer I2C version to save UARTs
Strategies When You Run Out
1. CRSF Telemetry Passthrough
If your RC receiver uses CRSF protocol (ELRS, Crossfire, Ghost),
it already has a bidirectional link to the transmitter. You can
send telemetry data (battery, GPS, attitude) through the RC link
instead of using a separate telemetry radio.
Saves: 1 UART (the one that would have gone to a telemetry radio)
Trade-off: Telemetry bandwidth is limited to what CRSF can carry
(basic flight data, not full MAVLink). If you need full MAVLink
telemetry (parameter editing, mission upload), you still need a
separate radio.
2. Soft Serial
Betaflight and iNav support "soft serial" — bit-banging a UART
on any GPIO pin. It works for low-baud-rate devices.
Saves: 1 hardware UART
Trade-off: Limited to ~19200 baud reliably. Not suitable for
CRSF (420000), GPS at high rate, or MAVLink. Good for: SmartPort
telemetry, serial LED, low-rate telemetry.
3. Companion Computer as Hub
Instead of connecting multiple devices to the FC, connect them to
a companion computer and use one UART between the companion and FC.
Before (4 UARTs on FC):
FC UART1 ← RC receiver
FC UART2 ← GPS
FC UART3 ← Telemetry radio
FC UART4 ← Mesh radio
After (2 UARTs on FC):
FC UART1 ← RC receiver
FC UART2 ← Companion computer (MAVLink)
Companion ← GPS (USB)
Companion ← Telemetry radio (USB or Ethernet)
Companion ← Mesh radio (Ethernet)
Saves: 2+ UARTs on the FC
Trade-off: Adds weight, power consumption, and complexity.
The companion computer becomes a single point of failure for
everything except manual RC control.
4. I2C Instead of Serial
Some peripherals (compass, barometer, rangefinder, optical flow)
are available in both serial and I2C versions. I2C uses a shared
bus — multiple devices on the same two wires (SDA, SCL).
Saves: 1 UART per device moved to I2C
Trade-off: I2C is slower than serial and can have bus contention
issues with multiple devices. But for low-bandwidth sensors, it's fine.
5. DMA and UART Sharing (Advanced)
On STM32H7 FCs, DMA (Direct Memory Access) allows the CPU to
handle UART traffic more efficiently. Some advanced configurations
use UART inversion and protocol detection to share a single UART
between two devices that take turns.
This is fragile, FC-specific, and not recommended unless you
know exactly what you're doing.
If you fill this out and you're already at zero remaining UARTs
before adding the companion computer you wanted, you need a
different FC or a companion-as-hub architecture.
Platform-Specific UART Maps
Typical F405 (4 usable UARTs)
UART1 → USB VCP (configurator) — not available for peripherals
UART2 → RC Receiver (CRSF @ 420000)
UART3 → GPS (UBX @ 115200)
UART4 → Available
UART5 → Available
UART6 → ESC Telemetry (if DShot bidirectional)
Two free UARTs (4 and 5) for telemetry radio, companion, mesh,
or Bluetooth.
Three free UARTs (2, 4, plus potential soft serial). The H7's
extra UARTs are why it supports more complex integrations than F4.
PX4 on Pixhawk 6X
TELEM1 → MAVLink GCS (115200 or 57600)
TELEM2 → MAVLink companion computer (921600)
GPS 1 → GPS (auto-detect)
GPS 2 → Second GPS or compass
RC IN → RC receiver (SBUS/CRSF)
DEBUG → Console / NSH shell
PX4 labels its ports by function rather than UART number.
The mapping to hardware UARTs is in the board configuration.
Common Mistakes
1. Wrong baud rate. CRSF is 420000. Many people set 115200
because that's the "default" they're used to. The receiver will
not connect. Always check the protocol's required baud rate.
2. TX/RX swap. FC TX connects to device RX, and vice versa.
This is wrong more often than any other wiring mistake. If a
serial device doesn't respond, swap TX and RX as the first
diagnostic step.
3. Voltage mismatch. Most FCs output 3.3V serial. Most
peripherals accept 3.3V. But some older devices are 5V serial
and can damage 3.3V inputs. Check before connecting.
4. Two devices on one UART. You can't connect a GPS and a
telemetry radio to the same UART and expect both to work.
Serial is point-to-point. Use a companion computer or
multiplexer if you need to share.
5. Forgetting the configurator UART. If you reassign the
USB/VCP UART to a peripheral, you may lose the ability to
connect Betaflight Configurator. Always keep at least one
path to the configurator available (USB or MSP-over-other-UART).
Next
Chapter 6: MSP Protocol — the protocol that rides on these UARTs
when talking to Betaflight and iNav.
Chapter 13: Adding a Companion Computer — the architecture
that solves the "not enough UARTs" problem.
Plan your UARTs before you solder. Desoldering a GPS module
because you need that UART for a companion computer is not
how you want to spend a Saturday.
Appendix B: UART Maps for Common Flight Controllers
Auto-generated from firmware source repos by mine_firmware_configs.py
Use this reference to identify which UARTs are available on your FC,
what MCU it runs, and which gyro(s) are onboard. Essential for wiring
receivers (ELRS/CRSF), GPS, VTX telemetry, and DJI air units.
CRSF (Crossfire) is the serial protocol that carries RC channel data and
telemetry between the receiver and flight controller. ExpressLRS uses CRSF
as its wire protocol. Understanding CRSF at the protocol level matters
because it's the foundation for ELRS, MafiaLRS, MILELRS, and every military
fork in the ecosystem.
CRSF is a bidirectional serial protocol designed by TBS (Team BlackSheep) for
their Crossfire system. When ExpressLRS was developed, it adopted CRSF as the
wire-side protocol between the receiver and the flight controller rather than
inventing a new one. This means every ELRS receiver speaks CRSF over its UART
connection.
CRSF carries two data streams in opposite directions:
Downlink (RX → FC): RC channel data (stick positions, switches, aux
channels)
Device name, serial number, hardware/firmware version
0x2D
Parameter Entry
TX ↔ RX
Lua configuration parameters
0x32
Command
TX → RX
Model match, binding commands
RC Channel Encoding
The 0x16 frame packs 16 channels into 22 bytes using 11-bit resolution per
channel (0–2047). Channel values map to:
172 = 988 µs (minimum)
992 = 1500 µs (center)
1811 = 2012 µs (maximum)
This gives 1624 discrete steps per channel — significantly better resolution
than SBUS (which also uses 11 bits but has lower effective resolution due to
its encoding).
CRSF Baud Rate
CRSF runs at 420000 baud by default. This is hardcoded in Betaflight,
iNav, and ArduPilot. The baud rate must match between the FC UART
configuration and the receiver.
In Betaflight, set the UART to "Serial RX" with provider "CRSF":
serial 1 64 115200 57600 0 115200
set serialrx_provider = CRSF
The 420000 baud rate allows up to 500 Hz packet rate, which is the maximum
ELRS supports.
ExpressLRS Packet Rates
ELRS uses CRSF on the wire but has its own over-the-air protocol. The
packet rate determines how often the transmitter sends an update to the
receiver:
Rate
Modulation
Range
Latency
Use Case
50 Hz
LoRa
Maximum
20 ms
Long range, telemetry
100 Hz
LoRa
Very long
10 ms
Long range
150 Hz
LoRa
Long
6.7 ms
Balanced
250 Hz
LoRa
Medium
4 ms
General FPV
333 Hz
LoRa/FLRC
Medium-short
3 ms
Freestyle
500 Hz
FLRC
Short
2 ms
Racing
Lower rates = longer range because the receiver has more time to
accumulate signal energy. This is a fundamental LoRa tradeoff.
FLRC (Fast Long Range Communication) is a Semtech mode available on
SX1280/SX1281 chips (2.4 GHz only). It's faster than LoRa but shorter range.
Used for the 333/500 Hz modes.
Telemetry
CRSF telemetry is bidirectional — the FC sends sensor data to the RX, which
relays it over the air to the TX module, which passes it to the radio via
CRSF. The radio (EdgeTX/OpenTX) can display this data on screen or pass it
to Lua scripts (like Yaapu Telemetry).
Link Statistics (0x14)
The most important telemetry frame. Sent by the RX on every packet:
Field
Bits
Description
Uplink RSSI Ant 1
8
Signal strength on antenna 1 (dBm, negated)
Uplink RSSI Ant 2
8
Signal strength on antenna 2 (diversity)
Uplink Link Quality
8
Percentage of packets received (0–100)
Uplink SNR
8
Signal-to-noise ratio (dB, signed)
Active Antenna
8
Which antenna is currently selected
RF Mode
8
Current packet rate index
Uplink TX Power
8
Transmitter power level index
Downlink RSSI
8
Signal strength of telemetry downlink
Downlink LQ
8
Telemetry link quality
Downlink SNR
8
Telemetry signal-to-noise
Link Quality (LQ) is the single most important metric for control link
health. It represents the percentage of expected packets that actually arrived.
LQ of 100 = every packet received. LQ below 70 indicates a stressed link.
Below 50 is dangerous. At 0, failsafe triggers.
This is the data that MILELRS extends — adding per-frequency-band LQ
breakdown, EW signal detection, and direction-finding data into extended
telemetry frames that MILBETA renders on the OSD.
Binding
ELRS binding establishes a unique association between a TX module and an RX.
The binding phrase (set during firmware compilation or via Lua script) is
hashed into a UID that both sides must share.
Stock ELRS: binding phrase is a human-readable string hashed into a 6-byte
UID. Anyone who knows the phrase can bind to your receiver.
MILELRS: adds encrypted per-transmitter keys. Each TX module gets a unique
cryptographic key that must be generated and paired. This prevents an adversary
who captures a receiver from binding their own transmitter to it.
Model Match
CRSF supports model matching — the TX sends a model ID, and the receiver only
responds if the ID matches. This prevents accidentally controlling the wrong
drone if you have multiple quads on the same binding phrase.
In EdgeTX/OpenTX, each model slot has a model match ID. The receiver stores
the expected ID. Mismatch = no arm.
Airport Mode (ELRS Backpack)
ELRS Airport mode repurposes the CRSF serial link for general-purpose serial
data passthrough. Instead of RC channels, the link carries arbitrary serial
data between two endpoints. This enables:
CRSF advantages over SBUS:
- No signal inversion needed (SBUS requires an inverter or a hardware UART
that supports inverted signal, which is why some FC pads are labeled
"SBUS" specifically)
- Built-in bidirectional telemetry (SBUS is one-way; telemetry needs a
separate wire/protocol like S.Port)
- Higher baud rate supports faster packet rates
- More extensible frame format
Why CRSF dominates: ExpressLRS adopted it, and ELRS is now the dominant
open-source RC system. Every ELRS receiver speaks CRSF. TBS Crossfire
receivers speak CRSF. Orqa Ghost uses GHST (similar to CRSF). This means
the majority of modern builds use CRSF or a close variant.
Wiring
CRSF needs only 4 wires between the receiver and FC:
Wire
Purpose
TX (from RX)
RC data from receiver to FC
RX (from RX)
Telemetry from FC to receiver
5V
Power (most RX accept 5V from FC)
GND
Ground
Connect RX TX → FC RX pad, and RX RX → FC TX pad (crossed). The UART must
be configured for Serial RX with CRSF provider in the firmware.
DShot is the digital protocol between the flight controller and ESC. It
replaced analog PWM/OneShot protocols and enabled bidirectional
communication — the FC tells the ESC what throttle to apply, and the ESC
reports back motor RPM. This bidirectional data is the foundation of RPM
filtering, which is arguably the single biggest advance in FPV flight
performance in the last five years.
DShot600 with bidirectional DShot is the current standard for FPV builds.
Everything before DShot is considered legacy.
How DShot Works
DShot is a digital protocol — it sends binary data (0s and 1s) as different
pulse widths on the motor signal wire. No calibration needed, no analog
noise issues, no ESC drift.
Throttle values 1–47 are reserved for special commands (DShot commands):
motor direction change, save settings, ESC info request, LED control, etc.
Value 0 = motor stop. Values 48–2047 = throttle range (2000 steps of
resolution).
Bit Encoding
DShot uses pulse-width encoding on a single wire:
Bit 1: high for 75% of the bit period
Bit 0: high for 37.5% of the bit period
The bit period depends on the DShot speed:
DShot
Bit Period
Frame Time
DShot150
6.67 µs
106.7 µs
DShot300
3.33 µs
53.3 µs
DShot600
1.67 µs
26.7 µs
Bidirectional DShot (RPM Telemetry)
Bidirectional DShot (also called "DShot telemetry" or "RPM filtering DShot")
reuses the same signal wire for both sending throttle commands and receiving
eRPM data back from the ESC.
How It Works
FC sends a DShot frame with the telemetry request bit set
FC switches the pin to input mode
ESC responds with a 21-bit frame containing eRPM (electrical RPM) data
FC processes the eRPM and calculates actual motor RPM
FC uses the RPM data for notch filters that track motor harmonics
The ESC response uses GCR (Group Code Recording) encoding — 4 data bits are
encoded as 5 signal bits for DC balance and clock recovery.
RPM Filtering
This is why bidirectional DShot matters. When the FC knows the exact RPM of
each motor, it can place gyro notch filters precisely on the motor vibration
frequencies and their harmonics. This dramatically reduces noise without
the phase delay of static notch filters.
Before RPM filtering: pilots used multiple static notch filters at
estimated frequencies, which added latency and never perfectly matched the
actual vibration frequencies.
After RPM filtering: a single dynamic notch per motor tracks the real
fundamental frequency. Less total filtering needed = less latency = better
flight feel and faster reaction times.
In Betaflight: enable bidirectional DShot in the Configuration tab, then
enable RPM filtering in the Filter tab. The gyro RPM filter tracks motor
harmonics automatically.
ESC Firmware
The ESC firmware determines which protocols the ESC supports and how it
drives the motor. Three main ESC firmware families:
BLHeli_S
Legacy 8-bit firmware for older ESCs. Supports DShot150/300/600 but does
NOT support bidirectional DShot or RPM filtering. No longer actively
developed. If your ESC runs BLHeli_S, you're missing RPM filtering — the
single biggest performance improvement available.
BLHeli_32
32-bit commercial firmware. Full DShot support including bidirectional.
RPM filtering works. Supports advanced features like variable PWM frequency,
LED control, and comprehensive ESC telemetry via a separate telemetry wire
(voltage, current, temperature, RPM per motor). Review needed: performance / configuration
BLHeli_32 is the incumbent standard. Closed-source but well-supported.
AM32
Open-source 32-bit ESC firmware. Full feature parity with BLHeli_32
including bidirectional DShot. Growing in popularity because it's free and
community-developed. The Orqa 3030 70A ESC runs AM32.
Key advantage: AM32 can be flashed onto many BLHeli_32-compatible ESCs,
giving you open-source firmware on existing hardware.
Bluejay
Open-source firmware for 8-bit ESC hardware (the same chips that run
BLHeli_S). Adds bidirectional DShot support to hardware that BLHeli_S
doesn't support it on. If you have a BLHeli_S ESC and can't replace it,
flashing Bluejay gives you RPM filtering.
ESC Telemetry (Separate Wire)
In addition to bidirectional DShot (which only carries RPM), some ESCs
provide full telemetry over a separate serial connection:
Data
Source
Protocol
Voltage per ESC
ESC ADC
Serial telemetry
Current per ESC
Shunt resistor
Serial telemetry
Temperature
Onboard thermistor
Serial telemetry
RPM per motor
Back-EMF / DShot
Either method
This telemetry wire connects to a spare FC UART. Betaflight can display
per-ESC data on the OSD (individual ESC temps, voltages). Useful for
diagnosing motor or ESC issues — one hot ESC indicates a motor problem
on that arm.
Configuration in Betaflight
Enabling DShot600 + Bidirectional
In Betaflight Configurator → Configuration tab:
ESC/Motor Protocol: DShot600
Bidirectional DShot: Enable
Motor Poles: set to your motor's actual pole count (typically 14 for
most FPV motors — count the magnets and divide by 2)
Motor pole count must be correct for accurate RPM calculation. Wrong pole
count = RPM filter on wrong frequencies = worse performance than no filter.
Enabling RPM Filtering
In Betaflight Configurator → Filters tab:
Gyro RPM Filter: Enable
Harmonics: 3 (tracks fundamental + 2 harmonics per motor)
Min Frequency: 100 Hz (below this RPM filtering disengages)
With RPM filtering active, you can typically reduce or remove static notch
filters, lowering total filter delay.
DShot Commands
The reserved throttle values (1–47) are used for special commands:
Value
Command
1–5
Beep patterns (ESC locator)
6
ESC info request (firmware version, etc.)
7
Spin direction 1 (normal)
8
Spin direction 2 (reversed)
9
3D mode off
10
3D mode on
12
Save settings
20
Spin direction normal
21
Spin direction reversed
These commands are sent by the FC firmware — pilots don't interact with them
directly. Betaflight uses them for motor direction configuration (reversible
via CLI/Configurator without re-soldering motor wires).
Troubleshooting
RPM Filtering Not Working
Bidirectional DShot not enabled — must be toggled on in Configuration
Wrong motor pole count — count magnets, divide by 2
ESC firmware doesn't support it — BLHeli_S does not. Flash Bluejay or
upgrade to BLHeli_32/AM32 hardware.
Wiring too long — long signal wires between FC and ESC can corrupt
the high-speed bidirectional signal. Keep wires short.
Motor Desync
Symptoms: motor stutters, stops mid-flight, or makes grinding noise.
Causes: DShot timing issues, ESC timing too aggressive, motor KV too high
for battery voltage, damaged motor winding.
Fix: lower ESC timing (via BLHeli_32/AM32 configurator), check motor for
physical damage, try DShot300 instead of DShot600 if desync persists.
Part 7 — Field Operations
Complete binding, configuration, and integration guide for
the ImmersionRC/Orqa Ghost RC control system. Covers all
transmitter modules, receivers, and flight controller
integration.
Quick Reference
Task
Method
Bind Ghost to drone
FPV.Ctrl app → Ghost Menu → Start Bind
Set protocol on FC
GHST (recommended over SBus)
Update Tx module firmware
Ghost Updater app (Windows/Mac) via USB
Update Rx firmware
Automatic on bind to updated Tx
VOXL 2 RC input
Set RC_INPUT = GHST in /etc/modalai/voxl-px4.conf
QGroundControl
Set RC_INPUT_PROTO parameter to GHST
OpenTX minimum version
2.3.10 (2.3.13+ recommended for full support)
Binding Procedures
Method 1 — FPV.Ctrl App (Recommended)
This is the primary binding method for the Orqa FPV.Ctrl
radio with Ghost UberLite module.
Power on the Orqa transmitter.
Open the Orqa FPV.Ctrl app on your phone/tablet.
Connect to the transmitter via Bluetooth (app walks
through pairing on first use).
Navigate to Ghost Menu within the app.
If the receiver is new, it auto-enters bind mode on
power-up. For a previously bound receiver, power it up
and press the button next to the antenna connector within
30 seconds — the LED turns blue (searching).
In the Ghost Menu, select your desired protocol (GHST
recommended). Set Rx ID (only matters if flying multiple
drones simultaneously).
Tap Start Bind. Wait for "Success" message.
Restart both drone and transmitter after successful bind.
Method 2 — Quick Bind (No App)
For field situations where the app isn't needed and default
settings are acceptable:
Power on the Orqa transmitter.
Press the button on the back of the antenna module — LED
turns blue (bind mode).
Power up the receiver and put it in bind mode (press
button near antenna connector within 30 seconds of
power-on — LED turns blue).
Both devices cycle through color sequences, then settle
on solid green.
Bind complete. No settings changes possible via this
method.
Method 3 — JR/xLite Module with OpenTX
For the Ghost JR or xLite module on third-party transmitters
(Taranis, Jumper, etc.):
In your transmitter's model settings, set External RF
module to GHST protocol.
On the Ghost module OLED, navigate to the bind menu.
Put the receiver in bind mode (same button procedure as
above).
Select Bind on the module's OLED interface.
Confirm successful bind (both go solid green).
Critical OpenTX setting: The ADC Filter function (global
by default) must be set to OFF for Ghost. If left on, you
will get jittery or unresponsive channel outputs.
For EdgeTX users: set the radio into ONEBIT mode for
proper GHST communication.
Firmware Updates
Transmitter Module (JR / xLite)
Download the Ghost Updater/Installer from ImmersionRC's
website (under Firmware/Downloads → Utility Software).
Windows: Install the ImmersionRC USB drivers + Zadig
if needed. Mac: No drivers required.
Connect the module to your computer via USB.
Open Ghost Updater — it should auto-detect the module on
the correct COM port.
Click Update Ghost. The program auto-selects the
latest firmware if connected to internet.
Wait 1–2 minutes for completion + success message.
After updating the Tx module, rebind to all receivers —
they will automatically receive firmware updates during
the bind process.
Orqa FPV.Ctrl Transmitter
The FPV.Ctrl transmitter and UberLite module have separate
firmware. The transmitter firmware updates through the
FPV.Ctrl mobile app. The UberLite module firmware requires
the Ghost Updater desktop application (same as JR/xLite
modules above).
Receiver Firmware
Receivers (Átto, Átto Duo, Zepto) auto-update when binding
to a transmitter that has been updated to the latest firmware.
No separate receiver update process needed.
Flight Controller Integration
Protocol Selection
GHST is the recommended protocol for all Ghost setups. It
provides lower latency, more channel resolution, and native
telemetry compared to SBus fallback. Review needed: performance / configuration
Protocol
Channels
Resolution
Latency
Notes
GHST
16
High
Lowest
Recommended. Native Ghost protocol.
SBus
16
Standard
Higher
Legacy fallback. Available on OpenTX 2.3.9 and below.
Fast SBus
16
Standard
Lower
200 kbaud variant
SRXL-2
16
High
Low
400 kbaud. Alternative to GHST for some FCs.
PWM
1 per wire
Analog
Variable
Only for legacy hardware
ModalAI VOXL 2
Connect Ghost Átto to the correct UART port (see VOXL 2
pinout documentation).
SSH into the VOXL 2.
Edit /etc/modalai/voxl-px4.conf.
Set RC_INPUT to GHST.
Restart PX4.
Pin connections (Átto to VOXL 2):
Átto Pin
VOXL 2 Pin
Signal
+ (5V)
5VDC
Power
G (GND)
GND
Ground
S (Serial Out)
UART Rx
RC data
T (Tramp Telemetry)
UART Tx
Optional — VTX control
ModalAI notes that having Tramp Telemetry connected to Tx
does not cause issues, and enables swapping between Ghost
and ELRS receivers without re-wiring (using the Harwin
rectangular connector on MCBL-89-01).
ModalAI VOXL Flight / Flight Core
Use cable MSA-D0001-1-02, connected to J1003 and J1004:
Connector
Pin
Signal
J1003 Pin 1
5VDC
Power to Átto (+)
J1003 Pin 3
GND
Ground to Átto (G)
J1004 Pin 2
USART6_TX
Serial from Átto (S)
Set RC_INPUT_PROTO to GHST in QGroundControl.
Betaflight
In Betaflight Configurator 10.9+:
Go to Ports tab. Enable Serial Rx on the UART
connected to the Ghost receiver.
Go to Configuration tab. Under Receiver, set
Serial Receiver Provider to GHST.
Save and reboot.
ArduPilot / PX4
For ArduPilot on the Orqa F405 3030 FC:
Set SERIAL*_PROTOCOL = 23 (RC Input) on the UART
connected to the Ghost receiver.
Set RC_PROTOCOLS to include GHST.
For PX4: set RC_INPUT_PROTO to GHST.
RF Mode Selection Guide
Scenario
Recommended Mode
Why
FPV racing
Pure Race (250 Hz)
Minimum latency, no telemetry overhead
Race with battery monitoring
Race (166 Hz)
Low latency + bidirectional telemetry
Freestyle / general flying
Normal (~50 Hz)
Good range + full telemetry
Long-range missions
Long Range (~15 Hz)
Maximum range, LoRa modulation
Sub-250g builds with Hybrid
500 Hz
Hardware-synchronized, Hybrid boards only
Field tip: ModalAI found that Normal mode can introduce
perceptible lag compared to Race mode. For tactical or
time-critical operations, use Race mode as the default and
only drop to Normal/Long Range when range demands it.
Receiver LED States
LED Color
State
Meaning
Blue
Steady
Bind mode — searching for transmitter
Green
Steady
Bound and connected
Red + Yellow
Alternating flash
Hardware fault — check solder pads between 5V and GND (ferrite filter removal)
Off
—
No power
Antenna Considerations
Ghost operates on 2.4 GHz. Antenna size is compact — the
supplied dipoles are 2.1 dBi. Key considerations:
Transmitter side: The JR module runs Tx-side antenna
diversity by default (two antennas). Single-antenna mode is
one menu option away. For maximum range, a directional antenna
on the transmitter can double expected range — 2.4 GHz
directional antennas are physically small enough to be
practical.
Receiver side: The Átto has a single U.FL antenna. The
Átto Duo has two U.FL antennas providing true diversity (two
independent receiver channels, not just two antennas on one
channel). For race builds where diversity matters, the Duo
is recommended.
Coexistence: Ghost's LoRa/FHSS modulation handles 2.4 GHz
congestion well, but the standard deconfliction rules apply —
if your mesh radio AND Ghost AND companion computer WiFi are
all on 2.4 GHz, expect desensitization. See the Handbook's
frequency bands chapter for the full 2.4 GHz deconfliction
discussion.
Troubleshooting
Symptom
Likely Cause
Fix
No bind
Rx not in bind mode
Press button within 30s of Rx power-on
Bind succeeds but no RC in FC
Wrong protocol selected
Set GHST in FC config (not SBus)
Jittery channels on OpenTX
ADC Filter enabled
Disable ADC Filter globally
Red/Yellow alternating flash on Rx
Ferrite filter pads damaged
Inspect/repair solder pads between 5V and GND pins
Rx doesn't update on bind
Tx module not updated
Update Tx module via Ghost Updater first, then rebind
The most common ELRS mistake: trying to use a SkyGuy or generic TX module
as an external CRSF input. It won't work. Airport mode is the solution you
actually want.
The Problem Airport Mode Solves
Standard ELRS modules on generic TX targets reject external CRSF input. If
you're trying to build a wireless serial bridge — relaying MAVLink telemetry,
triggering a servo remotely, connecting two systems over RF — you'll hit a wall
with the standard approach.
Airport mode bypasses this entirely by turning both modules into a transparent
serial bridge: whatever bytes go in one end come out the other. No RC frames,
no CRSF protocol overhead. Just bytes.
How It Works
Both modules stay on RX firmware. Neither runs TX firmware. One module is
connected to your serial source; the other is connected to your serial
destination. The RF link between them is completely transparent.
Both modules run RX firmware. Airport mode is configured via the ELRS
Configurator on each module independently.
Configuration
Requirements
Two ELRS modules (same frequency band — both 900MHz or both 2.4GHz)
Both flashed with RX firmware (not TX)
ELRS Configurator 3.x+
Steps
Flash both modules with RX firmware for your target
Connect each module to your PC via USB or UART passthrough
Open ELRS Configurator and connect to the module
Navigate to the Airport tab
Set baud rate to 115200 on both modules
Set the same UID/binding phrase on both modules
Power both modules — they will link automatically
Verify with a loopback test: bytes sent into module A appear at module B
Baud Rate
115200 is the standard for most use cases (MAVLink, CRSF passthrough, servo
triggers). The link is bidirectional and full-duplex at this rate.
Real-World Applications
Wireless Servo Trigger
Connect XIAO ESP32-C6 to ELRS RX module A on the transmitting end.
Connect ELRS RX module B to a servo driver on the receiving end.
The ESP32 sends a byte; the servo fires. No RC transmitter involved.
Hardware used in testing:
- XIAO ESP32-C6 + DroneBridge carrier board
- Two ELRS modules on 2.4GHz RX firmware
- Airport mode at 115200 baud
MAVLink Telemetry Bridge
Relay MAVLink packets between a companion computer and a ground station
over an ELRS RF link, without using the RC control channel.
Serial Data Relay
Any UART serial data — sensor output, debug logs, command streams — can be
relayed wirelessly between two points within ELRS RF range.
What Doesn't Work
Approach
Why It Fails
External CRSF input on generic TX targets
SkyGuy and most generic modules reject external CRSF
TX firmware with Airport mode
Airport mode requires RX firmware on both ends
Mixed frequency bands
900MHz and 2.4GHz modules cannot link
Mixing UID/binding phrases
Modules must share the same binding phrase
Troubleshooting
Modules won't link: Verify same frequency band, same firmware version,
same UID. Try re-flashing both to the same firmware build.
Data corruption at high baud rates: Drop to 57600 or 38400. ELRS Airport
mode is reliable at 115200 for most payloads but RF conditions affect
throughput.
One-way only: Airport mode is bidirectional. If only seeing data
one way, check UART wiring — TX/RX may be swapped on one side.
Latency spikes: Expected on packet loss. Design your protocol to tolerate
10-50ms latency and occasional gaps. Review needed: performance / configuration
An upgrade changes a versioned configuration contract. Preserve enough evidence to restore the previous tested state rather than assume a parameter dump transfers across versions.
Change record
Record
Preserve
Identity
Board target/revision, bootloader, aircraft ID and attached peripherals
Software
Installed firmware version/hash, configurator/GCS version, build options and release date
Configuration
Full readback, differences from defaults, calibration/mixer/mode/serial assignments
Recovery
Exact known-good image, documented bootloader/recovery path and recovery prerequisites
Validation
Before/after readback, changed/removed parameters and unresolved tests
For Betaflight, dump all and diff all provide different views; retain the version/target with the output. Do not paste an old dump into a different target or release without migration checks. Betaflight CLI reference, checked 2026-10-07.
Software rehearsal
Use an isolated configuration and simulator/replay where available. Compare parameter names, types, units and accepted values; a missing or clamped value is a migration result to investigate. Interrupt an upload in a software adapter and verify that partial state is not reported as a complete backup. Reconnect and read back rather than infer persistence from a successful send.
Hardware flashing and bootloader recovery follow the exact board/firmware documentation with propulsion disabled. A simulator cannot establish USB bootloader behavior or motor-output correctness. After a real change, run props-off bench checks and the applicable aircraft acceptance procedure before operation.
CAN describes a transport/physical interface. DroneCAN and Cyphal define higher-level communication contracts. A CAN connector does not establish application-protocol compatibility.
Integration matrix
Layer
Record
Evidence
Physical
Connector pinout, transceiver/voltage, bus power, grounding and termination
Review needed: performance / configuration
Transport
Classical CAN versus CAN FD, bit rates and interface support
—
Protocol
DroneCAN or exact Cyphal version/transport; do not infer from old “UAVCAN” branding
—
Data types
DSDL definitions/version, node identity and message/service identifiers
—
Firmware
Autopilot and peripheral releases, supported drivers and discovery method
—
DroneCAN maintains its own specification and data types. Cyphal was known as UAVCAN before its renaming; name history does not make the two application protocols wire-compatible. DroneCAN specification and OpenCyphal guide/specification, checked 2026-10-07.
Observe before configuring
In software, replay a known capture with the matching decoder/data-type definitions. Record node-status messages, identity changes, missing transfers and decoder errors. Test duplicate node identity and absent data types explicitly. SocketCAN vcan can exercise software frame handling, but does not model electrical noise, power, termination or a particular peripheral's protocol behavior. Review needed: performance / configuration
For a physical installation, use the exact manufacturer's wiring and termination documentation. Do not apply generic pinouts or terminate every node. A powered-bus test is separate from a decoder test. DroneCAN hardware guidance and Linux SocketCAN, checked 2026-10-07.
Retain the capture, decoder version and physical test boundary in the evidence record.
Handbook track
Part 3 — Field Operations
Preflight, diagnostics, tuning, recovery, night operations, and substitutions.
Chapter 9: Preflight, Bench Checks and Flight Readiness
Use the aircraft and firmware manufacturer's checklist alongside this integration checklist. Record the exact airframe, battery chemistry, firmware and configuration. A short check cannot establish readiness after a repair or software change.
Props-off bench checks
Remove every propeller before motor-output, receiver-loss or arming tests. Keep the aircraft secured, disconnect propulsion power before touching it, and follow the board/ESC manufacturer's test procedure. Never tilt an armed aircraft by hand or use a throttle blip as a ground control-direction test. Review needed: safety / performance
Confirm board orientation and sensor directions in the configuration tool while disarmed.
Verify receiver channels, mode assignments, arming switch and command ownership.
Verify motor numbering and rotation using the firmware's documented props-off test facility.
Save/read back the configuration and check battery monitoring against a reference instrument.
Exercise documented link-loss and recovery behavior with props removed. Record receiver output on loss, firmware failsafe stage, selected action, timeout and reconnection behavior.
A bench test can establish output/state transitions. It cannot prove airborne landing, return, GPS rescue or obstacle clearance. Validate those separately through the aircraft's approved test procedure and suitable operating conditions. See software failure testing and firmware recovery. Review needed: configuration / failure mode
Before each flight
Check
Evidence to look for
Structure and propulsion
Correct propeller variant/rotation, intact mounts and fasteners checked to manufacturer requirements; inspect while unpowered
Battery and power
Correct chemistry/cell count, condition, secure mounting, connector integrity, expected state of charge and monitor readings
Wiring and antennas
Strain relief, protected balance lead, intact connectors, correct radio antennas and sensor visibility
Configuration
Expected firmware/target, saved parameters, correct modes and documented failsafe action
Correct vehicle identity, current telemetry and a genuinely live image; advancing OSD alone does not prove live video
Operating area
People, clearance, weather, airspace/spectrum permissions and aircraft-specific operating limits
Logs and recovery
Storage available, emergency controls understood and recorded configuration available
Satellite count alone is not a navigation quality test. Use the installed firmware's fix, estimator and arming requirements. Battery internal resistance depends on pack construction, temperature, state of charge and measurement method; trend like-for-like measurements and use manufacturer retirement criteria. The former universal resistance thresholds and satellite minimum are withdrawn. Review needed: safety / configuration / failure mode
Failsafe is a configuration-specific choice
Betaflight documents different Stage 2 procedures, including Drop, Landing and GPS Rescue. ArduPilot and PX4 have different mode, sensor and link prerequisites. A failsafe action appropriate for one aircraft or location may be unsuitable for another. Read the exact release's documentation; do not substitute a universal action from this handbook.
Betaflight failsafe documentation, checked 2026-10-07. This reference explains firmware behavior; it does not validate a particular installation.
After flight or repair
Disarm and disconnect propulsion power before handling. Inspect damage, unusual heating, connectors and battery condition using manufacturer limits. Preserve logs before they are overwritten, note configuration changes, and return to bench validation after repairs, receiver changes, firmware upgrades or altered failsafe settings. Charge and store batteries using the exact chemistry manufacturer's guidance. Review needed: performance / configuration
Use the evidence record to retain what was actually checked and what remains open.
The blackbox doesn't lie. Your memory does. Pull the log.
What Gets Logged
A blackbox log records everything the flight controller knows at
high sample rate (typically 1–4 kHz on Betaflight, 100–400 Hz on
ArduPilot/PX4). This includes:
Data
What It Tells You
Gyroscope (roll, pitch, yaw rate)
How the drone is actually rotating — the ground truth
Accelerometer
Attitude estimation, vibration level
Motor outputs (1–8)
What the FC commanded each motor to do
RC commands
What the pilot actually asked for
PID terms (P, I, D per axis)
How the PID controller responded to error
Setpoint
What the FC was trying to achieve
Battery voltage
Voltage under load, sag profile
Battery current (if sensor)
Power consumption, mAh tracking
GPS position/speed (if equipped)
Flight path, speed, altitude
Filter state
Pre/post filter gyro (Betaflight debug modes)
How to Pull Logs
Betaflight (Flash-Based)
Betaflight stores blackbox data on the FC's on-board flash chip
(typically 2–16 MB) or an SD card.
Via Configurator:
1. Connect USB
2. Blackbox tab → Download Flash → Save .bbl file
Via MSP (what Wingman does):
1. MSP_DATAFLASH_SUMMARY → get used bytes
2. MSP_DATAFLASH_READ in 4 KB chunks → stream raw data
3. Save as .bbl file
Important: Flash fills up. If it's full, new flights overwrite
old ones. After a session where you need the data, pull logs before
the next flight. Or switch to SD card logging if your FC supports it.
ArduPilot (SD Card)
ArduPilot writes .bin DataFlash logs to the SD card.
Via Mission Planner: DataFlash Logs → Download
Via MAVLink: LOG_REQUEST_LIST → LOG_REQUEST_DATA → stream
Via SD card: Pull the card, copy .bin files directly
PX4 (SD Card)
PX4 writes .ulg (ULog) files to the SD card.
Via QGroundControl: Analyze → Log Download
Via SD card: Pull the card, copy .ulg files
Reading the Traces
The Gyro Trace Is Everything
The gyroscope trace is the single most important data in a
blackbox log. It shows the actual angular rate of the drone on
each axis, sampled at 1–4 kHz. Everything else is derived from
or compared against the gyro.
A clean gyro trace looks like smooth curves that follow the
stick inputs. When you push the stick right, the roll gyro shows
a clean step to the commanded rate, holds, then returns to zero
when you release.
A noisy gyro trace looks like the clean curve with fuzz,
spikes, or oscillation layered on top. The noise is real — the
drone is actually vibrating. The question is where the vibration
comes from and whether it matters.
The Five Patterns That Indicate Real Problems
Pattern 1: High-frequency noise on all axes, increasing with throttle.
What it looks like: Fuzz on the gyro trace that gets worse as
you increase throttle. Consistent across roll, pitch, and yaw.
What it means: Mechanical vibration from the motors/props is
reaching the FC. The motors are the only thing on the drone
whose vibration scales with throttle.
What to check: Prop balance, motor bearings, FC soft mount,
frame arm tightness. If the noise is broadband (not at a specific
frequency), it's probably multiple sources. Fix the biggest one
first — usually props.
Pattern 2: Oscillation at a specific frequency, visible as regular waves.
What it looks like: A sine wave overlaid on the gyro trace.
Consistent frequency regardless of stick input. May be present
on one axis more than others.
What it means: Resonance. Something on the frame has a natural
frequency that's being excited by the motors. The FC's filters
are either not catching it or are making it worse.
What to check: Look at the frequency (use the Betaflight Blackbox
Explorer's spectrum analyzer). Common resonances:
- 80–150 Hz: Frame flex (arms, standoffs)
- 150–300 Hz: Prop/motor mechanical resonance
- 300–600 Hz: Gyro noise floor (filter issue, not mechanical)
If the dynamic notch filter is enabled, check if it's tracking
this frequency. If not, adjust the notch range.
Pattern 3: D-term noise spikes, especially on yaw.
What it looks like: The D-term trace (visible in debug mode) is
noisy or spiky, even when the gyro trace looks relatively clean.
Yaw axis is typically worst.
What it means: The D-term is the derivative of gyro error. It
amplifies high-frequency noise by design — that's how it reacts
quickly to changes. If the gyro has even small amounts of
high-frequency content, D amplifies it into large motor corrections.
What to check: Lower D-term gain (try -20%). If that helps
significantly, the issue is D sensitivity to noise, not mechanical.
Also check: D-term lowpass filter cutoff (lowering it reduces
D noise at the cost of slower D response), dynamic notch filter
(should be catching the frequencies that D is reacting to).
Pattern 4: Motor output asymmetry — one motor consistently higher.
What it looks like: In the motor output traces, one motor is
always running at higher output than the others. The difference
is consistent across throttle levels.
What it means: The FC is compensating for something that makes
the drone want to rotate toward the weak motor's side. Possible
causes:
- Motor or ESC weaker on one side (dying motor, marginal ESC)
- Center of gravity offset (battery mounted off-center)
- Bent motor mount changing thrust angle
- Damaged prop generating less thrust
What to check: Swap the suspect motor to a different arm. If the
asymmetry follows the motor, it's the motor. If it stays on the
same arm, it's the mount or frame. If it moves to the diagonal,
it's CG.
Rule of thumb: Up to 5% asymmetry is normal. 5–10% is worth
investigating. Above 10% is a problem that will get worse.
Pattern 5: Voltage sag correlating with performance loss.
What it looks like: Battery voltage drops sharply during aggressive
maneuvers. At the same time, motor outputs hit 100% (full throttle
commanded but can't produce it), and the gyro shows the drone
not achieving the commanded rate.
What it means: The battery can't deliver enough current. The
voltage sags, the ESCs can't spin the motors fast enough, and
the drone loses authority. This is a power system problem, not
a tuning problem.
What to check: Battery internal resistance (measure with a charger
that shows IR per cell). IR above 15 mΩ/cell means the pack is aging.
Voltage sag below 3.3V/cell under load is concerning. Below 3.0V/cell
is damaging the battery.
Don't tune around bad batteries. If the battery is sagging,
no amount of PID tuning will fix the performance loss. Replace
the battery.
Blackbox Analysis Workflow
Step 1: Pull the log. Immediately after the flight you want
to analyze. Don't fly again first.
Step 3: Look at the gyro first. Always. Before looking at PIDs,
motor outputs, or anything else. The gyro tells you what actually
happened. Everything else tells you what the FC tried to do about it.
Step 4: Compare setpoint to gyro. The setpoint is what the FC
was trying to achieve. The gyro is what actually happened. The gap
between them is the error. A well-tuned drone tracks setpoint closely.
A poorly tuned one lags, overshoots, or oscillates around it.
Step 5: Check motor outputs. Are they even? Are any hitting
100%? Are there sudden spikes? Motor output tells you how hard
the FC is working to maintain control.
Step 6: Check battery voltage. Does it hold steady or sag
under load? Voltage sag during aggressive maneuvers is normal.
Voltage sag during hover is a problem.
Step 7: If you found a problem, change ONE thing. Fly again.
Pull another log. Compare. This is how tuning works — iterative,
data-driven, one variable at a time.
What Logs Don't Tell You
Why the pilot made a decision. Logs show what the drone did,
not what the operator intended. If a flyaway log shows the drone
going north, you don't know if the pilot pushed north or if the
drone went north on its own without checking the stick inputs.
External conditions. Wind, temperature, air density, obstacles
— none of these are in the log. A drone that oscillates on a
windy day and flies clean on a calm day isn't broken. It's
dealing with turbulence. Logs won't show you the wind.
What happened after the crash. If the drone hits something
and the FC loses power, the log ends. The last few hundred
milliseconds of data may be corrupt or missing. The moments
before the crash are usually there.
Next
Chapter 11: PID Tuning for People Who Fly — using blackbox data
to improve your tune.
Chapter 12: When Things Go Wrong — the diagnostic tree that
starts with symptoms and uses logs to find causes.
The log is the flight's memory. It remembers what you don't.
Pull it. Read it. Trust it over your recollection.
Chapter 11: PID Tuning for People Who Fly, Not Simulate
PID tuning is not magic. P reacts to error. I removes steady
error. D resists change. That's it. The rest is learning what
each one feels like through the sticks.
What P, I, and D Actually Do
P (Proportional) — The Reaction
P pushes back proportional to how far off the drone is from where
it should be. Big error = big correction. Small error = small correction.
Too high: The drone overshoots its target and corrects back,
creating fast oscillation. Feels like the quad is vibrating or
buzzing, especially visible on a punch-out or sharp turn.
Too low: The drone feels mushy, soft, unresponsive. It drifts
through commands instead of snapping to them. Slow to respond to
stick input.
What to listen for: P oscillation is fast — 10-50 Hz range.
It sounds like a buzz or rattle. If you hear a high-pitched
buzzing that increases when you do aggressive maneuvers, P is
too high.
I (Integral) — The Memory
I accumulates error over time. If the drone is consistently a
little off in one direction (wind pushing it, CG offset, motor
imbalance), I builds up a correction to counter it.
Too high: The drone feels "stuck" or slow to change direction.
Overshoot on sustained moves. After a long turn, it keeps turning
briefly after you release the stick. In extreme cases, I windup
causes the drone to suddenly lurch as the accumulated correction
releases.
Too low: The drone drifts. In a hover, it doesn't hold position
well. In forward flight, wind pushes it off course and it doesn't
correct. The quad won't hold a steady rate in a turn.
What to feel for: I issues are slow. If the drone seems to
"remember" what it was doing and resists changing, I is too high.
If it can't hold a line in wind, I is too low.
For most operators: Leave I at the default. It's the least
sensitive of the three terms and the default is usually close
enough. Only touch I if you have specific drift or windup problems.
D (Derivative) — The Brake
D resists change. It's proportional to how fast the error is
changing, not how big it is. D slows down both the drone's
response AND oscillation.
Too high: Motors run hot. D amplifies noise (see Chapter 10,
Pattern 3). The drone feels "dampened" — controlled but lacking
snap. In extreme cases, motors make a grinding sound from rapid
micro-corrections driven by noise.
Too low: The drone overshoots on quick maneuvers. Feels
bouncy at the end of rolls and flips. P oscillation becomes
harder to control because D isn't there to brake it.
What to listen for: D noise is a constant, low-level motor
buzz that's present even in smooth flight. It gets worse with
throttle because motor vibration (which D amplifies) increases
with RPM.
The D dilemma: You need enough D to control overshoot but
not so much that it amplifies noise. This is the core tension
in PID tuning and why filters exist — filters clean the gyro
signal so D can do its job without reacting to noise.
The Field Tuning Workflow
This workflow assumes you're starting from a reasonable default
(Betaflight defaults are a good starting point for most 5-inch
builds). If you're building from scratch on unusual hardware,
start with community presets for your motor/frame size.
Step 0: Mechanical First
Before touching PIDs, confirm:
- Props are balanced and undamaged
- Motors spin freely with no grit or catch
- FC is soft-mounted properly
- Frame has no loose screws or cracked arms
- Battery is secured and not shifting in flight
If any of these are wrong, no amount of PID tuning will fix it.
See Chapter 12 (Troubleshooting), Step 2.
Step 1: Fly the Default
Fly a representative flight — hover, forward flight, some rolls
and flips, a punch-out, some turns. Pay attention to:
- Does it feel mushy or sharp? (P)
- Does it hold a line in wind? (I)
- Does it bounce at the end of maneuvers? (D)
- Is there any buzzing or vibration? (P too high or D noise)
Pull a blackbox log.
Step 2: Adjust P
P is where most of the feel comes from. Adjust P first.
If mushy/soft: raise P by 10%. Fly. Repeat until it feels
responsive but not buzzy.
If buzzy/oscillating: lower P by 10%. Fly. Repeat until
the buzz goes away but it still feels locked in.
Adjust roll and pitch P together unless you have a reason
not to (asymmetric frame, different prop spacing). Yaw P is
usually set independently and is less sensitive.
Step 3: Adjust D
Once P feels right, check D:
If bouncy at the end of flips/rolls: raise D by 10%.
If motors are hot or buzzing at idle: lower D by 10%.
If blackbox shows D-term noise: lower D, then check filters.
D and P interact — raising P often requires raising D to maintain
damping. If you raised P in Step 2, you may need more D.
Step 4: Leave I Alone (Usually)
I is rarely the problem for freestyle and racing. If the default
works, keep it.
If the quad drifts in hover or can't hold a turn rate in wind:
raise I by 10-20%.
If the quad feels sluggish to change direction or has overshoot
on sustained turns: lower I.
Step 5: Check Filters
If you can't get P and D where you want them because noise
starts before you reach the desired gain, the issue is filters,
not PIDs.
Enable dynamic notch filter if not already enabled.
Check gyro lowpass filter cutoff. Betaflight default (250 Hz
for gyro lowpass 1) is fine for clean builds. Noisy builds may
need 150-200 Hz.
Check D-term lowpass. This is the most impactful filter for
D noise. Lowering it from 150 Hz to 100 Hz significantly
reduces D noise but also slows D response.
The filter-PID relationship: Filters remove noise so PIDs
can run higher without reacting to it. A well-filtered build
can run higher P and D, which means sharper and more responsive
flight. A poorly filtered build (or a build with mechanical
vibration issues) must run lower PIDs to compensate.
Step 6: Fly, Log, Compare, Repeat
After each change:
1. Fly a representative flight (same maneuvers as before)
2. Pull blackbox
3. Compare gyro traces to the previous flight
4. Did it get better or worse? If better, keep the change.
If worse, revert.
One change at a time. If you change P, D, and filters
simultaneously, you won't know what helped and what hurt.
Rates vs. PIDs
Rates and PIDs are different things. People confuse them constantly.
Rates control how fast the drone rotates per degree of stick
deflection. Higher rates = faster rotation at full stick. Rates
affect how the drone FEELS to fly but they don't affect stability.
PIDs control how well the drone FOLLOWS the rate command.
Higher P = more aggressively follows the command. Higher D =
more damped following.
If the drone feels slow: it might be rates (increase max rate),
not PIDs.
If the drone feels floaty: it might be PIDs (increase P), not rates.
If the drone rotates at the right speed but wobbles while doing it:
that's PIDs.
Tuning for Different Flight Styles
Freestyle
Higher P for crisp, snappy response
Moderate D for controlled stops after flips
Lower I is acceptable (you're not holding position)
Slightly higher rates (800-1200 deg/s max)
Racing
Moderate P — not as high as freestyle because you need
predictability, not snap
Higher D to damp oscillation in high-speed turns
Higher I to hold lines through corners and in prop wash
Lower rates than freestyle (600-900 deg/s) for precision
Cinematic / Smooth
Lower P for gentle, smooth movements
Lower D to avoid any micro-corrections visible in footage
Standard I
Low rates (400-600 deg/s) for butter-smooth pans
Long-Range / GPS Cruise
Default PIDs are usually fine
I matters more here (wind rejection, position hold)
D can be lower (less aggressive flying = less noise)
Rates are less important (you're not doing flips at 5 km)
When to Stop Tuning
The tune is "good enough" when:
- No audible buzz or vibration in normal flight
- The drone responds to stick inputs without delay or overshoot
- Blackbox gyro traces are clean (no sustained oscillation)
- Motors are warm after flight, not hot (hot = D noise or P oscillation
making the ESCs work too hard)
- You stop noticing the quad and start noticing the flying
Most pilots overtune. The difference between a "good" tune and
a "perfect" tune is 2-3% performance improvement that you'll never
notice in real flying. Get it to "no oscillation, responsive,
motors not hot" and go fly.
Next
Chapter 10: Blackbox Logs — reading the data that drives
these tuning decisions.
Chapter 12: When Things Go Wrong — when the problem isn't
PIDs at all.
The best tune is the one that lets you forget about the quad
and focus on the flying. If you're thinking about PIDs in the air,
you're not done tuning. If you're not thinking about PIDs in the
air, you probably are.
This is the chapter you read at the field with a broken drone
in your hands. Start with the symptom. Follow the tree.
How to Use This Chapter
Find your symptom in the list below. Follow the diagnostic steps
in order. Each step either solves the problem or narrows it down.
Don't skip steps — the obvious cause is often not the actual cause.
Symptom: Won't Arm
The FC refuses to arm. This is the most common field problem and
the one with the most possible causes.
Step 1: Read the arming flags.
- Betaflight: CLI → status → look for arming disable flags
- iNav: CLI → status → same
- ArduPilot: GCS → Messages tab → pre-arm check failures
- PX4: QGC → Vehicle Setup → Summary → pre-arm checks Review needed: safety
Step 2: Common arming flags and fixes.Review needed: safety
Flag
Meaning
Fix
Evidence
RXLOSS / No RC
FC not receiving RC signal
Check UART assignment, baud rate, protocol selection. Verify receiver is powered and bound.
—
ACC not cal
Accelerometer not calibrated
Calibrate accel (level the quad, run cal in configurator)
—
ANGLE
Quad not level enough
Place on level surface. If on uneven ground, raise arm angle limit temporarily.
Some configurator connections block arming. Disconnect.
Review needed: safety
LOAD
CPU overloaded
Reduce gyro/PID loop frequency or disable unnecessary features
—
RPMFILTER
RPM filter configured but no signal
Check ESC telemetry UART or disable RPM filter
—
GPS FIX
Requires GPS fix before arm (nav modes)
Wait for GPS lock or disable GPS pre-arm requirement
—
Step 3: If no flags show but still won't arm.
- Check switch assignment. Arm switch might be on a channel that
isn't configured or is inverted.
- Check throttle endpoints. Some FCs require throttle below 1050 µs.
- Power cycle everything. Receiver, FC, ESCs. In that order.
Symptom: Oscillation / Vibration in Flight
The quad shakes, wobbles, or makes a buzzing sound in flight.
Could be mechanical or electronic.
Step 1: Determine if it's always present or speed-dependent.
- Always present (even at hover): likely filter or PID issue
- Only at high throttle: likely mechanical — prop balance, motor bearing, loose standoff
- Only after a crash: prop damage, bent motor shaft, cracked frame arm
Step 2: Check mechanical first. Always. Before touching PIDs.
- Spin each motor by hand. Feel for grit, catch, or uneven resistance.
One bad bearing can cause the whole quad to oscillate.
- Check props for damage. Even a tiny nick changes balance.
Replace suspect props — they're the cheapest component.
- Check motor mounting screws. Loose motor = oscillation source.
- Press on each arm. Flex = vibration transmission path.
Carbon fiber arms don't flex. Cheap 3D-printed arms do.
- Check FC mounting. Soft mount grommets should be intact
and the FC should not contact the frame directly.
Step 3: Pull a blackbox log. If mechanical checks pass:
- Look at gyro traces. Clean gyro = clean flight. Noisy gyro =
something is shaking the FC.
- Compare pre-filter and post-filter gyro. If pre-filter is noisy
but post-filter is clean, your filters are working hard. Consider
addressing the source instead of filtering harder.
- Look for a specific frequency peak. A resonance at a consistent
frequency often indicates a specific mechanical source:
- Prop-speed frequency: prop balance issue
- Frame resonance (usually 100-300 Hz): frame flex
- Motor bearing: broadband noise that increases with throttle
Step 4: If it's a filter/PID issue:
- Lower D-term first. D is the most noise-sensitive PID term.
Drop D by 20% and fly again.
- Check dynamic notch filter. If not enabled, enable it.
If enabled, check that it's tracking the right frequency range.
- Lower gyro lowpass filter cutoff. Default is usually fine,
but noisy builds may need 150 Hz instead of 200 Hz.
- As a last resort, lower P-term. But if you need to drop P
significantly to stop oscillation, the problem is mechanical,
not tuning.
Symptom: Flyaway / Unexpected Movement
The drone moves in a direction the pilot didn't command.
Step 1: Did it respond to stick input during the event?
- Yes, but drifted: likely sensor issue (compass interference, GPS glitch, accelerometer drift)
- No response to sticks at all: likely failsafe triggered, mode switch, or loss of RC link
Step 2: Check flight mode. Did the mode change unexpectedly?
- A mode switch bumped during handling can change from acro to
angle to GPS hold, causing unexpected behavior.
- ArduPilot/PX4: check mode channel (usually CH5) assignment and thresholds.
- Betaflight: check mode tab for overlapping ranges on the aux channels.
Step 3: Check compass and GPS. For GPS-assist modes:
- Compass interference from power wires is the #1 cause of
GPS-mode flyaways. The compass reads the magnetic field from
the battery leads as a heading change and "corrects" by turning.
- Fix: move the compass (external GPS/compass module) as far from
power wires as possible. Use a GPS mast.
- Check for GPS glitch in the log. A sudden position jump causes
the FC to "correct" toward the wrong position. Review needed: performance / failure mode
Step 4: After landing, pull logs immediately. Don't fly again
until you understand what happened. Logs will show stick inputs,
actual motor outputs, sensor readings, and mode changes. The cause
is almost always visible in the data.
Symptom: Video Loss / Breakup
FPV video feed drops, goes to static, shows artifacts, or freezes.
Step 1: Analog or digital?
Analog 5.8 GHz:
- Gradual static/snow = range limit or obstruction. Normal degradation.
- Sudden black screen = VTX failure, antenna disconnect, or power loss to VTX.
- Rolling lines or interference pattern = self-interference from
another transmitter on the same airframe (RC, mesh radio).
- Check antenna connector. IPEX/U.FL connectors are fragile. A
crash can unseat them without visible damage. Reseat and check.
- Check VTX power. Is it set to the right level? Too low = no range.
Too high = overheating (some VTXs thermal throttle or shut down). Review needed: performance / failure mode
Digital (DJI, HDZero, Walksnail):
- Frozen frame = link degradation. Digital doesn't gracefully degrade
like analog — it works perfectly until it doesn't, then freezes.
- Gray screen / "No Signal" = complete link loss.
- Latency spike = the link is fighting to maintain connection.
Reduce range or increase power.
- Check firmware versions. DJI goggles and air unit firmware must
match. Mismatched firmware can cause connection failures. Review needed: performance / configuration
Step 2: Is it consistent or intermittent?
- Consistent at a specific distance/direction = range or obstruction.
Normal. Adjust flight pattern or antenna.
- Intermittent at close range = self-interference, loose antenna,
or power supply issue. Check that VTX is getting clean power
(no voltage sag from motor current).
- Only happens at high throttle = voltage sag pulling VTX supply
below minimum. Add a capacitor on the VTX power input or use
a dedicated BEC. Review needed: performance / failure mode
Symptom: Motor Desync / Stuttering
One or more motors stutters, stops momentarily, or makes grinding sounds.
Step 1: Is it one motor or all?
- One motor: likely ESC or motor issue (bearing, winding, timing)
- All motors: likely FC signal issue (DShot errors, wiring)
Step 2: Swap the suspect ESC and motor. If the problem follows:
- The motor: bad bearing or winding
- The ESC: bad ESC
- Neither (stays on the same arm): wiring issue on that arm
Step 3: Check motor timing. In BLHeli_S/BLHeli_32/AM32:
- Stock timing is usually fine. If someone has adjusted it, try
resetting to default.
- High timing + high KV + low battery voltage = desync recipe.
Step 4: Check DShot settings.
- Bidirectional DShot (for RPM filter) can cause desyncs on some
ESC/motor combinations. Try disabling it to test.
- DShot300 is more reliable than DShot600 on longer signal wires.
If wires from FC to ESC are >10 cm, try DShot300.
Symptom: Failsafe Triggered in Flight
The drone enters failsafe (lands, returns home, or drops) unexpectedly.
Step 1: Determine which failsafe.
- RC failsafe (lost RC link): check RC RSSI in the log. Was signal
actually lost or did the FC misinterpret a signal issue?
- Battery failsafe: check voltage in the log. Did voltage sag
below threshold under load?
- GPS failsafe (geofence, GPS loss): check GPS data in log.
- GCS failsafe (ArduPilot/PX4): lost MAVLink heartbeat from GCS.
Step 2: RC failsafe diagnosis.
- Check RSSI history in the log. A gradual decline to zero = range.
A sudden drop = obstruction, interference, or antenna issue.
- Check failsafe settings. Betaflight: failsafe_procedure.
ArduPilot: FS_THR_ENABLE + FS_THR_VALUE. PX4: COM_RC_LOSS_T.
- Is failsafe set to the right response? "Drop" is rarely what
you want. "Land" or "RTH" are usually better. But RTH requires
GPS — if GPS isn't locked, RTH failsafe may not work.
- Check RC receiver failsafe behavior. Some receivers output "no pulses"
on signal loss (correct). Others output last-known values (dangerous
— FC doesn't know signal is lost). Others output a pre-set failsafe
position. Verify your receiver's behavior. Review needed: performance / failure mode
Step 3: Battery failsafe diagnosis.
- Voltage sag under load can briefly dip below the failsafe
threshold even when the battery has plenty of capacity.
- Fix: lower the failsafe voltage threshold, or use mAh-consumed
instead of voltage as the trigger (more reliable).
- Check battery internal resistance. An aging battery sags more
under load. If your pack used to fly 5 minutes and now triggers
failsafe at 3 minutes, the battery is dying. Review needed: performance / failure mode
Symptom: GPS Glitch / Toilet Bowl / Position Drift
In GPS-assist modes, the drone circles, drifts, or jumps to a wrong position.
Step 1: Check satellite count. Below 8-10 satellites, GPS position
accuracy degrades significantly. Don't use GPS modes with < 8 sats.
Step 2: Check HDOP. Horizontal Dilution of Precision. Below 1.5 is
good. Above 2.5 is unreliable. Above 4.0, don't trust GPS position at all.
Step 3: Toilet bowl = compass problem. The classic circular drift
pattern means the compass heading is wrong, so the FC "corrects"
in the wrong direction, overshoots, corrects again, and orbits.
- Calibrate compass away from metal, cars, buildings.
- Move external compass away from power wires and motors.
- Check compass orientation matches FC configuration.
- If using internal compass on an FC near ESCs: disable it and
use external compass only.
Step 4: Position jumps = multipath or interference.
- Near buildings, GPS signals bounce off walls, creating phantom
positions. This is normal in urban environments. No fix except
dual-band GPS (L1+L5) which is more resistant to multipath.
- Near military installations or during exercises, GPS can be
jammed or spoofed. If GPS suddenly shows you 50 km away,
that's not a hardware problem.
The Universal Diagnostic Rule
When something breaks:
Don't change multiple things at once. Change one thing, test,
observe. If you change PID, filter, and rates all at once,
you won't know what fixed (or broke) it.
Pull logs before flying again. The data is in there. Every
time you fly without understanding why it broke, you're gambling.
Trust the instruments, not your memory. "I think it was
oscillating on roll" is less useful than "gyro roll axis shows
200 Hz peak at 40% throttle." Log it. Read it. Then fix it.
The simplest explanation is usually right. Loose prop nut
causes more crashes than firmware bugs. Check the physical
hardware first.
Next
Chapter 10: Blackbox Logs — What They Tell You — how to read
the data that diagnoses everything in this chapter.
Chapter 11: PID Tuning for People Who Fly — the tuning
workflow that addresses oscillation and performance issues.
Something broke. That's normal. The question is whether you
understand why, or whether you're about to break it again.
You crashed. Now what? This guide covers post-crash assessment, field-
repairable damage vs return-to-bench issues, and getting back in the air
as fast as possible. For high-volume operations (training, military),
crash recovery speed is a force multiplier.
Disarm and disconnect battery. Don't approach a crashed quad with a
live battery. Props can spin unexpectedly. If the quad is inverted, flip
it before disconnecting — some ESCs re-arm on flip detection.
Check for smoke or heat. An ESC burning smells like burnt electronics.
A shorted LiPo smells acrid and may swell. If the battery is puffing,
hot, or damaged, move it to a safe area immediately. Do not attempt to
charge a crashed battery without inspection.
Visual sweep. Before touching anything, look at the quad from multiple
angles. Note what's broken, bent, or missing. Take a photo if this is a
build you're tracking in Tooth.
Damage Assessment Checklist
Work through this in order — each step catches issues that affect downstream
components.
Props
Most common crash damage. Check all four props for chips, bends, cracks, or
stress whitening at the root. Replace any damaged prop — they're the cheapest
component and an unbalanced prop stresses everything else.
Arms
Flex each arm gently. A cracked carbon arm may look intact but flex at the
fracture. Listen for creaking. Check the arm-to-body bolts (if replaceable
arm design). Loose bolts = the arm absorbed impact force. Retorque.
Motors
Spin each motor by hand with the prop removed. They should spin freely and
smoothly with no grit, grinding, or catching. Check for:
Bent motor shaft — the bell wobbles visibly when spun. Replace the
motor or the shaft (some motors have replaceable shafts).
Bearing damage — grinding feel, rough spots, or excessive play in the
bell. Replace the motor.
Bell dent — the motor bell hit the ground and is deformed. May still
spin but will vibrate. Replace.
Magnet shift — rare but possible on hard impacts. Motor feels "coggy"
when turned by hand (distinct detent positions). Replace.
Camera
Check the lens for cracks. Check the mount for breaks. TPU mounts absorb
impact — check that the TPU hasn't torn. If using a naked action camera
(GoPro/Insta360 board), check the ribbon cables and board for cracks.
VTX Antenna
Check the antenna connector (SMA, MMCX, UFL). A bent SMA connector or a
pulled UFL pigtail is a common crash failure. A damaged antenna connector
reduces video range dramatically and may not be obvious until you fly.
Stack
Open the top plate and visually inspect the FC and ESC. Check for:
Loose standoffs — retorque
Cracked PCB — visible crack lines, especially near mounting holes
Dislodged components — SMD parts knocked off the board
Loose connectors — JST-SH and wire-to-board connectors can pull free
Battery
Inspect the LiPo:
Dented or punctured — STOP. Remove to safe area. Do not use.
Puffed — the pack has swelled. Mild puffing after crash impact is
common and often acceptable. Significant puffing = internal damage.
Retire the pack.
Connector damage — bent XT60 pins, cracked solder joints on the
balance lead.
Cell voltage check — use a cell checker. If any cell is below 3.0V
after crash, the battery may have been shorted internally. If cells are
unbalanced by more than 0.3V, the pack may be damaged.
Field-Repairable vs Bench-Required
Damage
Field Fix
Bench Required
Broken prop
Swap prop (carry spares)
—
Loose arm bolts
Retorque with field tool
—
Bent motor bell
—
Motor replacement
Snapped antenna
Swap if carrying spare
Re-solder pigtail
Cracked arm
Zip tie splint (temporary)
Arm replacement
Loose FC connector
Re-seat and press
Re-solder if broken
Dented LiPo
—
Retire pack
Cracked camera lens
—
Replace camera/lens
ESC magic smoke
—
Replace ESC
GPS mast snapped
Tape/zip-tie temporary
Reprint mount
Field Kit
Minimum field repair kit for FPV operations:
Spare props (at least 2 full sets)
Spare battery straps (they break)
M3 and M2 hex drivers (frame and stack bolts)
Small zip ties
Electrical tape
Spare antenna (pigtail with connector)
Cell checker / battery tester
Small flush cutters
Tweezers (for re-seating connectors)
XT60 pigtail (for battery connector swap)
For military/training operations at scale, add: spare motors, spare arms,
solder kit with battery-powered iron, conformal coating pen, and a spare FC.
Post-Crash Flight Test
Before committing to a full mission after crash repair:
Arm at low throttle — listen for abnormal motor sounds, vibrations,
or oscillations.
Hover at 1 meter — check for drift, wobble, or toilet-bowling (GPS
compass issue from magnetized frame/motor).
Gentle maneuvers — roll, pitch, yaw at low rates. Check for sluggish
or uneven response.
Check OSD — verify battery voltage reads correctly, GPS lock is normal,
RSSI/LQ is expected.
Land and inspect — check motor temps by touch (brief touch — they
should be warm, not burning). One hot motor = possible bearing damage or
bent shaft adding load.
If anything feels wrong, land and inspect. Flying a damaged quad risks
losing it entirely.
Crash Logging
For builds tracked in Tooth (maintenance/forensic tracking):
Log the crash with date, flight number, and severity
Note which components were damaged and what was replaced
Attach photos of damage
Track cumulative crash count per component — motors and ESCs have fatigue
limits
For Blackbox-equipped builds, the crash flight's Blackbox log can reveal
what happened — control input spikes, motor output saturations, gyro
vibration signatures, and failsafe triggers.
Night-capable FPV changed the war. Ukrainian units like Wild Hornets'
"Night Hornets" team pioneered night strikes using low-lux cameras and
IR illumination. Both sides now operate 24-hour FPV cycles. This guide
covers the operator-level knowledge for flying FPV in darkness — camera
selection, IR integration, OSD configuration, cold-weather battery
management, and the operational patterns that work at night.
Not all "night capable" is equal. There are three distinct tiers of
night FPV capability, each with different hardware and operational
tradeoffs.
Tier 1: Low-Lux Analog Camera (Passive)
The simplest approach. Use a camera with very low minimum illumination
and rely on ambient light — moonlight, starlight, urban glow, fires.
Camera
Min Lux
Sensor
Notes
Foxeer Cat 4
0.0001 lux
1/2" CMOS
Best-in-class low light
Caddx Ratel 2
0.01 lux
1/1.8" CMOS
Good low light
Orqa Justice
0.01 lux
1200TVL
Standard MRM camera
RunCam Night Eagle 3
0.0001 lux
1/2"
Mono (B&W), max sensitivity
Key insight: "Starlight" cameras (0.0001 lux) can see under moonlight
and urban ambient conditions. They cannot see in total darkness (cave,
deep forest canopy, moonless overcast). For total darkness you need
active illumination (Tier 2) or thermal (Tier 3).
Color vs mono: some cameras switch to black-and-white mode in low
light to maximize sensitivity. Mono cameras like the RunCam Night Eagle
are always B&W but extract maximum photons. Color is useless at night —
accept the mono image.
Tier 2: Low-Lux Camera + IR Illuminator (Active)
Add an infrared LED illuminator to the drone. The camera sees IR
reflected off objects. Works in total darkness but the IR emission
is detectable by enemy night vision equipment.
IR illuminator specs:
Parameter
Typical Value
Wavelength
850 nm (faint red glow, visible to NVG) or 940 nm (invisible)
Power
1-5W LED
Weight
3-15 g
Beam angle
30-60° (match to camera FOV)
Power source
Flight battery via BEC (3.3V or 5V)
850 nm vs 940 nm: 850 nm produces a faint red glow visible to the
naked eye at close range and bright to any NVG. 940 nm is invisible to
the eye and dim to Gen 2 NVG, but cameras are less sensitive to it —
shorter effective range. Choose based on threat: 940 nm if operating
near enemy with NVG, 850 nm if detection risk is low.
Mounting: mount the IR LED below or beside the camera, angled to
illuminate the camera's field of view. Avoid mounting above — downwash
from props can vibrate the illuminator and cause flickering on video.
Wiring: most IR LEDs run on 3.3V or 5V DC. Wire to a spare BEC
output or directly to a regulated pad on the FC. Use a switch channel
(AUX) to toggle IR on/off in flight — the pilot should be able to kill
the IR if detection risk increases.
Tier 3: Thermal Camera (Passive, All-Conditions)
Thermal (LWIR) cameras detect heat radiation, not light. They work in
complete darkness, through smoke, and in conditions where optical cameras
are blind. But they produce low-resolution imagery with no texture detail
— you see heat signatures, not visual features.
FPV integration: most thermal cameras output analog composite video
(PAL/NTSC) that connects directly to the VTX like any other FPV camera.
Some output digital (USB/MIPI) and require a companion computer to
convert to analog for the VTX.
Thermal + optical dual feed: some operators run two cameras — a
thermal for detection and a low-lux optical for the final approach.
Switch between feeds via an AUX channel controlling a video switcher.
This requires two camera inputs and a video switch module, adding weight
and complexity.
OSD Configuration for Night
The OSD must be readable at night without overwhelming the pilot's
dark-adapted vision.
Brightness and Contrast
Reduce OSD brightness if your OSD chip supports it. Standard
daytime OSD brightness is blinding on a night low-lux feed.
Use minimal OSD elements — only what you need: battery voltage,
LQ/RSSI, altitude/distance, heading, flight mode. Remove decorative
elements, timers, and non-critical data.
Position OSD elements at edges — keep the center of the image
clear for target identification.
Critical Night OSD Elements
Element
Why
Battery voltage (per cell)
Cold batteries sag faster — monitor closely
LQ / RSSI
Link health awareness is critical when you can't see the drone
Distance to home
You can't estimate distance visually at night
Heading
No visual landmarks — compass heading is primary nav
Altitude
No visual altitude reference at night
Flight mode
Know immediately if GPS drops you to ANGLE
Goggle Settings
Reduce goggle brightness to minimum comfortable level. Your
pupils need to stay dilated for the low-lux feed.
If using OLED goggles (Orqa FPV.One): OLED blacks are true black,
which helps low-lux contrast. LCD goggles have backlight bleed that
washes out dark scenes.
DVR recording: always record. Night footage is harder to review
in real-time — DVR lets you analyze after landing.
Cold Weather Battery Management
Night operations often mean cold operations. Battery performance
degrades significantly below 10°C and becomes dangerous below 0°C.
LiPo Cold Behavior
Temperature
Effect
20°C+
Normal performance
10-20°C
5-15% capacity reduction
0-10°C
15-30% capacity reduction, increased voltage sag
Below 0°C
30-50% capacity loss, risk of cell damage under load
Field Practices
Pre-warm batteries before flight. Keep them in an insulated bag
with hand warmers. Target 20-25°C at launch.
Reduce flight time estimates by 20-30% in cold conditions.
A battery that gives 8 minutes at 20°C may give 5-6 minutes at 5°C.
Monitor voltage sag under load — cold batteries sag harder.
If voltage per cell drops below 3.3V under throttle, land immediately.
Cold sag can recover when the battery warms up, but pushing a cold
battery risks permanent cell damage.
Land with more reserve than daytime. 3.5V/cell landing voltage
instead of the typical 3.3V/cell.
Don't charge cold batteries. Charging below 5°C causes lithium
plating and permanent capacity loss. Warm the battery above 10°C
before charging.
Night Operational Patterns
Launch and Recovery
Mark the launch site with an IR chemlight or low-power IR LED
visible to your goggles but not to naked eye. You need to find home
in the dark.
Launch vertically, climb to safe altitude before translating.
Obstacles invisible at night are at ground level.
Recovery approach: use GPS distance and heading on OSD to navigate
back to launch. Descend slowly — you cannot judge ground proximity
visually on a low-lux feed. Consider a dedicated landing camera
(downward-facing) if the platform supports it.
Navigation
Fly by instruments, not visuals. At night, the camera feed gives
situational awareness but not reliable distance/altitude perception.
Trust your OSD heading, altitude, and distance readouts.
Use GPS waypoints if firmware supports them (iNav, ArduPilot).
Pre-plan the route with waypoints at known positions. The OSD will
guide you between points.
Terrain awareness: if operating in terrain with elevation changes,
know the terrain profile before launch. AGL (above ground level) can
differ significantly from altitude over the launch site.
Target Engagement (Strike)
IR illuminator on for final approach only. Fly dark to the target
area using ambient light, then activate IR for the last 200-500m
when you need precision.
Thermal for detection, optical for terminal. If running dual
cameras, use thermal to locate the target (heat signature stands out
at range), then switch to low-lux optical for the final approach
where you need texture/shape detail for positive identification.
Video frequency at night: enemy ELINT may be lower priority at
night, but your VTX emission is still detectable. Consider reduced
VTX power or non-standard frequencies for night operations where
stealth matters.
Hardware Checklist: Night Build
Component
Requirement
Notes
Camera
0.01 lux or better
Foxeer Cat 4 or RunCam Night Eagle class
VTX
Standard analog or digital
No special requirement
IR illuminator
850 or 940 nm, 1-5W
Optional (Tier 2)
IR switch
AUX channel toggle
On/off control from TX
Battery
Pre-warmed, insulated
Cold management critical
OSD
Minimal config, reduced brightness
Heading, altitude, distance, battery, LQ
Goggles
Brightness adjustable
OLED preferred for contrast
DVR
Always recording
Post-flight analysis essential
Launch marker
IR chemlight or LED
Invisible to naked eye
GPS
Required
Primary navigation at night
Sources
Wild Hornets, Night Hornets team operational reporting
TAF Industries, Kolibri 10 thermal variant specs
Oscar Liang, low-light FPV camera reviews
LiPo cold weather performance studies
Ukrainian FPV operator training materials (public)
FPV range is limited by line of sight between the pilot and the drone.
Terrain, buildings, and vegetation block the signal. A repeater drone
— flown to altitude as a communication relay — extends operational
range beyond direct LOS. TAF Industries produces the Kolibri 13 FR1
purpose-built repeater. This guide covers the generic principles for
deploying any drone as a relay, whether purpose-built or improvised.
RF signals travel in straight lines. At ground level, the Earth's
curvature, terrain, trees, and buildings create blind spots where your
control link and video link cannot reach. A repeater at altitude solves
this by creating two shorter line-of-sight paths instead of one blocked
long path:
Without repeater:
Pilot ----X---- [hill] ----X---- Drone
(no LOS = no link)
With repeater:
Pilot -------- Repeater (200m AGL) -------- Drone
(two clear LOS paths)
The altitude advantage is enormous. At 200m AGL, the radio horizon
extends roughly 50 km in every direction (assuming flat terrain).
Even modest altitude (100m) clears most urban and forested terrain.
Repeater Architectures
Type 1: Dedicated Relay Drone
A separate platform whose only job is to hover at altitude and relay
signals. No camera, no payload — just radios, battery, and GPS hold.
Advantages: purpose-optimized, maximum endurance (no payload weight),
can use larger battery, simplest operational concept.
Disadvantages: consumes an entire drone and operator for relay duty,
single point of failure for all NLOS platforms.
Example: TAF Industries Kolibri 13 FR1. Half the cost of a DJI
Matrice-based relay. Ready to use out of the box. One day operator
training.
Type 2: Mother Drone with Relay Function
A larger drone (7" or 10"+) that carries FPV drones as payload AND
acts as a signal relay while the FPV drones operate. The mother drone
provides both transport and communication relay.
Advantages: dual-purpose, extends FPV range to 60-70 km (mother
drone range + FPV range from mother), reduces total platforms needed.
Disadvantages: complex operations, mother drone loss = loss of all
carried FPVs, higher cost platform.
Type 3: Fixed Repeater (Ground-Based)
A mast-mounted or building-mounted relay station. Not a drone — a
fixed radio installation at elevation.
Advantages: unlimited endurance (wired power), no flight operations
needed, can be hardened/concealed.
Disadvantages: fixed position (can't reposition quickly), vulnerable
to detection and targeting, requires physical access to install.
Example: IRONghost QS ground station with mast-mounted antenna
provides 1 km operator standoff via CAT5 cable.
Link Budget for Relay
A relay adds a second hop to every link. Each hop has its own path
loss. The total system performance is limited by the weaker of the
two hops.
Control Link (Ground → Repeater → Drone)
Ground TX → [path loss A] → Repeater RX
Repeater TX → [path loss B] → Drone RX
The repeater receives the control signal and retransmits it. Total
latency increases by the repeater's processing time (typically 1-5 ms
per hop for digital systems). For CRSF/ELRS at 250 Hz, 2-5 ms added
latency is imperceptible to the pilot.
Video Link (Drone → Repeater → Ground)
Drone VTX → [path loss B] → Repeater video RX
Repeater video TX → [path loss A] → Ground RX (goggles)
Analog video relay: the repeater receives the analog video signal
and retransmits it on a different channel. Each relay hop adds noise
to the analog signal. After one relay hop, video quality is noticeably
degraded. After two hops, it's often unusable. One relay hop is the
practical maximum for analog video.
Digital video relay: digital signals don't degrade per hop (they
either work or they don't). Digital relay adds latency (decode +
re-encode) but maintains image quality. This is a significant
advantage for relay operations.
Power Budget
Each hop must have sufficient link margin independently. If either
hop is weak, the relay doesn't help.
Rule of thumb: the repeater needs at least the same TX power as
the ground station for the ground-to-repeater hop, and the drone's
VTX/RC link must have enough power for the drone-to-repeater hop at
the intended operating distance.
Deployment Procedures
Site Selection
Altitude: 100-300m AGL is the sweet spot. Higher = more coverage
but more wind exposure and more visible to enemy. Lower = less
coverage but less conspicuous.
Position: ideally at the midpoint between the ground station and
the operational area. If terrain is the problem, position the
repeater to clear the specific obstruction.
Wind: the repeater must hold position in wind. GPS hold mode is
essential. In strong wind, the drone will drain battery fighting
to hold station. Monitor battery consumption rate and plan endurance
accordingly.
Pre-Flight
Bind the repeater to the ground station (its own binding, separate
from operational drones)
Assign VTX channel for the repeater if it has video (separate from
operational drone channels)
Verify GPS lock on the repeater (strong lock needed for stable hold)
Plan relay endurance: how long can the repeater hold at altitude on
its battery? Subtract 20% safety margin for wind. Review needed: safety / performance
Plan recall procedure: what happens when repeater battery hits
minimum? All NLOS drones must be recalled BEFORE the repeater lands.
Launch Sequence
Launch repeater first
Climb to planned altitude and enter GPS hold / position hold / loiter
Verify relay links are active (test control + video through relay)
Only then launch operational drones for NLOS mission
Monitor repeater battery continuously throughout operation
Recovery Sequence
Critical: reverse order. Recovery must happen in this sequence:
Recall all NLOS operational drones to within direct LOS of ground
station (or land them)
Verify all operational drones are safe (landed or within direct link)
Only then recall the repeater
Land the repeater
If repeater battery is critical: emergency recall all NLOS drones
immediately. Do not wait for them to complete their mission. A dead
repeater means instant loss of all NLOS links.
Frequency Management
The repeater adds RF links to the frequency plan. Key rules:
Repeater Control Link
The repeater needs its own control link from the ground station.
This consumes one RC channel/binding on the ground side.
If using IRONghost: the repeater gets its own IRONghost binding
on the same or different band as operational drones
If using ELRS: separate binding phrase for the repeater
If using a commercial relay (DJI Matrice, etc.): uses its own
proprietary link
Video Relay Channels
If the repeater receives video from operational drones and
retransmits to the ground:
Receive channel: must match the operational drone's VTX channel
Transmit channel: must be DIFFERENT from the receive channel
(otherwise the repeater jams itself). Minimum 60 MHz separation
between receive and transmit channels on the repeater.
Directional antenna on receive side (pointed at operational area)
and omnidirectional on transmit side (back to ground station) helps
isolate the two channels.
Avoid Self-Interference
The repeater is simultaneously receiving and transmitting. If the
transmit signal leaks into the receive path, the repeater will
create a feedback loop (howl/oscillation) or desense its own
receiver. Mitigation:
Maximum frequency separation between RX and TX channels
Directional antennas to isolate TX and RX paths
Physical separation of TX and RX antennas on the repeater airframe
Power management: use minimum necessary TX power on the repeater
Failure Modes
Failure
Effect
Response
Repeater battery depleted
All NLOS links lost instantly
Emergency recall before this happens
Repeater GPS loss
Drifts from position, link geometry changes
Monitor, manual control if needed
Repeater link to GCS lost
Can't control repeater, but relay may continue
Failsafe behavior depends on config
Wind exceeds hold capability
Repeater blown off station
Reduce altitude or land
Repeater motor failure
Falls from altitude
All NLOS platforms enter failsafe
Self-interference on repeater
Relay quality degrades or drops
Increase TX/RX frequency separation
The fundamental risk: repeater failure is a cascading failure.
Every platform relying on the repeater loses its link simultaneously.
This is why relay operations require disciplined battery management
and a standing recall plan.
Endurance Planning
Repeater Platform
Battery
Hover Endurance
Practical Relay Time
5" quad (minimal payload)
6S 1500 mAh
8-12 min
6-9 min
7" quad (relay-optimized)
6S 3000 mAh
18-25 min
14-20 min
10" quad (heavy lift)
6S 6000 mAh
25-35 min
20-28 min
Kolibri 13 FR1 (purpose-built)
—
—
Designed for relay endurance
DJI Matrice 300 (commercial)
Dual battery
45-55 min
35-45 min
Practical relay time = hover endurance minus 20% safety margin
minus climb/descent time. Review needed: safety / performance
For operations requiring longer relay time than a single battery
provides, plan battery swaps: land repeater, swap battery, relaunch.
All NLOS drones must be within direct LOS during the swap window.
Your preferred receiver is out of stock. Your ESC supplier raised MOQ to
500 units. The FC you spec'd got discontinued. This guide maps drop-in
replacements by pinout, protocol, mounting, and firmware compatibility —
so you can swap without redesigning your build or reflashing your stack.
Check the compatibility matrix for your specific part
Verify the three swap criteria: pinout, protocol, mounting
Flash firmware if needed — the guide notes when a reflash is required
"Drop-in" means same pinout, same protocol, same mounting — solder it
in place of the old part and it works. "Near-drop-in" means one thing
differs (usually a wire swap or a firmware setting change).
Scope boundary (editorial guidance): do not carry these FPV substitution
labels over to proprietary aircraft or controller assemblies as blanket
compatibility approval. Keep the exact model, module position, connector,
board revision, supplied-item condition, and unresolved calibration or pairing
requirements in the replacement record. A matching-looking connector or an
OEM-pulled label does not resolve those unknowns.
Supplier-published illustration: the source below is a commercial
supplier's parts-evidence guide, not a manufacturer approval, field test,
endorsement, or verified substitute matrix. manufacturer-reported · evidence
Reboot Hub's supplier-published guide describes OEM-pulled as a parts-source description rather than a blanket guarantee, and asks buyers to match the exact model, variant, position, connector and board revision.
Company-published source wording only. Reboot Hub is an independent parts/service supplier, not DJI or a manufacturer-authorized reviewer. No hardware compatibility, safety, authenticity, availability or compliance conclusion is verified here.
The most commonly stocked-out component. All ELRS receivers speak CRSF over
UART and are cross-compatible on the air side regardless of brand. The
differences are physical: pinout, antenna connector, size, and whether they
have a PA/LNA.
Nano Form Factor (no PA/LNA)
Part
Pinout
Antenna
Size
Notes
HappyModel EP1
Standard 5-pin
UFL ceramic
12x12mm
The original nano. Baseline.
HappyModel EP2
Standard 5-pin
UFL ceramic
12x12mm
EP1 successor, same pinout
BetaFPV Nano 900
Standard 5-pin
UFL ceramic
12x12mm
Drop-in EP1/EP2 replacement
iFlight 900 Nano
Standard 5-pin
UFL
12x12mm
Drop-in EP1/EP2 replacement
JHEMCU SP9
Standard 5-pin
UFL
10x10mm
Smaller, same pinout
Foxeer 900 Nano
Standard 5-pin
UFL
12x12mm
Drop-in
Swap rule: any standard 5-pin nano ELRS 900 MHz receiver replaces any
other. Check that the UFL antenna connector orientation matches your frame's
antenna routing — some have UFL on the top, some on the side.
With PA/LNA (better range)
Part
Pinout
Antenna
Power
Notes
HappyModel ES900RX
6-pin with boot pad
UFL
100 mW telem
Standard PA/LNA unit
BetaFPV 900 RX
6-pin
UFL
100 mW
Near drop-in for ES900RX
RadioMaster BR1
6-pin
UFL
100 mW
Different boot pad location
NeutronRC 900
6-pin
UFL
100 mW
Drop-in for ES900RX
Swap rule: PA/LNA receivers are physically larger than nanos. If your
frame fits one, it'll fit any other in this class. Pin functions are the
same (VCC, GND, TX, RX, boot) but pad layout may differ — check before
soldering.
Diversity Receivers (dual antenna)
Part
Antennas
Notes
HappyModel ES900 Dual
2x UFL (900 MHz)
True diversity
BetaFPV SuperD 900
2x UFL (900 MHz)
True diversity
RadioMaster BR3
2x UFL (900 MHz)
True diversity, different form factor
GEPRC True Diversity 900
2x UFL
Same capability, different board shape
Swap rule: diversity receivers are all functionally equivalent but
physically different. Check board dimensions against your frame's available
space. All use CRSF over UART — firmware compatibility is identical.
ELRS Receivers (2.4 GHz)
Same cross-compatibility rules as 900 MHz but on 2.4 GHz hardware.
Nano Form Factor
Part
Antenna
Notes
HappyModel EP1 2.4
Ceramic patch
Smallest option
BetaFPV Nano 2.4
Ceramic patch
Drop-in for EP1 2.4
HappyModel EP2 2.4
Ceramic + diversity
Slightly larger
Swap rule: 2.4 GHz nanos are interchangeable. The ceramic patch antenna
is built in — no external antenna to route. Simplest swap category.
Flight Controllers
FC swaps are the most complex because they involve multiple interfaces:
gyro, UARTs, motor outputs, OSD chip, and mounting pattern.
30.5x30.5mm F405 Class
Part
MCU
Gyro
UARTs
OSD
Notes
SpeedyBee F405 V4
STM32F405
BMI270
6
AT7456E
Common baseline
MAMBA F405 MK4
STM32F405
BMI270
6
AT7456E
Near drop-in
JHEMCU F405 Pro
STM32F405
ICM-42688
6
AT7456E
Better gyro
Foxeer F405 V2
STM32F405
BMI270
5
AT7456E
1 fewer UART
Orqa 3030 Lite
STM32F405
BMI270
5
AT7456E
JST-GH connectors
Swap criteria:
Mounting pattern — all 30.5x30.5mm, M3 holes. Physical drop-in.
UART assignment — this is where swaps break. Each FC assigns
different functions to different UARTs. Your ELRS RX on UART2 might
need to move to UART3 on the new FC. Always check the UART map
before soldering. See Appendix B.
Betaflight target — each FC has a specific firmware target. You must
flash the correct target for the new FC. The CLI dump from your old FC
can be loaded onto the new one after flashing, but verify UART
assignments, motor outputs, and LED pin mappings.
Motor connector — some FCs use solder pads, some use JST-SH
connectors. If swapping between connector types, you need to re-terminate
your motor wires.
The most common gotcha: UART numbers don't match between FCs. Your old
FC had ELRS on UART2 pad. The new FC's UART2 pad is in a different physical
location, or the new FC uses UART2 for something else internally. Always
verify with the new FC's pinout diagram.
30.5x30.5mm H7 Class
Part
MCU
Gyro
UARTs
Notes
SpeedyBee F405 V4
STM32H743
Dual BMI270
8
Premium option
Orqa QuadCore H7
STM32H743
Dual ICM-42688
7
Top-tier
MAMBA H743
STM32H743
ICM-42688
8
Good availability
BetaFPV F722
STM32F722
BMI270
6
F7, not H7 — different tier
Note: H7 FCs are not direct drop-ins for F405 FCs despite same mounting
pattern. The MCU is different, the firmware target is different, and the
additional UARTs may have different pad locations. Treat H7 as a near-drop-in
that requires firmware reflash and UART re-verification.
ESCs (4-in-1)
30.5x30.5mm, 30A-50A Class
Part
Current
Firmware
Protocol
Notes
SpeedyBee 50A
50A (55A burst)
BLHeli_32
DShot600
Common baseline
MAMBA F50 Pro
50A
BLHeli_32
DShot600
Drop-in
T-Motor F45A V3
45A
BLHeli_32
DShot600
Slightly lower current
iFlight BLITZ 55A
55A
BLHeli_32
DShot600
Higher headroom
Foxeer Reaper F4 50A
50A
AM32
DShot600
Open-source firmware
Swap rule: all 30.5x30.5mm 4-in-1 ESCs with the same voltage rating
(4S or 6S) are physical drop-ins. The motor output pads are in the same
relative positions. The key variable is current rating — match or exceed
the original.
BLHeli_32 vs AM32: both support bidirectional DShot and RPM filtering.
They are functionally interchangeable for the pilot. AM32 is open-source.
Swapping between them doesn't require FC firmware changes.
Connector type: some ESCs use solder pads for motor wires, some use
JST-SH. If your motors have pre-crimped JST connectors, verify the new
ESC has the same connector.
Motors
Motor swaps are mechanical and electrical.
Compatibility Checklist
Mounting pattern — standard FPV motors use 4x M3 holes on a 16x16mm
or 16x19mm pattern. Verify against frame arm motor mount.
Shaft diameter — determines which prop adapter fits. Standard is 5mm
(M5) for 5" motors. T-mount or press-fit varies.
KV rating — determines RPM per volt. Must match your battery voltage
and prop. Same KV = same throttle feel and performance.
Stator size — determines torque and current draw. 2306 and 2207 are
common for 5". A 2306 draws more current than a 2207 at the same KV.
Make sure your ESC can handle the new motor's current.
Motor direction — can be changed in firmware (BLHeli_32/AM32
configurator or Betaflight DShot commands). No resoldering needed.
Swap rule: any motor with the same stator size, KV, mounting pattern,
and shaft diameter is a direct swap. Different stator = verify ESC current
capacity. Different KV = different flight characteristics (may need PID
retune).
Analog VTX
20x20mm, 5.8 GHz
Part
Power
Smart Audio
Connector
Notes
Rush Tiny Tank
25-800 mW
Yes (SA)
UFL
Common baseline
AKK Race Ranger
25-1600 mW
Yes (SA)
UFL
More power options
Foxeer Reaper
25-600 mW
Yes (SA)
MMCX
Different antenna connector
HGLRC Zeus
25-800 mW
Yes (SA)
UFL
Drop-in for Rush
Swap rule: any Smart Audio VTX with the same mounting (20x20mm),
connector type (UFL or MMCX), and similar power range is a drop-in. If
switching between UFL and MMCX, you need a different pigtail/antenna.
Smart Audio protocol is universal — no FC firmware changes needed. Review needed: performance / configuration
IRC Tramp vs Smart Audio: if swapping between a Smart Audio VTX and an
IRC Tramp VTX, change the VTX protocol in Betaflight (Configuration tab →
Other Features → VTX control). The wiring is the same (single wire to a
UART TX pad).
GPS Modules
Standard UART GPS
Part
Chipset
Constellations
Compass
Notes
BN-220
UBlox M8
GPS+GLONASS
No
Budget baseline
BN-880
UBlox M8
GPS+GLONASS+BeiDou
HMC5883L
Most common with compass
Beitian BE-880
UBlox M8
GPS+GLONASS+BeiDou
QMC5883L
BN-880 clone, same pinout
GEPRC M10
UBlox M10
GPS+GLONASS+Galileo+BeiDou
QMC5883L
Newer chipset, faster lock
SpeedyBee SP-M10
UBlox M10
All 4
QMC5883L
Drop-in M10 upgrade
Swap rule: any UART GPS module with the same connector (usually JST-SH
6-pin: VCC, GND, TX, RX, SDA, SCL) is a drop-in. The SDA/SCL lines are
for the compass (I2C). If your old GPS had no compass and the new one does,
enable the compass in firmware. If swapping M8 for M10, update the GPS
protocol in firmware (UBLOX for both, but M10 supports newer messages).
When You Can't Find a Drop-In
If no direct substitute exists:
Check Forge Browse — filter by category, sort by in-stock retailers
Check the Forge DB schema_data — pinout, protocol, and mounting
info is in the part entry where available
Ask Wingman — describe what you need and what you're replacing,
Wingman will cross-reference the DB
Community submission — if you find a working substitute not in the
DB, submit it at /submit/ on the handbook site
NDAA / Supply Chain Considerations
Most FPV components (HappyModel, BetaFPV, GEPRC, iFlight, Foxeer) are
manufactured in China. For NDAA-compliant builds: Review needed: regulatory
FCs: Orqa (Croatia), BrainFPV (USA), ARK Electronics (USA)
Receivers: ELRS hardware is open-source — the firmware is uncontrolled,
but the hardware is Chinese. Currently no NDAA-compliant ELRS receiver
exists. Review needed: regulatory / configuration
GPS: UBlox is Swiss (NDAA compliant). The module PCB may be Chinese. Review needed: regulatory
Supply chain diversification is an active concern for military programs.
PROP UA (Ukrainian propellers) and local FC manufacturing are emerging
to reduce Chinese dependency.
Sources
Forge parts database (3,596 parts, cross-referenced by schema_data)
Print or copy this worksheet into the existing Report / add field evidence flow. Keep unknown values explicit. A configuration drawing, simulation or manufacturer statement is a different evidence category from a measured installation.
Wiring and configuration record
Field
Record
Evidence
Date and purpose
Observation time/timezone and exact question
—
Hardware
Aircraft/board/peripheral model and revision; module versus assembled board
—
Software
Firmware/image/GCS versions, release dates, source hashes and build options
—
Connection
UART logical/physical mapping, TX/RX/GND and measured logic levels; CAN protocol/pinout/termination separately
—
Power
Rail voltage, measured steady/transient demand, converter and thermal conditions
—
Radio/video
Antennas, legal operating mode, packet/channel/codec settings and measurement boundary
Review needed: regulatory
Expected/observed
Procedure, result, units, sample distribution and uncertainty
—
Evidence
Original logs/captures, configuration readback and artifact hashes
—
Limits
Simulation/bench/field category, untested cases and relevant relationship
—
Do not use a UART drawing as a CAN wiring map or infer logic voltage from supply voltage. Resolve pinouts against exact board documentation. The UART chapter and CAN reference provide separate record structures.
Log comparison
Keep an untouched original. Correlate flight-controller, companion, radio and video records using documented clock/frame transforms. Note resets, missing samples, sample rates, filter/config changes and overwrite behavior. A log screenshot without configuration and time provenance may not support the claimed cause.
Verified: July 31, 2026 Scope: Lawful civilian, commercial, educational, and public-safety UAS troubleshooting in the United States. Excluded: Jamming, spoofing, transmitter location, countermeasure evasion, unauthorized frequency or power changes, and offensive electronic-warfare activity. Review needed: safety / performance / failure mode
A degraded control, video, telemetry, or navigation link does not by itself prove intentional jamming. The same symptoms can be caused by damaged antennas, poor power, receiver overload, self-interference, congestion, multipath, obstructions, configuration errors, thermal problems, or ordinary range limits.
The safe response is to protect people and aircraft first, follow a tested contingency, preserve evidence, eliminate ordinary causes, and report unresolved suspected harmful interference through the proper channel.
Federal law prohibits ordinary civilian operation, marketing, or sale of signal jammers in the United States. Nothing in this guide authorizes interference with another user's communications or operation outside the frequencies, power levels, equipment authorizations, licenses, and operating rules applicable to the system.
Immediate priorities during a link anomaly
Use the aircraft's approved operating manual, manufacturer guidance, and organization procedures. Do not improvise a new flight mode, frequency, power setting, or mission objective while the aircraft is already degraded.
1. Maintain aircraft control if possible
Reduce pilot workload.
Avoid aggressive maneuvering unless required to prevent a collision.
Maintain separation from people, structures, vehicles, and other aircraft.
Use only a previously tested and approved contingency mode.
If safe control cannot be assured, execute the planned abort, recovery, diversion, or landing procedure.
2. Do not diagnose intent in flight
“Jamming” is a conclusion, not an instrument reading. Do not pursue a suspected source, attempt to map it, fly toward it, or continue an operation to collect more evidence when safety margins are shrinking.
3. Protect other airspace users
Give way to crewed aircraft. If the operation is near emergency response, a TFR, an airport, a critical facility, or other sensitive airspace, terminate or recover the operation as required by the applicable rules and authorization.
4. Preserve data after the aircraft is safe
Save logs, screenshots, controller messages, video, and maintenance observations before rebooting, updating, or changing the configuration.
Symptoms and ordinary causes
Control-link degradation
Possible indicators include reduced link-quality values, delayed commands, telemetry loss, failsafe warnings, or complete control-link loss.
Common non-malicious causes:
damaged, detached, shadowed, or incorrectly polarized antennas;
loose coax or connector damage;
receiver power instability or brownout;
transmitter power or antenna fault;
incorrect region, protocol, rate, or model configuration;
self-interference from onboard Wi-Fi, video, telemetry, or compute hardware;
receiver desensitization from a nearby transmitter;
congested spectrum;
terrain, structures, foliage, vehicle bodies, or aircraft orientation blocking the path;
ordinary range limits.
Video degradation
Possible indicators include breakup, freezing, frame loss, color or synchronization errors, or loss of the image while other links remain normal.
Common non-malicious causes:
camera or video-transmitter power problems;
overheated video hardware;
damaged antenna or feed line;
incorrect channel or bandwidth configuration;
multipath near buildings, vehicles, metal surfaces, or the ground;
blockage by the airframe, battery, payload, terrain, or foliage;
another authorized user occupying nearby spectrum;
encoder, cable, connector, display, or network faults.
GNSS or navigation anomalies
Possible indicators include falling satellite count, inconsistent position, poor accuracy estimates, jumps, drift, unexpected mode changes, or disagreement between navigation sources.
Common non-malicious causes:
antenna placement or damage;
airframe or payload masking;
multipath near buildings, cliffs, metal roofs, or vehicles;
electromagnetic noise from onboard electronics;
inadequate sky view;
ionospheric or space-weather effects;
stale corrections, base-station, network, or datum problems;
compass interference or calibration error;
software, sensor, or estimation faults.
Several links degrade together
Simultaneous symptoms can be caused by:
common power failure;
damaged wiring or connector assemblies;
processor overload;
thermal shutdown;
a shared antenna or network path;
nearby high-power authorized transmitters;
severe site congestion;
airframe orientation or terrain masking.
Do not skip the common-cause check merely because intentional interference seems plausible.
Safe troubleshooting sequence
Step 1 — Record the event before changing anything
Capture:
Date and local/UTC time:
Location and operating area:
Aircraft and serial/configuration ID:
Pilot and observer:
Mission phase:
Altitude and approximate position:
Control/video/telemetry/GNSS symptoms:
Warnings and displayed values:
Weather and visibility:
Known nearby transmitters or events:
Recovery action:
Outcome:
Export the original logs and preserve an unmodified copy.
Step 2 — Inspect power and physical hardware
With the aircraft disarmed and made safe:
inspect batteries, regulators, connectors, cables, and grounds;
inspect all RF connectors and antennas;
check for impact, heat, water, contamination, or abrasion;
verify antennas are the correct type and attached to the intended port;
inspect payload and accessory wiring added since the last known-good flight;
review brownout, reset, thermal, and fault logs.
Step 3 — Compare against the last known-good configuration
Record changes to:
firmware and configuration;
receiver or transmitter settings;
antennas or mounting;
payloads and onboard computers;
radio, video, network, or navigation hardware;
battery and power architecture;
site, altitude, and flight profile.
Revert only through an approved configuration-control process.
Step 4 — Isolate self-interference on the ground
In a lawful controlled test area, use the organization's test procedure to compare the aircraft with optional onboard transmitters and payload systems enabled or disabled one at a time.
The objective is to identify interference generated by your own system, not to locate or characterize another party's communications.
Record:
aircraft state;
which subsystems were active;
measured link or noise indicators;
test distance and geometry;
power source;
instrument and software versions;
result.
Do not transmit outside authorized frequencies, power, or test conditions.
Step 5 — Compare locations and times
If the problem cannot be reproduced at a known-clean test site, document the difference rather than declaring intentional interference.
Useful comparisons include:
same aircraft at another lawful site;
same site at another time;
a known-good aircraft of the same configuration;
a known-good antenna, cable, battery, or receiver;
manufacturer diagnostic tools;
approved passive spectrum measurements.
Step 6 — Escalate to the manufacturer or service provider
Provide the evidence package and ask for review of:
use the FCC public-safety interference process when public-safety communications are affected;
report suspected GPS interference through the channels identified by GPS.gov, including the FCC and U.S. Coast Guard Navigation Center where applicable;
notify the organization's spectrum manager, site authority, or license coordinator;
report related aviation-safety issues through the appropriate FAA channel.
An emergency or immediate threat should be reported to the appropriate emergency or public-safety authority rather than investigated by the operator.
Preflight interference-resilience checklist
Configuration
[ ] Exact approved firmware and configuration identified
[ ] Correct region, frequencies, channels, bandwidths, and legal power settings confirmed
[ ] Antenna type, connector, orientation, and polarization confirmed
[ ] Control, video, telemetry, Wi-Fi, payload, and Remote ID transmitters inventoried
[ ] Self-interference assessment completed after any hardware change
Safety behavior
[ ] Lost-link behavior tested in a controlled environment
[ ] Navigation-degradation behavior understood
[ ] Manual or independent recovery mode tested where supported
[ ] Alternate landing or recovery area identified
[ ] Pilot and observer know the abort criteria
[ ] Return, land, or other contingency does not depend on a subsystem already known to be unreliable
Evidence readiness
[ ] Logging enabled and storage available
[ ] Aircraft/configuration identifier recorded
[ ] Time synchronized where practical
[ ] Contact information for manufacturer, spectrum manager, site authority, and regulator available
PNT resilience without spoofing claims
A position anomaly should be handled as an untrusted navigation estimate until the cause is known.
Safer system design includes:
independent position or velocity sources where justified;
integrity and confidence monitoring;
clear operator indication when estimates disagree;
a documented operating envelope for GPS-denied modes;
tested fallback behavior;
protection against a low-confidence estimate silently commanding the aircraft.
Do not rely on satellite count alone to distinguish obstruction, interference, spoofing, antenna failure, multipath, or estimator problems.
What this guide does not authorize
Do not use this guide to:
operate, acquire, advertise, sell, or distribute a jammer;
transmit false navigation signals;
interfere with control, video, telemetry, GNSS, cellular, public-safety, or other authorized communications;
change to unauthorized frequencies or exceed permitted power;
locate, follow, identify, or attack a suspected transmitter;
decode or exploit another party's communications;
evade a lawful counter-UAS, security, or spectrum-enforcement system;
continue an unsafe mission merely to collect data.
Authorized federal activity, licensed testing, and government spectrum operations have their own written authorities and procedures. They should not be inferred from a public handbook.
Evidence-quality labels
Use these labels in incident reports:
Label
Meaning
Observed symptom
Directly recorded behavior, warning, log, or measurement
Reproduced fault
Symptom repeated under documented controlled conditions
Probable equipment cause
Evidence strongly supports an internal hardware/configuration cause
Environmental interference suspected
Ordinary internal causes were investigated; source and intent remain unknown
Harmful interference confirmed by authority
Determination made by the responsible regulator, spectrum manager, or authorized investigator
Intentional jamming confirmed by authority
Intentional source confirmed by an authorized investigative process
Operators should ordinarily stop at the evidence level they can actually support.
Fiber-optic FPV drones are immune to all RF-based electronic warfare.
The control signal and video travel through a physical cable, not over
the air. Both Russia and Ukraine are mass-producing them. Russia's
fiber-optic FPV production exceeded 50,000 units/month by September 2025.
Ukraine codified and scaled fiber-optic variants throughout 2025.
This is the least documented area in drone technology. This guide covers
what's publicly known about integration.
Every other countermeasure in the EW arms race is a software or frequency
fix — move to a different band, encrypt the signal, hop frequencies. The
jammer responds by covering more spectrum. It's an escalating cycle.
Fiber-optic breaks the cycle entirely. There is no RF emission to jam,
spoof, intercept, or direction-find. The drone is electromagnetically
silent on both the control and video links. The only RF emission is from
the motors (broadband EMI) and any onboard GPS receiver.
The tradeoff: you're physically tethered to the launch point by a
cable. Range is limited by spool capacity. Weight increases with range.
The cable can snag, break, or be cut. These are real limitations — which
is why RF-based systems remain necessary for many mission profiles. Fiber
is not a universal replacement. It's a specific tool for specific
situations.
How It Works
Architecture
Ground Station Drone
┌──────────┐ fiber cable ┌──────────────┐
│ TX Module │ ──────────────── │ RX Module │
│ (control │ (1-25 km) │ (converts to │
│ + video │ │ UART/CRSF + │
│ receive) │ │ video out) │
└──────────┘ └──────────────┘
│ │
Goggles FC (UART)
+ Radio + Camera
The fiber cable carries bidirectional data:
Ground → Drone: RC channel data (same as CRSF/SBUS over UART)
Drone → Ground: video feed (analog composite or digital stream)
The ground-side module converts the pilot's stick inputs to optical
signals. The drone-side module converts optical signals back to electrical
UART for the FC and outputs video to the goggles.
What Travels Through the Fiber
Signal
Direction
Encoding
Notes
RC channels
Ground → Drone
Serial (CRSF/SBUS/PPM)
Same as wireless RC, just over fiber
Video
Drone → Ground
Analog composite or digital
Depends on system
Telemetry
Drone → Ground
Serial (MAVLink/MSP)
Optional, bandwidth permitting
The FC doesn't know or care that its control input comes from fiber instead
of a wireless receiver. It sees CRSF or SBUS on its UART, same as always.
This is why fiber integration doesn't require FC firmware changes.
The Spool
The fiber spool is the defining component. It contains the fiber-optic
cable wound on a reel with a motor-driven feed system.
Spool Placement
Two approaches in current use:
Drone-mounted spool (most common): the spool is on the drone. Cable
pays out as the drone flies away from the anchor point. The ground end of
the cable is anchored at the launch site.
Advantage: simpler ground station. Just anchor the cable end.
Disadvantage: spool weight is on the drone, reducing payload capacity
and flight time. Spool motor draws power from the flight battery.
Ground-mounted spool: the spool stays on the ground. Cable pays out
as the drone flies.
Advantage: spool weight isn't on the drone.
Disadvantage: cable tension management is harder. The cable must
feed cleanly as the drone maneuvers. Snag risk is higher.
Most production systems (Ukrainian and Russian) use drone-mounted spools
because the cable management is more predictable.
Cable Specifications
Parameter
Typical Value
Notes
Fiber type
Single-mode 9/125
Standard telecom fiber
Cable diameter
0.25 – 0.9 mm
Thinner = lighter but more fragile
Weight per km
30 – 200 g/km
Depends on diameter and coating
Breaking strength
1 – 5 N
Enough for flight tension, not snag resistance
Bend radius (min)
5 – 15 mm
Tighter bends = signal loss or breakage
Operating range
1 – 25 km
Limited by spool capacity and cable weight
Signal loss
0.35 dB/km @ 1310nm
Negligible for FPV distances
Cable weight is the primary range limiter. A 10 km spool of 0.25 mm
fiber weighs roughly 300–500 g including the spool and motor. A 25 km
spool may weigh 1+ kg. This weight comes directly out of the drone's
payload budget.
Spool Motor
The spool motor maintains constant tension on the cable as it pays out.
Too much tension = cable snaps. Too little = cable loops and tangles.
Motor type: small brushed or brushless DC motor with slip clutch
or electronic tension control
Power: typically 1–3W, powered from the flight battery or a
dedicated BEC
Control: constant-torque (simplest) or closed-loop tension feedback
The spool motor wiring connects to a spare BEC output or directly to
the battery through a regulator. It does NOT connect to the FC's motor
outputs — it's an auxiliary system.
FC Integration
Wiring
The fiber RX module on the drone outputs standard serial:
Configure the FC UART for Serial RX with the appropriate protocol
(CRSF, SBUS, or PPM depending on the fiber system). From the FC's
perspective, this is identical to a wireless receiver.
Firmware Configuration
No firmware changes are needed. The FC doesn't know or care that
the signal comes from fiber. Configure the UART exactly as you would
for a wireless ELRS/Crossfire receiver:
Betaflight: Serial RX on the connected UART, provider = CRSF (or SBUS)
iNav: same configuration
ArduPilot: serial protocol = RCInput on the appropriate SERIAL port
Video Connection
The camera connects to the fiber TX module on the drone (not to a VTX):
For analog systems, this is a standard composite video connection (the
same yellow wire you'd run to an analog VTX). The fiber system replaces
the VTX entirely — there is no VTX on a fiber drone.
For digital systems, the integration is more complex and depends on the
specific fiber module. Some accept HDMI or MIPI CSI input.
OSD
OSD overlay (battery voltage, flight mode, etc.) must be mixed into the
video signal BEFORE it enters the fiber TX module. Two approaches:
FC with OSD chip (standard): the FC's OSD chip overlays data onto
the composite video signal. Wire camera → FC video-in, FC video-out →
fiber TX module. This is the normal analog OSD wiring.
External OSD board: if the FC doesn't have an OSD chip, use an
external OSD board between camera and fiber TX.
Weight Budget
Fiber adds weight that RF systems don't have. Plan accordingly.
Component
Typical Weight
Notes
Fiber RX module (drone side)
5 – 15 g
Varies by manufacturer
Spool (5 km)
150 – 300 g
Cable + reel + motor
Spool (10 km)
300 – 600 g
Significant payload impact
Spool (25 km)
800 – 1500 g
Only on larger platforms (7"+)
Spool motor + driver
10 – 30 g
Constant-torque system
Impact on platform selection:
5" quad: 5 km spool is practical. 10 km is marginal (heavy).
7" quad: 10 km spool is practical. This is the sweet spot.
10" quad / heavy lift: 25 km spool is feasible.
Flight time reduction from spool weight: roughly 10–20% for a 5 km spool
on a 5" build, 25–40% for a 10 km spool. Plan battery capacity accordingly.
Operational Considerations
Launch Procedure
Anchor the cable end (ground-spool) or pre-tension the spool (drone-spool)
Verify cable feed path is clear of obstacles, props, and antenna masts
Launch vertically — the cable must pay out cleanly without tangling
No return path: the cable is one-way. The drone flies out and the
cable pays out. You cannot reel it back in during flight (most systems).
The drone is committed to its outbound path.
No orbiting: circular flight patterns wrap the cable around itself
or around obstacles. Fly outbound in a straight line or gentle arc.
Altitude management: cable sag between drone and anchor point must
be above terrain and obstacles. Higher altitude = more cable needed for
the same ground distance.
Wind: crosswind pushes the cable laterally, increasing effective
cable length needed and snag risk. Strong wind = shorter practical range.
Cable Management
Snag = mission kill. Cable caught on a tree, building, or antenna
mast stops the drone. At FPV speeds, this can snap the cable or
crash the drone.
Route planning: before launch, identify the cable path. Clear of
vertical obstacles. Ideally over open terrain.
Cable recovery: after the mission, the cable is either recovered
(reeled back in) or abandoned. For one-way strike missions, the cable
is expendable.
Failure Modes
Failure
Symptom
Result
Cable break (tension)
Instant loss of all links
Drone enters failsafe
Cable snag
Control lag then break
Same as above
Spool jam
Cable stops paying out, drone pulls against anchor
Drone decelerates, may snap cable
Fiber bend too tight
Signal degradation, video noise
Reduced video quality, then total loss
Spool motor failure
Cable pays out uncontrolled
Slack cable, high snag risk
Critical point: when the cable breaks, the drone has NO control link
and NO video. Unlike RF systems, there is no degraded mode — it's all or
nothing. Failsafe configuration is even more important on fiber drones
than on RF drones.
Fiber vs RF: When to Use Which
Factor
Fiber
RF
EW immunity
Total
Depends on firmware/frequency
Detection signature
Electromagnetically silent
Detectable by ELINT
Range flexibility
Fixed by spool capacity
Adjustable (power, rate, antenna)
Flight pattern
Outbound line only
Unrestricted
Reusability
Cable may be expendable
Fully reusable
Weight penalty
150–1500 g (spool)
Minimal (receiver only)
Setup time
Cable routing required
Power on and go
Cost per mission
Cable cost if not recovered
Zero (reusable hardware)
Use fiber when:
- Operating in a known high-EW environment where RF links will be jammed
- The mission profile is outbound-only (strike, one-way recon)
- Electromagnetically silent approach is required (no RF signature)
- The target is within spool range and on a clear cable path
Use RF when:
- Mission requires orbiting, return trips, or complex flight patterns
- Range exceeds spool capacity
- Weight budget is tight
- Rapid deployment (no cable routing setup time)
- Reusability is important
Production Scale Context
As of late 2025:
Russia: 50,000+ fiber-optic FPVs per month. Domestic fiber cable
production at the Saransk plant. Chinese spool cooperation.
Ukraine: codified and scaled all available fiber-optic variants in
2025. TAF Industries Kolibri 13 O is one example (fiber-optic variant).
Multiple manufacturers producing at scale.
Tactics: Russia uses fiber FPV drones as ground mines (drone waits on
road, detonates on contact). Ukraine launched fiber FPVs from naval
drone motherships (USV-launched, sea-based strikes on ports).
This is no longer experimental technology. It's production-scale
industrial warfare equipment.
Sources
Advances in Military Technology Vol. 20 No. 2, fiber-optic FPV counter-tactics
Ukraine's Arms Monitor, fiber-optic production reporting
Defense Advancement, "Evolving Countermeasures for Fiber-Controlled Drones"
NSDC Ukraine, "Results of Ukraine's Defense Industry in 2025: FPV Drones"
Defense News, "Of fiber-optics and FPVs" (Nov 2025)
Drone Encounters and Counter-UAS Safety for Civil Operators
Verified: July 31, 2026 Scope: Civilian, commercial, educational, venue, and public-safety response to an unfamiliar, unsafe, or suspicious drone in the United States. Excluded: Pursuit, interception, capture, jamming, spoofing, protocol takeover, weaponization, ramming, targeting, or destruction of another aircraft. Review needed: safety / configuration / failure mode
An unfamiliar drone is not automatically hostile, illegal, or dangerous. It may be operating lawfully, may belong to emergency responders, may be outside your property while remaining in navigable airspace, or may simply be difficult to identify from the ground.
When a drone appears unsafe or suspicious, the correct civil response is to protect people, stop adding aircraft to the situation, preserve objective observations, and report through the appropriate authority. Do not attempt to disable or seize the aircraft.
The FAA states that it is illegal under federal law to shoot at an aircraft, including an unmanned aircraft. A damaged drone can fall onto people or property or collide with other aircraft. Ordinary private actors also should not infer authority to jam, spoof, take control of, pursue, or intentionally collide with another aircraft.
Immediate response
1. Determine whether there is an immediate threat
Call 911 or the appropriate local emergency number when the drone operation appears to create an immediate danger, is being used in connection with a crime, has struck a person or aircraft, is carrying an obviously dangerous item, or is interfering with emergency response. Review needed: safety
The FAA directs witnesses to report a drone operation that appears dangerous or is being used to commit a crime to local law enforcement first responders.
2. Protect people and the operating area
Move people away from the apparent flight path, hover point, landing area, damaged battery, or fallen aircraft.
Keep spectators from approaching or touching the drone.
Avoid standing directly beneath it.
Protect access routes for emergency responders.
If indoors, move people away from windows, atriums, confined flight paths, and other areas where a loss of control could cause injury.
Follow the organization's emergency, evacuation, event, school, workplace, or facility plan.
3. Suspend your own drone operation
If you are operating another UAS:
maintain separation;
do not chase, shadow, surround, or intentionally approach the other aircraft;
give way to crewed aircraft and emergency operations;
recover or land using a planned safe procedure when continued operation adds risk;
preserve your own flight logs and video afterward.
Launching another drone to “investigate” can create an additional collision hazard, complicate law-enforcement response, and make attribution more difficult.
4. Do not take countermeasures
Do not:
shoot, throw objects at, ram, net, strike, or otherwise damage the aircraft;
operate or acquire a signal jammer;
transmit false GNSS or control signals;
attempt protocol takeover or unauthorized access;
use another drone to pursue or force it down;
point lasers or high-powered lights at aircraft or operators;
trespass, enter restricted areas, or follow a suspected operator;
seize or search a landed aircraft without authority;
attach a weapon or dangerous item to a drone.
A public handbook, facility policy, property ownership, or suspicion of improper flight does not create counter-UAS authority.
Report through the correct channel
Dangerous operation or suspected crime
Contact local law enforcement first. Provide objective observations and explain the immediate safety concern or suspected underlying offense.
Examples may include:
reckless operation near people or vehicles;
interference with emergency response;
collision or injury;
suspected harassment, voyeurism, stalking, contraband delivery, or property damage;
flight associated with a security threat;
an aircraft carrying an apparently dangerous item.
Do not characterize an operator as criminal merely because a drone is visible above private property. Describe what was observed.
Apparent FAA rule violation without immediate danger
Contact the local FAA Flight Standards District Office. The FAA states that investigators may review credible reports of operations that do not follow FAA rules.
Do not fly into or around emergency-response activity without authorization. Check current NOTAMs and Temporary Flight Restrictions before operating. If a drone is interfering with an active response, notify incident command or local law enforcement rather than attempting to remove the aircraft yourself.
The FAA states that TFRs may be issued for disasters, major sporting events, emergency situations, and national-security reasons, and that unauthorized operations can lead to enforcement.
Law-enforcement and public-safety agencies
Use agency policy, legal counsel, the FAA Law Enforcement Assistance Program, and the FAA public-safety toolkit. Authority and procedures differ from those of private security or an ordinary civil operator.
This article does not define statutory counter-UAS authority or replace agency legal review.
What to observe
Record facts that can be reported without pursuing the aircraft or collecting unnecessary personal information.
Basic incident record
Date:
Local time and UTC if available:
Location of observer:
Approximate location of drone:
Direction of travel:
Estimated altitude/range, clearly labeled as an estimate:
Duration observed:
Aircraft type, size, shape, color, and lights:
Visible payload or object:
Observed behavior:
People, aircraft, vehicles, or facilities affected:
Collision, injury, damage, or emergency-response impact:
Weather and visibility:
Photos/video available:
Other witnesses:
Report made to:
Incident/reference number:
Describe behavior, not conclusions
Prefer:
“The aircraft hovered approximately above the west parking area for four minutes.”
“The aircraft crossed the marked wildfire response area while a helicopter was operating nearby.”
“An object appeared suspended below the aircraft.”
“The aircraft struck a window and fell to the sidewalk.”
Avoid unsupported statements such as:
“The drone was spying.”
“It was military.”
“It was carrying a weapon.”
“The pilot was at this address.”
“The operator intentionally jammed us.”
State uncertainty explicitly.
Photographs, video, and Remote ID observations
Record from a safe location
Photograph or record only when doing so does not delay emergency action or place the observer in the flight path. Preserve the original file and metadata when practical.
Remote ID information
A compatible receiver may display Remote ID information from a broadcasting aircraft. Treat it as a lead, not a license to confront or track a person. Review needed: regulatory
Do not publish operator or control-station location data.
Do not use it to trespass or pursue someone.
Preserve only what is needed for an incident report.
Give relevant information to law enforcement or the FAA rather than posting it publicly.
Do not assume absence from an app proves a violation; receiver range, compatibility, configuration, registration status, FRIA operation, or other factors may matter.
Security-camera records
Preserve the original segment, system time, camera identifier, export method, and hash where the organization has an evidence process. Limit access and retention according to policy and applicable privacy law.
If a drone lands or crashes
Protect the scene
Keep people and animals away.
Do not power it on, connect it to a computer, inspect storage, or manipulate controls.
Do not remove a battery unless necessary to address an immediate hazard and personnel are trained to do so.
Treat a swollen, punctured, smoking, hissing, or hot lithium battery as a fire hazard.
If wires, containers, energetic material, weapons, chemicals, or suspicious payloads are visible, withdraw and contact emergency services.
Do not assume ownership transfers to the property owner merely because the aircraft landed there.
Preserve evidence
From a safe position, record:
location and orientation;
visible damage;
registration or serial markings visible without handling;
battery condition;
nearby debris;
witnesses;
time emergency or law-enforcement personnel were notified.
Allow authorized responders to decide how the aircraft is rendered safe, collected, returned, or examined.
Facility and event planning
Organizations should plan before an incident rather than invent a response around an airborne aircraft.
Minimum response plan
[ ] Define who may call 911, law enforcement, FAA, incident command, or facility leadership. Review needed: regulatory / configuration
[ ] Define evacuation, shelter, event pause, and access-control decisions.
[ ] Define who preserves camera, access-control, RF, and flight records.
[ ] Train staff not to shoot, jam, pursue, seize, or confront.
[ ] Identify battery-fire and suspicious-package procedures.
[ ] Identify current TFR/NOTAM and airspace-check tools for planned operations.
[ ] Coordinate with local public safety before high-attendance or high-risk events.
[ ] Distinguish facility/property rules from FAA airspace authority.
[ ] Establish privacy, retention, and right-of-reply procedures for collected incident data.
Private security limitations
Private security may observe, protect people, control access to property, preserve evidence, and contact authorities within applicable law and policy. That does not create general authority to interfere with an aircraft or communications link.
Obtain counsel before deploying any system marketed as a counter-UAS defeat, takeover, jammer, spoofing, directed-energy, kinetic, net, interceptor, or forced-landing capability.
Airspace and property are different questions
The FAA regulates the safety of the National Airspace System. State and local law may regulate conduct such as trespass, harassment, voyeurism, nuisance, takeoff or landing from property, or other underlying activity.
A property owner should not assume that ownership of the ground gives a right to destroy an aircraft overhead. Likewise, an airspace authorization does not necessarily provide permission to launch, land, or enter property.
Route airspace questions to the FAA and underlying conduct/property questions to the appropriate local authority or counsel.
Why civil interception is unsafe
Attempting to collide with or disable a drone can:
create falling debris and battery-fire hazards;
injure bystanders;
cause collision with a crewed aircraft or another UAS;
interfere with emergency or authorized operations;
destroy evidence;
damage property;
expose the actor to civil, administrative, or criminal consequences.
The Department of Justice has prosecuted unsafe drone operation where a drone collided with and damaged a firefighting aircraft. The safety principle is straightforward: do not add another aircraft or intentional collision to an already uncertain situation.
Evidence labels
Label
Meaning
Evidence
Direct observation
Personally observed fact recorded without attribution
—
Recorded evidence
Original photo, video, log, or system record preserved with context
—
Witness statement
Statement attributed to a named or documented witness
—
Remote ID observation
Receiver display preserved as a lead, not independently verified identity
Review needed: regulatory
Authority-confirmed
Finding made by FAA, law enforcement, court, or other authorized body
Review needed: regulatory
Unresolved
Evidence does not support a reliable conclusion
—
Do not convert an unresolved observation into a public accusation.
Ukraine produces 8+ million FPV drones per year across 160+
manufacturers. Individual units build and repair drones in field
workshops. TAF Industries alone produces 80,000 per month. This isn't
hobbyist building — it's industrial-scale manufacturing of attritable
weapons systems using commercial components and decentralized production.
The process knowledge is tribal. This guide documents it.
These drones are not designed to last thousands of flights. They're
designed to be built fast, fly once or a few times, and be replaceable
at scale. Every design decision flows from this principle:
Simplify assembly. Fewer solder joints = faster build time and
fewer failure points. JST-SH connectors where possible. Solder-free
builds for training configurations.
Standardize components. One FC, one ESC, one motor across the
fleet. Interchangeable parts between platforms. See Substitution
Guide for drop-in alternatives when primary
components go out of stock.
Minimize unique parts. Frame arms should be replaceable individually.
3D-printed mounts and adapters can be produced locally. Carbon plates
can be cut from published DXF files (TBS Source One model).
Accept lower margins. A drone that flies well enough for one mission
doesn't need the same PID tuning as a racing quad. Good enough is
the standard.
The Production Unit
A typical production unit (Ukrainian model) consists of:
Role
Count
Responsibility
Build technicians
3-8
Assembly, soldering, wiring
Firmware technician
1-2
Flashing, configuration, binding
QC inspector
1
Pre-flight verification, test hover
Parts manager
1
Inventory, ordering, receiving
Repair tech
1-2
Post-crash repair, component salvage
A team of 5-8 people can produce 10-30 drones per day depending on
complexity and component availability.
Component Sourcing
Primary Supply Chain
Most FPV components originate from Chinese manufacturers (Shenzhen
ecosystem): HappyModel, BETAFPV, GEPRC, iFlight, Foxeer, Caddx,
SpeedyBee, T-Motor, EMAX. These companies produce the majority of
the world's FPV hardware.
Procurement channels:
Direct from manufacturer (Alibaba, manufacturer websites) —
best pricing at volume, 2-6 week lead time, MOQ (minimum order
quantity) requirements.
Distributors (GetFPV, RaceDayQuads, Pyro Drone, RMRC) — faster
delivery, no MOQ, higher per-unit cost. Good for filling gaps.
Local/regional suppliers — emerging in Ukraine, EU, and US.
Higher cost but shorter logistics chain and reduced supply disruption
risk.
Inventory Management
For production at scale, maintain buffer stock:
Component
Buffer Stock
Reason
Frames
2 weeks production
Longest lead time from overseas
Motors
2 weeks
High failure rate from crashes
ESCs
1 week
Occasional DOA or crash burn
FCs
1 week
Lowest failure rate
Receivers (ELRS)
2 weeks
Most commonly stocked-out
Props
1 month
Cheapest, highest consumption rate
Batteries
1 week
Cycle life limits, cold weather attrition
Connectors (XT60, JST)
1 month
Cheap, always needed
Wire, solder, heatshrink
1 month
Consumables
The single biggest supply chain risk is receivers. ELRS receivers
from HappyModel and BETAFPV go in and out of stock constantly. Always
maintain alternatives. See Substitution Guide.
Assembly Line
Station Layout
Organize the workspace into stations. Each station handles one step.
Drones flow through stations sequentially:
Station 1: Frame Assembly
- Assemble frame hardware (arms, plates, standoffs, screws)
- Install camera mount
- Install motor mounts if separate
- Output: bare frame ready for electronics
Station 2: Motor Install
- Mount motors to arms (4x M3 screws each)
- Route motor wires through arms
- Verify rotation direction markings (CW/CCW)
- Output: frame with motors
Station 3: ESC + FC Stack
- Install ESC on standoffs
- Connect motor wires to ESC (solder or JST)
- Install FC on standoffs above ESC
- Connect ESC signal cable to FC
- Output: frame with powered stack
Station 4: Wiring
- Solder/connect receiver to FC UART
- Route and mount receiver antenna
- Connect VTX to FC (video + SmartAudio/Tramp)
- Mount and connect camera
- Connect battery lead (XT60)
- Install GPS if equipped
- Output: fully wired drone
Station 5: Firmware + Config
- Flash FC firmware (Betaflight/iNav/ArduPilot target)
- Load standard CLI dump (pre-configured settings)
- Flash receiver firmware (ELRS version match)
- Bind receiver to TX
- Verify motor order and direction in configurator
- Set failsafe
- Output: configured drone
Station 6: QC + Test
- Visual inspection (solder joints, antenna routing, wiring)
- Continuity check (no shorts between power and signal)
- Motor spin test (correct direction, no grinding)
- Bench test (arm, throttle up on props, verify response)
- Test hover (30 seconds, verify stability)
- OSD verification (battery, LQ, GPS lock)
- Output: flight-ready drone
Firmware Flashing at Scale
The Problem
Flashing firmware one drone at a time through Betaflight Configurator
is acceptable for one build. For 20+ drones per day, it's a bottleneck.
Solutions
Pre-configured CLI dumps: create a master CLI dump file containing
all settings for your standard build. After flashing the FC firmware
target, paste the CLI dump. This configures everything — UART
assignments, motor protocol, OSD layout, receiver protocol, failsafe,
rates, PIDs — in one operation.
# Save master config
dump all > standard_build_v3.txt
# Load onto new FC (after flashing correct firmware target)
# Paste contents of standard_build_v3.txt into CLI
# Type "save" to apply
Version control your CLI dumps. Keep them in a shared folder or
git repo. When you change a setting (PID update, new failsafe config),
update the master dump and note the version. Every drone built from
that point gets the new settings.
ELRS batch flashing: use the ExpressLRS Configurator or web flasher
to flash receivers in batches. Set the binding phrase in the build
options — every receiver built with the same phrase will bind to any
TX using that phrase. For fleet operations, use one binding phrase per
flight group and model match IDs to prevent cross-binding.
Betaflight Configurator Presets: Betaflight's preset system can
apply standard configurations. Create a custom preset file for your
build and load it on each new FC.
Quality Control Checklist
Print this. Use it on every drone before it leaves the build station.
Visual Inspection
[ ] All solder joints are clean (shiny, concave, no cold joints)
[ ] No wire pinch points under frame plates or standoffs
[ ] Antenna exits frame cleanly (not pinched, not near carbon)
[ ] Camera lens is clean and undamaged
[ ] No loose standoffs or screws
[ ] Battery strap is secure and positioned for CG
[ ] XT60 connector is firmly attached (no cracked solder)
[ ] GPS module is mounted on top, away from power wiring
Electrical Test
[ ] No shorts between battery positive and negative
[ ] No shorts between battery and signal wiring
[ ] Receiver LED indicates proper state (bound or binding)
[ ] FC boots when battery connected (LED pattern normal)
Motor Test
[ ] All 4 motors spin freely by hand (no grinding or catching)
[ ] Motor direction matches firmware config (verify in configurator)
[ ] Props are correct rotation (CW/CCW per position)
[ ] Props are tight on shafts (no wobble)
[ ] Motor screws are correct length (too long = hits windings)
Firmware Verification
[ ] Correct firmware target flashed
[ ] CLI dump loaded (verify serial RX config, motor protocol)
[ ] Motor order verified in configurator (match Betaflight motor diagram)
[ ] Arm switch works (arms only when switch is in correct position)
Hover Test
[ ] Drone hovers stable at 1m for 10 seconds
[ ] No oscillations, wobbles, or toilet-bowling
[ ] OSD data matches expected values
[ ] Motors are warm (not hot) after hover test
[ ] No abnormal sounds (grinding, clicking, whistling)
Batch Testing
For production runs of 10+ drones, batch testing saves time:
Bench test all drones at Station 6 before any hover tests
Group hover tests — fly 3-4 drones sequentially in the same
area, same battery voltage, same conditions. Consistent behavior
confirms consistent builds. An outlier indicates a build defect.
Record serial numbers — label each drone with a serial (masking
tape + marker is fine). Track which components went into which drone.
If a motor fails after 5 flights across 3 drones with the same motor
batch, that's a supplier quality issue.
Repair and Salvage
Crashed drones return to the repair station. The goal is to recover
every reusable component:
Salvage Priority (most to least valuable)
Flight controller — highest value, most resilient to crashes.
Even a cracked PCB may have a working MCU and gyro.
ESC — durable unless it took a direct short. Test before reuse.
Receiver — small and often survives intact. Verify binding.
GPS module — usually mounted on top, exposed to impact but
often survives.
Camera — lens cracks are common. Replace lens if possible,
otherwise salvage the sensor board.
VTX — check antenna connector integrity. If SMA/MMCX is
intact, likely still functional.
Motors — spin test after crash. Bent shaft or grinding bearing =
replace. Motors with undamaged stators can be rebuilt with new
bearings and shafts (if your team has the skill).
Battery — inspect for damage. Cell check voltage. Mild puffing
from impact may be acceptable for training but not for operational
use. Punctured or heavily deformed = retire immediately.
Frame — individual broken arms can be replaced. If the center
section is cracked, salvage hardware (standoffs, screws) and
discard the carbon.
Repair Workflow
Incoming crashed drone: tag with date and damage notes
Strip damaged components, sort into "reuse" and "scrap" bins
Reusable components go back to inventory
Rebuild with a fresh frame and any needed replacement parts
The rebuilt drone goes through the full QC checklist again
Scaling Production
From 10/day to 50/day
Parallelize stations. Two Station 4 (wiring) positions since
wiring is the slowest step.
Pre-cut and pre-strip wires. Prepare wire bundles in advance
(cut to length, stripped, tinned) so Station 4 just connects.
Jig/fixtures for soldering. 3D-printed jigs hold FCs and ESCs
at the right angle for consistent solder joints.
Dedicated firmware station. One laptop with Betaflight
Configurator + ELRS flasher + CLI dump templates running
continuously.
From 50/day to 200+/day
This requires factory-level organization:
Pick-and-place for connector pre-assembly — pre-assemble wire
harnesses with JST connectors crimped
Wave soldering or reflow for high-volume PCB work
Automated test rigs — connect each drone to a test jig that
verifies motor response, receiver bind, and OSD output
Multiple parallel assembly lines — each line staffed by a
trained team
This is where Ukrainian manufacturers like TAF Industries (80,000/month)
and Wild Hornets operate. The transition from workshop to factory
requires capital, space, and trained personnel — but the process
knowledge is the same scaled up.
Sources
Ukrainian FPV production model documentation (public)
TAF Industries, production capacity reporting
Wild Hornets, build and repair operations
Betaflight CLI dump documentation
ExpressLRS batch flashing documentation
NSDC Ukraine, defense industry capacity reporting (Jan 2026)
UAS Nexus Syndicate, decentralized manufacturing model
Chapter 42 · Field Guides — Resilient & Austere Operations
Verified: July 31, 2026 Scope: Passive site assessment, self-interference troubleshooting, channel coordination, and recordkeeping for lawful UAS operations. Excluded: Communications interception, content decoding, person or transmitter tracking, military-intelligence collection, targeting, evasion, spoofing, jamming, or exploitation.
A spectrum survey helps answer limited engineering questions:
How busy is the intended operating band at this place and time?
Is the aircraft interfering with itself?
Are several authorized systems competing for the same channels?
Did a hardware or configuration change raise the local noise floor?
Does the measured environment support the planned link margin?
A spectrum plot does not, by itself, identify a transmitter, operator, protocol, intent, legality, or threat. Peaks and noise changes should be recorded as observations, not converted into unsupported attribution.
Define the survey before collecting data
Write down the purpose and limits.
Survey owner:
Site and authorization:
Date/time window:
Operational bands being assessed:
Aircraft/configuration:
Question being answered:
Equipment being used:
Data-retention period:
Privacy restrictions:
Responsible reviewer:
Examples of appropriate questions:
Compare noise and channel occupancy before and after adding an onboard computer.
Select among legally available channels for a multi-aircraft event.
Document ambient conditions before a range or reliability test.
Determine whether an intermittent problem follows the aircraft or the site.
Compare antenna placement options on the same aircraft.
Inappropriate purposes include locating an unknown operator, decoding third-party traffic, identifying military or public-safety systems, collecting message content, evading security controls, or supporting a target package.
Passive versus active testing
Passive survey
A passive survey observes energy already present. It should not transmit merely to provoke or identify another system.
Typical measurements include:
displayed noise floor;
channel or band occupancy over time;
peak and average received power;
known emissions from your own equipment;
changes associated with your own payloads or onboard transmitters;
time-domain patterns without decoding third-party content.
Active system test
An active test uses your own authorized transmitter and receiver to measure your system.
It requires:
lawful equipment and frequencies;
applicable license or rule authority;
permitted power and bandwidth;
a controlled test plan;
coordination with the site and affected users;
appropriate separation and safety controls;
documentation of every transmitting device.
A spectrum analyzer, SDR, signal generator, radio, amplifier, or test transmitter should not be assumed legal for over-the-air transmission merely because it can generate the signal.
Equipment and calibration record
Record enough detail for another reviewer to understand the measurement.
Field
Example content
Instrument
Analyzer or SDR manufacturer/model
Serial number
Asset identifier
Firmware/software
Exact version
Antenna
Model, band, polarization, gain if known
Feed line
Type and length
Reference level
Instrument setting
Span
Frequency range displayed
Resolution bandwidth
RBW or equivalent
Video bandwidth
VBW or equivalent
Detector
Peak, RMS, average, sample, or other
Sweep/dwell
Time parameters
Calibration
Date, method, and status
Location
Survey point and antenna height
Orientation
Antenna direction/polarization
Time source
Local and UTC reference
Measurements made with different antennas, gain settings, RBW, locations, or reference levels should not be compared as though they were identical.
Baseline survey procedure
1. Establish the instrument baseline
Before interpreting the environment:
verify the instrument and antenna cover the intended band;
confirm no overload or clipping indication;
record the instrument settings;
inspect cables and connectors;
capture an equipment-off or shielded reference where practical;
note nearby electronics that may contaminate the measurement.
2. Survey with your UAS equipment powered off
Record the ambient environment before introducing your own transmitters.
Collect:
a broad view of the authorized operating bands;
representative narrow views of candidate channels;
occupancy over a useful time window;
site changes such as event operations, vehicles, Wi-Fi access points, or industrial equipment.
Do not assign a source or intent merely from a waveform shape or center frequency.
3. Add your equipment one subsystem at a time
With the aircraft disarmed and in an approved ground-test condition, activate only your own equipment according to the test plan.
A useful sequence may include:
aircraft power electronics only;
flight controller and sensors;
companion computer;
navigation receiver;
authorized control link;
authorized telemetry link;
authorized video link;
payload electronics;
Remote ID equipment;
complete intended configuration.
The purpose is to identify emissions and desensitization caused by your own system. Record every state change and do not exceed the lawful operating conditions for the equipment.
4. Compare the candidate operational configuration
Evaluate:
whether one onboard transmitter raises the noise floor at another receiver;
whether antenna placement, cable routing, shielding, or power wiring changes the result;
whether several authorized links are unnecessarily concentrated in one band;
whether the site's measured occupancy reduces the planned link margin;
whether the operation should be moved, rescheduled, reconfigured within legal limits, or canceled.
5. Preserve raw and interpreted records separately
Keep:
original instrument files;
screenshots with settings visible;
test notes;
aircraft/configuration identifier;
photographs of the measurement setup where appropriate;
a separate analysis explaining any conclusions.
Do not overwrite raw data with annotations.
Self-interference checks
Common self-interference paths include:
two transmitters placed too close together;
inadequate antenna separation;
receiver antenna shadowing by the battery, frame, payload, or vehicle;
shared or noisy power rails;
digital electronics radiating into GNSS or other sensitive receivers;
damaged shielding, coax, filters, or connectors;
harmonics or spurious emissions from defective equipment;
high-power ground transmitters overloading a nearby receiver front end;
multiple onboard systems using the same band.
A passive survey can show correlation, but correlation is not certification. Formal emissions compliance and equipment authorization require the applicable laboratory methods and authority. Review needed: regulatory
Channel coordination for a lawful operation
A survey supports coordination; it does not create spectrum rights.
For each system, record:
System
Authority
Band/channel
Bandwidth
Power
Antenna
Operator
Time window
Evidence
Control
License/rule/equipment authorization
—
Video
—
Telemetry
—
Mesh/network
—
Remote ID
Applicable product authorization
Review needed: regulatory
Payload link
—
Then:
avoid unnecessary overlap among your own systems;
coordinate with other authorized users at the site;
maintain a power-on sequence;
prohibit unplanned transmitters;
retest after substitutions or repairs;
stop the test if it affects safety or another authorized service.
Do not respond to congestion by using an unauthorized band, bypassing regional settings, exceeding legal power, or interfering with another user.
Privacy and communications limits
A lawful engineering survey should collect the minimum data needed for the stated purpose.
Do not:
decode message content;
capture credentials or private communications;
retain device identifiers without a documented need and authority;
follow a transmitter to identify a person or location;
publish raw data that exposes protected facilities or users;
correlate RF observations with personal information for surveillance;
use a public handbook as authority for law-enforcement or intelligence collection.
Where a protocol exposes identifiers as part of ordinary operation, document whether collection is necessary, how it is protected, how long it is retained, and who may access it.
Interpreting results without overclaiming
Appropriate conclusions
“The measured noise floor was higher at Site A than Site B under the recorded settings.”
“Activating the onboard computer correlated with a rise near the GNSS receiver band.”
“The control receiver's reported quality decreased when the nearby authorized video transmitter was enabled.”
“The planned channels were heavily occupied during the event window.”
“The source of the observed energy was not identified.”
Inappropriate conclusions without additional authority and evidence
“This peak is an illegal jammer.”
“That waveform belongs to a particular person or organization.”
“The source is hostile.”
“The operator intended to disrupt our flight.”
“The source is located at this coordinate.”
“Changing to this unauthorized frequency is justified.”
Use evidence labels:
Label
Meaning
Instrument observation
Raw measured value under documented settings
Correlation
Change occurred with a documented system-state change
Reproduced self-interference
Internal cause repeated under controlled conditions
External interference suspected
Environmental energy observed; source and intent unknown
Source confirmed by authorized process
Identity established by regulator, licensee, spectrum manager, or other authorized investigation
Reporting package
For unresolved harmful-interference concerns, prepare:
Reporter and organization:
Contact information:
Date/time in local and UTC:
Location and operating authority:
Affected service/system:
Equipment and authorization:
Observed symptoms:
Safety effect:
Troubleshooting completed:
Instrument and settings:
Raw data location:
Known authorized site users:
Whether public-safety communications were affected:
Whether the event is ongoing:
Route the package to the appropriate party:
equipment manufacturer or service provider;
site spectrum coordinator or licensee;
FCC complaint process;
FCC public-safety interference process where applicable;
U.S. Coast Guard Navigation Center and/or FCC for suspected GPS interference, as directed by GPS.gov;
FAA or local public-safety authority when an aviation-safety issue is involved.
Do not investigate a suspected illegal source by trespassing, following people, transmitting test signals at them, or attempting to disable equipment.
Survey report template
# UAS Spectrum Survey Report
## Purpose and scope
## Site authorization
## Date, time, location, and conditions
## Aircraft and configuration
## Instrumentation and calibration
## Measurement settings
## Ambient baseline
## Own-system state tests
## Observations
## Reproduced self-interference
## Unresolved external observations
## Operational decision
## Safety actions
## Data handling and retention
## Reviewer
## Attachments and raw-data hashes
A flight controller flies the drone. A companion computer
thinks about why it's flying. They're different jobs on
different hardware connected by a serial cable.
When You Need One
You don't need a companion computer to fly a drone. You need one when:
Autonomous missions beyond waypoints — obstacle avoidance,
dynamic replanning, following a target, search patterns
Computer vision — object detection, tracking, landing on a
target, visual navigation without GPS
Sensor fusion — combining LiDAR, depth cameras, and IMU data
for environment mapping
High-bandwidth data processing — real-time video analytics,
SIGINT, spectrum analysis
Network hub — bridging the FC to mesh radios, cellular modems,
and other IP-based devices
AI/ML inference — running neural networks for real-time decisions
If all you need is fly-to-waypoint with GPS, the FC handles that
natively on ArduPilot and PX4. Don't add complexity you don't need.
The Hardware Options
Platform
CPU
RAM
GPU / Accelerator
Weight
Power
Price
Best For
Raspberry Pi 5
Cortex-A76 4-core
4-8 GB
None (VideoCore for display)
50g
5-10W
$60-80
General companion, MAVProxy, basic CV
Pi Zero 2W
Cortex-A53 4-core
512 MB
None
10g
1-3W
$15
Lightweight telemetry, data logging, RF detect
Jetson Orin Nano
Cortex-A78AE 6-core
8 GB
1024 CUDA + 32 Tensor
60g (module)
7-15W
$250-500
ML inference, real-time CV, object detection
Jetson Orin NX
Cortex-A78AE 8-core
8-16 GB
1024 CUDA + 32 Tensor
60g (module)
10-25W
$400-900
Heavy ML, multiple camera streams
ModalAI VOXL 2
QRB5165
8 GB
Hexagon DSP + GPU
16g
4-8W
$400
Integrated flight platform, PX4 native
Radxa Zero 3W
RK3566 4-core
2 GB
Mali-G52
10g
2-4W
$25
Budget Linux companion, WiFi scanning
What Matters Most
Weight: On a 5-inch quad, every gram counts. A Pi 5 at 50g
(plus carrier board, cables, heatsink) adds 80-100g total. That's
a significant percentage of all-up weight. A Pi Zero 2W at 10g
is much more practical for small platforms.
Power: Energy depends on duration. An illustrative 1.3 Ah pack at nominal 22.2 V stores 28.86 Wh. A 10 W companion over ten minutes consumes 1.67 Wh, about 5.8% of that nominal energy before conversion losses. Actual usable energy, added mass, propulsion demand and reserves determine endurance; watts and amp-hours alone cannot establish a flight-time percentage.
derived · evidence
At nominal 22.2 V, 1.3 Ah is 28.86 Wh. A constant 10 W load for ten minutes consumes 1.67 Wh, approximately 5.8% of that nominal energy before losses. This example does not establish aircraft endurance.
Exact cited specification or dimensional example only; no hardware acceptance.
See workload selection for complete board, rail, video and thermal budgets.
I/O: The companion needs to connect to the FC (UART or USB),
to the network (WiFi, Ethernet for mesh radio, USB for cellular),
and to sensors (USB cameras, CSI cameras, SPI/I2C sensors).
Count your I/O requirements before selecting hardware.
Connecting to the Flight Controller
The Physical Connection
The companion talks to the FC over serial (UART) or USB. Serial
is preferred for reliability — USB adds a hub, OTG logic, and
enumeration that can fail.
Companion TX → FC UART RX
Companion RX → FC UART TX
Companion GND → FC GND
Baud rate: 921600 for high-bandwidth MAVLink. 115200 for MSP.
Match both ends.
Level shifting: Pi GPIO is 3.3V. Most FCs are 3.3V. Compatible
without level shifting. If your FC has 5V serial outputs (rare),
use a level shifter or resistor divider.
Mapping which companion pin lands on which FC UART — and catching a
5V pad before it reaches a 3.3V input — is the kind of layout the
Circuit Forge wiring tool will diagram from a
one-line description and run an electrical-rule check over. Treat its
output as a starting schematic, not gospel: confirm pad voltages and
UART assignments against your specific board before you solder.
The Protocol
ArduPilot / PX4: MAVLink v2. The companion runs mavproxy,
MAVSDK, DroneKit, or a custom MAVLink parser. The FC streams
telemetry to the companion and accepts commands from it.
# ArduPilot: connect via MAVSDK (Python)
from mavsdk import System
drone = System()
await drone.connect(system_address="serial:///dev/ttyAMA0:921600")
# PX4: connect via MAVSDK (same API, different autopilot behavior)
drone = System()
await drone.connect(system_address="serial:///dev/ttyAMA0:921600")
Betaflight / iNav: MSP over serial. The companion sends MSP
requests and receives MSP responses. No streaming — poll-based.
# MSP: manual serial (simplified)
import serial
ser = serial.Serial('/dev/ttyAMA0', 115200)
# Send MSP_IDENT request
ser.write(bytes([0x24, 0x4D, 0x3C, 0x00, 0x64, 0x64]))
response = ser.read(32)
PX4 Dual-Channel
PX4 supports two simultaneous communication channels:
uXRCE-DDS (UART or UDP) — high-bandwidth sensor telemetry,
ROS2 topics
The dual-channel architecture lets you separate control traffic
(low bandwidth, high priority) from data traffic (high bandwidth,
lower priority). The companion runs a Micro-XRCE-DDS agent that
bridges PX4's internal uORB topics to ROS2 topics on the companion.
This replaces the older microRTPS bridge. If you see references
to microRTPS in older documentation, use uXRCE-DDS instead.
Software Stack
MAVProxy (Simplest)
MAVProxy is a command-line MAVLink proxy. It connects to the FC,
parses MAVLink, and forwards it to multiple destinations (GCS,
scripts, log files).
# Basic: FC on serial, forward to GCS on mesh radio
mavproxy.py \
--master=/dev/ttyAMA0,921600 \
--out=udp:10.0.0.255:14550
MAVProxy can run scripts (modules) that react to MAVLink messages.
It's the fastest path from "I have a companion computer" to
"I have telemetry flowing to a mesh radio."
MAVSDK (Programmatic Control)
MAVSDK is a library (Python, C++, Swift, Rust) for programmatic
drone control over MAVLink. It abstracts MAVLink messages into
clean API calls.
# Take off, fly to a point, land
await drone.action.arm()
await drone.action.takeoff()
await drone.action.goto_location(lat, lon, alt, yaw)
await drone.action.land()
MAVSDK is the recommended path for PX4. For ArduPilot, both
MAVSDK and DroneKit work (DroneKit is older, more ArduPilot-specific).
ROS2 (Full Robotics Stack)
ROS2 (Robot Operating System 2) is the standard middleware for
robotics. It provides publish/subscribe messaging, service calls,
parameter management, and a massive ecosystem of packages for
navigation, perception, planning, and control.
PX4 integrates with ROS2 via uXRCE-DDS. ArduPilot has a ROS2
interface via mavros2.
When to use ROS2: When you need sensor fusion (multiple cameras,
LiDAR, IMU), SLAM (Simultaneous Localization and Mapping), path
planning with obstacle avoidance, or integration with existing
robotics software. ROS2 is heavyweight — it's the right choice
for research and complex autonomy, overkill for "relay telemetry
to a mesh radio."
Power and Cooling
Power Distribution
The companion needs clean, stable power. Noise from ESCs and motors
on the main power bus will crash a Pi faster than any software bug.
Recommended: Dedicated BEC (Battery Eliminator Circuit) from
the main battery to the companion. 5V, rated for the companion's
peak current draw (2A minimum for Pi 5, 500mA for Pi Zero 2W).
Do not:
- Power the companion from the FC's 5V rail (not enough current
for most companions, and FC brownout risk)
- Share a BEC with servos or LEDs (current spikes from servos
cause voltage drops that crash the companion)
- Use a USB cable to power the companion from the FC (USB host
mode, OTG, and power delivery vary wildly between platforms)
Cooling
Most companions need cooling at sustained load. A Pi 5 at full
CPU load will thermal throttle within minutes without airflow.
On a drone, the props create significant airflow. Mount the
companion where prop wash hits the heatsink. In a sealed
enclosure, this doesn't help — add a small thermal pad to
conduct heat to the frame (carbon fiber is a reasonable heat
spreader).
The VOXL 2 is designed for drones and handles thermal management
internally. The Jetson Orin modules require active cooling (fan)
for sustained ML inference.
The UART Budget Impact
Adding a companion computer consumes at least one FC UART. If
you're using the companion-as-hub architecture (see Chapter 8),
it may be the only non-RC UART you need — GPS, mesh radio, and
telemetry radio connect to the companion instead of the FC.
Before (consuming 4 FC UARTs):
FC ← RC receiver (UART1)
FC ← GPS (UART2)
FC ← Telemetry radio (UART3)
FC ← Mesh radio (UART4)
After (consuming 2 FC UARTs):
FC ← RC receiver (UART1)
FC ← Companion MAVLink (UART2)
Companion ← GPS (USB)
Companion ← Telemetry radio (Ethernet)
Companion ← Mesh radio (Ethernet)
Companion ← Camera (USB/CSI)
This is one of the strongest practical reasons to add a companion
even if you don't need AI or computer vision: it solves the UART
shortage on F4-class FCs.
What to Start With
If you've never used a companion computer on a drone:
Start with a Pi Zero 2W ($15, 10g, 2W). Wire it to the
FC UART, install MAVProxy, forward telemetry to your laptop
over WiFi. This proves the concept without the weight or
power penalty.
Graduate to a Pi 5 when you need more compute — running
CV models, processing sensor data, or hosting a Wingman agent.
Move to Jetson or VOXL 2 when you need real-time ML
inference with multiple camera streams. This is where
object detection, visual SLAM, and neural network planning
live.
The hardware changes. The MAVLink connection pattern stays the same.
Learn it once on a Pi Zero and it works the same on a Jetson.
Next
Chapter 8: UART Layout — how the companion fits into the
FC's limited serial ports.
Chapter 14: Mesh Radios — the network hardware that the
companion bridges to the FC.
The flight controller flies. The companion thinks.
Don't make the flight controller think.
Don't make the companion fly.
Chapter 14: Mesh Radios for Multi-Vehicle Integration
Integrate at the documented IP/Ethernet interface, and establish the radio/mesh implementation separately. A ruggedized MANET device is not necessarily ordinary WiFi with batman-adv.
Public implementation boundaries
System
Publicly described technology
What this establishes
Linux batman-adv
Layer-2 mesh module
A Linux implementation, not a claim about every vendor radio
Silvus StreamCaster
Vendor MN-MIMO technology
Vendor-described waveform/product family; exact model documentation required
Persistent Systems
Wave Relay
Vendor-described system; no inference of batman-adv internals
Doodle Labs Mesh Rider
Vendor mesh/networking interfaces
Inspect the exact documented model/release; do not generalize a shell observation to every radio
Record exact hardware/firmware, addressing, traffic prioritization and measured topology recovery. Ethernet packets prove an integration interface, not the implementation of the RF waveform. The former universal vendor-internals, range, price and deterministic-latency claims are withdrawn. Review needed: performance / commercial / configuration
The following Linux/research discussion concerns those named implementations and cited experiments. It does not transfer their measured results to proprietary MANET products or authorize a particular operating band.
Mesh Networking Fundamentals
How batman-adv Works (And Why It Matters)
batman-adv (Better Approach To Mobile Ad-hoc Networking - advanced)
is a Linux kernel module that implements layer-2 mesh routing.
It's what Doodle Labs and many other mesh products use underneath.
Key concepts:
- Each node broadcasts OGMs (Originator Messages) periodically.
These propagate through the mesh, allowing every node to learn
the best path to every other node.
- OGM interval (default 1 second) controls how fast the mesh
adapts to topology changes. Lower = faster adaptation but more
overhead.
- TQ (Transmit Quality) is batman-adv's link quality metric.
It's calculated from OGM reception rates. Higher = better link.
- Routing is hop-by-hop. Each node only needs to know the next
hop toward the destination, not the full path.
Why this matters for drones: Drones move fast. A mesh network
optimized for static nodes (cell towers, sensor posts) may not
adapt fast enough for a drone moving at 20+ m/s. If the OGM interval
is 1 second and the drone has moved 20 meters since the last OGM,
the routing table may be stale. Solutions:
- Lower OGM interval (250-500 ms for fast-moving nodes)
- Accept that mesh routing will lag position by 0.5-1 second
- Use direct unicast for time-critical messages when nodes are
within direct radio range (bypass mesh routing)
Throughput vs. Hops
Every hop in a mesh network costs throughput. A single-hop link
at 50 Mbps becomes roughly:
- 2 hops: ~25 Mbps
- 3 hops: ~17 Mbps
- 4 hops: ~12 Mbps
This is because traditional mesh radios are half-duplex — they
can't transmit and receive at the same time on the same channel.
Each hop requires the intermediate node to receive, then retransmit.
Rajant's dual-radio approach mitigates this by receiving on one
radio while transmitting on the other.
For drone operations: Keep the mesh shallow. 2-3 hops maximum
for real-time data (telemetry, commands). Store-and-forward is
acceptable for non-real-time data (sensor logs, blackbox files).
Channel Planning
Mesh radios on the same channel form a shared collision domain.
More nodes = more contention = less per-node throughput.
Rules of thumb:
- Up to 5 nodes on one channel works well
- 5-15 nodes: consider splitting into two channels with a
gateway node bridging them
- 15+ nodes: you need a proper network plan with multiple
channels and deliberate topology
For drone swarms, the practical limit is usually 8-12 platforms
on a single mesh channel before throughput degrades noticeably.
This aligns with typical tactical swarm sizes.
Choosing a Mesh Routing Protocol
The "Mesh Networking Fundamentals" section above describes how batman-adv
works. The harder question is whether batman-adv is the right protocol for
a fast-moving drone swarm. The honest answer, backed by the one published
real-flight comparison, is: usually not.
batman-adv is a community-mesh protocol, not a mobility protocol
batman-adv was built by the German Freifunk community to replace OLSR in
large, mostly-static rooftop mesh networks. The "Mobile" in the name means
"infrastructure-less," not "high-velocity." Its known weaknesses bite exactly
where a swarm lives:
Slow reaction. The default OGM interval is 1000 ms; in a FANET the
topology can change completely inside that window. BATMAN V's throughput
metric uses a heavily-smoothed average (EWMA, α≈0.125), so a link dropping
from 50→5 Mbps can take ~10 seconds to register, and the protocol will
keep routing over an already-dead link until a 30–60 s timeout
(EWSN 2024 measurement).
Broadcast flooding. batman-adv floods broadcast/multicast across the
whole mesh. Fine for small control traffic; past ~50 nodes it needs
multicast filtering, and it "fails for multicast streaming."
The field result. In a real outdoor multi-UAV test (two quadcopters
plus a relay, 802.11 ad-hoc), batman-adv delivered the lowest throughput
and highest packet loss of the three protocols tested — worse than both
OLSR and Babel — explicitly because "its routing-update period was
originally not intended for FANETs"
(MDPI Appl. Sci. 11:4363).
It can be made to work — lower the OGM/ELP interval to ~500 ms, run it over a
stable link mode, and accept that positive published UAV results lean on
either connectivity-aware flight (the swarm maneuvers to hold links) or
custom GPS-predictive metrics that are not in the mainline kernel. For a
swarm with genuinely fast, arbitrary topology change, that is a lot of
tuning to land in third place.
The open-source alternatives
A useful distinction: layer-2 protocols (batman-adv, 802.11s/HWMP) route
on MAC addresses and present a transparent bridge; layer-3 protocols
(Babel, OLSR, BMX) route on IP. Layer-3 protocols run over any link —
IBSS ad-hoc, 802.11s mesh-point, or wired — which decouples your routing
choice from the chipset's mesh-mode quirks. HWMP is the exception: it only
runs over 802.11s.
Protocol
L2/L3
Link mode
Mobility
Scale (10s–100s)
Maturity
Verdict
Babel
L3
any
Strong — built for wireless mobility, loop-free reconverge
Recommendation: prototype on Babel — it is the one protocol that beat
both OLSR and batman-adv in the real UAV test, it is IETF-standardized
(RFC 8966), it is mobility-designed, and it runs over any link mode so you
are not married to IBSS or 802.11s. Keep OLSRv2 as the standardized
fallback. Note that long-range/sparse topologies specifically disfavor
OLSR's MPR flooding optimization, which is tuned for dense networks — another
point for Babel. If pure topology routing still struggles at speed, add
geographic / mobility-predictive forwarding (P-OLSR-style, GPS-fed). Review needed: performance / configuration
The MAC Layer: Why CSMA/CA Limits You
Above the routing protocol and below it lies the part you usually cannot
change on commodity WiFi: the medium-access layer. Standard 802.11 uses
CSMA/CA — listen, contend, back off — and it degrades structurally in
multi-hop, mobile meshes:
Per-hop collapse. In a multi-hop chain, per-hop throughput falls roughly
as 1/n; the hidden-node problem and exponential backoff make it worse as the
chain lengthens. This is a property of contention-based access, not a
tuning bug.
The rate anomaly. Because DCF gives every station equal transmission
opportunity rather than equal airtime, a single slow or fading link drags
the whole cell's aggregate throughput down toward the slow rate
(Heusse et al., INFOCOM 2003).
In a mobile mesh, somebody is always the slow link.
What you can fix on COTS WiFi, without an SDR, is real but bounded:
Airtime fairness. The mac80211 airtime-fairness scheduler largely
neutralizes the rate anomaly — in testing it raised aggregate throughput of
three mixed-rate stations from ~20 Mbps to >100 Mbps and cut latency from
~300 ms (high variance) to ~10 ms. It has been in mainline Linux since
4.11 and was moved into mac80211 in 2019
(USENIX ATC '17).
This is the single biggest free win, and it favors the ath9k driver. Review needed: performance
Long-range tuning.iw/OpenWRT distance (coverage class) widens the
ACK timeout for long propagation delays; fixing the MCS and disabling rate
adaptation stabilizes marginal links. These help sparse long links and fast
movers — but they do not change the contention behavior.
What you cannot do on COTS WiFi: replace CSMA/CA with a scheduled MAC. The
access method lives in chip firmware. Mainline 802.11s gives you only EDCA
(still CSMA); the standard's contention-free reservation scheme, MCCA, is
not implemented in the
mainline Linux mesh stack. Driver-level TDMA overlays exist on specific
Atheros chips (the WiLDNet/RCP lineage, hMAC, Det-WiFi/RT-WiFi) and have shown
2–5× gains, but they are research-grade, chipset-locked, and brittle under
mobility. A real time-slotted MAC across a fast swarm means an SDR or a
purpose-built radio — which is precisely why the tactical radios below run
proprietary non-802.11 MACs.
Open-Source Waveforms and the SDR Question
If the MAC ceiling on commodity WiFi frustrates you, the next instinct is to
build your own physical-layer waveform on a software-defined radio. Be honest
with yourself about the effort before you spend the money. The realistic
open-source paths are mostly not custom PHY work.
Stack
Data rate
Latency
Hardware
Maturity
Use it for
Meshtastic / LoRa
<10 kbps
seconds
SX126x + MCU (cheap, no SDR)
Deployable
Robust long-range backup C2 / telemetry
wfb-ng / DroneBridge
Mbps
low
Commodity WiFi (monitor mode)
Deployable
Video + telemetry — rides 802.11, not a new PHY
openwifi
802.11a/g/n
real 10 µs SIFS (FPGA MAC)
Zynq SoC SDR
Usable, niche
The only credible open custom PHY+MAC
GNU Radio custom MAC
tens of Mbps PHY
~30 ms RTT
USRP + host PC
Research
Demonstrators — can't meet real-time MAC timing
OAI LTE/5G NR sidelink
LTE/NR
10s ms
multi-USRP
Lab-grade / incomplete
Not a fieldable swarm link yet
FreeDV / Codec2 modems
58–980 bps (20 kbps 4FSK)
seconds
SDR / sound card
Mature lib
Beacon-class robust data, down to −4 dB SNR
The pattern: for genuinely long-range, low-rate, resilient command traffic,
Meshtastic/LoRa ships today on cheap hardware. For higher-rate telemetry
and video, wfb-ng rides the existing 802.11 PHY rather than inventing one.
If you truly need a custom SDR PHY with deterministic MAC timing, openwifi
is the only credible open option, because it puts the time-critical MAC in the
FPGA (the 10 µs SIFS that pure GNU Radio cannot hit) — but you inherit Zynq
SDR hardware cost and still have to build the mesh layer on top. Building a
MANET waveform in pure GNU Radio is a research-grade money pit: the
host-software architecture cannot meet real-time MAC timing (~30 ms
round-trip, unsynchronized clocks, packets marked "late"). Open 5G NR sidelink
is the deepest pit of all — only two of the four sidelink physical channels
exist in open implementations, and it is scoped for automotive V2X, not swarm
MANET. Review needed: performance / commercial / configuration
What the Professionals Actually Run
The tactical radios in the "Major Players" table are valuable precisely
because their waveform and MAC are closed — that is the part you are paying
for. They split into two design philosophies, and both are instructive:
Routed mesh: Silvus (MN-MIMO waveform, proven to 550+ nodes) and
Persistent Wave Relay use proprietary mesh-routing over custom MIMO radios.
Routing-free flooding: TrellisWare's TSM (Tactical Scalable MANET)
uses "Barrage Relay" — it eliminates routing entirely and floods through
cooperative relays, proven with 800+ radios and 26 mi/hop. Counter-intuitive
but powerful: under fast topology change, well-managed flooding can beat a
routing protocol that can't reconverge in time. (If you are experimenting
with barrage-style flood relays on your own nodes, this is the precedent.)
The strategic lesson for an open-source builder: ATAK and even DARPA's
OFFSET swarm program sit on top of these radios as radio-agnostic IP —
they do not define their own link. You cannot legally or practically clone
MN-MIMO or TSM. So the honest options are (1) run open routing (Babel/OLSR)
over commodity WiFi and accept its limits, or (2) buy a COTS MANET radio whose
waveform you treat as a black box. Doodle Labs Mesh Rider is the bridge
between those worlds — it is OpenWRT-based, so you SSH in and run your own
open IP stack (Babel, MAVLink, ROS 2/DDS) on top of a tactical-grade waveform
you didn't have to build. It is also a documented-compliance NDAA path, unlike
a commodity card whose chip lineage tells you nothing about where the board
was made. Review needed: regulatory
Decision Matrix: Routing / MAC / Waveform
For a command-and-telemetry swarm mesh (not video) optimizing for swarm
scale + high mobility + long range on open-source COTS-or-SDR hardware:
Layer
Choose
Why
Routing
Babel (OLSRv2 fallback)
Won the real UAV test; mobility-designed; link-agnostic; standardized
Link mode
802.11s mesh-point or IBSS
Babel runs over either; 802.11s sidesteps fragile IBSS support on newer chips
The only real COTS wins — do not chase TDMA on WiFi
Radio (COTS)
ath9k-class (AR9271 USB / AR9280 mini-PCIe)
Best COTS ad-hoc/802.11s reliability and injection; clean chip lineage
Backup C2
Meshtastic / LoRa as a second link
Robust long-range telemetry when the WiFi mesh degrades
If you outgrow COTS
Doodle Labs Mesh Rider; run your open stack on its OpenWRT
Tactical range without building a waveform
Only if you must build PHY
openwifi on a Zynq SDR
The sole credible open custom MAC; budget real effort
When batman-adv is still fine: small or slow swarms, connectivity-aware
flight that keeps the topology quasi-static, or where you have already tuned
the OGM/ELP intervals and validated it in the air. When to move off it:
anything with genuinely fast, arbitrary topology change at scale — go Babel.
Radio chip by link role
A drone with both an HD video downlink and a mesh carries two different
radio problems, and no single chip is best at both. The video link
(wifibroadcast/OpenHD — see the OpenHD Implementation Guide) wants a
monitor-mode injection card; the mesh wants reliable IBSS/802.11s and,
for a contested low-latency mode, raw injection. This table spans both.
Ratings: Best / Good / Limited (works but constrained or needs
validation) / No (don't).
Chip
HD video P2P (wifibroadcast)
Mesh — routed (IBSS/802.11s)
Mesh — barrage (raw inject)
Band
Bus
Production
Chip origin
Evidence
RTL8812AU
Best — the standard
No — Realtek IBSS/802.11s is poor
Good — proven injector (the wfb-ng card); validate per stack
2.4/5, WiFi-5
USB
Current
Realtek (Taiwan)
—
AR9271 (ath9k_htc)
Limited — the original wifibroadcast card; 2.4 GHz, low bitrate
Good — solid IBSS
Good — common barrage injector
2.4, WiFi-4
USB
EOL
Atheros/Qualcomm
—
AR9280 (ath9k)
Limited — WiFi-4 bitrate
Best — IBSS + 802.11s
Good
2.4/5, WiFi-4
mini-PCIe
EOL
Atheros/Qualcomm
—
MT7612U (mt76x2)
Limited — experimental in wfb (Realtek-first)
Good — usable IBSS + 802.11s
Good — injects; validate per kernel
2.4/5, WiFi-5
USB / M.2
Available
MediaTek (Taiwan)
—
MT7915/16 (mt76)
No — monitor-mode firmware crash ≥80 MHz, injection unproven
No — IBSS broken; 802.11s 2.4 GHz only
Limited — unvalidated
2.4/5, WiFi-6
PCIe / M.2
Current
MediaTek (Taiwan)
Review needed: performance / configuration
Read-out: RTL8812AU owns the video link; ath9k (AR9271/AR9280) and
MT7612U own the mesh. The only plausible single-chip, both-jobs part is
MT7612U — it can run wifibroadcast video (experimentally) and mesh
(IBSS/802.11s/barrage) on one current, embeddable radio, at the cost of
inferior video versus a dedicated RTL8812AU. Note the reliability/longevity
trap: the best mesh-IBSS chips (ath9k) are end-of-life and dongle-centric,
which is a poor base for an integrated product — another reason to route the
mesh with Babel over 802.11s (so you are not locked to a legacy IBSS chip) and
choose a current, embeddable module. Review needed: performance / commercial
On the GCS, QGroundControl or Mission Planner listens on UDP 14550
for incoming MAVLink from any mesh node.
Critical: Set the MAVLink system ID on each drone to a unique value.
If two drones both use system ID 1, the GCS can't distinguish them.
PX4: MAV_SYS_ID parameter. ArduPilot: SYSID_THISMAV parameter.
When Mesh Isn't The Answer
Mesh networking adds weight, power consumption, complexity, and
a new failure mode to every platform. Before adding a mesh radio, ask:
Do I need real-time data between platforms? If each drone
operates independently and you analyze data after landing,
you don't need mesh. You need SD cards and patience.
Can I solve it with sequential operations? If you can brief
platforms one at a time via direct link (Tooth, phone, laptop),
you don't need mesh. Mesh is for simultaneous coordination.
Is my mesh just carrying telemetry to a GCS? If you only need
one drone's telemetry at a time, a point-to-point telemetry
radio (RFD900x) is simpler, cheaper, lighter, and more reliable
than mesh.
Is my operation within visual line of sight? If all platforms
are within 500m of the operator, ESP-NOW (free, built into ESP32,
no additional hardware) may be sufficient for coordination.
Mesh is the right answer when you need multiple platforms sharing
data simultaneously, beyond point-to-point range, with dynamic
topology. For everything else, simpler is better.
Next
Chapter 13: Adding a Companion Computer — the compute platform
that bridges the FC and the mesh radio.
Chapter 15: TAK Integration — getting drone data onto the
tactical common operating picture.
A $5,000 mesh radio is a $15 router with a great antenna and a
ruggedized case. Respect the engineering. But don't be intimidated by it.
TAK is where your drone shows up on the map next to everyone
else's position. Getting there doesn't require a defense contractor.
It requires one UDP packet.
What TAK Is
TAK (Team Awareness Kit) is a situational awareness platform used
by the US military, law enforcement, fire services, and increasingly
by civilian teams. It shows positions, tracks, sensor data, and
messages on a shared map.
The ecosystem:
- ATAK — Android TAK (phone/tablet)
- WinTAK — Windows version (laptop)
- iTAK — iOS version
- TAK Server — centralized server for team data sharing
- WebTAK — browser-based viewer
TAK speaks one protocol: Cursor-on-Target (CoT). Everything
that appears on the map is a CoT event — an XML message with a
type, position, and metadata. If your drone can send a CoT event,
it appears on TAK.
Cursor-on-Target (CoT) Basics
A CoT event is an XML message. Here's the minimum viable drone
position report:
That's it. Send this over UDP to port 4242 on a TAK Server or
directly to ATAK devices on the local network, and your drone
appears on the map.
The Fields That Matter
uid: Unique identifier for your drone. Once set, every update
with the same uid moves the same icon on the map. Use something
stable — wingman-{tooth-id} or drone-{serial}.
type: The CoT type code determines the icon and classification.
It follows the 2525C symbology standard:
Type Code
Meaning
Icon
a-f-A-M-H-Q
Friendly, Air, Military, Rotary Wing
Blue helicopter
a-f-A-M-F-Q
Friendly, Air, Military, Fixed Wing
Blue airplane
a-f-G
Friendly, Ground
Blue ground vehicle
a-n-A-M-H-Q
Neutral, Air, Rotary Wing
Green helicopter
a-h-A-M-H-Q
Hostile, Air, Rotary Wing
Red helicopter
a-h-G-E-V-A
Hostile, Ground, Equipment, Vehicle
Red vehicle (used for RF detections)
The first character after a- is the affiliation:
f = friendly, n = neutral, h = hostile, u = unknown.
how: How the position was determined.
m-g = machine GPS, h-e = human entry, h-g-i-g-o = GPS from another source.
time/start/stale: When the event was generated, when it starts
being valid, and when it becomes stale (should be removed from the
map if not refreshed). Set stale to 30-60 seconds for a moving drone
so the icon disappears if the drone stops reporting.
This places a hostile marker on the map at the estimated position
of the detection. The NeedleNThread tactical RF detector uses
exactly this pattern to push detections to TAK.
Transport: Getting CoT to TAK
Direct UDP (Simplest)
Send CoT XML as a UDP packet to ATAK devices on the local network.
Default port: 4242.
Multicast (239.2.3.1:6969) reaches all ATAK devices on the
local network without knowing their IPs. Requires a network that
supports multicast (WiFi works, some mesh radios don't forward
multicast by default).
Unicast to a specific IP is more reliable but requires knowing
the ATAK device's address.
Via TAK Server
A TAK Server centralizes all CoT traffic. Devices connect to the
server (TCP, TLS, or WebSocket) and the server distributes events
to all connected clients.
The drone (or its companion computer) connects to the TAK Server
and sends CoT events. All ATAK/WinTAK clients connected to the
same server see the drone.
FreeTAKServer is an open-source TAK Server that runs on a
Pi, laptop, or cloud VM. It handles basic CoT routing without
the complexity of the official TAK Server.
If the drone has a mesh radio (Chapter 14), CoT can travel over
the mesh. The companion computer sends CoT to the mesh radio's
IP, and the mesh radio delivers it to the GCS or TAK Server on
the other end.
Drone: FC → Companion → CoT UDP → Mesh Radio → [mesh] → GCS/TAK Server
This is the standard architecture for tactical drone operations.
The mesh radio carries both MAVLink (for flight control) and CoT
(for situational awareness) on the same link, typically on
different UDP ports.
Integration Points
From the Flight Controller
The FC has the position, altitude, heading, speed, and battery
data. This needs to get from the FC to the TAK sender:
ArduPilot/PX4: MAVLink messages on the companion → parse
GLOBAL_POSITION_INT, VFR_HUD, BATTERY_STATUS → format as CoT → send.
Betaflight/iNav: MSP on the companion → parse MSP_RAW_GPS,
MSP_ATTITUDE, MSP_ANALOG → format as CoT → send. Or use the
ELRS/CRSF telemetry downlink on the transmitter side → forward
to ATAK on the GCS phone.
From Sensors
Payload sensors (cameras, RF detectors, environmental) generate
their own CoT events through the companion computer. Each detection
gets its own uid and type code.
From the Wingman Ecosystem
The Wingman architecture naturally generates TAK-compatible data:
- Tooth mesh: Fleet position sharing maps directly to CoT events
- Seed detections: Acoustic, RF, and PIR detections become
CoT hostile/unknown markers
- Wingman Command: The Command layer IS the TAK integration
point for the full ecosystem — it translates Wingman mesh data
into the CoT format that existing TAK infrastructure consumes
Practical Tips
1. Keep CoT events small. TAK clients handle thousands of events.
Your drone doesn't need to send a novel — position, callsign, basic
telemetry in remarks. The detail popup in ATAK has limited space.
2. Update rate: 1 Hz is enough. TAK is situational awareness,
not flight control. Sending position once per second is plenty.
Faster than that wastes bandwidth and doesn't improve the map display.
3. Use meaningful callsigns. "WINGMAN-01" is useful on a shared
map. "drone-abc123def" is not. Callsigns should be short, unique,
and recognizable.
4. Set stale time appropriately. 30 seconds for a moving drone.
If the drone stops sending CoT (crash, link loss, battery dead),
the icon disappears from the map after the stale time. This is
correct behavior — a stale position is worse than no position.
5. Test with ATAK first. Install ATAK on an Android phone,
connect to the same network as your CoT sender, and verify the
icon appears. Don't integrate with a TAK Server until direct
UDP works.
6. CoT type codes matter. Using the wrong type code means your
drone shows up as a ground vehicle, or a hostile, or a waypoint.
Get the type code right for your affiliation and platform type.
Next
Chapter 14: Mesh Radios — the transport that carries CoT
from the drone to the TAK ecosystem.
Chapter 13: Adding a Companion Computer — the platform that
generates CoT from flight controller data.
TAK is a shared map. Your drone belongs on it. One UDP packet
puts it there. Everything else is refinement.
A Mesh Rider radio on USB is not a serial device. It does not show up
as /dev/ttyUSB0. Internally the radio is OpenWRT Linux, and its USB port
is wired to a Microchip/SMSC LAN9500A USB-to-Ethernet bridge. When you
plug it into the i.MX, the radio appears as a network interface — a new
eth* or usb* device — and you talk to it over IP.
So the mental model is: the radio is a tiny router hanging off a USB
Ethernet dongle. Everything below follows from that.
Two consequences people learn the hard way:
You configure it with ip addr / SSH / a web browser, not with a
serial terminal.
The i.MX kernel needs the smsc95xx driver. If that driver isn't in the
BSP, the radio enumerates on the USB bus but no network interface ever
appears, and it looks like the radio is dead. It isn't.
Addressing: why it's unreachable out of the box
The Mesh Rider ships with its DHCP client disabled by default. It will
not hand your i.MX an address, and it will not ask for one. It just sits
there on its own static IPs, waiting for you to join its subnet.
Interface
Address
Notes
WAN2 (per-radio)
10.223.x.y/16
Unique per radio, derived from MAC, printed on the radio label (e.g. 10.223.164.62). This is the normal management/data IP.
WAN3 (recovery)
192.168.153.1/24
Same on every radio. Fixed config/recovery address. Use this when you don't know the label IP or have locked yourself out.
Because the radio never gives the host an address, the i.MX must take a
static IP in one of those subnets before anything responds to a ping.
This is the actual answer to "I plugged it in and nothing works."
Bring-up on the i.MX, step by step
Run these on the i.MX (the companion is the USB host; the radio is the
USB device).
1. Confirm the radio enumerated on the bus.
lsusb # look for a Microchip/SMSC LAN9500A or "Mesh Rider" device
dmesg | tail -20 # expect: smsc95xx ... registered 'smsc95xx' ... eth1: link up
If lsusb shows the device but dmesg shows no smsc95xx line and no
new interface, the driver is missing from the kernel — jump to
Driver missing below.
2. Find the interface name.
ip -br link # the new one is often eth1, or usb0 on some BSPs
3. Give the i.MX an address in the radio's subnet and bring it up.
ip link set eth1 up
ip addr add 10.223.1.1/16 dev eth1 # any free host in 10.223.0.0/16
# or, for the universal recovery path:
# ip addr add 192.168.153.2/24 dev eth1
4. Reach the radio.
ping 192.168.153.1 # always-on recovery IP
ping 10.223.164.62 # the IP from the radio's label
ssh root@192.168.153.1 # CLI (UCI / OpenWRT)
# or browse to https://192.168.153.1 (self-signed cert — expected)
If the ping answers, you're in. From here you configure the mesh (SSID,
encryption key, OGM interval, channel) exactly as in
Mesh Radios → Network Configuration. Nothing about that
changes because the link is USB instead of Ethernet.
Make it survive a reboot
The manual ip addr above is gone on the next power cycle, and USB
interface names are not guaranteed to stay eth1 (a second USB NIC, or
probe-order changes, can shuffle them). Pin both.
Stable name via udev — key off the LAN9500A driver / the radio's MAC
(read it once with ip link show eth1):
# /etc/systemd/network/20-meshrider.network
[Match]
Name=meshrider
[Network]
Address=10.223.1.1/16
# add a route to your mesh peer subnet here if it differs
systemctl enable --now systemd-networkd
On a read-only Yocto rootfs (the Orqa BSP is close to this), put these in
the BSP layer / overlay rather than expecting them to persist in /etc.
Moving MAVLink (and video) across the link
Once the interface is up, the radio is just an IP hop. The data path is
the same one described in Mesh Radios → MAVLink Over Mesh:
FC ─(on-board bridge / UART)→ i.MX8M ─(UDP over USB-eth)→ Mesh Rider ─[mesh]→ GCS
On the APB the FC↔companion MAVLink bridge is already on-board (see
wingman-apb.md), so the companion just forwards UDP out
to the radio's peer:
mavlink-routerd -e 10.223.255.255:14550 127.0.0.1:14540
# or
mavproxy.py --master=udp:127.0.0.1:14540 --out=udp:10.223.255.255:14550
The radio runs batman-adv (layer-2 mesh) underneath, so the host doesn't
route the mesh — it just sends IP to a peer and the radios handle delivery.
Failure modes worth knowing before you're in the field
Radio enumerates but no eth*/usb* appears. The BSP kernel is missing
the USB-Ethernet driver. You need CONFIG_USB_NET_SMSC95XX=y (and its
parent CONFIG_USB_USBNET). On a stock desktop distro this is built in; on
a trimmed i.MX Yocto image it is frequently dropped. Rebuild the kernel or
ship the module in the BSP — there is no host-side workaround.
Interface is up but nothing pings. The host isn't in the radio's
subnet. The radio's DHCP client is off by default (see above), so a host
configured for DHCP gets no address and silently fails. Set a static IP
in 10.223.0.0/16 or use 192.168.153.2/24 to hit the universal recovery
address.
Link drops, re-enumerates, or browns out under load. The LAN9500A plus
the radio's own draw can exceed what an i.MX USB port will source —
especially the APB's compact rails. Power the radio from its own supply,
not the USB bus. A radio that re-enumerates every few seconds is almost
always a power problem, not a config problem. (Same lesson as
Mesh Radios → Physical Installation: never run a mesh
radio off the FC/host rail.)
Throughput tops out around 90–95 Mbps no matter what the radio can do.
The LAN9500A is a USB 2.0, 10/100 PHY. The USB link is a 100 Mbit
bottleneck that sits in front of the radio's MIMO capacity. For telemetry
and one compressed video stream this is fine. If you need the radio's full
aggregate throughput (multiple HD streams, high-bandwidth payload), use the
radio's native Gigabit Ethernet port instead of USB. USB is a
configuration and light-data path, not a high-throughput one.
Name churn breaks your scripts. If a second USB NIC is present, the
radio may not stay eth1. Pin the name with the udev rule above before you
hardcode an interface anywhere.
Quick reference
Question
Answer
What does it show up as?
A USB-Ethernet interface (smsc95xx), not a serial port
Driver needed on i.MX
CONFIG_USB_NET_SMSC95XX / smsc95xx
Universal config IP
192.168.153.1/24 (same on every radio)
Per-radio IP
10.223.x.y/16, on the label, derived from MAC
Host IP to set
Static in 10.223.0.0/16 (e.g. 10.223.1.1/16) or 192.168.153.2/24
Why it's dead out of the box
Radio DHCP client is off; host must take a static IP
Management
SSH root@, or https:// (self-signed)
Throughput ceiling on USB
~100 Mbit (USB 2.0 10/100 PHY) — use native Ethernet for more
Power
Off its own supply, never the USB bus / host rail
A Mesh Rider on USB is a router on a 100-Mbit dongle. Treat it like one:
give your host an address on its network, feed it real power, and reach for
the Ethernet port the moment you care about throughput.
A companion computer thinks about one drone. An edge node thinks
about all of them — it sits on the ground, aggregates everything
the mesh carries, and is the last thing standing when the uplink
to the cloud dies.
When You Need One
A companion computer (Chapter 13) rides the airframe and reasons
about that one vehicle. An edge node is a ground box: a small
Kubernetes (K3s) node in a Pelican case that ingests telemetry from
every vehicle on the mesh, stores it locally, shows it on a screen
at the test site, and forwards a refined copy to the cloud when a
link is available.
You want one when:
Multiple vehicles, one picture — you're flying a swarm or a
sequence of test flights and want every vehicle's telemetry
aggregated, queryable, and overlaid in one place on site.
The uplink is intermittent — cellular drops behind terrain,
Starlink re-orients, the directional backhaul gets bumped. You
need data to survive the outage and sync when the link returns.
You want analytics in the field, not after — PID trends,
battery-sag curves, link-margin-vs-range plots while you can still
change something, instead of on the drive home.
You're bridging the field to a back-end — the node is the
clean boundary between "raw MAVLink on a tactical mesh" and
"structured time-series in a cloud TSDB."
If you're flying one drone and watching it on a GCS, you don't need
this. A GCS shows you now; an edge node remembers, aggregates, and
forwards. Don't add a cluster to watch a single battery gauge.
Why K3s Specifically
K3s is a CNCF-certified Kubernetes distribution in a single ~70 MB
binary. The properties that matter in the field are not the ones
that matter in a datacenter:
Property
Why it matters in austere conditions
Single binary, 5–15 W
Runs on a Pi 5, Jetson Orin Nano, or fanless x86 off a power bank or vehicle 12 V
SQLite datastore default
A single node is a real deployment, not a degraded cluster — no 3-node etcd quorum to stand up
Agent survives a dead control plane
Workloads keep running when the node can't reach anything upstream — the normal case in the field
Air-gap friendly
Pre-load images with k3s ctr images import; the node boots with zero internet
Declarative redeploy
After a battery swap and reboot, everything comes back exactly as specified
The failure mode K3s avoids: a stack of systemd services and
hand-run Docker containers that nobody can bring back identically
after the box reboots mid-test. The cost: you have to think in
manifests. For a box you redeploy across sites and reboot often,
that trade favors K3s. Review needed: commercial / failure mode
A working reference deployment of everything below — manifests,
the MAVLink→MQTT decoder, the store-and-forward config — lives in
the Ai-Project repo under infra/edge-node/. This chapter is
the field-facing "why"; that directory is the "how."
The Data Path
Flight controller / companion
│ MAVLink UDP :14550 (over the mesh)
▼
mavlink-router ──TCP :5760──> GCS on the mesh (Prismo / QGC)
│
▼
MAVLink → MQTT decoder (pymavlink)
▼
MQTT broker (Mosquitto)
▼
Telegraf (MQTT → line protocol)
▼
vmagent ─┬─> VictoriaMetrics (local, full resolution)
└─> cloud aggregator (store-and-forward over the uplink)
▼
Grafana (local screen) ← reads VictoriaMetrics
The shape worth internalizing: a message bus in the middle
(MQTT), a local store (VictoriaMetrics), and a forwarder with
an on-disk queue (vmagent) as the cloud boundary. Decoupling the
decoder from storage via the bus means a database restart never
drops the ingest socket. Putting a disk-backed queue at the cloud
boundary means a dead uplink never loses data.
Match the Payload to the Pipe
The mesh transport under the telemetry decides what is even possible.
Chapter 14 (Mesh Radios) covers the radios; here's the rule for
telemetry specifically:
Transport
Layer
What it's good for
B.A.T.M.A.N. adv
L2 (bat0)
Multi-hop mesh that looks like one flat Ethernet to K3s — pods see normal IPs. Raw MAVLink + video between ground nodes.
DroneBridge
L2 (Wi-Fi)
Air-to-ground transparent MAVLink pipe. Good for the FC→node hop.
LoRaWAN
L3-ish, tiny
Hundreds of bytes, seconds of latency. Distilled status only — never raw streams.
The hard rule: raw MAVLink rides B.A.T.M.A.N. / DroneBridge;
LoRaWAN gets only the heartbeat-level summary (position, battery
percent, GPS fix, alerts), decoded at the gateway and published as a
handful of fields. Tunneling a telemetry stream over LoRa does not
fail loudly — it silently saturates the duty cycle and the link goes
useless for everyone on that channel. Decode at the gateway; forward
the summary.
B.A.T.M.A.N. adv Tuning for Telemetry
B.A.T.M.A.N. Advanced (batman-adv) is the workhorse for ground
meshes here because it operates at layer 2: once bat0 is up, K3s,
MAVLink, RTSP, and MQTT all just see a flat Ethernet segment and a
normal IP subnet, regardless of how many hops away the peer is. No
routing daemon to configure per-service.
Minimal bring-up on each node (the radio is in IBSS/ad-hoc or 802.11s
mode first; batman-adv rides on top):
# wlan0 already in ad-hoc mode, same SSID/channel/cell on every node
modprobe batman-adv
batctl if add wlan0
ip link set up dev wlan0
ip link set up dev bat0
ip addr add 10.10.0.<n>/24 dev bat0 # unique <n> per node
The settings that actually move latency and stability for telemetry:
Setting
Default
For telemetry
Why
Evidence
batctl orig_interval (OGM interval)
1000 ms
1000 ms, or 2000–5000 ms for static ground nodes
OGMs are mesh overhead. Faster = quicker reconvergence when a node moves, but more airtime stolen from data. Static ground nodes don't need 1 Hz topology gossip.
—
batctl bridge_loop_avoidance
off
on if any node also has a wired/AP bridge
Prevents L2 loops when a node double-homes the mesh to Ethernet/Wi-Fi-AP. A loop here floods the channel and telemetry latency goes to seconds.
—
batctl hop_penalty
30
raise toward 60 to prefer fewer hops
Each B.A.T.M.A.N. hop adds airtime + retransmit latency. Penalizing hops keeps a marginal direct path over a 3-hop relay when both exist.
—
Multicast
on
keep on
MAVLink-over-UDP broadcast and mDNS depend on it; turning it off to "save airtime" breaks discovery.
—
Wi-Fi rate
auto
fix a low rate (e.g. 6 Mbps) on long links
Rate auto-negotiation thrashes at the edge of range; a fixed conservative rate is more stable for a telemetry-only link than a flapping high rate.
Review needed: performance / failure mode
Field experience that maps to these knobs: on a 3-node 2.4 GHz
ad-hoc mesh with omni antennas, two nodes ~400 m line-of-sight and a
third behind a tree line at ~150 m, leaving the OGM interval at the
1 s default and rate at auto produced 200–800 ms telemetry jitter and
periodic 2–3 s stalls whenever the obscured node's rate renegotiated.
Pinning the link to 6 Mbps and raising the hop penalty so the obscured
node relayed through the nearer peer instead of fighting for a direct
path dropped jitter to a steady ~60–90 ms. The mesh got slower on
paper and better in practice — the lesson is that for telemetry,
predictable beats fast.
Failure mode to expect: a bridge-loop-avoidance miss. The moment
one node bridges bat0 to a wired LAN (to give the edge node
internet, say) without bridge_loop_avoidance on, you can form an
L2 loop. It presents as the whole mesh going to multi-second latency
and high retransmits with no obvious culprit — every node looks busy
because the loop is flooding broadcast. Turn BLA on before you
double-home any node, not after you're debugging it in the field. Review needed: performance / failure mode
Choosing the routing algorithm: BATMAN_IV vs BATMAN_V
batman-adv ships two routing algorithms, and which one you pick
changes the meaning of half the table above.
BATMAN_IV (default)
BATMAN_V
Topology gossip
OGM flooding
ELP (per-neighbour probes) + OGMv2
Path metric
hop count + packet loss (TQ, 0–255)
estimated throughput
Your levers
orig_interval, hop_penalty
mostly automatic
Heterogeneous rates
hand-tuned
self-optimising
BATMAN_IV ranks paths by a transmit-quality (TQ) score that
degrades per hop — so the hop_penalty / orig_interval knobs in
the table are IV's levers. Simple, deterministic, easy to debug.
BATMAN_V ranks paths by measured throughput, so it
naturally avoids a marginal link or a slow relay without you
hand-tuning hop_penalty. On a mixed-rate mesh (some nodes close,
one obscured) V usually gives steadier telemetry with less fiddling.
Set it beforebat0 exists — the algorithm can't change while
interfaces are attached:
bash
batctl routing_algo BATMAN_V # then bring up bat0 as before
Every node must run the same algorithm. IV and V do not
interoperate. The failure mode is silent: a node left on default IV
joining a V mesh shows an empty originator table (batctl o)
even though the radio link is perfectly fine. If batctl n lists
neighbours but batctl o is empty, suspect an algorithm mismatch
before you suspect RF.
Rule of thumb: reach for V on a heterogeneous or moving mesh and
drop the hop_penalty tuning; keep IV when you want simple,
predictable, hand-reasoned behaviour on uniform hardware.
2.4 GHz vs 5 GHz for the telemetry mesh
2.4 GHz
5 GHz
Range / penetration
better (longer, through foliage/walls)
shorter, line-of-sight-ish
Clean spectrum
crowded (Wi-Fi, BT, analog video)
mostly clean, many non-overlapping channels
Channel width
narrow, few clear channels
wide channels available
Gotcha
co-channel interference
DFS radar-avoidance blackouts
For C2 / telemetry, robustness beats bandwidth — 2.4 GHz's
range and penetration usually win, if you can find a clean
channel away from the site's Wi-Fi and the analog FPV video.
Never put C2 telemetry on a DFS channel. If the radio detects
(or thinks it detects) radar, it must vacate the channel for
seconds to minutes — a hard, non-negotiable link blackout while the
aircraft is flying. DFS is acceptable for bulk video you can lose;
it is not acceptable for the control link.
If video shares the mesh, split the bands: high-rate video on
its own 5 GHz wide channel, low-rate telemetry on a robust 2.4 GHz
channel. Mixing a saturating video stream and C2 on one radio is
the most common cause of "telemetry gets choppy whenever I'm
streaming."
MTU and fragmentation
batman-adv prepends its own header to every frame. If bat0 keeps
the standard 1500-byte MTU on top of a 1500-byte radio, every full
packet fragments — a throughput and latency tax.
The clean fix: raise the underlying interface MTU to ~1560
(1500 + batman-adv overhead) so bat0 can present a full 1500
without fragmenting. Many Wi-Fi drivers support this; some don't.
If you can't, leave fragmentation on (batctl fragmentation enable,
the default). For telemetry this is mostly moot — MAVLink
packets are tiny and rarely fragment. It bites video (large
RTSP packets), so this knob matters most on a mesh that also carries
the stream.
Gateway mode — electing the uplink node
When more than one node can reach the cloud (e.g. two vehicles within
LTE coverage), let batman-adv elect the uplink instead of static
routes:
# on the node holding the backhaul:
batctl gw_mode server 10000/2000 # advertised up/down kbit/s
# on every other node:
batctl gw_mode client
Clients then auto-select the best-announced gateway and default-route
through it, with automatic failover if that node drops off. This pairs
directly with store-and-forward: the vmagent node simply follows the
elected gateway to reach the cloud. Failure mode: multiple
server nodes plus a loose client selection class can cause clients
to flap between gateways mid-flight — pin a single server, or set a
stable selection class, when determinism matters more than failover.
DAT and multicast
Distributed ARP Table (batctl distributed_arp_table, on by
default): caches ARP mesh-wide so an ARP lookup doesn't broadcast-
flood every hop. Keep it on for any multi-node mesh.
Multicast (batctl multicast_mode, on by default): converts
multicast to targeted unicast when there are few listeners — good,
keep it. But note a MAVLink UDP broadcast (to …255) is still
treated as broadcast and floods every hop. For high-rate streams,
send directed UDP to the node's bat0 IP (as the edge node's
:14550 ingest does) and reserve broadcast for low-rate discovery.
Test before you fly (batctl)
A 60-second pre-flight from the edge node catches a bad link while you
can still fix it (re-aim an antenna, drop the rate, reposition a
relay) instead of discovering it as a telemetry stall at altitude:
Command
What it tells you
batctl ping <mac>
L2 round-trip to a neighbour, bypassing IP — raw link latency
batctl tp <mac>
measured throughput to that node — trust this before routing video over a hop
batctl o
originator table: who's reachable, via which next-hop, with TQ (IV) / throughput (V)
batctl n
direct neighbours + last-seen age
batctl tg
translation table — confirms the FC/companion's MAC is visible mesh-wide
The go/no-go: every airframe-side node should answer batctl ping,
post healthy batctl tp, and show in batctl o with TQ ≥ ~200
(BATMAN_IV) or solid throughput (BATMAN_V). A link sitting at
TQ < ~150 will produce intermittent telemetry stalls under load —
treat it as a fail and fix the RF before launch, not after.
Store-and-Forward: Surviving the Uplink
The single hardest requirement is also the most mundane: don't
lose data when the uplink dies, and don't let the dying uplink take
local visibility down with it. The link to the cloud is expected
to be intermittent. The design treats an offline uplink as the
normal case, not an error.
The mechanism is a forwarder (vmagent) with a separate on-disk
queue per destination:
┌─> local VictoriaMetrics (always up, queue ~empty)
telemetry ──> forwarder
└─> cloud aggregator (flaky uplink, spools to disk)
The two destinations do not share fate. The local write drains in
milliseconds and feeds the on-site Grafana, so the operator's live
view never depends on the uplink. The cloud write spools to disk
when the link is down and drains oldest-first, in order, with
backpressure, when the link returns — no loss, no reordering, no
manual intervention, and it survives a node reboot because the queue
is on persistent storage.
Why not let the dashboard or the collector buffer in memory instead?
Because in-memory buffers are bounded and drop the oldest data
first during a long outage — exactly the data you spooled because you
couldn't afford to lose it. A multi-hour outage plus a battery-swap
reboot is the design case; that needs a disk-backed queue measured in
gigabytes, not a RAM buffer measured in megabytes.
Sizing the Queue
How long you can stay offline before the queue cap starts dropping
the oldest samples:
For one drone at ~1 Hz the math is generous — a couple of GB holds
weeks of total cloud blackout, because compressed time-series runs
under ~1 byte per sample. The cap only bites at fleet scale: tens of
drones at multi-Hz fills the same couple of GB in a day or two. Run
the arithmetic for your fleet and ingest rate, size the disk to the
worst-case outage you actually expect, and set a hard per-destination
cap so a long outage drops bounded old data instead of filling the
card and crashing the node.
Reduce What Crosses the Link
The cheapest byte is the one you don't send. Two levers, both applied
only to the cloud copy so local fidelity is untouched:
Downsample before the cloud — roll up to 10 s or 1 min
averages/min/max for the uplink while the local store keeps full
resolution. Biggest win on a metered link.
Drop high-rate series from the cloud copy — keep attitude and
rate channels local; forward only position, battery, and GPS fix.
The detailed queue math, the per-destination relabel/aggregation
config, and the full failure-mode table live alongside the manifests
in Ai-Project at infra/edge-node/STORE-AND-FORWARD.md.
Relationship to the GCS and to CoT
An edge node is not a replacement for a ground control station.
The GCS (Prismo Prime, QGroundControl) is the operator's command and
control surface — it arms vehicles, runs missions, and shows the live
map. The edge node is a headless aggregator: it persists, analyzes,
and forwards. They run side by side. In the reference stack the
MAVLink router keeps a TCP server open on :5760 specifically so a
GCS on the mesh can attach to the same raw stream the node is
ingesting — the node taps the firehose, it doesn't gate it.
The natural fan-out to end users is CoT (Cursor-on-Target — see
Chapter 15). The same B.A.T.M.A.N. mesh that carries MAVLink to the
edge node can carry CoT to ATAK end-user devices. A small bridge on
the node that turns each vehicle's decoded position into a CoT event
puts every tracked drone on every ATAK screen on the mesh, while the
full-resolution telemetry goes to the local TSDB and the refined copy
goes to the cloud. One ingest, three consumers: the database, the
cloud, and the tactical picture.
What to Start With
Prove the path on one node, one drone. Install K3s on a Pi 5,
apply the reference stack, point a companion's MAVLink output at
the node's IP, and watch the battery gauge move in a local Grafana.
No mesh, no cloud — just the ingest path.
Add the mesh. Bring up batman-adv between the node and the
air side, move the MAVLink feed onto bat0, and tune per the
table above until jitter is steady.
Add the cloud. Point the forwarder's second destination at
your cloud TSDB and pull the uplink cable mid-flight to confirm
the queue spools and drains. That test — not a clean-network demo
— is the one that tells you the node is field-ready.
The hardware scales from a $80 Pi to a Jetson to a rugged x86 without
changing any of this. The data path stays the same. Learn it once on
a Pi on the bench, and it's the same node in the case at the range. Review needed: performance / commercial
Next
Chapter 13: Adding a Companion Computer — the air-side box that
feeds this ground-side one.
Chapter 14: Mesh Radios for Multi-Vehicle — the radios under
bat0.
Chapter 15: TAK Integration — the CoT fan-out to end users.
The companion thinks about the drone. The edge node remembers the
flight, shows it to you on site, and gets it home when the link comes
back. Build the queue before you need it.
AI Wingman on the Orqa DTK APB — Editorial and Safety Review Hold
Status: Temporarily withheld as of July 31, 2026 pending independent technical, safety, export-control, source-provenance, and editorial review.
Do not rely on an earlier version for flight-control authority, onboard AI, target detection, payload operation, or safety-critical integration. The previous article is preserved in Git history for controlled review but removed from the current public text.
Any future publication must document authority boundaries, human override, failure behavior, test evidence, supported software versions, data provenance, export-control scope, and the difference between manufacturer statements, project plans, prototypes, and validated field capability.
No manufacturer is identified as the publisher or approver of this handbook. Supporting relationship, provenance, and review records are maintained in the private source-of-record rather than displayed as a site-wide association statement.
Use simulation and replay to test parser, freshness, routing and state-transition contracts before connecting hardware. Pin the firmware/source revision and keep simulated observations visibly labeled.
Reproducible test record
Retain the input fixture/hash, simulator version, application revision, configuration, clock model, expected result and observed output. ArduPilot SITL setup and PX4 simulation describe simulator entry points; choose a released version rather than silently follow development main.
Injected condition
Contract to inspect
Stale telemetry
Age advances; last known values do not become fresh merely because the UI redraws
Link loss/reconnect/flapping
Vehicle identity, ownership and reconnect state remain explicit
Duplicate/reordered packets
Counters and state updates reflect the protocol's sequence semantics
Clock jump/reboot
Boot-relative, UTC and monotonic times are not mixed
Sensor disagreement/frame mismatch
Invalid or inconsistent inputs remain observable
Partial parameter download
Missing indices stay missing; no complete-backup claim
Video freeze with live OSD
Video freshness and telemetry freshness are tracked separately
Included software exercise
Run python3 scripts/check_integration_replay.py. It uses local fixtures and two read-only observers, injects stale/reordered/reboot samples, and emits machine-readable observations. It opens no network socket, arms no aircraft and writes no device configuration. Passing proves only the included replay contract.
A public example of this boundary exists in the publisher's TAK Bridge software demo: its simulated positions remain local. Verify the current source/release before extending that behavior to another application.
Trace capture → encode → transport → jitter buffer → decode → display. Each stage has independent timestamps, counters and failure states. A functioning telemetry overlay does not prove the camera image is current.
Failure isolation
Symptom
Next observation
No session
Address, authentication/TLS, RTSP negotiation and selected transport
Session but no frames
Codec/caps, payload mapping, parameter sets and keyframes
Frames arrive but decode fails
Decoder support, damaged access units and packet-loss counters
Delay grows
Queue/jitter depth, retransmission, decode throughput and display pacing
Frozen image, moving OSD
Last decoded/displayed frame time versus last telemetry sample
Reconnect fails
Teardown, stale peer/session identity and bounded retry state
RTSP session setup and RTP media transport are distinct. UDP loss and TCP retransmission can create different symptoms; neither has a universal latency guarantee. H.264/H.265 compatibility depends on profile, level, bit depth, decoder and configuration. WebRTC adds negotiation and media/security behavior of its own.
For glass-to-glass latency, measure a real optical event through the complete camera-to-display path and report resolution, frame rate, codec, exposure, encoder, radio mode, jitter settings, decoder/display and sample distribution. Packet interval, encode time, network RTT and frame age are different measurements. RTCP sender reports and RTP header extensions must be inspected rather than assumed present.
Use local media/replay first, then a controlled transport fixture; keep simulated results separate from on-air evidence. See OpenHD and time provenance.
A position without its reference frame and timestamp cannot be reliably joined to another sensor record.
Value
Preserve with it
UTC/GNSS time
Time scale, leap-second handling, synchronization method and uncertainty
Monotonic/boot time
Clock origin, units, reboot/session identity and rollover handling
Global altitude
Ellipsoidal or orthometric/MSL height, datum and geoid model
Relative altitude
Home/origin definition and reset/change events; not automatically terrain AGL
Local position
ENU/NED convention, estimator origin, units and reset events
Body vector
Axis convention, orientation, sensor-to-body transform and lever arm
MAVLink GLOBAL_POSITION_INT.relative_alt is altitude above home. LOCAL_POSITION_NED uses the local NED reference. TIMESYNC estimates timing offsets between communicating systems; firmware/message-version support and clock behavior still need checking. MAVLink common definitions and TIMESYNC service, checked 2026-10-07.
PPS, PTP, NTP and a camera event signal serve different timing contracts. Receipt time is not exposure time. Test clock steps, reboot, missing synchronization and future/stale samples in replay. A live heartbeat cannot refresh an old position or video frame.
For a survey, retain reference-frame realization and epoch, base coordinate provenance, antenna height/type, raw observation overlap, correction age, camera event records, lever arm, boresight and independent checkpoint residuals. NOAA geodetic resources and OPUS, checked 2026-10-07.
Multiple observers can read telemetry without granting each observer command authority. System/component IDs identify message sources; they are not authentication or permission grants.
Connection contract
Concern
Explicit contract
Identity
Distinct system/component IDs, discovered target and reconnect/session identity
Ownership
One configured command owner; observers cannot acquire authority by receiving data
Routing
Defined endpoints, loop prevention and protocol-aware deduplication
Rates
One stream-rate policy; record when another client changes it
Security
Key provisioning, signing acceptance, protected transport and secret handling
Freshness
Per-message age, source clock and unknown/stale state
MAVLink v2 signing authenticates packets using shared-key and replay/timestamp rules. It does not encrypt telemetry. An installation must also define unsigned-packet acceptance and transport protection. MAVLink signing and routing, checked 2026-10-07.
Software observer exercise
python3 scripts/check_integration_replay.py fans one local fixture to two observers and compares their recorded states. It exercises stale data, reordering and reboot identity without opening a device or network endpoint. The fixture grants no command authority. A real router/GCS needs separate tests for command routing, signatures, reconnects and stream-rate contention.
For ArduPilot, SRx_* is indexed by MAVLink instance, rather than universally by SERIALx. Prefer a documented per-message interval interface where supported. ArduPilot stream requests, checked 2026-10-07.
Keep test keys out of production and credentials out of public logs. See software failure testing.
Select a compute platform against a complete measured workload. TOPS is an arithmetic throughput specification at stated precision/sparsity conditions, not camera-to-result latency, power at the battery or assurance that a model compiles.
Workload record
Workload dimension
Record
Model
Exact artifact/hash, operators, input shape, precision, compiler/runtime and accuracy test
Camera/video
Capture interface, ISP, encode/decode, copies, resolution/frame rate and timestamp path
Resource use
CPU, accelerator, RAM/bandwidth, storage and concurrent workloads
Power/thermal
Whole board/carrier/cooling, rail measurements, ambient/load and throttling
Timing
End-to-end latency distribution, deadline misses and stale-result behavior
Packaging
Module versus development board, connectors, recovery and software updates
Use classical geometry/estimation/control where the workload calls for them; autonomous functions do not universally require neural inference. A CPU, GPU, NPU and video codec engine solve different parts of the pipeline.
Emerging candidates to evaluate
ST's STM32N6x7 AI line includes its Neural-ART accelerator; the N6x5 general-purpose line must not be assumed to share that feature. NXP's i.MX 95 family includes an eIQ Neutron NPU. These are manufacturer-described features, not tested flight integrations or performance equivalence to a Linux companion.
ST STM32N6 family and NXP i.MX 95, checked 2026-10-07. Verify exact orderable part, BSP/compiler release, supported operators, memory/camera path and board availability. Watch their release/document dates rather than treat an announcement as hardware acceptance.
For Hailo-8, the manufacturer reports up to 26 TOPS and typical chip power of 2.5 W; whole-system power remains a separate measurement. Hailo source, checked 2026-10-07. Review needed: performance
The Unhandled Exceptions in Mesh Networking & Drone Swarm Operations
Version 1.0 — March 2026
This handbook covers what works today — the RF fundamentals,
the firmware, the field procedures, the integration patterns,
the components. But a handbook is only useful if it's honest
about where the knowledge stops.
This chapter is the other side of the ledger. Every problem
listed here is something the handbook can't solve for you yet
because nobody has solved it. Some are active research. Some
have partial answers that fall apart in the real world. Some
have no credible path forward with current technology.
The point isn't to discourage. The point is to focus. If
you're building something new, start here — because every
unsolved problem on this list is an invitation. Solve one and
the next edition of this handbook gets a new chapter.
Drone shows are not swarms. They are pre-choreographed screensavers playing back trajectory files in controlled airspace with RTK GPS and zero autonomy. If your "swarm" can't handle a 15 mph crosswind, a lost radio link, or a drone it's never met before, it's not a swarm.
This document exists because every unchecked box is an invitation. Solve one of these and you've moved the entire industry forward.
Buddy up.
The Drone Show Illusion
People watch 5,000 drones paint a dragon in the night sky and walk away thinking swarm technology is solved. It is not. Those shows are remarkable engineering achievements, but they are the opposite of what the word "swarm" means in any operational context. Here is what a drone show actually is:
Pre-choreographed: Every trajectory is computed offline, often hours or days before the show. No drone makes a single decision during flight.
Central server playback: A ground computer sends every position waypoint to every drone. Remove the server and nothing flies.
RTK GPS: Sub-centimeter positioning from fixed base stations set up at the venue. Not field-deployable, not available indoors, not available in contested environments.
Controlled airspace: The show area is a restricted zone with no other air traffic, no RF interference, no obstacles, no unknowns.
Identical hardware: Every drone is the same model with the same firmware. Zero heterogeneity.
No wind tolerance: Shows are cancelled in winds above 10–15 mph. Real operations happen in whatever weather the mission requires.
No autonomy: If a drone loses comms, it lands. If the server fails, everything lands. There is no independent decision-making.
No sensing: The drones don't see anything. They don't detect anything. They don't react to anything. They play back a file.
Now consider what a real operational swarm would need to do:
Fly heterogeneous platforms (different sizes, different sensors, different endurance) in uncontrolled airspace.
Coordinate in real time with sub-second latency over unreliable mesh radio links.
Make autonomous decisions when communication is lost, degraded, or jammed.
Share sensor data (video, detections, position) across the mesh without saturating bandwidth.
Handle wind, weather, obstacles, and other aircraft that weren't in the plan.
Operate with or without GPS.
Add and remove drones mid-mission without stopping the operation.
Keep flying safely when individual drones fail.
The gap between these two lists is the subject of this document. Every item below is a specific, defined problem that stands between the drone show illusion and real swarm capability. Some are being actively worked on. Some have partial solutions. Some have no credible path to solution with current technology.
If someone tells you their drone swarm "just works," ask them: how many drones, at what range, sharing what bandwidth, at what latency, in what weather, for how long, with how many operators, and what happens when you jam the radio? The answers will be disappointing. That's not a criticism. That's where the work is.
How to Read This Document
This is a checklist, not a textbook. Each problem is stated as concisely as possible with three columns:
The Problem: What doesn't work and why it matters.
The Reality: What actually happens today, with real numbers where available.
What Would Solve It: What a solution would look like. This is the invitation.
Status key:
☒ UNSOLVED — No production-ready solution exists. Active research problem. Pick this one if you want to change the industry.
▣ PARTIAL — Works in controlled conditions, degrades or fails in the real world. Improvement is valuable but the core problem is understood.
☑ SOLVED — Production solutions exist and are deployed. Included for context — these were once unsolved too.
The goal is to turn red boxes amber, and amber boxes green. Every color change is a real contribution.
RF & Communications
Radio is the nervous system of a swarm. Everything else — coordination, navigation, sensing — depends on drones being able to talk to each other. And radio physics does not care about your product roadmap.
#
Problem
The Reality
What Would Solve It
Evidence
☒
Spectrum Congestion at Scale
20+ drones on the same WiFi channel destroy each other's throughput. Hidden node problem compounds in 3D airspace. CSMA/CA was designed for offices, not swarms.
Dynamic spectrum access with cognitive radio. Licensed spectrum for UAS. Directional antennas that create spatial channels. All expensive, all heavy, all power-hungry.
—
☒
Latency vs. Hop Count
Each mesh hop adds 10–50ms. A 5-hop path = 50–250ms minimum. Swarm coordination needs <100ms. These numbers don't work together.
Deterministic TDMA scheduling on custom waveforms. Eliminates contention but requires precise clock sync (see Navigation section). Military radios do this but cost $20K+ per node.
Review needed: performance / commercial
☒
Bandwidth vs. Range
Shannon's law is not negotiable. High bandwidth = wide channel = high frequency = short range. 5.8 GHz gives bandwidth but 500m range. 900 MHz gives range but 1 Mbps. You cannot have both.
Don't stream raw video. Process onboard (NPU), send detections + thumbnails (100× compression). Design the swarm protocol for the link, not the other way around.
Review needed: performance / configuration
☒
Inter-Swarm Interference
Two swarms in the same area on the same frequencies interfere with each other. No coordination mechanism exists between independent swarm operators.
Airspace-anchored spectrum allocation. Cooperative spectrum sharing protocols. Standardized swarm-to-swarm deconfliction. None of this exists yet.
—
▣
Mesh Self-Healing Speed
Mesh protocols can reroute around a failed node, but convergence takes 1–10 seconds. A drone at 20 m/s travels 20–200m during reconvergence. That's an eternity for collision avoidance.
Proactive routing with pre-computed backup paths. batman-adv and OLSR do this partially. Still too slow for safety-critical coordination.
Review needed: safety / performance
▣
EW/Jamming Resilience
Frequency hopping helps but a broadband jammer saturates all hop frequencies simultaneously. DSSS provides processing gain but at the cost of bandwidth. Commercial mesh radios are not designed for contested RF.
Affordable, compact, jam-resistant waveforms for sub-250g platforms. The military has solutions but they weigh 2 kg and cost $50K. The gap is bringing that capability to small drones.
Review needed: commercial / failure mode
▣
Video Backhaul
Real-world WiFi mesh throughput is 20–40 Mbps aggregate. That's 4–8 simultaneous 720p streams. A 20-drone swarm with cameras cannot stream everything.
Edge processing eliminates the need to stream raw video. Compress observations to metadata + keyframes. The compute exists (NPUs) but the software pipeline is immature.
—
Swarm Coordination & Decision-Making
Coordination is where the swarm either becomes more than the sum of its parts, or collapses into an expensive traffic jam. Almost every coordination algorithm that works in simulation has never been tested with real radios, real wind, and real failure modes.
#
Problem
The Reality
What Would Solve It
Evidence
☒
Scaling Past ~50 Agents
Algorithms that coordinate 10 drones break at 100. Communication and computation scale O(n²) or worse. No production system has demonstrated reliable coordination beyond ~50 heterogeneous agents.
Hierarchical coordination: cluster leaders + local consensus + inter-cluster gossip. Reduces scaling to O(n log n). Proven in simulation, unproven in the field with real comms.
—
☒
Consensus Under Packet Loss
Consensus algorithms assume reliable delivery. Real mesh loses 5–20% of packets under load. Byzantine fault tolerance adds latency. Raft and Paxos weren't designed for 100ms round-trips with 15% loss.
Byzantine fault-tolerant consensus adapted for high loss. Computationally expensive. May need to accept eventual consistency instead of strong consensus for non-safety-critical decisions.
Optimal task assignment for N drones is NP-hard. Heuristics exist but degrade with incomplete information (which is the normal case in a swarm).
Distributed auction/market algorithms with bounded computation. Show promise in simulation. Performance with real latency and packet loss is unknown.
—
☒
Graceful Degradation at Scale
When 1 of 10 drones fails, the swarm adapts. When 10 of 100 fail simultaneously, cascading failures are likely. No system has demonstrated graceful degradation at scale with realistic failure rates.
Pre-computed degradation scenarios (the Assumptions List concept). Resilient planning that expects failure, not just tolerates it. Tested only in simulation.
—
▣
Formation in Real Wind
Precise formation requires sub-second position updates and responsive control. Gusty conditions create oscillations. Wind estimation is local — each drone sees different wind.
Cooperative wind estimation (share wind observations across swarm). GPS + VIO + IMU fusion for position. PID gains that adapt to conditions. Works in light wind, untested in real gusts.
—
▣
Human-Swarm Interface
One operator, one drone: well understood. One operator, 20 drones: information overload. Current GCS interfaces show individual drone telemetry. No interface has solved swarm-level situational awareness.
Intent-based commands ("survey this area" not "fly to waypoint 7"). Autonomy sliders that let operators choose how much control to delegate. Exception-based management: the UI is quiet unless something needs human attention.
—
Navigation & Positioning
GPS made drone navigation feel solved. It is not. Take away GPS and most drones become expensive lawn darts. Even with GPS, the accuracy and update rate are insufficient for tight swarm coordination.
#
Problem
The Reality
What Would Solve It
Evidence
▣
VIO Drift
Visual odometry drifts 0.5–2% of distance traveled. After 1 km, error is 5–20m. Accumulates over time with no correction. Not acceptable for precision coordination.
Loop closure (revisit known areas), terrain-relative matching (reference maps), GPS integration when available. Each adds compute, power, and complexity. No single solution works in all conditions.
—
☒
Absolute Position Without GPS
No vision-based system provides absolute Earth-referenced position. VIO/SLAM gives relative position only. eLoran, terrestrial beacons, and signals-of-opportunity navigation are research-stage.
Alternative absolute positioning: eLoran, terrestrial beacons, signals of opportunity (cellular, WiFi, broadcast TV). All immature or unavailable for airborne platforms.
—
☒
Vision Nav in Bad Conditions
VIO and SLAM fail in: low light, fog, rain, smoke, snow, featureless terrain (water, desert, snow fields). These are exactly the conditions where GPS-denied navigation is most needed.
Multi-modal sensing: thermal + radar + LiDAR + acoustic. Each adds weight, power, and cost. Sensor fusion algorithms for degraded-visual-environment navigation are active research.
Review needed: performance / commercial
▣
Inter-Drone Relative Position
Swarm-mates need to know each other's positions. Options: GPS (1–3m error, requires satellites), UWB ranging (centimeter accuracy, requires line of sight), vision (works but computationally expensive).
Cooperative localization: drones share observations to collectively improve position estimates. Mathematically elegant. Practically untested at scale with real latency.
—
▣
Clock Sync Without GPS
Swarm protocols need synchronized clocks. GPS provides nanosecond sync. Without GPS, network-based sync achieves microsecond accuracy at best, which degrades with hop count and packet loss.
Network time protocols over mesh. Cooperative clock sync. Chip-scale atomic clocks (CSACs) are $1,500+ and provide holdover but not initial sync.
Review needed: performance / commercial
Power, Weight & Endurance
Every capability we add to a drone — compute, radios, sensors, cameras — draws power from the same battery that keeps it in the air. Physics does not offer free compute cycles.
#
Problem
The Reality
What Would Solve It
Evidence
☒
Compute vs. Flight Time
Running VIO + SLAM + detection + mesh networking draws 5–15W on a companion computer. On a 250g drone with a 2S battery, that's 20–50% of total power budget. Every watt of compute is a minute of flight time.
More efficient silicon (NPUs > GPUs by 10× per watt). Algorithm optimization. Larger drones with more battery. Each solution has tradeoffs — efficiency means less capability, size means less deployability.
—
☒
Mesh Relay Power Cost
A drone relaying other drones' traffic keeps its radio transmitting continuously. A WiFi radio at full power draws 2–5W. This is comparable to the propulsion cost of the compute itself.
Duty-cycle-aware routing that balances relay load. Sleep scheduling. Both reduce throughput. The fundamental tension: the mesh needs relay nodes, but relay duty kills endurance.
Review needed: performance / commercial
▣
Heterogeneous Endurance
Different drones have different battery levels. The swarm's effective mission time equals its lowest-endurance member unless you plan for early RTLs. Most swarm planners don't.
Dynamic role assignment based on energy state. Low-battery drones take passive roles. Landing and relaunching mid-mission. Battery-aware task allocation. Demonstrated in simulation only.
—
☒
Weight Budget for Swarm Hardware
A mesh radio module + antennas + companion computer + cameras + ranging sensors = 50–200g. On a 250g drone, that's the entire payload budget. On a 5 kg drone, it's manageable. Sub-250g swarm-capable drones don't exist yet.
Integration (APB-style single boards). Lighter radios. More capable SoCs. The trend is favorable but current COTS options still exceed budget for small platforms.
—
Software, Standards & Regulation
Even if we solved every physics problem above, the software and regulatory infrastructure to deploy real swarms does not exist.
#
Problem
The Reality
What Would Solve It
Evidence
☒
No Swarm Protocol Standard
MAVLink standardized single-drone C2. Nothing equivalent exists for multi-agent coordination. Every swarm project invents its own protocol. Interoperability is zero.
An open swarm coordination protocol. STANAG 4586 covers single-UAS but not multi-agent. ROS 2 DDS provides middleware but not a swarm protocol. Someone needs to write the MAVLink equivalent for swarms.
—
☒
Multi-Vendor Abstraction
Different FCs, different firmware, different sensors, different radios. Building a swarm from mixed hardware is an integration nightmare. No abstraction layer exists.
Lightweight swarm middleware that runs on ESP32 through Jetson. Must abstract FC differences, sensor differences, and radio differences behind a common API. The integration tax is currently paid per-project.
—
▣
Sim-to-Reality Gap
Swarm algorithms tested in simulation often fail in the real world. Simulations underestimate latency, overestimate link reliability, ignore wind, and don't model RF propagation accurately.
Hardware-in-the-loop simulation with real radios and injected faults. Digital twins that model RF, wind, and failure modes. Expensive to build, essential to trust.
Review needed: performance / failure mode
☒
Regulatory Framework
No country has a clear regulatory path for one operator controlling multiple autonomous drones simultaneously. BVLOS waivers exist for single drones. Swarm operations are regulatory terra incognita.
Regulatory frameworks that recognize swarm-level autonomy and define acceptable failure modes. This requires technical standards (see above) that regulators can reference. Chicken-and-egg problem.
Review needed: regulatory / failure mode
☒
Cybersecurity at Swarm Scale
Mesh networks are inherently harder to secure than point-to-point links. Every node is an attack surface. Spoofing, injection, and denial of service at swarm scale are largely unstudied.
Lightweight authenticated encryption that doesn't break latency budgets. Hardware root of trust on each node. Swarm-level intrusion detection. All active research areas with no deployed solutions for small UAS.
—
The Scoreboard
As of March 2026:
Category
☒ Unsolved
▣ Partial
☑ Solved
Total
RF & Communications
4
3
0
7
Coordination & Decision-Making
4
2
0
6
Navigation & Positioning
2
3
0
5
Power, Weight & Endurance
3
1
0
4
Software, Standards & Regulation
4
1
0
5
TOTAL
17
10
0
27
17 unsolved. 10 partial. 0 solved.
Zero boxes in the green column. That is the honest state of swarm technology in 2026. This is not a condemnation — it is the most exciting engineering frontier in robotics. Every one of these 27 problems is a PhD thesis, a startup, a contract, or a contribution to an open-source project that the entire industry would benefit from.
What AI Wingman Does About It
We don't pretend these problems are solved. We design around them:
The Wingman Grid works without GPS. It doesn't fix GNSS-denied absolute positioning — it sidesteps it by making GPS optional, not required.
The Assumptions List acknowledges that communication will fail. Instead of pretending the mesh is reliable, we pre-agree on what each drone does when the mesh is gone.
Edge processing reduces the bandwidth problem. The APB's NPU processes video onboard and sends detections, not streams. This turns a 5 Mbps problem into a 50 Kbps problem.
The autonomy slider explicitly communicates how much the system can do alone. L0 is honest: the drone flies, the human decides. L4 is aspirational: the drone operates independently per the Assumptions List. We don't claim L4 is production-ready.
Product separation (Wingman advises, Forge recommends hardware, Command integrates C2) means each product can be honest about its own limitations without pretending the whole system is more capable than it is.
Open documentation (including this document) invites the community to help solve these problems rather than pretending we already have.
We put "safety" in quotes because it reduces danger without eliminating it. We should put "swarm" in quotes too. The honest version: a group of drones that try to coordinate, sometimes succeed, and have a plan for when they can't.
The Invitation
This document is intended for inclusion in The Drone Integration Handbook — the free, open industry reference. It is not proprietary. It is not competitive intelligence. It is a shared accounting of what is hard, written by people who have tried to make this stuff work and know where it breaks.
If you solve one of these problems — even partially — tell someone. Publish it. Open-source it. Present it at a conference. File a patent if you need to, but make sure the knowledge reaches the people building drones in garages and labs and forward operating bases. The industry moves forward when hard problems get easier, and they get easier when people share what they've learned.
Every red box that turns amber is progress. Every amber box that turns green is a breakthrough. The scoreboard will be updated as the state of the art advances.
The drone show is beautiful. The unsolved problems list is useful. We'd rather be useful.
AI Wingman — Unsolved Problems in Mesh & Swarm v1.017 unsolved. 10 partial. 0 solved. Let's get to work.
Buddy up.
Handbook track
Part 5 — Vendor Guides
Marketplace listing, buyer access, and procurement workflow references.
Last updated: April 2026 Audience: Manufacturers, integrators, and vendors seeking to sell UAS systems or related technology to U.S. Army units, DoD agencies, and allied nations
What Is the Army UAS Marketplace?
Launched on March 24, 2026, the U.S. Army's Unmanned Aircraft Systems (UAS) Marketplace is a digital storefront — built with AWS and the Army Enterprise Cloud Management Agency — where military units, government partners, and allied nations can browse, compare, and procure vetted drone systems. The Army's stated goal is to make buying drones as straightforward as placing an Amazon order.
As of launch, 30 systems are listed (all Group 1 and 2 platforms drawn from existing PMO UAS programs). Group 3 drones are expected to be added by summer 2026. Future expansion will include Blue UAS List systems and Drone Dominance Gauntlet competition winners.
Solicitation number:W58RGZ-26-S-C001 Contracting office: Army Contracting Command – Redstone (ACC-RSA) Program office contact: PM UAS, Capability Program Executive Office for Aviation
Prerequisites Before You Apply
Before you submit anything, make sure you have these in place. Missing any of them will block an award.
1. Unique Entity Identifier (UEI)
You need a UEI from SAM.gov. This replaced the old DUNS number system. If you don't have one, register at sam.gov — it's free but can take 7–10 business days to process.
2. Active SAM.gov Registration
Your company must be registered and active in the System for Award Management (SAM.gov). SAM registration must be renewed annually. Awards cannot be issued to entities with lapsed registration.
3. WAWF Access
Wide Area Workflow (WAWF) is the DoD's invoicing and receiving system. You'll need an account when it's time to get paid. Set this up early — it's a separate system from SAM.
4. NDAA §848 Compliance
The marketplace is for vetted platforms. If your UAS contains components from prohibited foreign manufacturers (primarily Chinese-origin flight controllers, cameras, or comms), you will not pass vetting. Review the NDAA §848 covered list before applying. Review needed: regulatory
5. Blue UAS Listing (strongly recommended, not yet mandatory)
The marketplace is actively adding Blue UAS List systems. Being on the Blue UAS List significantly speeds up vetting. If you're not listed yet, the DIU Blue UAS pathway is a parallel track worth pursuing — see the Blue UAS Compliance Guide for that process. Review needed: regulatory
The Two Submission Pathways
The CSO operates two submission methods. Choose based on your situation.
Pathway 1 — Innovative Warfighter Solutions (IWS)
This is the open-ended, submit-anytime pathway. You respond to one or more of the Army's general Areas of Interest (AOI) without waiting for a specific government request.
Use this if:
- You have a product ready or near-ready and want to get in front of the Army
- You're not responding to a specific government-issued requirement
- You want to establish a relationship and get on the Army's radar
Areas of Interest currently include:
- Air vehicles and payloads (Group 1–3 UAS)
- Intelligence, electronic warfare, and sensors
- Tactical communications
- Autonomous behaviors and C2 software
- Launched Effects (one-way attack drones)
- Soldier equipment
- Simulation and training tools
- Supply chain, logistics, and additive manufacturing
- Production of UAS at scale
- Ancillary items
What to submit:
A solution brief. This is not a full proposal — it's a concise technical overview of your capability, how it maps to an AOI, your company's production capacity, and your compliance posture (NDAA, ITAR, etc.). If your brief is compelling, the Army will follow up with an invitation for a live demo, pitch, or full commercial solution proposal.
Pathway 2 — Call for Solutions (C4S)
This is the specific-requirement, deadline-driven pathway. The Army posts a specific need on SAM.gov as an amendment to the CSO, and vendors respond within a defined window.
Use this if:
- The Army has posted a specific requirement that matches your product
- You're responding to a Gauntlet competition or Blue UAS expansion call
- You want a faster, more direct path to a contract for a defined capability
What to submit:
A full commercial solution proposal in response to the government's stated requirements. These submissions have specific response deadlines and technical evaluation criteria published in each C4S amendment on SAM.gov.
Download the full CSO document. Read the entire thing — it contains the submission format requirements, evaluation criteria, and contact information. The CSO remains open indefinitely unless formally canceled.
Step 2 — Choose your pathway
IWS = you have something and want to pitch it.
C4S = the Army posted a specific need you can answer.
For most new vendors entering the marketplace, IWS is the starting point.
Step 3 — Prepare your solution brief (IWS) or proposal (C4S)
For IWS solution briefs, cover:
Executive Summary — what the system is, what problem it solves, which AOI it addresses
Technical Description — specs, performance data, Group classification, payload options
Compliance Status — NDAA §848, ITAR, export controls, Blue UAS listing status Review needed: regulatory
Production Capacity — your current and scalable production numbers; the Army specifically cares about industrial base capacity
Company Background — SAM registration, UEI, key personnel, past performance with government or defense customers if applicable
Pricing (general range) — the CSO is a free-market model; competitive pricing matters
Keep it tight. This is an initial filter, not a contract. 5–15 pages is typically appropriate for a solution brief.
Step 4 — Contact the contracting officers
Before submitting, reach out to the POCs listed in the CSO:
Miguel Harris — miguel.c.harris.civ@army.mil
Latoya Pryor — latoya.s.pryor.civ@army.mil
Confirm the current submission format and whether there are any active C4S amendments that match your capability. Contracting officers can't give you preferential treatment, but they can confirm you're submitting correctly.
Step 5 — Submit through SAM.gov
All submissions go through the SAM.gov opportunity posting for W58RGZ-26-S-C001. Do not email submissions directly to the contracting officers unless the solicitation explicitly instructs otherwise.
Step 6 — Army vetting and testing
If your brief passes initial review, you'll be invited to a demonstration or pitch. The Army will test what you have. Once approved, your system gets listed on the marketplace and units can start placing orders.
Per Col. Medaglia: "You tell us when you're ready. We're going to tell you what the soldiers want... when you're ready, we're going to test what you have, and we're going to provide it on the marketplace."
What Gets You Approved Faster
Based on the CSO structure and public statements from PM UAS leadership:
Already on the Blue UAS List — Systems from the Blue List are actively being onboarded. This is the fastest existing path to the marketplace.
Gauntlet competition winner — Drone Dominance Gauntlet winners (Phase 1 covers 25 vendors competing for $150M in delivery orders) will be added to the marketplace.
Demonstrated production capacity — The Army has explicitly called out industrial base scaling as a priority. Vendors who can show they can produce at volume (not just prototypes) get prioritized.
NDAA-clean supply chain — Any foreign-component ambiguity slows vetting. Document your supply chain proactively.
Existing Army relationship — Systems already under a PMO UAS program of record were the first 30 entries. If you have an existing contract or OTA with Army, reference it.
Contract Types Available
Awards under this CSO can be structured as:
FAR contracts — standard Federal Acquisition Regulation contracts (FFP, IDIQ, etc.)
Other Transaction Agreements (OTAs) — non-FAR agreements under 10 U.S.C. 4022; faster to award, more flexible, commonly used for prototype and production at scale
OTAs awarded for prototyping can lead directly to follow-on production contracts without additional competition under 10 U.S.C. 4022(f) — this is a significant advantage for vendors who get in early.
Upcoming Events
April 14, 2026 — Army UAS Marketplace Showcase, prior to the Army Aviation Association of America (AAAA) Warfighting Summit. Attendance is high-value for making direct contact with PM UAS leadership.
Ongoing — Additional C4S amendments to the CSO are expected to be posted on SAM.gov as the Army defines more specific capability needs.
Army UAS Marketplace — Buyer Account & Access Guide
Last updated: April 2026 Audience: Military units, DoD agencies, government partners, and allied nation personnel attempting to access the marketplace to browse and procure UAS systems
The Short Answer
The Army UAS Marketplace does not have open public self-registration. Access is controlled. If you're a .mil user, you need your CAC and a network path to the portal. If you're a non-.mil government partner or allied nation, access requires coordination through your chain of command or a designated Army liaison.
If someone or something told you there's a simple sign-up flow — that's either outdated, incorrect, or referring to a different system. The marketplace is two weeks old as of this writing and the access process is still being refined.
Who Can Access the Marketplace
The Army has stated the marketplace is available to three categories of users:
1. Army units and DoD personnel
Active duty, Reserve, and Guard units with a procurement need. Access is expected to be CAC-authenticated through Army Enterprise systems. Your S4/G4 or aviation officer is likely your unit's access point.
2. Other U.S. government agencies and partners
Federal agencies with a valid requirement can access through interagency agreements. Contact ACC-Redstone (see contacts below) to establish access.
3. Allied nations / Foreign Military Sales
The marketplace is being positioned to support FMS, but this pathway is still maturing. Allied partner access flows through the standard FMS/Security Cooperation process — your country's security cooperation officer is the right starting point.
How to Get Access as a .mil User
Public documentation on the exact login URL and account provisioning is not yet widely published. Here's the confirmed path:
Step 1 — Contact your S4/G4/Aviation officer
The marketplace was showcased at the AUSA Global Force Symposium (March 24–26) and AAAA Warfighting Summit (April 14). Units that attended those events were introduced to the portal directly. Your battalion/brigade S4 may already have access or be in the process of getting provisioned.
Step 2 — Go through PMO UAS
The Project Management Office for UAS (PM UAS) at Redstone Arsenal manages the marketplace. For access questions, reach out to the POCs listed in CSO W58RGZ-26-S-C001 on SAM.gov:
Miguel Harris — miguel.c.harris.civ@army.mil
Latoya Pryor — latoya.s.pryor.civ@army.mil
Even if you're a buyer and not a vendor, these are your best current contacts to get directed to the right access request process.
Step 3 — Attend the Marketplace Showcase (April 14)
The Army is hosting a Marketplace Showcase on April 14, 2026, prior to the AAAA Warfighting Summit. This is the single best event for units and buyers to get hands-on access, see a live demo, and get provisioned. Check SAM.gov for registration details.
What the Marketplace Does Once You're In
Once a user has access, the platform (built on AWS with the Army Enterprise Cloud Management Agency) provides:
Browse and compare — side-by-side comparison of vetted UAS systems by spec, Group classification, and capability
Soldier feedback — direct feedback mechanism from the field back to PM UAS and vendors
Order placement — submit procurement requests directly through the portal
Orders are not immediately fulfilled at the click of a button. Per Army officials, all transactions go through established contracting procedures before completion — the marketplace accelerates the process, it doesn't bypass statutory requirements.
The C-UAS Marketplace Is Different
There are two separate Army drone-related marketplaces. Don't confuse them:
Marketplace
Manager
What It Is
UAS Marketplace
PM UAS / ACC-Redstone
Buy drones (Group 1–3 UAS platforms)
Counter-UAS Marketplace
JIATF 401 / ACC-Aberdeen
Buy anti-drone systems and components (1,600+ items)
If you need counter-drone tech (sensors, effectors, C2 systems), that's the JIATF 401 / Common Hardware Systems portal, not this one. That marketplace uses the CHS (Common Hardware Systems) website with a separate access process managed through Army Contracting Command – Aberdeen Proving Ground (ACC-APG).
If You're a Non-DoD Government Agency (PS-LE, DFR, etc.)
Public safety, law enforcement, and first responder agencies are not the primary target audience for this marketplace — it's focused on DoD, other federal agencies, and allied nations. For PS-LE drone procurement:
DFR/public safety grants — FEMA BSIR, BJA, and state homeland security grants can fund Blue UAS compliant platforms Review needed: safety
CISA has separate guidance for critical infrastructure operators
If your agency has an existing DoD partnership or interagency agreement, contact ACC-Redstone about whether your organization qualifies for marketplace access.
Status as of April 2026
The marketplace launched March 24, 2026 — it's brand new. Expect:
Access provisioning processes to be informal and relationship-driven right now
Documentation to improve significantly over the next 60–90 days
New C4S amendments to CSO W58RGZ-26-S-C001 posted on SAM.gov as the catalog expands
Group 3 UAS expected to be added by summer 2026 (subject to FY27 funding)
Blue UAS List systems and Gauntlet competition winners to be added on a rolling basis
The current 30-system catalog is entirely drawn from existing PMO UAS programs of record. The real expansion — and the point where the marketplace becomes a meaningful procurement tool for most units — happens as those additional pipelines are integrated.
Note: The Army has not published a public-facing URL for the marketplace portal. If you find one, the April 14 showcase or your chain of command are the most reliable paths to confirmed access. This guide will be updated as the access process matures.
Handbook track
Part 6 — Autonomy
Autonomy levels, datasets, state estimation, detection, and onboard control.
"Autonomous" is a marketing word until you define what the machine does without
you, in what conditions, and what it does when it runs out of answers. This
chapter is a levels framework that pins all three down — and, unlike most such
charts, it names the real hardware that is the minimum to honestly claim each
level with 2026 technology.
The structure borrows from SAE J3016 (the 0–5 ladder the self-driving
industry standardized on) and the Exyn aerial-autonomy levels that adapted it
for drones. We keep their two best ideas — the cumulative ladder and the split
between "pilot is flying" and "operator is not flying" — and add the two rows
those charts leave out: the ODD (where the level is actually valid) and the
fallback (what happens when it fails). The last one matters most. A level
claim with no defined failure behavior is the thing that puts an aircraft into a
wall.
Levels of Drone Autonomy — full chart. Standalone/editable source: assets/aerial-autonomy-levels.svg (generated by assets/aerial-autonomy-levels.svg.py).
How to read the chart
Cumulative. Each level contains every capability below it. A Level 4A
drone can still do everything a Level 2 drone does; it just does more.
The dashed line at Level 3 is the real boundary. To its left the pilot is
flying the aircraft and the system assists. To its right the operator is not
flying — they task the system (a waypoint, an area, an objective) and it
executes. Crossing that line is a step change in liability, not just capability.
Two rows we added.ODD (Operational Design Domain) is the envelope the
level is valid in — GPS, light, degraded-visual conditions (dust/smoke/fog),
link, indoor/outdoor/subterranean. Fallback is the minimal-risk behavior when
an input degrades. SAE defines the fallback explicitly; most drone-autonomy
charts quietly drop it. We don't.
What we changed from the source frameworks
Change
Why
Replaced "limited / all conditions" with an explicit ODD row
"Limited" is unfalsifiable. An ODD (GPS-denied? dark? dusty? indoor?) is something you can test against and certify to.
Added a Fallback / minimal-risk row
The level you can claim is the level whose failure mode you've defined. Lost link, dead SLAM, low battery — each needs a defined safe state.
Added a hardware-minimum row
Autonomy claims drift toward fiction without a parts list. This row is the floor: below it, the level is not physically reachable.
Mapped each level to the Prismo stack (see table below)
So the ladder doubles as our own capability roadmap, not just a taxonomy.
Hardware minimums, level by level
The headline row of the chart. Each entry is the minimum current-tech bill of
materials that crosses the bar — and the failure mode that stops it short of the
next level. Hardware is illustrative of a class, not an endorsement.
L0 — gyro only. Any Betaflight rate-mode flight controller (a SpeedyBee
F405-class board). It damps rotation; it has no idea which way is up. Release
the sticks and it departs. This is most FPV freestyle hardware.
L1 — IMU + barometer. Add an accelerometer reference and a baro and you get
self-leveling and altitude hold (Betaflight ANGLE, or INAV). The failure mode
that keeps it off L2: with no position source it still drifts horizontally —
a gust walks it across the room.
L2 — a position source. Either GPS outdoors (a Pixhawk-class FC — Holybro
Pixhawk 6C / Cube Orange — with an M10 receiver, ArduPilot Loiter) or, for
GPS-denied position hold, an optical-flow sensor (PMW3901) plus a 1-D
rangefinder (TFmini / VL53L1x). It holds a point and can "sense and warn" off
the rangefinder. Failure mode: flow dies over low-texture or low-light floors,
and the 1-D rangefinder lies over edges and stairwells — it cannot avoid, only
warn. That gap is the wall before L3.
L3 — onboard avoidance compute + a 2-D/3-D obstacle sensor. Add a companion
computer (Raspberry Pi 5 for light payloads, Jetson Orin Nano when you need
the TOPS) and a real obstacle sensor — a 2-D LiDAR (RPLiDAR A2/A3) or a stereo
depth camera (Intel RealSense D435i) — feeding ArduPilot's BendyRuler/Dijkstra
avoidance. Now it senses and avoids along a set route. Failure mode: it plans
in 2-D or short-range depth, in good light, in a known area — push it into a
dark unmapped 3-D volume and it stops or clips. Review needed: performance / failure mode
L4A — 3-D LiDAR + real-time LIO-SLAM. This is the GPS-denied, build-the-map
level. Minimum: a Jetson Orin NX 16GB (or AGX Orin) running FAST-LIO2 /
Wildcat-class LIO-SLAM on a 3-D LiDAR — Livox Mid-360, Ouster OS0, or Hesai
XT32. Fielded examples: Skydio X10, Exyn ExynAero, Emesent Hovermap ST-X.
Failure mode: degenerate geometry — a long featureless tunnel or a smooth
silo gives the LIO nothing to lock to and the estimate slides. See
Perception for why, and how absolute fixes bound it.
L4B — semantics, not just geometry. Reasoning about what an obstacle is.
Minimum: a higher-TOPS Jetson AGX Orin plus sensing that survives degraded
visuals — multi-return LiDAR (penetrates light dust) or mmWave radar,
fused with thermal/RGB, running onboard classification. The point is to fly
through dust it recognizes as dust while still stopping for the branch it
recognizes as solid. Failure mode: a misclassification here is worse than no
classification — flying into a "dust cloud" that was a wall. The honest fallback
is to degrade to pure geometric avoidance when confidence drops (see below).
L4C — objective-level reasoning in heavy DVE. Minimum (and this is the
bleeding edge): an AGX Orin 64GB with LWIR thermal (FLIR Boson+) + RGB +
LiDAR and a VLM-class onboard model that reasons about the mission — "search
this smoke-filled floor and find people." Largely research-grade today (Exyn's
Level 4C is aspirational); this is the target for Prismo APB.
L5 — no hardware suffices. There is no 2026 sensor suite or compute that
delivers all-conditions, any-environment full autonomy. L5 is the asymptote, not
a product. Anyone selling it is selling L4 with the conditions filed off.
Where the line really is. Fielded, buy-it-today systems top out around
4A (Exyn, Emesent, Skydio X10). Semantic 4B is emerging in the best
platforms. 4C is research. 5 does not exist. A useful gut check: if a
vendor claims 4B+ but ships a single RGB camera and no thermal/LiDAR/radar, the
hardware can't back the claim.
Mapping to the Prismo stack
The ladder doubles as our internal capability roadmap. Prismo Prime is the
Tauri GCS (the operator's side of the line); Prismo APB is the on-board AI
(the aircraft's side).
The fallback column ties directly to the confidence-driven authority model in
Onboard AI & Control: autonomy should not silently
degrade when its inputs do — it should know they degraded and change behavior.
A level claim is only as good as its defined minimal-risk condition:
Link loss — L2/L3 fall back to position-hold or RTL; L4 continues the tasked
mission (the whole point of out-of-loop autonomy is surviving link denial) but
drops to a safe-hold if state estimation itself fails.
State-estimation loss (SLAM/flow drops out) — stop and hold, don't keep
flying on a dead estimate. This is the L4 equivalent of L1's "level and wait."
Confidence drop at L4B/4C — degrade down a level: semantic → geometric →
hold. Never up. An uncertain classifier flying through an obstacle is the
worst outcome on the chart.
Low battery — minimal-risk landing always wins over mission completion,
every level.
The benchmarks that tell you whether your state estimate is honest enough to
trust at L4 live in Datasets & Benchmarks — replay ground truth
through your estimator before you let it fly the fallback logic.
A level you can claim is a level whose failure mode you have defined and whose
hardware can physically back it. Everything else is a demo.
The data you train and test autonomy on decides what it can do — and the
license on that data decides what you may ship. This chapter is a working
catalog of the public datasets relevant to drone perception, detection, and
state estimation, with the one thing most lists leave out: whether you can
actually use it.
The machine-readable version is published at
dronewukong.github.io/forge-data/autonomy/datasets.json (filterable by task,
license class, and verdict).
The license trap — read this first
A dataset being public does not mean you can put it in a product. Three
buckets matter:
License class
Examples
What you may do
Permissive
CC BY 4.0, MIT, Apache-2.0
Use in products; just attribute
Non-commercial
CC BY-NC-SA
Research only. Not in anything you sell
Unconfirmed / closed
"see Kaggle page", ToS-only, no license
Assume nothing; confirm before use
The failure mode is real: teams train a shippable model on a CC BY-NC-SA
benchmark, then can't legally ship it. Check the license before you download,
not after you've built on it.
VIO / SLAM benchmarks (state estimation)
Dataset
Content
License
Use
UZH-FPV
Real FPV racing: camera + IMU + event camera + Leica ground truth, to 100 km/h
Indoor MAV, stereo + IMU + Vicon/Leica ground truth
CC BY (per-sequence)
check sequence
Both UZH-FPV and Mid-Air are non-commercial: excellent for evaluating a
GPS-denied estimator (see Perception), off-limits for product
data. Ground truth from any of these projects into a common t,x,y,vx,vy form
and you can replay it through an estimator without the raw imagery.
Computer-vision detection (drone / counter-UAS)
Dataset
Content
License
Seraphim
83k YOLO images, single "drone" class, curated from 23 sets
CC BY 4.0
pathikg
54k COCO images, drone class, from video frames
MIT
Maciullo DroneDetectionDataset
51k+5k images (the upstream of pathikg)
MIT (labels)
Birds vs Drone
bird/drone discrimination — the real C-UAS false-positive problem
unconfirmed
Seraphim and pathikg are permissively licensed and are a ready training base for
a visual drone detector. Note Maciullo is the original of the pathikg set —
de-duplicate or you will train and test on the same frames.
RF signature data
Dataset
Content
License
DroneRF
3 consumer drones (Parrot Bebop, AR 2.0, DJI Phantom 3) across 2.4 GHz ISM
Search-and-rescue: detects people from drone imagery, not drones
Listed because it is commonly mis-filed under "drone datasets." Useful only if
you are building person-detection for SAR.
Discovery, not datasets
Google Dataset Search and Roboflow Universe (class:drone) are indexes, not
datasets — each hit needs its own license check. DTIC (discover.dtic.mil) is a
public-domain source of UAS technical reports, not training data, but it is the
best open well for program and counter-UAS doctrine.
A dataset with no stated license is not "free" — it is unresolved. Treat it as
unusable until someone confirms otherwise.
Perception: VIO, SLAM & GPS-Denied State Estimation
GPS denial is the operational baseline in contested airspace — jammed,
spoofed, or simply unavailable. When it happens, the drone still has to know
where it is. This chapter is about how, and where the common answers break.
Two kinds of position fix
Every GPS-denied method is one of two types, and the distinction is everything:
Relative methods answer "how have I moved since the last fix." Absolute methods
answer "where am I, full stop." You need both: relative for smooth high-rate
motion, absolute to stop the relative drift from running away.
Why VIO drifts
Visual-inertial odometry fuses a camera and an IMU. It is the workhorse of
GPS-denied flight and it is genuinely good — locally. But it integrates velocity
to get position, and any small, slowly-varying bias in that velocity integrates
into a position error that only grows. Over a long denial, metres become
tens of metres become hundreds.
The dangerous part is not the drift — it is that a naive filter does not know
it is drifting. Its reported uncertainty can stay small (falsely confident)
while the true error climbs. Model the velocity bias as a state and the
uncertainty grows honestly when there is nothing to correct it; skip that and
the operator gets a green light over a wrong position.
How absolute fixes bound it
Visual georegistration matches the onboard camera (including thermal) to
satellite/aerial reference maps plus terrain (DEM) for an absolute position
that does not accumulate. It needs texture, a map, and adequate light — so it
is intermittent, but each fix resets the drift.
RF anchors (signals-of-opportunity): recognizing a known-location emitter
bounds you to its coverage region. Coarse (accuracy ≈ emitter spacing) but it
works at night and in featureless terrain where vision fails. See
Detection.
IMU dead-reckoning is the floor — always available, drifts in seconds,
buys time when everything else is gone.
Stack them on a degradation ladder: absolute fixes bound VIO; the coarse
fallbacks catch what is left.
The failure modes that bite
Trusting VIO over a long denial. It is locally smooth and looks healthy
right up until the accumulated drift puts you somewhere you are not.
Overconfident covariance. A filter that under-reports its own uncertainty
will reject the very fix that would correct it (its innovation looks like an
outlier). Recovery after a long drift needs an adaptive gate, not a fixed one.
Coarse anchors applied to a confident estimate. A 50–100 m RF anchor used
when you already know your position to a few metres pulls you off. Only fuse
a coarse, biased anchor when you are more lost than the anchor is coarse.
Benchmarks
Evaluate estimators against ground truth before trusting them in the field.
UZH-FPV (aggressive, real) and Mid-Air (synthetic, multi-climate) are the
standard public benchmarks — both non-commercial, so for research evaluation
only (see Datasets). Project their ground truth into a common
t,x,y,vx,vy trace and replay it through your estimator; the result tells you
how far you drift through a denial window and whether your confidence is honest.
Position is not a number, it is a number with an uncertainty. An autonomy
stack that ignores the second half will eventually fly the first half into the
ground.
Detecting a drone — yours, a swarm-mate, or a threat — happens in two
independent modalities. They fail in different conditions, which is exactly why
you want both.
RF detection (passive)
Every drone radiates: a control link, a video downlink, telemetry, sometimes a
GPS-denied mesh. A passive RF detector listens for those emissions. Passive
means it transmits nothing — no probe requests, no giveaway — which matters on
patrol.
What you match on:
Layer
Signal
Notes
Control link
2.4 GHz / 900 MHz / 5.8 GHz FHSS, ELRS, Crossfire
narrowband, hopping
Video
analog 5.8 GHz, DJI OcuSync, WiFi
wideband
Consumer drones
2.4 GHz WiFi-class (Parrot, DJI Phantom)
wideband, from the DroneRF dataset
MANET / mesh
Doodle Labs, Silvus, Persistent Wave Relay
tactical
The DroneRF dataset (CC BY 4.0) provides labeled 2.4 GHz signatures for three
consumer drones — the starting point for a consumer-drone detector. Tactical and
military C2 signatures are a separate, narrowband problem.
Failure modes. RF detection needs a signature it recognizes — a genuinely
new emitter is invisible until learned. Wideband WiFi-class signatures and
narrowband FHSS C2 are different detection problems; a detector tuned for one
will miss the other. And the RF environment is crowded: telling a drone control
link from a WiFi access point is the hard part, not seeing energy.
Visual detection
A camera plus a detector model finds drones as small objects against sky or
clutter. The datasets are permissively licensed and ready (Seraphim CC BY 4.0,
pathikg MIT — see Datasets).
Failure modes. The signature failure of visual detection is the bird.
Small, fast, erratic, and everywhere — birds are the dominant false positive for
any sky-facing drone detector, which is why the bird-vs-drone discrimination
problem has its own datasets. Visual also needs line of sight and light; it is
blind at night, in fog, and behind terrain — precisely where RF still hears.
Why both
Condition
RF
Visual
Night / fog
hears
blind
RF-silent drone (wired/autonomous)
deaf
sees
New/unknown emitter
misses
may still see
Bird vs drone
not fooled (no RF)
fooled
The modalities cover each other's blind spots. A serious detection posture fuses
them rather than betting on one.
Detection feeds navigation
The same passive RF detector that finds threats can also position the
aircraft: a recognized, known-location emitter is a coarse navigation anchor
when GPS is denied (see Perception). One payload, two jobs —
threat sensing and a denial-resilient position fix.
"We didn't detect it" almost always means "we weren't listening on that
modality." Birds will teach you humility; RF silence will teach you the rest.
State estimation, perception, planning, control and command authority are separate responsibilities. Neural inference can support perception; classical estimation, geometry and control do not universally require a neural network.
Health is not permission
A navigation uncertainty value alone cannot authorize autonomy. The former table permitting full autonomy below a universal 5 m sigma is withdrawn. A reported covariance may be stale, inconsistent or expressed in a different frame; it also says nothing by itself about clearance, speed, command ownership or the aircraft's validated operating envelope. Review needed: performance / configuration
Input
What an integration must establish
Evidence
Position/velocity
Reference frame, sample age, validity, uncertainty and estimator integrity
—
Environment
Observation coverage, clearance and missing/stale-data behavior
—
Control
Exact firmware mode prerequisites and supported setpoint/frame semantics
—
Authority
Current command owner, operator override and bounded action contract
Review needed: performance / configuration
Degradation
Documented behavior for invalid estimates, lost links and failed components
—
For PX4 v1.17, Offboard mode requires a continuing proof-of-life stream and documented entry/loss conditions. Those firmware requirements do not establish application safety. PX4 v1.17 Offboard documentation, checked 2026-10-07. Review needed: safety / configuration
Software verification
Exercise stale samples, clock jumps, frame mismatch, sensor disagreement, disconnect/reconnect and operator revocation in simulation or replay. Log the input, decision, owner and resulting state transition. Passing a software test establishes that tested contract; hardware integration and field acceptance remain separate evidence categories.
This card supports planning and calculations. It is not a frequency authorization, equipment certification or guaranteed-range table. Use the current regulatory resources and frequency planning worksheet.
Record before selecting a channel
Item
Required record
Evidence
Jurisdiction and authority
Applicable rules, license/authorization, current equipment approval and permitted operating mode
—
Equipment
Exact radio/adapter revision, firmware, antennas and configured power
Review needed: performance / configuration
Occupied spectrum
Center frequency, bandwidth, harmonics and all co-located transmitters
—
Separation test
Receiver filtering, near/far geometry, antenna isolation and simultaneous-link test result
—
Performance
Packet mode/rate, sensitivity for that mode, link margin and measured conditions
—
A center-frequency list is not an occupied-bandwidth plan. There is no universal 40 MHz spacing that guarantees zero interference and no universal limit of three simultaneous FPV links. Channel labels can include frequencies outside the permitted band. Obtain the exact device channel table and coordinate the complete installation.
At 915 MHz and 10 km, this convention gives 111.68 dB, not 91.5 dB. The 32.4 rounded convention used by the handbook calculator differs by 0.05 dB. State the constant and units when comparing results.
derived · evidence
32.45 + 20 log10(915 MHz) + 20 log10(10 km) = 111.68 dB. Free-space calculation only; no field-range or regulatory conclusion.
Exact cited specification or dimensional example only; no hardware acceptance.
A usable link budget also includes receive antenna gain, cable/installation losses, receiver sensitivity for the selected mode and a stated fade margin. Terrain, Fresnel clearance, interference, antenna orientation and equipment restrictions affect the result. Free-space loss is a calculation, not field evidence or permission to operate at the calculated distance.
See Link Budgets for the calculator and managed mathematical references. The former generic ELRS range promises and obstacle divisors are withdrawn.
Procurement status
Country of headquarters is not a compliance conclusion. Record the exact item, configuration, buyer, applicable prohibition/contract clause and dated evidence using the federal procurement screening guide. This card assigns no nationality-based compliance badges.
Commands sent via COMMAND_LONG (ID: 76) or COMMAND_INT (ID: 75).
FC replies with COMMAND_ACK (ID: 77): result 0=accepted, 1=temp rejected, 2=denied, 3=unsupported, 4=failed.
MAV_CMD_NAV_TAKEOFF (22)
Request takeoff; arming and mode prerequisites depend on firmware. param7 = target altitude in meters. Review needed: safety / configuration
MAV_CMD_NAV_LAND (21)
Land at current position. FC handles descent and motor cutoff.
MAV_CMD_NAV_RETURN_TO_LAUNCH (20)
Request return-to-launch; destination, flight behavior and landing settings are firmware/configuration-specific.
MAV_CMD_NAV_WAYPOINT (16)
Navigate to waypoint. param5=lat, param6=lon, param7=alt.
Cycle time, I2C errors, sensor flags, flight mode, arming flags
Review needed: safety
150
MSP_STATUS_EX
Request
Extended status including arming disable flags
Review needed: safety
Arming check from MSP_STATUS:
payload[9..10] = flags word
flags & 0x01 = armed
Common arming disable flags (MSP_STATUS_EX payload[13..14]):
- bit 0: No RC
- bit 2: Roll/Pitch not centered
- bit 3: Throttle not low
- bit 7: Calibrating Review needed: safety
PID & Rates
Code
Name
Direction
Description
111
MSP_RC_TUNING
Request
Rates, expo, throttle curve. 14 bytes.
112
MSP_PID
Request
PID values. 30 bytes: 10 axes × [P, I, D].
202
MSP_SET_PID
Send
Write PID values. Same 30-byte format as MSP_PID.
204
MSP_SET_RC_TUNING
Send
Write rate/expo settings.
MSP_PID payload layout:
Byte 0,1,2 = ROLL P, I, D
Byte 3,4,5 = PITCH P, I, D
Byte 6,7,8 = YAW P, I, D
Byte 9..29 = ALT, POS, POSR, NAVR, LEVEL, MAG, VEL
Filters
Code
Name
Direction
Description
92
MSP_FILTER_CONFIG
Request
Gyro LPF, D-term LPF, notch filters
223
MSP_SET_FILTER_CONFIG
Send
Write filter settings
RC & Channels
Code
Name
Direction
Description
105
MSP_RC
Request
Raw RC channel values (1000–2000). 32 channels max.
200
MSP_SET_RAW_RC
Send
Override RC channels. Use with caution — bypasses failsafe.
Sensors
Code
Name
Direction
Description
102
MSP_RAW_IMU
Request
Raw accelerometer (±512), gyro (±16384), magnetometer (±1024)
108
MSP_ALTITUDE
Request
Altitude (cm), vario (cm/s)
109
MSP_ANALOG
Request
Voltage (0.1V units), mAh used, RSSI, amperage
Persistence
Code
Name
Direction
Description
250
MSP_EEPROM_WRITE
Send
Persist all pending changes to flash. No payload. FC may briefly pause. Call after any SET command or changes are lost on reboot.
Write Sequence
Always follow this order for parameter write-back:
def msp_crc(size, cmd, payload):
crc = size ^ cmd
for b in payload:
crc ^= b
return crc & 0xFF
Common Gotchas
EEPROM_WRITE is mandatory. SET commands update RAM only. Power cycle without EEPROM_WRITE = all changes lost.
Don't write while armed. FC will ignore or return error. Check status first.
Verify-read is not optional. FC may silently reject values outside valid range. Always read back and compare.
MSP_SET_RAW_RC overrides failsafe. If your code crashes while RC override is active, the drone will fly away. Use MSP_SET_RAW_RC only for testing, never in production without a watchdog.
<event type="a-f-A-C-H-Q" ...>
<!-- a = atoms, f = friendly, A = air, C = civil, H = rotary, Q = unmanned -->
<detail>
<contact callsign="DFR-01"/>
<status readiness="true"/>
<uas type="DFR" model="Skydio X10D"/>
</detail>
</event>
Detected Hostile UAS
<event type="a-h-A-M-H-Q" ...>
<detail>
<contact callsign="UNK-01"/>
<remarks>Detected 5.8GHz analog video, ~200m altitude, S approach</remarks>
</detail>
</event>
Launch Point Marker
<event type="b-m-p-j" ...>
<detail>
<contact callsign="LP-NORTH"/>
<remarks>DFR launch point, clear approach from W</remarks>
</detail>
</event>
ATAK Integration Notes
PLI (Position Location Information): UAS PLI tracks appear in ATAK
with the UAS icon when using a-f-A-*-Q type codes. Most autopilot
MAVLink bridges (WinTAK-UAS, DRONELINK) emit these automatically.
GeoFence: Use a-u-r (unknown, area) type for geofence boundaries.
Emergency: Use b-r-e emergency type for lost link / emergency RTL
alerts sent from GCS to TAK network.
Team Awareness: Pilots should appear as a-f-G-U-C-F (friendly
ground unit) with their location, not as UAS tracks.
Further Reference
MIL-STD-2525C: Department of Defense Interface Standard: Common Warfighting Symbology
Authoritative, publicly accessible references for UAS regulation, safety
data, and standards. Bookmark these — they are the primary sources the rest
of this handbook cites for "the rules."
Structured machine-readable copy: data/erau_resources.json.
Resources surveyed from the Embry-Riddle UAS research guide; only non-paywalled
entries are listed here.
United States — Regulatory
Resource
What it is
URL
Evidence
FAA UAS Portal
Top-level US rules hub: Part 107, registration, B4UFLY, Remote ID
Part 107 is the floor, not the ceiling. State and local law (see NCSL)
adds restrictions the FAA does not — privacy, trespass, takeoff/landing-site
rules. Check both before a job. Review needed: regulatory
ASIAS is a real corpus. Incident reports are searchable and worth reading
before flying an unfamiliar profile — the failure modes repeat.
Subscription databases (Janes, Scopus, ScienceDirect) are not listed here
— they require institutional access and cannot be cited as open sources.
See data/erau_databases.json in the forge-data repo if you have access.
Regulation changes faster than this handbook. These are the canonical
sources — when in doubt, go to the regulator's own page, not a summary.
Handbook track
Living Reference — Updates & Emerging Technology
Verified repository notes, dated release checks and emerging software discovery.
3 references
Chapter 62 · Living Reference — Updates & Emerging Technology
This chapter receives independently checked factual additions discovered from the publisher's related public repositories. Private repositories contribute through their existing sanitized public export route.
Each addition identifies its exact statement, version scope, checked date and source record. A README, recent commit or simulated example does not establish hardware acceptance. Two isolated research roles must agree on the exact statement and scope, and software must retrieve the cited passages from the sources before publication. Corrections preserve prior wording in the evidence history.
Last checked: 2026-10-15 UTC. Version matches establish metadata only; they do not verify every claim in a chapter. A changed release opens a section check. Preview releases remain separate from published stable releases. This table observes GitHub releases; projects may also distribute builds through other channels. A tag or code push is not a published release.
Firmware: changed parameters, units, defaults, board targets and configurator compatibility.
Protocols: XML/DSDL definitions, versioned serialization, enums and service support.
Video/compute: image/kernel/driver/compiler compatibility, model operators and timing boundary.
Procurement/regulations: exact authority, effective date, configuration and superseding material.
Prices/availability: current first-party offer/date; a release is not stock availability.
Source availability and due dates are checked nightly. Software release metadata is refreshed nightly; each entry has a seven-day maximum intended interval. A failed check retains the previous observation as unavailable rather than claiming freshness. New releases trigger independent claim checks; they never silently change an aircraft's configuration.
Observed 2026-10-15 UTC; next scheduled check by 2026-10-22 UTC. This automatically maintained list uses GitHub search metadata. Selection is an editorial inference from topic relevance and recent activity, not a performance endorsement or hardware acceptance.
Open-source, self-hosted command and control for fleets of unmanned vehicles and trackers, in your browser. Live web console for real or simulated MAVLink vehicles (PX4, ArduPilot): fleet map, telemetry, commands, missio
Real-world 4D simulation for multi-agent drones: city-scale point-cloud digital twins, drone swarm simulation and swarm control, target perception and an interactive sandbox in the browser. PX4-style flight model; Gazebo
Autonomous UAV navigation in GNSS-denied indoor spaces with no prior map: stereo VIO (MSCKF) and lidar-inertial odometry with map-based relocalization (SLAM), 3D occupancy mapping, D* Lite path planning and GPU MPPI obst
A robust, generic multi-camera visual-inertial SLAM system in C++ with a GTSAM back-end for real-time localization and mapping in challenging environments.
Lightweight DroneCAN node toolkit built on top of libcanard, platform_specific and libparams
none observed / unknown
2026-10-06
MPL-2.0
watch-only; capability unverified
What the next check must establish
Exact released version and publication date; a recent code push is not a release.
License/rights, supported interfaces, reproducible examples and active issue/release history.
Whether the claimed capability exists in source/tests, and what remains simulation, bench or field evidence.
Primary documentation, conflicting evidence and relevance to an existing integration gap.
No discovered code is executed, installed or granted credentials. Repository descriptions are attributed claims. Relevant factual additions enter separate researcher/verifier checks before becoming handbook guidance. Stars and commit activity indicate attention/activity, not technical quality.
Handbook track
Publisher & Legal
Publisher identity, editorial independence, corrections, privacy, reliance limits, licensing, and rights procedures.
Effective date: August 2, 2026 Publisher: Jeremiah Wong / Midwest Nice UAS LLC Repository operator: DroneWuKong
Publisher identity
The Drone Integration Handbook is published and maintained by Jeremiah Wong through Midwest Nice UAS LLC. Product names, company names, trademarks, and government-program names are used for identification, commentary, comparison, and documentation. Their appearance does not by itself mean sponsorship, certification, partnership, endorsement, or approval.
Independent publication
The handbook is an independent editorial and technical reference. Unless an article expressly states otherwise:
no manufacturer, supplier, customer, government program, standards body, or other third party is represented as the publisher;
no third party is represented as having reviewed or approved the article;
manufacturer-provided information must be labeled as such;
favorable or unfavorable editorial conclusions remain subject to the handbook's evidence and corrections policy.
Material that depends on nonpublic access, client work, vendor-provided information, proprietary configurations, or another relationship that could affect how a reader weighs the article is handled through article-specific review, source labeling, independent verification, narrowing of public scope, or a publication hold.
Relationship details that are not necessary to understand the released public text are maintained in the private source-of-record and review system rather than displayed as a site-wide banner.
Editorial separation
The handbook aims to distinguish:
Official-source verified — supported by a current regulator, standards body, official list, accepted declaration, or primary manufacturer document.
Manufacturer-reported — supplied or published by the company and not independently verified.
Field-observed — documented bench or field observation with the relevant configuration and date.
Inference or opinion — an interpretation based on disclosed facts.
Unknown or configuration-specific — insufficient evidence for a reliable conclusion.
A commercial or professional relationship does not convert a manufacturer statement into an independently verified fact.
Nonpublic and relationship-derived information
Nonpublic information should not be published unless its provenance, rights, confidentiality constraints, technical accuracy, and public-release scope have been documented. Content that cannot satisfy those conditions remains private or on public review hold.
The private evidence and review record is maintained separately from the public Handbook. The public repository contains the approved public text and nonprivileged review summaries, not the complete internal record.
Contact
For editorial-independence questions, right of reply, corrections, or documentary evidence, email jeremiah@midwestniceuas.com.
Proposed feature update: October 1, 2026; pending publication.
The handbook covers technical systems, named companies, public officials, regulations, procurement programs, safety-critical configuration, and defense-adjacent subjects. Accuracy, source preservation, and prompt correction are therefore part of the publication process. Review needed: safety / performance
Evidence standard
Material claims should identify their evidentiary status:
Label
Meaning
Evidence
Derived
Formula-based result with stated units, assumptions and source; software checking is not a field observation
—
Unreviewed
Visible claim whose supporting evidence has not yet been linked and checked
—
Official-source verified
Supported by a current primary government, standards, or accepted compliance source
Review needed: regulatory / performance
Manufacturer-reported
Published or supplied by the manufacturer; not independently verified
—
Field-observed
Recorded from a defined configuration, test, or deployment
—
Inference / opinion
Editorial interpretation based on disclosed facts
—
Unknown / program-specific
Evidence is incomplete or the result depends on configuration, contract, agency, or jurisdiction
—
Statements such as “compliant,” “safe,” “cleared,” “certified,” “legal,” “EAR99,” or “FOCI clean” should not appear without identifying the authority, item or configuration, source, verification date, and limits of the conclusion. Review needed: regulatory
Corrections
Use a Report / add field evidence or Flag this control beside the relevant article or datum. The form carries the claim and release, supports a saved draft, and returns a private receipt only after storage succeeds. Optional files are private when attachment storage is configured. Reports enter a private review queue and are not automatically published. If submission is unavailable, save the draft and use the contact route below.
the article title and repository path or stable link;
the exact statement being challenged;
why it is inaccurate, misleading, stale, or incomplete;
primary documents or other evidence;
the correction requested;
any relationship you have to the subject.
A public GitHub issue may also be used for non-sensitive corrections. Do not post confidential, controlled, personal, security-sensitive, or export-restricted material in a public issue.
Review process
The publisher will ordinarily:
preserve the challenged version and source record;
assess the cited evidence and seek additional primary sources when needed;
contact the affected party when a materially adverse claim requires clarification or right of reply;
correct, qualify, retract, or retain the statement based on the record;
date material corrections and explain the change when appropriate.
Urgent safety, identity, privacy, legal, or clearly false factual issues receive priority. A request is not guaranteed to produce the outcome requested, but it will be evaluated in good faith.
Retractions and publication holds
Material may be temporarily replaced with a publication-hold notice when:
legal or export-control review is required;
a safety-critical instruction cannot be substantiated; Review needed: safety
a regulatory article is materially stale or inaccurate;
source ownership or confidentiality is disputed;
a conflict disclosure is incomplete;
the evidence record is insufficient for a named adverse claim.
A hold preserves the path and publication history without presenting the prior material as current guidance.
Right of reply
Companies and identifiable people may provide a concise response and supporting evidence. Relevant, verifiable corrections will be incorporated; disputed editorial conclusions may be updated to present the material facts and the subject's response fairly.
No pay-to-edit rule
Payment, sponsorship, consulting, donations, equipment access, or commercial pressure do not purchase favorable coverage or prevent correction. Material relationships must be disclosed under the Affiliations policy.
Proposed feature update: October 1, 2026; pending publication.
This notice describes the handbook website operated by Jeremiah Wong / Midwest Nice UAS LLC. It does not govern GitHub, Cloudflare, Google Fonts, Google Analytics, linked manufacturers, regulators, or other external services.
Handbook search and browser behavior
Search runs locally against content already loaded in the browser tab. The handbook search feature does not transmit search queries, generated session identifiers, scroll-depth or time-on-page events, outbound-link text, coarse region inferred from time zone, or other handbook behavioral analytics events.
Google Analytics
The handbook offers optional Google Analytics 4 to measure aggregate website traffic and help prioritize which references need work. Analytics is off until you choose Allow analytics in the small privacy card. Choosing No thanks does not limit the handbook or its features, and you can change the choice later through the Privacy choices control on every page.
If you opt in, Google may process technical usage data such as pages visited, device and browser information, referral source, approximate location derived from IP address, and cookie or similar-identifier data under Google's Privacy Policy. The handbook does not intentionally send Google Analytics search queries, names, email addresses, or other direct identifiers. It does not sell personal data or use handbook activity for targeted advertising.
Infrastructure data
Ordinary hosting, content-delivery, DNS, security, and network systems may process technical request information such as IP address, date and time, requested path, user agent, referral information, and security signals. The exact records depend on provider configuration and operational needs. This notice does not promise that infrastructure providers create no logs.
Information you choose to send
When you submit a discrepancy or field observation, the service stores its claim/article ID, target wording, public release, deployment commit and available source-file revision/path, your description, optional proposed correction and public source URL, configuration, date, conditions, measurement method, optional contact email, relationship disclosure, and consent in a private editorial database. Optional evidence files are stored privately when the attachment service is configured. Submission returns a receipt; its private token permits status checks and is not stored in plaintext. Reports and attachments do not enter the public build, search exports, analytics, or offline cache. A reviewer may prepare public correction wording after evidence and publication review.
To limit abuse, the service temporarily records a hash of the request IP address combined with an hourly window and a request count; those rate-limit rows expire after one day. Hosting systems may separately process infrastructure data as described above.
Save draft stores report text in local browser storage only when you choose it. Clear draft removes the saved draft. Downloaded receipts remain on your device until you delete them. Save offline release stores public articles, data and calculators together in your browser. Submission and private review require a connection. Reports and optional attachments are retained under the editorial-record principles below; the rate-limit cleanup does not delete evidence.
When you email or submit a GitHub issue, the publisher receives the information you provide. It may be used to:
respond to the request;
investigate a correction, security, privacy, or rights concern;
preserve the editorial and legal record;
prevent abuse or protect the service.
Do not send classified, export-controlled, proprietary, personal, medical, financial, authentication, or other sensitive information unless a secure and authorized process has been established.
Sale and advertising
The handbook does not sell personal data or use handbook activity for targeted advertising. External links may be governed by different practices.
Retention
Correspondence and supporting evidence may be retained for as long as reasonably necessary to resolve the request, document publication decisions, comply with legal obligations, protect rights, and maintain security. Unneeded information should be minimized or deleted when practical.
Security
No Internet service can guarantee absolute security. Report a suspected vulnerability privately under the repository Security Policy.
Privacy requests
Questions about handbook data practices, requests to correct information you submitted, or deletion requests may be sent to jeremiah@midwestniceuas.com. The response may require reasonable verification and may be limited by legal, security, editorial-record, or evidentiary obligations. Review needed: regulatory
Changes
Material changes will be dated on this page. Continued publication of an older cached copy does not establish that the older notice remains current.
The Drone Integration Handbook is an informational and editorial reference. It is not legal advice, export-control advice, aviation authorization, spectrum authorization, procurement certification, engineering approval, cybersecurity authorization, ordnance instruction, medical advice, or a substitute for manufacturer documentation and qualified professional review.
Regulations, official lists, firmware, hardware, prices, ownership, product availability, and technical behavior change. Verify the current primary source and the exact configuration before acting. Review needed: performance / configuration
Prohibited reliance and use
Nothing in the handbook authorizes or recommends:
unlawful transmission, jamming, spoofing, interference, interception, surveillance, or circumvention;
defeating Remote ID, geofencing, identification, safety, access-control, or regulatory systems;
attacking, damaging, intercepting, or targeting aircraft, people, property, communications, or infrastructure;
constructing, integrating, arming, or operating a weapon or explosive payload without lawful authority and qualified controls;
exporting, releasing, transferring, or supporting controlled technology, software, services, end users, or end uses;
operating an aircraft contrary to applicable rules, waivers, authorization, manuals, maintenance requirements, or site procedures.
Publication of historical, technical, or newsworthy information is not permission to perform the described activity.
Safety-critical work
Aircraft, batteries, RF equipment, power electronics, propellers, autonomous software, and payloads can cause fire, injury, death, property damage, interference, loss of control, and legal exposure. Use qualified personnel, controlled test plans, appropriate personal protective equipment, safe separation, manufacturer limits, and jurisdiction-specific authorization.
When information conflicts, use current law, regulator direction, manufacturer documentation, approved organizational procedures, and the more conservative safety control.
No warranty
To the maximum extent permitted by applicable law, the handbook is provided as is and as available, without warranties of accuracy, completeness, merchantability, fitness for a particular purpose, noninfringement, availability, or suitability for safety-critical use. Review needed: safety / performance
The publisher may correct, withdraw, or place material on hold without notice. A timestamp or “last updated” label does not guarantee current accuracy.
Limitation of liability
To the maximum extent permitted by applicable law, the publisher and contributors are not liable for indirect, incidental, special, consequential, exemplary, or punitive damages arising from use of or reliance on the handbook. Nothing here excludes liability that cannot lawfully be excluded, and no disclaimer protects knowingly false statements or other conduct for which liability cannot be waived.
External links and third parties
External links are provided for reference. The publisher does not control their availability, content, security, privacy, or continued accuracy. Product and company names are generally used nominatively; trademarks remain the property of their owners. No affiliation or endorsement is implied except as expressly disclosed.
Intellectual property
Use of handbook content and code is governed by the applicable license and the IP and takedown policy. Third-party material is not relicensed merely because it appears in the repository.
Intellectual Property, Attribution, and Takedown Policy
Effective date: July 31, 2026
License scope
The handbook uses separate licensing for original editorial content and software:
original Markdown prose, original diagrams, and original reference data are generally offered under CC BY-SA 4.0 unless a file states otherwise;
original Python, JavaScript, CSS, and HTML/template code is offered under the code license identified in LICENSE-CODE;
third-party text, images, diagrams, datasets, code, trademarks, and specifications remain subject to their own rights and terms.
A repository license cannot grant rights that the publisher or contributor does not own.
Attribution and provenance
Contributors must identify copied, adapted, quoted, generated, or third-party material and provide the source and applicable license or permission. Manufacturer specifications and public records should be cited precisely enough to locate the source and verification date.
Trademarks and product names are used for identification, comparison, reporting, and commentary. Their use does not transfer trademark rights or imply sponsorship.
Rights and takedown requests
Send copyright, trademark, privacy, confidential-information, or other rights concerns to jeremiah@midwestniceuas.com. Include:
your name and contact information;
the affected page, repository path, or stable link;
the work, mark, information, or right at issue;
the basis for your ownership or authority;
the specific material challenged;
the action requested;
supporting documents or source links;
a statement that the submission is accurate and made in good faith.
Do not post sensitive evidence in a public issue. The publisher may request additional information to verify identity, authority, ownership, or the scope of the claim.
Review and preservation
The publisher may temporarily remove or replace disputed material while investigating. Relevant versions, correspondence, source records, and publication decisions may be preserved to maintain an accurate legal and editorial record. Following review, material may be restored, attributed, revised, licensed, or permanently removed.
Counter-information and mistakes
A takedown request is not automatically accepted merely because it is submitted. Commentary, criticism, quotation, facts, public records, licenses, permissions, and other legal doctrines may permit use. Conversely, a fair-use label or attribution does not automatically make copying lawful.
This process is a voluntary contact procedure and does not represent that the site qualifies for any particular statutory safe harbor or that the email address is a registered statutory agent.
Reference library
Platform References
Full integration profiles covering links, firmware, payloads, SDKs, compliance, and field gotchas.
Category: Commercial Off-the-Shelf (COTS)
NDAA Status: XE variant is NDAA compliant; standard V2 has mixed sourcing
Manufacturer: Autel Robotics (Bothell, WA / Shenzhen assembly) Review needed: regulatory
Overview
Autel's flagship enterprise drone and the most direct competitor to the DJI M30T. Quad-sensor gimbal (wide, zoom, thermal, laser rangefinder), GPS-denied flight via SLAM, A-Mesh drone-to-drone networking, and no geofencing. Positioned as the go-to DJI alternative for public safety and inspection operators. Review needed: safety
Specs
Spec
Value
Weight
~1.185 kg (2.61 lb) takeoff
Max Flight Time
42 min
Max Speed
23 m/s
Service Ceiling
23,000 ft
Wind Resistance
27 mph
IP Rating
IP43
Operating Temp
-20°C to 50°C (-4°F to 122°F)
Sensors
Sensor
Spec
Wide Camera
50MP 1/1.28″ CMOS, f/1.9, 85° DFOV
Zoom Camera
48MP, 10x optical / 160x hybrid zoom, 8K
Thermal
640×512, 13mm, 16x digital zoom, -20°C to 550°C
Laser Rangefinder
5–1200 m, ±1 m accuracy
Obstacle Avoidance
720° — binocular vision + mmWave radar
RF Links
SkyLink 3.0
Antennas: 6 (4 tx, 6 rx)
Frequency Bands: 900 MHz, 2.4 GHz, 5.2 GHz, 5.8 GHz — adaptive frequency hopping
A-Mesh 1.0: Drone-to-drone autonomous communication — drones relay comms and extend network coverage without ground infrastructure
Frequency Restrictions
5.2 GHz only available in FCC, CE, UKCA regions Review needed: regulatory
900 MHz only available in FCC regions Review needed: regulatory
Firmware & Software
GCS: Autel Enterprise App (Android, on Smart Controller V3)
Firmware: Proprietary, OTA updates
SDK: UX SDK (iOS/Android), Payload SDK for third-party mounts
No MAVLink, no QGroundControl
Data stays local — no mandatory cloud connection, no cloud upload unless operator enables it
Autonomy & GPS-Denied Flight
Autel Autonomy Engine: Real-time 3D scene reconstruction and autonomous path planning
GNSS-Denied Navigation: SLAM-based visual navigation for indoors, underground, urban canyons
AI Target Detection: Auto-identify and lock onto heat sources, people, vehicles
Mission Reproduction: Fly once manually, the drone replays the exact mission autonomously
Triple Anti-Jamming: RFI, EMI, and GPS spoofing countermeasures
Payload Integration
Integrated quad-sensor gimbal — not swappable
Payload SDK interface for accessories (loudspeaker, spotlight, RTK module)
RTK module available for cm-level positioning
Compatible with EVO Nest for automated remote operations
Gotchas
No geofencing — good for operators who need flexibility, but means no built-in airspace safety net. Know your airspace.
NDAA compliance depends on variant. The XE model is purpose-built for compliance. The standard V2 may contain restricted components. Ask your dealer specifically about the XE if compliance matters.
Review needed: regulatory
A-Mesh requires multiple Autel aircraft. No cross-manufacturer mesh networking.
Smart Controller V3 is proprietary — no third-party controller support.
Integrated gimbal means no payload swap. If you need LiDAR, this is the wrong platform.
900 MHz band only in FCC regions. International operators lose a frequency band.
Review needed: regulatory
When to Use This Platform
The MAX 4T V2 is the strongest DJI M30T competitor for public safety and inspection. The quad-sensor gimbal, GPS-denied flight, and A-Mesh networking give it capabilities DJI doesn't offer. No geofencing is a feature, not a bug, for operators who know what they're doing. The XE variant solves the NDAA question for agencies that need it. Review needed: regulatory / safety
Category: Commercial Off-the-Shelf (COTS)
NDAA Status: Non-NDAA standard; check with Autel for compliant builds
Manufacturer: Autel Robotics (Bothell, WA / Shenzhen assembly) Review needed: regulatory
Overview
Autel's workhorse dual-sensor enterprise platform. 8K RGB + 640×512 thermal in a foldable, portable form factor. Less autonomy than the MAX series but more affordable and widely deployed for fire, law enforcement, and utility inspection. Review needed: safety
Specs
Spec
Value
Camera
0.8″ RYYB CMOS 8K + 640×512 thermal @ 30fps
Flight Time
42 min
Transmission
15 km range, AES-256
Weight
~1.25 kg
Thermal Modes
10 color schemes, 4x lossless zoom
Integration Notes
Solid mid-tier enterprise platform
No GPS-denied flight or mmWave radar like the MAX
Good thermal resolution for the price (640×512 @ 30fps)
Supports Remote ID Review needed: regulatory
Same Autel Enterprise App ecosystem
No payload swap — integrated dual sensor only
No MAVLink
When to Use This Platform
Budget-conscious agencies that need thermal + RGB in a portable package. If you don't need the MAX's GPS-denied flight or A-Mesh networking, this saves money without sacrificing core sensor capability.
DJI FlyCart 100 and T60 exist in China but are NOT FAA approved in the US. The T50 is currently the largest DJI ag drone available in the US market. Review needed: regulatory
Battery logistics are critical. 9-min fast charge with DJI C10000 charger + generator is the only way to maintain production rates.
Nozzle clogging with powder-base products was an issue on earlier models — dual atomizing centrifugal nozzles on T50 address this.
DJI's heavy-lift delivery drone. 4-axis, 8-propeller configuration. 30 kg payload (dual battery) / 40 kg (single battery). Cargo mode and winch mode (30 m retractable cable). FAA-approved with Remote ID in the US. Built for logistics, agriculture supply, emergency response, and industrial material transport. Review needed: regulatory
Specs
Spec
Value
Max Payload
30 kg (dual battery) / 40 kg (single battery)
Flight Distance
28 km (no payload) / 16 km (full load)
Max Speed
20 m/s (45 mph)
Max Altitude
6,000 m
Operating Temp
-20°C to 45°C
Wind Resistance
12 m/s
IP Rating
IP55
Video Tx
DJI O3, 20 km + 4G enhanced
Obstacle Avoidance
Front/rear phased array radar + binocular vision
ADS-B
Integrated receiver
Parachute
Integrated, independent power source
Delivery Modes
Cargo mode (direct), Winch mode (30 m cable)
RF Links
Control/Video: DJI O3, 2.4/5.8 GHz, 20 km range
4G Enhancement: For obstructed terrain
Dual Operator Mode: Supported
Controller: RC Plus, 7" high-brightness display
Gotchas
NOT NDAA compliant.Review needed: regulatory
Winch kit sold separately — base price does not include it.
Battery and charger sold separately.
Requires careful weight/CG management — drone auto-detects payload weight and center of gravity.
FlyCart 100 (80 kg payload) exists but is China-only as of 2026.
DJI's mid-tier enterprise drone — smaller and more portable than the M350 but still a serious inspection and public safety platform. Integrated dual-camera + thermal + laser rangefinder payload. Weather-sealed and designed for rapid deployment. Review needed: safety
Same DJI O3 Enterprise video system as M350. Supports DJI RC Plus controller. Dual-operator mode. 4G dongle compatible. No MAVLink.
Firmware & Software
Proprietary DJI firmware. DJI Pilot 2 on RC Plus. MSDK and Cloud API for third-party app development. DJI Dock compatible for fully autonomous remote operations (automated takeoff, landing, charging, mission execution).
Gotchas
Not NDAA compliant.Review needed: regulatory
No payload flexibility — the integrated sensor package is the only option. No LiDAR, no custom payloads.
DJI Dock integration is powerful but locks you into DJI's cloud ecosystem.
If you need LiDAR or custom sensors, use the M350 RTK instead.
Category: Commercial Off-the-Shelf (COTS)
NDAA Status: NOT compliant — banned from U.S. federal procurement as of Dec 2025 (American Security Drone Act)
Manufacturer: DJI (Shenzhen, China) Review needed: regulatory
Overview
The DJI M350 RTK is DJI's flagship enterprise platform and the successor to the M300 RTK. It is the most widely deployed commercial drone for inspection, mapping, and public safety worldwide. Closed ecosystem, but deep third-party payload support via E-Port and Payload SDK. Review needed: safety
Specs
Spec
Value
Weight (no payload)
~3.77 kg (8.31 lb)
Max Takeoff Weight
9.2 kg (20.3 lb)
Max Payload
2.73 kg (6.01 lb) — triple gimbal support
Max Flight Time
55 min (no payload, no wind)
Max Speed
23 m/s (51.5 mph)
Max Altitude
7000 m (with high-altitude propellers)
IP Rating
IP55
Operating Temp
-20°C to 50°C
RTK Positioning
1 cm + 1 ppm (H) / 1.5 cm + 1 ppm (V)
RF Links
Link 1 — Control & Video (Combined)
System: DJI O3 Enterprise transmission
Frequencies: 2.4 GHz / 5.8 GHz (auto-switching)
Max Range: 20 km (FCC) / 8 km (CE) Review needed: regulatory / performance
Video Downlink: 1080p/30fps to DJI RC Plus controller
Dual Operator: Supported — pilot + payload operator on separate controllers
Cellular Backup: Optional 4G dongle for cellular C2
Link 2 — Telemetry
Protocol: Proprietary DJI protocol — no native MAVLink
Access: Telemetry data available via DJI MSDK / Cloud API for third-party GCS integration
Fleet Management: DJI FlightHub 2
Firmware & Software
Firmware: Proprietary DJI firmware
Updates: DJI Pilot 2 app (OTA or offline SD card), or DJI Assistant 2 (Enterprise Series) via USB
GCS: DJI Pilot 2 (Android, on RC Plus)
Third-Party GCS: DroneSense, Pix4Dcapture, DJI FlightHub 2 — all via Mobile SDK
Third-Party Payloads: Skyport V2 adapter or E-Port
E-Port: UART, USB, SDK API, 24V power — replaces the old Onboard SDK port Review needed: performance / configuration
DJI X-Port: For lightweight third-party gimbals
Payload SDK: Custom camera control, data streaming, widget display on Pilot 2
Companion Computer / SDK
E-Port: USB device connection for companion computers (Jetson, RPi, etc.)
CRITICAL: Companion computer must operate as USB device (not host) — opposite of the old OSDK port
SDKs: Payload SDK (PSDK), Mobile SDK (MSDK), Cloud API
No open MAVLink access
Gotchas
NOT NDAA compliant. Banned from U.S. federal procurement as of December 2025 under the American Security Drone Act. If your funding source is federal, you cannot buy this.
Review needed: regulatory
E-Port USB role is reversed from OSDK. If you're migrating from M300 with an existing companion computer setup, the USB host/device relationship is flipped. You need to rewire or re-architect.
M300 Skyport V1 payloads need V2 adapter. Not all V1 payloads have V2 updates available from their manufacturers.
DJI firmware updates can break third-party integrations without warning. Pin your firmware version and test updates before deploying to your fleet.
Geofencing is aggressive. GEO 2.0 system can prevent flight in restricted areas without unlock authorization. This is a problem for emergency responders who need to fly NOW.
Data stays local unless operator enables FlightHub. No mandatory cloud connection — but also no easy way to share fleet data without buying into DJI's ecosystem.
When to Use This Platform
Despite the NDAA issues, the M350 RTK remains the most capable enterprise drone on the market in terms of raw performance, payload flexibility, and ecosystem maturity. If your use case is commercial (not federally funded), and you need a workhorse that Just Works, this is still the benchmark. Review needed: regulatory
If you need NDAA compliance, look at Freefly Astro, Inspired Flight IF1200A, or Skydio X10D. Review needed: regulatory
DJI's newest enterprise platform family, announced 2025. Successor positioning alongside the M350 RTK. Details emerging as the platform reaches market. Expected to feature updated DJI O4 transmission, improved obstacle sensing, and next-generation gimbal/payload system.
Notes
Platform is still reaching full market availability. Check DJI Enterprise for latest specs and availability. Community contributions with early field experience welcome.
DJI's compact enterprise platform. Available in Thermal (Mavic 3T) and Multispectral (Mavic 3M) variants. The go-to portable enterprise drone for inspection, search & rescue, and precision agriculture. Lightweight, foldable, excellent camera. The platform most fire departments and small agencies buy first. Review needed: safety
Specs
Spec
Value
Weight
~920 g (Thermal) / ~951 g (Multispectral)
Flight Time
Up to 45 min
Cameras (3T)
48MP wide, 12MP zoom (56x), 640×512 thermal
Cameras (3M)
20MP RGB + 4-band multispectral (G/R/RE/NIR)
Video Tx
DJI O3 Enterprise, 15 km
RTK
Via D-RTK 2 or network RTK module
IP Rating
—
Controller
DJI RC Pro Enterprise
Integration Notes
DJI Pilot 2 for flight control
MSDK for third-party app development
DJI FlightHub 2 for fleet management
Pairs with Agras T50 for variable-rate prescription spraying (3M variant)
RTMP/RTSP live streaming capable
No MAVLink
Gotchas
NOT NDAA compliant.Review needed: regulatory
No payload swap — fixed sensor package per variant.
Not as robust as M30T or M350 — smaller platform, less wind resistance.
Widely deployed — good parts availability and support network.
DJI's latest prosumer platform. Hasselblad camera, omnidirectional sensing, DJI O4 transmission. Not an enterprise platform — no thermal, no payload swap — but widely used for real estate, light mapping, and cinematography.
Specs
Spec
Value
Weight
~900 g (sub-2 lb)
Camera
Hasselblad 1″ CMOS, 50MP, 4K/120fps
Max Flight Time
~46 min
Video Tx
DJI O4, 2.4/5.8 GHz, 20 km range
Obstacle Sensing
Omnidirectional
RF Links
DJI O4 transmission — 1080p/60fps at up to 20 km. Consumer-grade link. No SDK access for autonomous operations. No MAVLink. No third-party payload mount.
Gotchas
Not NDAA compliant.Review needed: regulatory
Did not officially launch in the U.S. market — availability is complicated.
No SDK for autonomous operations in the consumer product line.
This is an imaging/video platform, not an integration platform. If you need to plug things into it, look elsewhere.
Category: Commercial / Industrial — Confined Space Inspection
NDAA Status: Not listed (Swiss manufacturer)
Manufacturer: Flyability (Lausanne, Switzerland)
Overview
The only collision-tolerant inspection drone in mass production. Designed for confined spaces — tanks, boilers, pressure vessels, tunnels, mines, ore passes. Protective carbon cage allows contact with walls and structures without crashing. LiDAR SLAM for GPS-denied navigation and 3D mapping. Unique reversing motors recover from upside-down flips.
Specs
Spec
Value
Design
Quadcopter in protective carbon cage
Flight Time
Up to 12 min (standard), 17 min (high-capacity battery)
Camera
4K visual, 180° unobstructed FOV
Thermal
Radiometric thermal camera
LiDAR
SLAM-based 3D mapping and stabilization
Lighting
16k lumens, oblique dust-proof, adaptive
IP Rating
IP44 (designed, not certified)
Navigation
FlyAware™ — computer vision + LiDAR + NVIDIA GPU
Stabilization
SLAM-based, cm-accurate indoor positioning
Payloads (modular)
LiDAR surveying, UT (ultrasonic testing), radiation detection, gas sensing
Autonomy
FlyAware™: Real-time 3D map building, trajectory tracking, coverage assessment
Smart Return-to-Home: Retraces path autonomously
Return-to-Signal: Auto-returns on signal loss
Collision tolerance: Recovers from impacts and flips — no other drone does this
Software
Cockpit App: Real-time 3D view, trajectory, coverage assessment
Inspector 4.0: Data processing, reporting on 3D model
Compatible: Recap, CloudCompare, industrial 3D software
Training: One-day onboarding program
Gotchas
12-minute flight time is limiting for large assets. High-capacity battery helps (17 min). Tether power unit eliminates limit entirely.
Not for outdoor use — the cage creates drag, no GPS, limited speed (7 m/s max).
Not NDAA listed — may be an issue for US federal confined-space inspection contracts.
Environments must be cleaned and inerted before flying in explosive atmospheres — drone is NOT ATEX certified.
$50K+ system cost — justified by the 90% cost reduction vs scaffolding/rope access, but significant upfront investment.
When to Use This Platform
If you need to inspect inside a boiler, tank, pressure vessel, mine shaft, or any confined space where sending a person is dangerous, expensive, or impossible. Nothing else does what the Elios 3 does. It replaced months of scaffolding work with 10-minute flights at LKAB's Kiruna mine.
Category: Commercial / Industrial — Agriculture
NDAA Status: NDAA compliant (designed and manufactured in USA)
Manufacturer: Hylio, Inc. (Houston, TX) — Made in USA Review needed: regulatory
Overview
American-made agricultural spray drone. 18-gallon capacity, 8-rotor configuration, up to 50 acres/hour at 2 GPA. NDAA-compliant GroundLink Controller. The largest and most capable US-made ag spray drone currently available. Designed for producers and applicators who need NDAA compliance or want to avoid Chinese supply chain dependencies. Review needed: regulatory
Specs
Spec
Value
Evidence
Configuration
8-rotor
—
Tank Capacity
18.0 gal (68.2 L)
—
Swath Width
Up to 40 ft (12.2 m)
—
Coverage Rate
Up to 50 acres/hr @ 2 GPA
—
Max Spray Rate
4.6 gal/min
—
Nozzles
TeeJet with electronic flowmeters
—
Batteries
2x 42 Ah, 51.8V (2175.6 Wh) LiPo — 30 min charge
—
GPS
Dual GPS, RTK-compatible (base station sold separately)
—
Obstacle Avoidance
Multi-angle wide-angle radar (lateral, up, down)
—
FPV
1080p HD video streaming
—
Controller
GroundLink: 13.3" Windows tablet + 2.4 GHz radio, NDAA compliant
Review needed: regulatory
Multi-Drone
Up to 3 UAS from single ground station
—
Software
AgroSol GCS (lifetime access, no recurring fees)
—
Waterproof
Yes
—
NDAA
Compliant — designed and manufactured in Houston, TX
Review needed: regulatory
Also in the Hylio Family
Model
Tank
Swath
Coverage
Notes
AG-210
2.6 gal (10 L)
—
Spot spray
Compact, swarm-capable
AG-216
4.5 gal
25 ft
27.5 ac/hr
6-rotor, entry-level
AG-230
8.0 gal (2x4)
35 ft
50 ac/hr
Dual-tank
AG-272
18.0 gal
40 ft
50 ac/hr
Flagship
Gotchas
Requires Part 137 exemption — Hylio assists with onboarding (complimentary).
RTK base station sold separately. Budget for it.
30-minute battery charge time is slower than DJI's 9-minute fast charge — need more battery sets for production rates.
US-made means higher price point than Chinese alternatives (DJI, XAG).
AgroSol software is functional but not as polished as DJI Agras app.
When to Use This Platform
When you need an American-made, NDAA-compliant ag spray drone. Only real option in the US market for federally-funded ag programs that require NDAA compliance. The AG-272 at 18 gal capacity competes with the DJI Agras T50 on throughput. Review needed: regulatory
Long-endurance fixed-wing VTOL drone built for large-scale mapping and ISR missions. Highly modular design with AI-ready onboard computing. Supports wide range of sensors and mission profiles. Used by military and commercial operators across NATO countries.
Specs
Spec
Value
Type
Fixed-wing VTOL (tilt-rotor transition)
Flight Time
Up to 90 min
Cruise Speed
17 m/s
Range
Up to 75 km
Payload
Modular sensor bay
Cameras
RGB, multispectral, thermal, EO/IR
Onboard Computing
AI-ready edge processing
GNSS
RTK/PPK
Wind Resistance
Up to 45 km/h
Notes
Strong NATO/defense pedigree. Used in Ukraine conflict for ISR. Modular sensor bay allows mission-specific configuration. AI onboard processing enables real-time intelligence rather than post-flight analysis.
Professional fixed-wing mapping drone for survey, agriculture, and mining. Hand-launched, no runway needed. Up to 90-minute flight time. Swappable camera payloads (RGB, multispectral, thermal). eMotion flight planning software. Widely used in surveying, mining volumetrics, and precision agriculture.
Specs
Spec
Value
Type
Fixed-wing, hand-launched
Wingspan
116 cm
Weight
~1.6 kg (with camera)
Flight Time
Up to 90 min
Cruise Speed
40–110 km/h
Coverage
Up to 500 ha (1,235 acres) per flight
Wind Resistance
Up to 46 km/h
Cameras
senseFly S.O.D.A. (RGB), Aeria X (multispectral), thermalSODA
GNSS
RTK/PPK capable
GCS
eMotion software
Landing
Automated belly landing
Gotchas
Fixed-wing = no hover. Cannot stop and inspect a structure.
Hand launch requires technique — not ideal for inexperienced operators.
Belly landing means wear on the fuselage over time.
AgEagle has had corporate instability — verify current support and parts availability.
Competes with WingtraOne (VTOL, no hand launch) and DJI Matrice + L2 (multirotor with LiDAR).
XAG's flagship agricultural drone family. The P100 Pro carries 50 kg payload with 60L spray tank, covering 70 acres/hour. The P150 steps up to 70L tank and 80 kg max payload (P150 Max). Modular hot-swap payload system: spraying, spreading, mapping, and cargo transport. Fully autonomous via XAG One App with RTK cm-level positioning. Biggest direct competitor to DJI Agras T50.
Specs — P100 Pro
Spec
Value
Rated Payload
50 kg (110 lb)
Spray Tank
60 L (15.8 gal)
Max Flow Rate
22 L/min (5.8 GPM) dual pump
Spray Width
Up to 10 m (33 ft)
Coverage
~70 acres/hr @ 2 GPA
Droplet Size
60–400 μm (centrifugal atomization)
Flight Speed
Up to 13.8 m/s
Spread Rate
150 kg/min
Battery
B13960S, 962 Wh, 11-min water-cooled fast charge
IP Rating
IPX6K (flight platform), IPX7 (components)
RTK
Centimeter-level, integrated base station support
Obstacle Avoidance
4D imaging radar, terrain-following radar
Specs — P150 / P150 Max
Spec
Value
Max Payload
50 kg (P150) / 80 kg (P150 Max)
Spray Tank
70 L (18.5 gal) / 80 L (P150 Max)
Max Flow Rate
32 L/min (P150 Max with RevoSpray 5)
Coverage
70+ acres/hr
Flight Speed
Up to 20 m/s (P150 Max)
Spread Rate
150+ kg/min
Software & Autonomy
XAG One App: Fully autonomous flight planning, one-tap operation
XAG SuperX 4 Pro: Intelligent flight control with AI algorithms
Unique coaxial drone design — two counter-rotating rotors on a single axis. Compact, robust, and high-performance. Designed for industrial, defense, and public safety markets. The coaxial design provides exceptional stability and efficiency in a smaller form factor than equivalent multirotor platforms.
Key Features
Coaxial rotor design: Smaller footprint than traditional multirotors for equivalent lift
Rugged construction: Built for demanding industrial and defense environments
Modular payloads: Configurable for ISR, inspection, mapping
NDAA compliantReview needed: regulatory
Compact deployment
Notes
Niche platform worth tracking for operators who need compact form factor with heavy-lift capability. Less mainstream than Skydio/Freefly/Inspired Flight but carving out a space in defense and industrial inspection.
Category: NDAA-Compliant / Blue UAS
NDAA Status: Blue UAS certified (NDAA-compliant build available)
Manufacturer: Freefly Systems (Woodinville, WA) — Made in USA Review needed: regulatory
Overview
American-made, open-architecture mapping and inspection drone built on PX4. Running Auterion Enterprise PX4 on a Skynode flight controller with triple-redundant IMUs. Blue UAS certified. Swappable payload via Smart Dovetail system. The Astro Max variant carries the 61MP Sony LR1 full-frame sensor. Over 100,000 commercial flights logged.
This is the open-source success story. PX4-based, MAVLink-native, with a real payload ecosystem and federal compliance. Review needed: regulatory
Fleet Management: AuterionOS provides predictive maintenance, geotagging, OTA updates
Auterion SDK: For enterprise developers
This is a real PX4 platform. You get MAVLink. You get open parameters. You get QGC compatibility. But you also get commercial support, LTE connectivity, and fleet management that you won't get from a DIY Pixhawk build.
Payload Integration
Smart Dovetail System
Tool-less payload swap — slide on, lock, fly. Proprietary mechanical interface but open electrical/data bus.
Native Payloads
Sony LR1: 61MP full-frame — the Astro Max flagship sensor
Sony A7R IV: 60MP (previous gen)
Various mapping payloads: Third-party sensors via Smart Dovetail adapter
Thermal, LiDAR: Via adapter — check Freefly for current payload catalog
Gotchas
25-minute flight time is shorter than competitors. DJI M350 does 55 min. Inspired Flight IF1200A does 43 min. If endurance is critical, factor this in.
Smart Dovetail is proprietary. Third-party payloads need an adapter. Freefly's payload ecosystem is good but not as deep as DJI's gimbal lineup.
NDAA/Blue build ships with GPS logging disabled by default. You must enable it in settings before your first mapping mission or you'll get untagged imagery.
Freefly keeps some PX4 code closed — motor drives, autonomy, avoidance. The core flight stack is open, but not everything.
Dual SL8-Air batteries are proprietary. Guaranteed 500+ cycles, but no third-party alternatives exist.
Network RTK requires Auterion licence (~$1,200) for NTRIP caster access. Base-station RTK works with any multi-band GNSS base.
When to Use This Platform
The Freefly Astro is the right choice when you need: Blue UAS compliance + open MAVLink + real payload flexibility + commercial support. It's the platform that proves you don't have to choose between open-source and enterprise readiness. Review needed: regulatory
Best for: precision mapping, photogrammetry, inspection, agriculture. Not ideal for: long-endurance surveillance (25 min limit), heavy-lift (2 lb max), or thermal-primary missions (need to add thermal as a payload).
Category: NDAA-Compliant / Blue UAS
NDAA Status: NDAA compliant, Green UAS certified
Manufacturer: Inspired Flight Technologies (San Luis Obispo, CA) — Made in USA Review needed: regulatory
Note: The IF1200A was removed from the DIU Blue UAS list in March 2025. NDAA compliance and Made-in-USA status are unaffected, but verify current Blue UAS / approved-list standing with DIU before procurement. Review needed: regulatory / performance
Overview
Heavy-lift hexacopter developed to U.S. Air Force standards. The workhorse of the NDAA-compliant drone world. Carries large payloads (LiDAR, EO/IR, Phase One cameras) with 43-minute endurance. Open payload interface. ArduPilot-based. SAFE motor-out redundancy keeps flying if a motor fails. Review needed: regulatory / performance
Specs
Spec
Value
Evidence
Configuration
Hexacopter (coaxial dual-prop)
—
Max Payload
19.1 lb (8.66 kg) under Part 107; 28.7 lb with certification
—
Max Flight Time
43 min (no payload)
—
Real-World with 8 lb Payload
30+ min
—
Max Speed
56 mph (25 m/s)
—
Wind Resistance
29 knots
—
Batteries
16000mAh intelligent batteries
—
GPS
Dual GPS units
—
FPV
Built-in FPV camera
—
Remote ID
Integrated
Review needed: regulatory
RF Links
C2/Video: Doodle Labs or similar NDAA-compliant radio Review needed: regulatory
GCS: GS-ONE ground control station (integrated controller + display)
Protocol: MAVLink v2
Telemetry: Standard MAVLink telemetry stream
Firmware & Software
Firmware: ArduPilot-based
GCS: Mission Planner, QGroundControl
Flight Modes: Position Hold, Loiter, Auto, Return-to-Launch
Open system architecture — configurable for specific missions
Payload Integration
Universal payload interface supports:
EO/IR: FLIR, L3Harris
LiDAR: Yellowscan, RIEGL, Velodyne
Optical Imaging: Phase One, Sony
Multispectral: Sentera 6X series
Payload adapter guides available from Inspired Flight
Gotchas
Heavy platform — not backpackable. This is a truck drone, not a backpack drone.
Folding arms can be stiff after flight — thrust loads the locking mechanism. Support the arm bottom with upward force while sliding the lock.
Requires Part 107 waiver if total weight (aircraft + payload) exceeds 55 lb.
Batteries are proprietary.
No integrated camera — payload must be purchased separately. Budget accordingly.
SAFE motor-out capability is a lifesaver for expensive payloads but requires pilot awareness — land promptly when alerted.
When to Use This Platform
The IF1200A is the platform when you need to carry heavy sensors (LiDAR, Phase One, EO/IR) on an NDAA-compliant airframe. Few US-made platforms come close on payload capacity. ArduPilot firmware means full MAVLink access and Mission Planner compatibility. If a contract specifically requires Blue UAS list membership, confirm current standing first (see the note above). Review needed: regulatory / performance / configuration
Category: NDAA-Compliant / Blue UAS
NDAA Status: Blue UAS listed
Manufacturer: Parrot (Paris, France) — NDAA Compliant Review needed: regulatory
Overview
One of the lightest enterprise drones on the market at 500g. French-designed. Triple-sensor payload (32x zoom, wide, FLIR thermal). GOV and MIL variants. The MIL version adds a Microhard radio for extended comms. ISO9001 certified manufacturing.
Wi-Fi 802.11 a/b/g/n (GOV); + Microhard radio (MIL)
RF Links
GOV version: Wi-Fi based control/video via Skycontroller
MIL version: Adds Microhard radio for longer range and better RF penetration
Video sharing: RTSP stream via Ethernet (RJ45) to VLC-equipped PC, or via FFmpeg
Fly-by-coordinates: GPS coordinate display and sharing for any visible POI
Firmware & Software
App: FreeFlight 6 Enterprise
SDK: Open Flight SDK for developer integration
No MAVLink
Gotchas
Wi-Fi link on GOV version is range-limited and susceptible to interference in dense RF environments.
Small thermal sensor — FLIR Boson 320 vs competitors at 640×512. Adequate for detection, not ideal for detailed thermal analysis.
No payload swap. The integrated sensor package is all you get.
Lightweight is a double-edged sword — extremely portable, but poor wind resistance.
Parrot's enterprise support has historically been inconsistent compared to DJI/Autel/Skydio.
When to Use This Platform
Ultra-portable Blue UAS recon. When you need the smallest possible compliant drone with thermal capability. The MIL variant with Microhard is the more serious option for government work. Not a primary inspection or mapping platform.
Category: NDAA-Compliant / Blue UAS
NDAA Status: X10 is NDAA compliant; X10D is Blue UAS listed
Manufacturer: Skydio (San Mateo, CA) — Made in USA Review needed: regulatory
Overview
Skydio's flagship AI-autonomous drone. The X10 is the commercial/public safety variant; the X10D is the defense variant with hardened comms, MAVLink support, and RAS-A compliance. Both feature six navigation cameras, NVIDIA Jetson Orin GPU, and the industry's most capable obstacle avoidance. Best-in-class autonomy. Built in the USA. Review needed: regulatory / safety
Specs
Spec
Value
Weight
<4.7 lb (2.13 kg)
Max Flight Time
~40 min
Max Speed
45 mph (20 m/s)
Processors
NVIDIA Jetson Orin + Qualcomm QRB5165
Nav Cameras
Six 32MP custom cameras (360° coverage)
Encryption
AES-256
IP Rating
IP55
GNSS
GPS, GLONASS, Galileo, BeiDou + ADS-B In receiver
Deployment
Folds to 13.8″, sub-40 second launch
Modular Payload
4 attachment bays, 340g max
Sensor Packages (choose at purchase)
Package
Wide
Narrow
Thermal
Telephoto
VT300-L
50MP 1″ f/1.95
64MP 1/1.7″ f/1.8
FLIR Boson+ 640×512
—
VT300-Z
50MP 1″ f/1.95
64MP 1/1.7″ f/1.8
FLIR Boson+ 640×512
48MP 190mm f/2.2 (128x zoom)
V100-L
50MP 1″ f/1.95
64MP 1/1.7″ f/1.8
— (LED flashlight)
—
RF Links
X10 (Commercial)
WiFi-based control/video link
5G/LTE unlimited range via Connect Fusion (optional)
AES-256 encrypted
X10D (Defense)
Dedicated defense comms (Doodle Labs Mesh Rider radio options)
RAS-A v1.2 compliant
Open MAVLink protocol for third-party GCS
Multi-band operation
Both variants support Remote Ops for browser-based remote piloting from any location, and DFR Command for drone-as-first-responder workflows.
Firmware & Software
Firmware: Proprietary Skydio Autonomy software
X10 Controller: Skydio Flight Deck ONLY — no third-party controller support
Connect Fusion+ (coming) — second cellular connection
Gotchas
X10 (commercial) is locked to Skydio software. No MAVLink, no QGC, no Mission Planner. If you need open protocol access, you need the X10D — which costs more and requires government/defense procurement.
Attachment bays limited to 340g total. No heavy payloads. This is not a mapping drone with a LiDAR rig.
No swappable primary sensor. You pick VT300-L, VT300-Z, or V100-L at purchase. Want a different sensor package? Buy another drone.
LTE connectivity requires active cellular plan. Remote Ops is browser-based but needs internet on both ends.
Thermal on VT300-L/Z is FLIR Boson+ 640×512 — excellent sensitivity (<30mK) but verify radiometric measurement support on your firmware version.
10x more computing power than previous gen means higher power draw — the 40-minute flight time reflects this.
When to Use This Platform
Best autonomous flight in the industry, period. If your mission requires flying in GPS-denied environments, around obstacles, at night, or with minimal pilot training, Skydio X10 is the answer. The X10D is the only Blue UAS platform with this level of autonomy.
Not the right platform for heavy-lift mapping, LiDAR, or custom payload integration. For that, look at Freefly Astro or Inspired Flight IF1200A.
Category: NDAA-Compliant / Blue UAS
NDAA Status: Blue UAS certified (added June 2023)
Manufacturer: Teal Drones / Red Cat Holdings (Salt Lake City, UT) — Made in USA Review needed: regulatory
Overview
Compact, rucksack-portable ISR drone optimized for night operations. "Dominate the Night." FLIR Hadron 640R EO/IR payload delivers exceptional thermal imaging in a Group 1 package. Used by DoD, law enforcement, and public safety. Review needed: safety
Standard: 2.4 GHz ISM band, AES-256 encrypted, ~5 km range
Controller: TAC (Teal Air Controller) — ruggedized GCS with built-in display
Multiband variant available
Black Widow (SRR Tranche 2): Doodle Labs Helix Mesh Rider Radio with Sense Technology for anti-jamming and low probability of intercept
Gotchas
Small payload capacity — this is an ISR scout, not a mapping or inspection platform.
No swappable primary sensor beyond the Hadron EO/IR.
Near-silent propulsion is a tactical advantage but limits max speed and wind resistance.
Multi-vehicle command supported from single TAC.
When to Use This Platform
Night ISR, close-range reconnaissance, public safety overwatch. The Hadron 640R thermal is excellent for its size class. If you need a Blue UAS drone that fits in a rucksack and dominates in low-light conditions, this is the one. Review needed: safety / performance
Category: NDAA-Compliant / Blue UAS — Fixed-Wing VTOL Mapping
NDAA Status: Blue UAS listed, Green UAS certified
Manufacturer: Wingtra (Zurich, Switzerland) Review needed: regulatory
Overview
Professional fixed-wing VTOL mapping drone. Vertical takeoff, fixed-wing cruise at 16 m/s for up to 59 minutes. PPK GNSS for cm-level accuracy without ground control points. Swappable sensors (61MP RGB, 42MP full-frame, multispectral, LiDAR). Over 100,000 flights worldwide. The WingtraRAY (2025) successor covers up to 1,300 acres in one hour-long flight.
Specs — WingtraOne GEN II
Spec
Value
Evidence
Type
Fixed-wing VTOL (tail-sitter)
—
Flight Time
Up to 59 min
—
Cruise Speed
16 m/s (36 mph)
—
Payload
Up to 800 g
—
Wind Resistance
12 m/s sustained, 18 m/s gusts
—
GNSS
Multi-band PPK, 1–3 cm absolute accuracy
—
Coverage
Up to 200 hectares (494 acres) per flight @ 120 m AGL
—
NDAA / Blue UAS
Blue UAS listed, Green UAS
Review needed: regulatory
Cameras
Sony A7R IV (61MP), Sony RX1R II (42MP), MicaSense RedEdge-P
—
Controller
Rugged Samsung Galaxy Tab Active 3
—
GCS Software
WingtraPilot
—
Specs — WingtraRAY (2025+)
Spec
Value
Evidence
Coverage
Up to 1,300 acres (~550 ha) per 1-hour flight
—
Capture Speed
~10x faster than multicopters, ~30x faster than terrestrial
Any drone built on ArduPilot or PX4 firmware running Pixhawk-compatible hardware. This covers hundreds of commercial products (Freefly Astro, Inspired Flight IF1200, Watts Innovations Prism, Harris Aerial H6, CubePilot-based builds) and thousands of custom builds. The open-source ecosystem is the backbone of non-DJI drone integration.
The handbook's chapters on UART layout (Ch 8), MAVLink (Ch 7), MSP (Ch 6), and companion computers (Ch 13) are written specifically for this ecosystem.
Telemetry Radio Options
Radio
Band
Bandwidth
Range
Notes
SiK (3DR-style)
915/433 MHz
~64 kbps
1–2 km
Simple, cheap, point-to-point
RFD900x
900 MHz
Higher
5–40 km
Configurable, long range
Doodle Labs Mesh Rider
Multi-band
High
5–15 km
Mesh, EW-resistant, Blue UAS
Microhard P900
900 MHz
High
10+ km
Robust, industrial
Herelink
2.4 GHz
Integrated
5–20 km
Video + telemetry + RC, Android GCS
Ground Control Stations
GCS
Primary Firmware
Platform
Notes
Mission Planner
ArduPilot
Windows
Full-featured, parameter management
QGroundControl
PX4 (+ ArduPilot)
Cross-platform
Clean UI, PX4 default
Auterion Mission Control
PX4 (Auterion)
Skynode
Enterprise, fleet management
UgCS
Both
Desktop
Professional mission planning, 3D
MAVProxy
Both
CLI
Lightweight, scriptable
Common Commercial Platforms Using ArduPilot/PX4
Freefly Astro: PX4 (Auterion), Blue UAS, mapping/inspection
Inspired Flight IF1200/IF800: ArduPilot, Blue UAS, heavy-lift
The reference development platform for PX4 and ArduPilot. Carbon fiber frame with no-solder assembly. Ships with Pixhawk 6X (or 6C), M10 GPS, and SiK telemetry radio. Mounts for Raspberry Pi, Jetson Nano, and Intel RealSense depth cameras.
If you want to understand every layer of the drone integration stack, this is where you start. Every UART is documented. Every protocol is open. Every parameter is tunable. The handbook's chapters on UART layout, MAVLink, PID tuning, and companion computers were written with platforms like this in mind.
Specs
Spec
Value
Frame
Carbon fiber twill, 500mm class
Flight Controller
Pixhawk 6X (STM32H753 H7, triple IMU, Ethernet) or Pixhawk 6C
Firmware
PX4 (ships default) / ArduPilot compatible
GPS
Holybro M10 (requires PX4 1.14+ / ArduPilot 4.3+)
Telemetry
SiK radio (915 MHz or 433 MHz), plug-and-play
Flight Time
~18 min hover (no payload, 5000mAh 4S)
Payload Capacity
~1.5 kg (at 70% throttle)
Companion Mount
RPi 4, Jetson Nano, Intel RealSense
Assembly Time
~30 min, no soldering
RF Links
Link 1 — RC Control
Add your own. Any standard RC receiver via UART:
- ELRS 2.4 GHz or 900 MHz (CRSF protocol, UART, 420000 baud)
- TBS Crossfire (CRSF)
- FrSky (SBUS)
- FlySky (IBUS)
Link 2 — Telemetry
SiK radio: 915 MHz (Americas) or 433 MHz (EU/Asia), MAVLink, ~64 kbps, point-to-point
Connects to Mission Planner or QGroundControl on ground station
Link 3 — Video
Add your own:
- Analog 5.8 GHz VTX
- DJI O3 Air Unit / HDZero (for FPV)
- IP camera via companion computer (RPi + camera module)
- No integrated video link — build-your-own
Firmware & Software
PX4 or ArduPilot — both fully open source
GCS: QGroundControl (PX4 default) or Mission Planner (ArduPilot default)
Pixhawk 6X Ethernet interface for high-speed companion computer integration
Pixhawk 6X Flight Controller Details
Feature
Spec
Processor
STM32H753 (Arm Cortex-M7 @ 480 MHz)
Flash / RAM
2MB / 1MB
IMUs
3x (triple redundant, isolated sensor domains)
Barometers
2x
Interfaces
Multiple UART, I2C, SPI, CAN, ADC, Ethernet
Vibration Isolation
Custom-formulated durable material
Temperature Control
On-board heating for IMU temp stability
Connector Standard
Pixhawk Autopilot Bus (100-pin + 50-pin)
Debug
Pixhawk Debug Full (JST SM10B)
Companion Computer Integration
The X500 V2 has mounting holes and platform board space for:
Raspberry Pi 4: Standard mount, USB connection to Pixhawk
NVIDIA Jetson Nano: Direct mount on platform board
Intel RealSense: Depth camera mount on rail system (D435, T265)
Pixhawk 6X Ethernet: High-speed connection for data-intensive applications
Communication: MAVLink via serial UART or USB. MAVSDK / DroneKit for programmatic control.
Gotchas
18-minute flight time is short. Bigger batteries help but add weight. Budget for multiple batteries.
No obstacle avoidance out of the box. Add Intel RealSense + PX4 avoidance module if needed.
No weatherproofing. This is a fair-weather development platform.
SiK radios are low-bandwidth (~64 kbps). Fine for MAVLink telemetry, not for video.
Pixhawk 6X PM02D-HV power module requires firmware setting (SENS_EN_INA228) and ArduPilot 4.4+. Review needed: performance / configuration
M10 GPS needs PX4 1.14+ or ArduPilot 4.3+. Older firmware won't see it.
Chinese-sourced components — not NDAA compliant. For federal work, look at ARK Electronics FC + U.S.-sourced components. Review needed: regulatory
Why This Platform Matters
This is the teaching platform. Every concept in the handbook — the five link types, UART allocation, MAVLink telemetry, PID tuning, companion computers, mesh radios — can be implemented, tested, and understood on an X500. It's not the best at anything, but it teaches you everything.
Category: Tactical / Defense
NDAA Status: Blue UAS listed
Manufacturer: Anduril Industries (Costa Mesa, CA) — Made in USA
Availability: Military/government procurement only
Overview
Anduril's medium-range reconnaissance drone designed for company-level military operations. Helicopter-type design (main + tail rotor) for superior endurance and payload compared to typical quadcopters. Controlled through Anduril's Lattice AI software. Combat-proven in Ukraine. Deployed at JPMRC Hawaii, Combined Resolve Germany, and Balikatan Philippines.
Specs
Spec
Value
Design
Helicopter-type (main + tail rotor), Group 2 (<55 lb)
Endurance
80–90 min
Range
~15 miles (24 km)
Payload Capacity
~11 kg (24 lb)
Deployment
Two-person team, fits in rifle case, minutes to assemble
Category: Tactical / Defense — Indoor Drone as First Responder (DFR)
NDAA Status: NDAA-compliant, Made in USA (vendor claim — no model/serial published)
Manufacturer: Brecourt Solutions
Availability: Commercial — security firms, schools, law enforcement
Status: Early-stage / pre-deployment as of mid-2026 (demo footage and pilot interest; no public fielded count) Review needed: regulatory
Overview
The Indoor Drone as First Responder (iDFR™) is a building-resident security drone designed to put eyes on an interior threat before a human responder arrives. Drones live on charging docks pre-positioned inside a facility, integrate with the customer's Security Operations Center (SOC), and launch on an alert to stream low-latency video back to operators. The pitch is "detect-to-launch in as little as 0.2 seconds" and remote piloting "from anywhere in the U.S." over the same ~0.2 s latency link.
The concept is the indoor analog to outdoor police Drone as First Responder programs, and the platform overlaps heavily with Shield AI Nova 2 (autonomous GPS-denied indoor ISR) — the differentiator Brecourt markets is persistent pre-positioning + SOC integration + remote human-in-the-loop piloting, rather than fully autonomous building clearing.
What's actually documented vs. marketed
The public site is marketing-heavy and a real spec sheet is gated behind a "request the PDF" wall. Treat the table below as vendor claims, not measured numbers.
Parameter
Vendor claim
Operator note
Detect-to-launch
"as little as 0.2 s"
Marketing best-case; depends on SOC trigger plumbing
Video latency
~0.2 s glass-to-glass, nationwide
Implies a cloud/relay path (AWS-hosted), not a local RF link
Flight time
20+ min
Small indoor airframe; expect less with active maneuvering
Navigation
Optical + computer vision, GPS-denied
No published sensor suite (no mention of LiDAR/depth/ToF)
Compute
Full-stack edge computing, local AI
But the remote-pilot/video path is cloud-relayed — split architecture
Range / control
"anywhere in the U.S."
Network-limited, not RF-range-limited; needs facility connectivity
Bandwidth
Tested in low-bandwidth settings
No published minimum Mbps
Payload
Non-lethal only
"U.S. law prohibits dangerous payloads" — see jamming claim below
Charging
Autonomous docking stations, continuous
Pre-positioned indoors
Airframe model
Not published
No model number, weight, dimensions, or motor/FC stack disclosed
Firmware / SDK
Not published
No mention of MAVLink, MSP, or any open protocol
Key Features
Pre-positioned, dock-resident — drones sleep on chargers inside the building, not flown in from outside.
SOC integration — markets as platform-agnostic; "works with your existing cameras, detection systems, and communication networks." Bridges the camera-alert → physical-response gap.
ThreatLock™ / ThreatLockAI™ autonomy — one-tap handoff to an autonomous mode that visually tracks a moving threat indoors while the SOC retains oversight; also the comms-loss fallback (if the link drops, the drone holds the track autonomously rather than failsafe-landing).
Remote human-in-the-loop piloting over the network, with seamless manual ↔ autonomous switching.
No FAA authorization required for the indoor use case (drone never enters navigable airspace) — a genuine regulatory advantage over outdoor DFR. Review needed: regulatory
Fast onboarding — vendor claims operators are running in <15 minutes; SOC integration "in hours, not weeks."
Gotchas
Spec opacity. No published airframe model, mass, dimensions, sensor list, flight-controller stack, or SDK. The "NDAA-compliant / Made in USA" claim cannot be cross-checked against a Blue UAS listing — it is not on the DIU Blue UAS Cleared List as of mid-2026. Verify the bill of materials before relying on the NDAA claim for a federal/SLED buyer. Review needed: regulatory
"Edge AI" but cloud-relayed control. The drone does local CV for navigation, yet the headline "pilot from anywhere in the U.S. at 0.2 s latency" implies an internet/cloud relay (AWS-hosted backend). That is a network-dependency and an attack surface — a facility network outage or WAN degradation directly degrades the response capability the system is sold on. Ask where the video and control plane actually terminate.
The weapon-jamming claim. The Industries page states an active-shooter mode where "AI scripts detect weapons and deliver a payload to jam them." Treat this as aspirational/marketing: it sits awkwardly against the "non-lethal payload only" line, and an RF/effects payload on a civilian drone raises FCC and ITAR/legal questions the site does not address. Do not assume this capability exists in a shippable form.
Indoor-only. Not an outdoor platform. No GPS, no BVLOS outdoor profile.
Maturity risk. As of mid-2026 the public evidence is demo footage and SME testimonials (Chris Grollnek, Greg Shaffer, et al.), not a fielded-fleet track record. Founded by ex-SEAL/Navy-aviator leadership with credible UAS pedigree, but procurement should treat this as early-stage.
Liability model unstated. A SOC operator remotely flying a drone toward an active threat inside an occupied building (school, etc.) carries use-of-force, privacy, and insurance questions the marketing does not cover. Confirm CONOPS and indemnification before a pilot.
Company / Team
Brecourt Solutions is led by founders with military and security backgrounds:
Name
Role
Background
Jeff Ross
CEO & Co-founder
13-yr U.S. Navy SEAL (SEAL Team ONE)
Ryan Jarvis
CTO
20-yr Navy, former Naval Aviator; "800+ UAVs built"
Nate Jesgarz
Chief Product Officer
—
Wade Gibson
COO
Former Navy intelligence officer; attorney
Shane Griffin
Chief Revenue Officer
—
Larissa Espinosa
Director, Data & Platform Engineering
—
Stefan Amundarain
Director, UAS Development & Engineering
—
Sabri Sansoy
AI & Robotics Specialist
USAF veteran; MIT MS Aero/Astro
Backend infrastructure runs on AWS. Target markets: security companies, schools/universities/places of worship, and police departments.
Integration verdict
For this handbook's audience: interesting concept, unverifiable platform. The indoor-DFR + SOC-integration niche is real and the no-FAA angle is legitimately useful, but there is nothing to integrate against today — no SDK, no protocol, no published airframe. If you need autonomous indoor ISR with a documented track record, Shield AI Nova 2 is the more mature reference point. Revisit Brecourt once a spec sheet and a fielded deployment exist. Review needed: regulatory / configuration
Sources: brecourtsolutions.com (iDFR, FAQ, Industries, Team, Testimonials, Blog), accessed June 2026. All performance figures are vendor claims pending independent verification.
Category: Tactical / Industrial — Tethered UAS
NDAA Status: Blue UAS listed (Spectre), Green UAS listed
Manufacturer: Hoverfly Technologies (Orlando, FL) — Made in USA
Overview
Tethered drone systems for persistent surveillance, communications relay, and overwatch. Powered via tether cable — unlimited flight time as long as ground power is available. No battery constraints. Blue UAS and Green UAS certified. Used by military, law enforcement, and critical infrastructure protection.
Key Features
Unlimited flight time (tethered power)
Persistent ISR: EO/IR payload for continuous overwatch
Communications relay: Extend comms range by elevating radio/antenna
Blue UAS (Spectre): ATO from 2025 Blue UAS Challenge
Weather resistant
Rapid deployment
Gotchas
Tethered = limited mobility. Drone stays within cable radius of ground station.
Ground station required — not as portable as free-flying drones.
Cable management is a real operational concern in field conditions.
Best for persistent overwatch, events security, and fixed-site protection — not for search/recon over large areas.
Category: Tactical / Defense — Autonomous FPV
NDAA Status: Blue UAS Framework (16 components listed — most of any manufacturer)
Manufacturer: ModalAI (San Diego, CA, USA — spun out of Qualcomm 2018) Review needed: regulatory
Overview
ModalAI produces the most Blue UAS Framework components of any single manufacturer (16 listings). Their VOXL 2 compute platform is the reference companion computer for PX4-based autonomous drones. The Seeker and Stinger are ModalAI's own FPV/autonomous drone platforms built on this ecosystem.
ModalAI placed in the top 5 of DDG Phase I (~77–80 points).
Platforms
Seeker — Vision-Guided FPV
GPS-denied capable via VOXL 2 visual-inertial odometry
Onboard AI for target detection and tracking
Autonomous terminal guidance option
Stinger — Strike FPV
Strike-optimized variant
Low-cost, expendable architecture
Designed for contested RF environments
VOXL 2 Compute Platform
Spec
Value
Processor
Qualcomm QRB5165 (8-core, 2.84 GHz)
AI Performance
15 TOPS (GPU + DSP)
Camera Inputs
7× MIPI CSI-2
Weight
~16 g (module only)
Software
PX4, ROS 2, VOXL SDK
Blue UAS
Framework component
VOXL 2 runs PX4 natively, making it the most direct integration target for any PX4-based AI Wingman deployment.
Notes
ModalAI is the most interesting integration partner for the AI Wingman PX4 architecture. They run PX4 natively on VOXL 2, which maps directly to the existing PX4 Integration Architecture doc. Their visual-inertial odometry stack is production-ready for GPS-denied operations.
Category: Tactical / Defense — FPV
NDAA Status: Blue UAS listed (ATO from 2025 Blue UAS Challenge)
Manufacturer: Neros Technologies (Los Angeles, CA) — Made in USA Review needed: regulatory
Overview
High-performance, American-made FPV drone. Blue UAS certified. Designed for long-range missions, battlefield-proven, cost-effective for large-scale deployment. Optimized to resist electronic warfare. One of the first FPV platforms to receive Blue UAS listing. Review needed: performance / commercial
Specs
Spec
Value
Evidence
Type
FPV (First-Person View)
—
Speed
Up to 160 km/h
—
Blue UAS
Yes — ATO from 2025 29 Palms Challenge
—
NDAA
Compliant
Review needed: regulatory
EW Resistance
Optimized for contested RF environments
—
Manufacturing
Designed and manufactured in Los Angeles, CA
—
Notes
The Blue UAS listing for FPV platforms was a first in the 2025 challenge cycle. The Neros Archer represents the DoD's recognition that FPV capabilities are critical for modern warfare (lessons from Ukraine). Detailed integration specs are restricted.
The MRM1-5 is Orqa's 5-inch multi-role platform — the training workhorse of the MRM fleet and the cost-effective entry point to the full Orqa tactical ecosystem. Airframe is reinforced with four carbon fiber braces for crash survivability during intensive training cycles.
Available in two radio variants: ISM (Ghost 2.4 GHz) for standard operations, and a licensed-band variant (IRONghost) for more demanding RF environments.
Operators who train on the MRM1-5 with Tac.Ctrl build direct muscle memory that transfers to the MRM2-10 — same controller, same GCS, same MAVLink/ATAK workflow. This cross-platform proficiency is intentional: the MRM1-5 is designed to feed the larger MRM2-10 pipeline, not replace it.
Specs
Spec
Value
Prop Size
5 inch
Motors
2408, 2200 kV (Orqa-designed)
Flight Controller
F405 30×30 (Orqa 3030)
ESC
4-in-1, 60A, AM32 firmware
Camera
Orqa Justice Analog (1200 TVL, switchable 4:3/16:9)
C2 Link — ISM variant
Ghost 2.4 GHz (ImmersionRC/Orqa, LoRa/FLRC)
C2 Link — licensed variant
IRONghost (licensed bands)
Video
5.8 GHz analog
GPS
Integrated
Payload Capacity
1.0 kg
Range (unloaded)
~15 km
Range (with payload)
~7 km
Max Speed
130 km/h
Speed (with payload)
~60 km/h
Flight Time (unloaded)
~15 min
Flight Time (loaded)
~10 min
Weight — ISM variant
562 g (without battery)
Weight — licensed variant
590 g (without battery)
Battery (included)
P50B 4S1P Li-ion, 321 g
Battery (recommended)
P50B 4S2P Li-ion
Firmware
Betaflight / ArduPilot / iNav
Ground System
Component
ISM Variant
Licensed variant
Controller
FPV.Ctrl or any 2.4 GHz RC
Tac.Ctrl
GCS Software
—
Orqa GCS-1
C2 Protocol
MAVLink
MAVLink
ATAK Integration
Yes
Yes
Roles
Role
Notes
Pilot training
Primary role — crash-survivable 5-inch for high-cycle training
MRM2-10 pipeline
Tac.Ctrl + GCS-1 proficiency transfers directly
Payload delivery
1 kg / 7 km
ISM vs Licensed Variant Selection
Choose ISM when:
- Training in standard environments
- Budget is a constraint
- Operating with mixed RC/FPV infrastructure
Choose licensed-band variant when:
- Tac.Ctrl + GCS-1 workflow proficiency is the training objective
- RF environment requires licensed-band operation
Gotchas
Licensed variant requires Tac.Ctrl — the standard FPV.Ctrl does not drive IRONghost. Factor controller cost into per-seat training budget.
ISM variant uses Ghost 2.4 GHz — GHST protocol (ImmersionRC/Orqa), not ELRS. Confirm receiver compatibility if integrating into non-Orqa ground equipment.
4S battery, not 6S — unlike the MRM2-10. Separate battery logistics if running mixed MRM fleet.
Not Blue UAS listed — NDAA compliant but not on the DoD approved list. Review needed: regulatory
High attrition expected in training — reinforced carbon braces help but budget for airframe replacement at scale.
Last updated: March 2026 | Source: orqafpv.com, Helicomicro, Flying Eye
Orqa's flagship 10-inch tactical FPV platform and their most widely fielded system globally. Often referred to simply as "MRM" or "MRM10" by operators. Built around full vertical integration — every component from the flight controller to the motors to the radio is Orqa-designed and EU-manufactured, with no Chinese parts in the BOM.
Orqa acquired ImmersionRC in 2023, consolidating the Ghost radio ecosystem in-house. The MRM2-10 is the centerpiece of the resulting vertically integrated ecosystem: Orqa frame, Orqa FC, Orqa ESC, Orqa motors, IRONghost radio (Orqa), Justice camera (Orqa), Tac.Ctrl ground controller (Orqa), GCS-1 ground station (Orqa).
Specs
Spec
Value
Prop Size
10 inch
Wheelbase
465 mm
Motors
2814-class, 880 kV (Orqa-designed)
Flight Controller
H7 QuadCore — STM32H743, ICM42688P
ESC
30×30, 70A, AM32 firmware
Camera
Orqa Justice Analog (1200 TVL, switchable 4:3/16:9, low-light)
IRONghost QS (mast-mountable, CAT5 connection) + IRONghost GS video receiver
GCS Software
Orqa GCS-1
C2 Protocol
MAVLink
ATAK Integration
Yes — via Tac.Ctrl
Operator Stand-off
Up to 1 km (IRONghost QS mast configuration)
Supply Chain & Compliance
Orqa manufactures all core components in-house at their Osijek, Croatia facility: flight controllers, ESCs, motors, PCBs, cameras, and radios. Zero Chinese-sourced parts. Full vertical integration provides supply chain security and eliminates third-party dependency risks.
Note (2025): A DoD procurement halt was reported after a radio module subcomponent was found to be Chinese-sourced. Orqa CEO confirmed manufacturing of that module was moved in-house. NDAA compliance status should be independently verified for current contracts. Review needed: regulatory / performance
Production & Scale
Metric
Value
Annual capacity
280,000 drones (Osijek facility, as of late 2025)
Roadmap
Up to 1M/year via decentralized partner manufacturing
Partner network
Licensing agreements with multiple NATO-country partners
Croatia army contract
~€10M order
Firestorm partnership
3D-printable Orqa design under Firestorm Squall brand (Feb 2026)
Funding & Industry
Event
Detail
$5.8M Series A
Lightspeed Venture Partners, 2024
EU SAFE
~€100M procurement mechanism
Baykar partnership
Integration with Bayraktar TB2
DOK-ING partnership
Manned-unmanned teaming (MUM-T)
Gotchas
IRONghost requires licensed spectrum — not ISM. Coordinate with your RF authority before deployment.
Tac.Ctrl is required for IRONghost — the standard FPV.Ctrl does not drive IRONghost.
DoD NDAA cloud (2025) — a subcomponent issue caused a procurement pause. Verify current compliance status with Orqa before contracting. Review needed: regulatory / performance
No DJI ecosystem — fully closed Orqa stack. Ghost/IRONghost receiver protocol (GHST) only.
Proprietary GCS — Orqa GCS-1 is MAVLink-compatible but the physical ground station hardware is Orqa-only.
MRM2-10F (foldable) also available — if rapid deployment / backpack carriage matters, evaluate the -F variant.
Last updated: March 2026 | Source: orqafpv.com, WNK Store, Tectonic Defense
The MRM2-10F is the rapid-deployment foldable variant of the MRM2-10. Click-lock folding arms collapse the airframe to backpack size, then snap back to flight-ready in under 10 seconds — no tools, no adjustments. Same IRONghost C2 link, same 2.5 kg payload capacity, same 20 km range as the fixed-frame MRM2-10. The two share the same ground system (Tac.Ctrl + IRONghost QS + GCS-1).
Best suited to dismounted teams where platform carriage, concealment, or rapid redeployment between positions is a requirement.
Specs
Spec
Value
Evidence
Prop Size
10 inch
—
Fold Mechanism
Click-lock folding arms
—
Deployment Time
~10 seconds hand-deployable
—
C2 Link
IRONghost (licensed bands)
—
Video
5.8 GHz analog
—
GPS
Integrated
—
Payload Capacity
2.5 kg
—
Range
~20 km
—
Cruise Speed
~70 km/h
—
Battery
6S4P Li-ion (~16,000 mAh)
—
Firmware
Betaflight v4.1 / ArduPilot / iNav
—
Frame Material
Carbon fiber (folding arms)
—
NDAA / 889 / Berry
Compliant
Review needed: regulatory
Full avionics stack identical to MRM2-10 (H7 QuadCore FC, 70A ESC, Justice camera, IRONghost radio).
Ground System
Component
Details
Controller
Orqa Tac.Ctrl
Ground Station
IRONghost QS + IRONghost GS
GCS Software
Orqa GCS-1
C2 Protocol
MAVLink
ATAK Integration
Yes
MRM2-10 vs MRM2-10F
Feature
MRM2-10
MRM2-10F
Arms
Fixed
Click-lock fold
Deploy time
Pre-configured
~10 sec
Pack size
Larger
Backpack-compatible
Rigidity
Higher (fixed)
Slightly lower (fold joints)
Payload / Range
2.5 kg / 20 km
2.5 kg / 20 km
Avionics
Identical
Identical
Gotchas
Fold joint longevity — click-lock hinges accumulate wear with high training cycles. Inspect and replace per Orqa maintenance schedule.
Same ground system as MRM2-10 — Tac.Ctrl and GCS-1 hardware is interchangeable between variants.
IRONghost requires licensed spectrum — same coordination requirement as MRM2-10.
Not Blue UAS listed — EU-manufactured NDAA-compliant platform. Not on the DoD Blue UAS approved list. Review needed: regulatory
Last updated: March 2026 | Source: orqafpv.com, WNK Store
Category: Tactical / Defense — FPV
NDAA Status: NDAA compliant
Manufacturer: Red Cat Holdings / Teal Drones (Salt Lake City, UT, USA) Review needed: regulatory
Overview
The FANG (Fierce, Agile, Nimble, Guerrilla) F7 is Red Cat's entry into the tactical FPV strike market. Built with NDAA-compliant components including UMAC (Unusual Machines) American-made motors. Red Cat is also the manufacturer of the Teal 2 (ISR) and Teal Black Widow (Army SRR Program of Record). Review needed: regulatory
Specs
Spec
Value
Evidence
Frame Size
7" class
—
Flight Controller
Rotor Riot Brave F7 (STM32F722RET6 MCU, Bosch BMI270 gyro, BMP390 baro, 16 MB blackbox; US-made, NDAA). Red Cat owns Rotor Riot via its Unusual Machines stake (also the source of the FANG's UMAC motors). Note: the BrainFPV RADIX 2 is a separate retail board, not the FANG FC.
Review needed: regulatory
Motors
UMAC 2807 (28×7mm stator, N552SH magnets, 3-8S)
—
Battery
3-8S LiPo
—
NDAA
Compliant
Review needed: regulatory
Manufacturing
USA (Orlando, FL — UMAC components)
—
Red Cat Portfolio
Product
Role
Teal 2
Night ISR, FLIR Hadron 640R thermal
Black Widow
Army SRR Tranche 2 Program of Record
FANG F7
FPV strike platform
Notes
Red Cat/Teal did not place in the top 11 of DDG Phase I despite holding the Army SRR Program of Record. The FANG F7 represents their pivot toward the strike/FPV market. UMAC's American-made motor facility (50,000+ motors/month capacity in Orlando, FL) is a key Blue UAS Framework component.
Category: Tactical / Defense — Autonomous Indoor ISR
NDAA Status: NDAA compliant
Manufacturer: Shield AI (San Diego, CA) — Made in USA
Availability: Military / government procurement Review needed: regulatory
Overview
Autonomous indoor ISR drone that flies and maps buildings without GPS, without a pilot, and without comms. Uses Shield AI's Hivemind autonomy software for fully autonomous room-by-room clearing and mapping. Designed for military MOUT (Military Operations in Urban Terrain) and law enforcement tactical entry support. The drone enters a structure autonomously and returns with a 3D map and video.
Key Features
Fully autonomous indoor flight — no GPS, no pilot, no comms required
Hivemind AI: Autonomous navigation, mapping, and obstacle avoidance
Room-by-room clearing: Enters unknown structures and maps them
3D mapping output
Quiet operation
NDAA compliant, Made in USAReview needed: regulatory
Gotchas
Military/government procurement only.
Hivemind is proprietary — no MAVLink, no open protocols.
Indoor-only use case — not an outdoor platform.
Limited flight time due to small form factor.
Shield AI is also developing the V-BAT (fixed-wing VTOL) for outdoor missions — separate platform.
SiFly entered the market in 2025 with the Q12, a platform that prioritizes endurance and range above everything else. American-made, NDAA-compliant. Positioned for long-duration inspection and surveillance missions where flight time is the primary constraint. Review needed: regulatory / performance
Notes
Relatively new to market — detailed integration specs are still emerging. Worth tracking for operators who need maximum endurance from an NDAA-compliant platform. Community contributions with field data welcome. Review needed: regulatory / performance
The Shrike 10 Fiber won the Drone Dominance Gauntlet Phase I with 99.3 points — the highest score of all 26 competitors. It is a fiber-optic FPV strike drone, meaning the video and control signals travel through a thin fiber-optic cable rather than RF, making it completely immune to electronic warfare jamming.
The platform is a partnership between Skycutter (UK) and SkyFall (Ukraine), combining Ukrainian combat-proven design with a NDAA-compliant Western manufacturing pathway. Review needed: regulatory
Key Features
Fiber-optic control: Zero RF emissions — immune to jamming, undetectable by RF sensors
DDG Phase I winner: 99.3/100 — dominated the competition
Combat-proven lineage: SkyFall's designs are battle-tested in Ukraine
NDAA compliant (via Skycutter UK manufacturing) Review needed: regulatory
Low-cost, expendable
SkyFall (Ukraine)
SkyFall also produces the Vampire, a larger FPV platform capable of carrying 15 kg payloads. SkyFall is one of the most experienced combat FPV manufacturers in the world, with designs refined through continuous battlefield feedback.
DDG Phase II Implications
The fiber-optic approach has a fundamental advantage: it cannot be jammed. DDG Phase II introduces full EW opposition, GPS denial, and communications jamming — environments where RF-linked FPV drones degrade significantly. Fiber-optic platforms bypass the entire EW problem at the cost of limited range (determined by spool length) and the requirement to physically trail a fiber behind the drone. Review needed: performance / commercial / failure mode
Notes
The Shrike's DDG dominance signals that fiber-optic FPV may define the next generation of tactical strike drones. Kela Technologies (Israel, In-Q-Tel backed) is the key fiber-optic technology provider — they also partner with Neros for the Archer Fiber variant.
Category: Tactical / Commercial
NDAA Status: NDAA compliant
Manufacturer: Skyfish (Missoula, MT) — Made in USA Review needed: regulatory
Overview
American-made drone built for precision mapping, inspections, and ISR missions. Designed around accuracy, repeatability, and secure operations rather than consumer features. Government-focused.
Specs
Spec
Value
Weight
~3.7 lb (1.7 kg)
Flight Time
Up to 45 min
Transmission
Up to 10 km
Use Cases
Infrastructure inspection, surveying, government
Notes
Emphasizes stable flight, precise positioning, and professional sensor support. Data quality and compliance prioritized over convenience. Worth profiling in more depth as field experience accumulates. Review needed: regulatory
Category: Tactical / Defense
NDAA Status: Blue UAS certified, NDAA compliant
Manufacturer: Teal Drones / Red Cat Holdings (Salt Lake City, UT) — Made in USA
Availability: Military procurement (U.S. Army SRR program) Review needed: regulatory
Overview
The Black Widow won the U.S. Army's Short Range Reconnaissance (SRR) Tranche 2 contract — beating the Skydio X2D. Thousands of units will be fielded across Brigade Combat Teams over the next five years. Purpose-built for GPS-denied, EW-contested environments. Doodle Labs Helix Mesh Rider Radio with Sense Technology provides the communications backbone.
Key Details
SRR Tranche 2 winner over Skydio X2D
Comms: Doodle Labs Helix Mesh Rider Radio
Anti-jamming via proprietary Sense Technology
Dual-band operation
Adaptive modulation
Low-latency HD video and telemetry BVLOS Review needed: regulatory / performance
Low probability of intercept/detect
NDAA compliant, Blue UAS approvedReview needed: regulatory
Validated in EW-contested environments including Ukraine
Modular architecture for future capability upgrades
Gotchas
Military procurement pipeline only. Not available for commercial purchase.
Doodle Labs integration is specific to the SRR variant — not the same radio as the commercial Teal 2.
Detailed technical specs are largely restricted/FOUO.
Platform One is less a fixed product and more an ecosystem — a MOSA-first (Modular Open Systems Architecture) airframe designed to accept whatever Western avionics stack the mission requires. Inspired by Ukraine's decentralized FPV production model: no single golden BOM, no single firmware, no vendor lock-in. The frame is the common denominator; everything else is operator-configured.
Supports 7-inch and 10-inch prop configurations on the same airframe. Solder-free build option available for trainer/non-technical user configuration. Decentralized manufacturing model targets 10,000+ aircraft/month capacity. Full NDAA §848 compliance. The platform is not itself Blue UAS listed, but is designed to accept Blue UAS Framework-listed components (ARK FPV, ModalAI VOXL 2, Auterion Skynode-S, Doodle Labs, etc.). Review needed: regulatory
Access is gated behind UAS Nexus Syndicate membership, which requires request-based approval.
NOT listed — platform accepts Blue UAS Framework components
—
Supported Avionics
Flight Controllers
Component
Notes
Evidence
TBS Lucid H7
Primary recommended FC
—
BrainFPV RADIX 2 HD
Digital video + autopilot combo
—
Orqa F405 3030
NDAA-compliant EU-manufactured option
Review needed: regulatory
Autopilot / Compute
Component
Notes
Evidence
Raspberry Pi CM5
General compute
—
ModalAI VOXL 2
Full autonomy stack, VIO, PX4
—
ModalAI VOXL 2 Mini
Lighter autonomy option
—
Auterion Skynode-S
Enterprise PX4, LTE, mission management
—
ARK FPV
Open-source, NDAA-compliant PX4 compute
Review needed: regulatory
C2 / Radio Links
Component
Notes
ORQA IRONghost
EW-resilient sub-GHz (licensed)
TBS Crossfire / ELRS
ISM 900 MHz long range
Doodle Labs NANO/MINI Mesh Rider
Mesh networking, IP datalink
BlueSDR
Software-defined radio
L3Harris SDR
Defense-grade SDR
Silvus StreamCaster
MANET mesh
Autopilot Software
Betaflight, INAV, PX4, ArduPilot
Configurations
FPV Trainer / EW
Learn to fly or defeat jammers. Featured: IRONghost or TBS/ELRS radio, TBS Lucid H7 or Orqa F405, NDAA camera, 3–5 kg payload capacity, solder-free option. Review needed: regulatory
Perception and navigation research with modular sensors. Featured: VOXL 2 / VOXL 2 Mini, Doodle Nano, low-light EO + perception cameras, downward LiDAR, autonomy software.
Sensors & Cameras
NDAA-compliant EO camera Review needed: regulatory
Low-light EO camera
Perception / stereo camera
Downward LiDAR
Gotchas
Syndicate access is gated — membership requires approval. Factor lead time into procurement planning.
No fixed BOM — Platform One is an ecosystem, not a single SKU. Component selection varies by configuration and availability. You assemble your own stack.
Decentralized manufacturing — high-volume capacity but supply chain coordination is on the operator/integrator.
Multi-firmware support — no single "golden path." Operator must select and configure the autopilot stack. VOXL 2 / PX4, ArduPilot, Betaflight, and iNav all have different integration complexities.
Deeper product catalog behind the membership wall — publicly available specs are limited. Full component catalog accessible only post-approval.
NOT Blue UAS listed — the platform itself is not on the DoD approved list. It is NDAA §848 compliant and designed to accept Blue UAS Framework-listed components, but those are different designations. Do not represent it as Blue UAS listed in procurement documents. Review needed: regulatory
Last updated: March 2026 | Source: syndicate.uasnexus.com, UAS Nexus Syndicate catalog
Vantage Robotics builds compact ISR platforms for defense and public safety. The Vesper and Trace are small, portable reconnaissance drones designed for squad-level deployment with encrypted communications and secure data handling.
Vantage also manufactures the Vision2 ground control station — a 2500-nit display with 15 TOPS AI processing and AES-256 encryption, which is one of a handful of NDAA-compliant GCS options on the market. Review needed: regulatory
Platforms
Vesper
Small tactical ISR drone
Blue UAS listed
Encrypted data link
Day/night sensor options
Trace
Ultra-compact reconnaissance platform
Designed for rapid deployment and covert operations
Minimal visual and acoustic signature
Vision2 GCS
Spec
Value
Evidence
Display
2500 nit (sunlight readable)
—
AI Compute
15 TOPS
—
Encryption
AES-256
—
NDAA
Compliant
Review needed: regulatory
Notes
Vantage occupies the small ISR space alongside Teal 2 and Parrot ANAFI USA. Their Vision2 GCS is notable as one of the few NDAA-compliant ground control options with integrated AI processing. Review needed: regulatory
Last updated: March 2026
Reference library
Component References
Deep references for propulsion, avionics, RF, sensors, compute, power, tactical systems, and complete ecosystems.
Neural inference is one possible workload. Classical estimation, geometry, planning and control do not universally require a neural network. Select compute against the actual model, camera/video path and concurrent CPU workload.
Manufacturer-reported example
Hailo reports up to 26 TOPS for Hailo-8 and typical chip power of 2.5 W. Those are manufacturer-reported chip specifications, not measured whole-board power or camera-to-result performance. A 26 TOPS part does not belong in a 1–15 TOPS category; the former category placement is corrected.
manufacturer-reported · evidence
Hailo reports up to 26 TOPS and typical chip power of 2.5 W for Hailo-8. These are chip specifications; they do not establish module/whole-board power or application performance.
Exact cited specification or dimensional example only; no hardware acceptance.
Hailo-8 manufacturer specifications, checked 2026-10-07. Distinguish Hailo-8 from Hailo-8L and Hailo-10H, and chip from module/carrier. The old unsourced price/power/availability rankings are withdrawn pending exact-model checks. Review needed: performance / commercial
Compare complete workloads
Dimension
Evidence
Evidence
Arithmetic
Precision/sparsity conditions and the operations counted by the vendor
—
Model
Operator support, compiler/runtime version, input shape and measured accuracy
Review needed: performance / configuration
Pipeline
Capture/ISP, decode/encode, memory copies and preprocessing/postprocessing
—
Timing
End-to-end distribution, deadline misses and stale-result rejection
—
Power/thermal
Whole-board/carrier/cooling measurements and throttling behavior
—
Lifecycle
Exact product/release status, drivers, updates and recovery
—
More TOPS does not establish a lower latency or a supported model. A neural accelerator may not include the required video codec engine. Benchmarks must name the exact workload and hardware/software configuration.
Procurement
Headquarters, allied-country status or fabrication location does not establish a procurement conclusion. Screen the exact component, assembled system, buyer and contract under the federal procurement guide. This page assigns no universal NDAA badges.
Forge cross-reference: 394 entries in antennas category Related handbook chapters: Video Transmitters (VTX), RC Receivers, Mesh Radios, RF Tools
Antennas Are Not Accessories
Antennas are frequently treated as afterthoughts — "I'll just use whatever came in the box." This is wrong. The antenna is the last element in your RF chain and the one most operators never think about. A bad antenna placement or mismatch can reduce your effective video range by 60% or cause unexpected video breakup at ranges where your link budget says you should be fine.
The good news: you don't need to be an RF engineer to make good antenna decisions. You need to understand four concepts — gain, polarization, radiation pattern, and impedance matching. Everything else is detail.
Core Concepts
Gain
Antenna gain is measured in dBi (decibels relative to an isotropic radiator). A 0 dBi antenna radiates equally in all directions — a perfect sphere. A 3 dBi antenna focuses that energy into a flatter "donut" shape, doubling the power in the horizontal plane at the cost of the vertical. A 9 dBi patch antenna focuses into a narrow cone. Review needed: performance / commercial
Rule: Gain is not free energy. It's redistribution. More gain in one direction means less in others.
For FPV video antennas:
- 0–2 dBi omnidirectional: standard for short-range freestyle and racing
- 3–5 dBi omnidirectional: medium range, slightly flattened pattern
- 7–14 dBi patch/directional: long-range, requires aiming
Polarization
Polarization describes the orientation of the electromagnetic wave. Antennas can be linearly polarized (horizontal or vertical) or circularly polarized (RHCP or LHCP).
Circular polarization (CP) is the standard for FPV video. Why: a circularly polarized wave maintains polarization as the drone rolls and pitches. A linearly polarized signal fades when the transmit and receive antenna orientations mismatch. LHCP and RHCP should be matched — mixing them causes ~30dB loss.
Linear polarization is standard for RC control links (ELRS, Crossfire, FrSky). The control link's receiver diversity and frequency hopping compensate for the polarization variation.
Rule for video: Match polarity. VTX antenna and goggles antenna should both be RHCP or both LHCP. DJI uses RHCP as standard.
Radiation Pattern
The 3D shape of where the antenna transmits and receives. For an omnidirectional antenna, this is a torus (donut) — strong around the equator, nulls at the poles.
Practical implication: When the drone is directly above or below you, an omni antenna has a null. For high-altitude operations, a patch antenna pointed up or a diversity system is needed.
Impedance Matching
All drone RF systems run at 50 ohm impedance. Antennas, cables, and connectors must all be 50 ohm. Mismatched impedance causes standing wave reflections that waste power and can damage transmitters.
In practice: use proper SMA/RP-SMA connectors, avoid exceeding manufacturer cable length recommendations, and never kink coaxial cable.
Antenna Types
Stub / Whip (Omni, Linear, 0–3 dBi)
The simplest antenna — a piece of wire cut to quarter-wave length. The "rubber duck" antenna on most receivers is a loaded stub. Very small, adequate for short range. Not used for video in any serious application.
Dipole / Cloverleaf (Omni, RHCP/LHCP, 0–3 dBi)
The workhorse FPV antenna. A cloverleaf or skew-planar wheel antenna consists of 3–4 angled elements that create circular polarization. RHCP cloverleafs are the standard drone-side video antenna for analog systems.
A compact circularly polarized design that outperforms cloverleafs in size/performance ratio. Standard for DJI digital systems. Very common — included with most DJI VTX products.
Examples: GEPRC Stable V2, Foxeer Lollipop 4.
Pagoda (Omni, CP, 0–2 dBi)
A printed circuit board antenna design that became popular for its flat radiation pattern and excellent CP purity. Very durable (PCB construction), excellent for goggle antennas. Less common now as lollipops improved.
Patch (Directional, CP or Linear, 9–13 dBi)
A flat PCB antenna with high gain in a forward hemisphere. The standard ground station antenna for long-range FPV and video downlink. Paired with an omni antenna in a diversity receiver setup (Rapidfire, DJI Goggles 2 diversity, antenna tracker systems).
Usage: Mount on a tripod or antenna tracker pointed at the expected flight zone. Provides dramatic range extension for long-range flights but requires accurate aiming.
A coiled conductor around a central axis that produces very high-gain circular polarization. More directional than patch, excellent axial ratio. Used in long-distance UAV video links and sometimes in GPS reception. Expensive to manufacture at quality.
Panel / Yagi (Directional, Linear, 14–20 dBi)
Very high gain, very narrow beam. Used in some FPV long-range antenna tracker setups and fixed-link video infrastructure. Not practical for handheld use.
System Design Decisions
For FPV Racing / Freestyle (Short Range, <400m)
Both TX (VTX antenna) and RX (goggle antenna) should be omni RHCP. Typical: Lollipop 4 on drone, Rapidfire diversity receiver with two omnis on goggles. Total system weight: 5–10g. No aiming required.
For Long-Range FPV / Cinematic (400m–10km)
Omni RHCP on drone. Diversity system on goggles: one omni + one patch. The omni provides coverage when close or overhead, the patch provides gain when far. An antenna tracker that keeps the patch aimed at the drone extends range to the link budget limit.
For Fixed-Wing BVLOS (10km+)
Patch or helical on a dedicated antenna tracker. Diversity diversity omni for backup. Ensure you have the correct antenna gain for your link budget — at 50km you cannot rely on an omni VTX antenna and a patch goggle antenna. You need a high-gain antenna on both sides, or a relay drone.
Control Link Antennas
ELRS/Crossfire antennas are linear and typically dipole whips. The TX module antenna should be positioned upright (vertical polarization standard). Receiver antennas on the drone should be routed at approximately 90° to each other for diversity (one horizontal, one vertical, or angled apart) with antennas mounted clear of carbon fiber frame arms.
Connectors
The FPV antenna connector ecosystem is fragmented and a source of real frustration:
SMA — The sensible standard. Secure threaded connection. Used on most VTX, some goggles, and higher-end receivers.
RP-SMA (Reverse Polarity SMA) — The center pin and outer thread are swapped relative to SMA. Used extensively by DJI, some FrSky products, and many goggles. SMA and RP-SMA are mechanically compatible but electrically incompatible — they connect but don't pass signal. This is a common and invisible failure mode.
U.FL / IPEX — Tiny board-level connector used on receivers and some FCs for direct antenna attachment. Very low power handling. A U.FL-to-SMA pigtail is required for external antennas.
MMCX — Similar to U.FL but slightly larger and more robust. Used by some TBS products.
Rule: Check connector type before ordering. A mismatched connector can silently kill your RF performance.
NDAA
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
Part 6 — Components
Batteries define flight time, payload capacity, and increasingly,
procurement eligibility. The NDAA battery ban is coming. Review needed: regulatory
The Approaching Deadline
NDAA FY2026 prohibits DoD purchase of batteries for weapons and
support systems from foreign entities of concern (China, Russia)
effective January 1, 2028. This creates an 18-month window where
the entire defense UAS industry must reshore its battery supply chain. Review needed: regulatory
Most drone batteries today use Chinese cells — even packs assembled
in the US typically contain CATL, EVE, or other Chinese cells.
The 2028 deadline will force a transition to allied-nation cell
manufacturers. Understanding who makes cells vs. who assembles
packs is critical.
Cell Manufacturers vs. Pack Assemblers
A "drone battery" is a pack of individual cells wired together
with a balance connector and protection circuit. The cells inside
determine energy density, discharge rate, and cycle life. The pack
integrator adds the BMS, connector, and housing.
Most operators buy packs (Tattu, CNHL, GNB). But the NDAA question
is about the cells inside, not the label on the shrink wrap.
Cell Manufacturers — The Supply Chain Layer
Amprius Technologies — The NDAA Battery Leader
Detail
Value
Evidence
HQ
Fremont, CA, USA
—
NYSE
AMPX
—
NDAA
Compliant (working with DIU on all 11 cell components)
Review needed: regulatory
Technology
Silicon anode lithium-ion (100% silicon anode — only commercial source)
—
SiMaxx
520 Wh/kg, 1,300 Wh/L (CES 2026 Best of Innovation — 2× conventional)
—
SiCore
450 Wh/kg, 1,150 Wh/L, commercially available in volume
—
SA128 Cell
21700 cylindrical, 6.8 Ah, 320 Wh/kg (Nanotech US production)
—
Fast Charge
0–80% in under 6 minutes (third-party validated)
—
Revenue
$73M (2025, +202% YoY), guiding $125–135M for 2026
—
Profitability
First positive adjusted EBITDA Q4 2025
—
DIU Contracts
$10.5M + $1.5M
—
Production
2+ GWh capacity: Korea Battery Alliance + Nanotech Energy (first US mfg partner, Feb 2026)
Amprius has near-monopoly positioning on NDAA-compliant high-
performance UAS cells through 2028. Their silicon anode technology
delivers 2× the energy density of conventional lithium-ion — same
flight time at half the battery weight, or double the flight time
at the same weight. The Nanotech Energy partnership (Feb 2026)
establishes the first US-based production of Amprius cells,
critical for NDAA compliance ahead of the Jan 2028 deadline. Review needed: regulatory
American Lithium Energy (ALE) — SafeCore Safety Pioneer
Detail
Value
Evidence
HQ
Vista, CA, USA
—
NDAA
Compliant — designed and manufactured in USA
Review needed: regulatory
Technology
Silicon anode lithium-ion with SafeCore+ and ZeroVolt
—
Energy Density
400 Wh/kg shipping at MW scale
—
Charge Rate
5C–10C fast charge
—
Operating Temp
-40°C to +70°C
—
Safety
SafeCore+™ prevents thermal runaway via internal electrode delamination
Review needed: safety
ZeroVolt™
Cells can be shipped and repeatedly discharged to 0V without damage
Joint work with Pacific Northwest National Laboratory on non-flammable electrolytes
—
ALE's key differentiator is safety. SafeCore+ is a patented internal
safety layer that self-decomposes under abuse conditions to interrupt
current flow — preventing thermal runaway at the electrode level,
not just with external protection circuits. This reduces packaging
weight (no bulky fireproofing needed) and passes nail penetration
and overcharge abuse tests. ZeroVolt technology allows cells to be
safely shipped and stored fully discharged — a significant logistics
advantage for military supply chains.
At 400 Wh/kg shipping at scale, ALE bridges the gap between
conventional Li-ion (~260 Wh/kg) and Amprius SiMaxx (520 Wh/kg),
with a stronger safety story than either. Review needed: safety / performance
MIL-STD-810H 516.8 transit drop (5 ft), 65A continuous thermal testing
—
Cells
Molicel P50B / P45B (Taiwanese — non-Chinese)
—
Formats
Custom configurable for FPV, UAS, robotics
—
Wake Energy fills a critical gap: US-based pack assembly using
non-Chinese cells (Molicel/Taiwan) at production scale. They don't
make cells — they engineer and assemble packs with quality processes
(CNC welding, pull-tested coupons, individual electrode QA) that
hobby-grade pack assemblers don't match. The THOR 6030 is a
ready-to-buy 6S pack for tactical FPV and UAS applications.
For operators who need NDAA-compliant battery packs without
designing custom solutions, Wake Energy is the most accessible
option — production-ready, tested to military standards, and
shipping now. Review needed: regulatory
Likely compliant (Taiwanese, NOT Chinese) — verify per program
Review needed: regulatory
Partners
KULR Technology for K1A drone battery systems
—
Status
Already referenced in AI Wingman Power Systems Architecture doc
—
Molicel P42A and P50B are the reference 21700 cells for high-
performance drone applications. Taiwanese manufacturing makes
them the most accessible non-Chinese high-discharge cells.
CATL — World's largest battery manufacturer. NOT NDAA.
EVE Energy — Major Li-ion cell OEM. NOT NDAA.
Most hobby LiPo packs (Tattu, CNHL, GNB) use Chinese cells.
Battery System Integrators
KULR Technology
Detail
Value
HQ
Houston, TX, USA
Product
KULR ONE Air (K1A) — advanced UAS battery system
Cells
Amprius SiCore + Molicel P50B
Key Feature
Thermal management expertise, standard + custom OEM configs
Partners
Hylio (Texas-manufactured ag drone batteries)
Production
Volume production Q4 2025
KULR is the bridge between cell manufacturers and drone OEMs.
They handle thermal management, BMS design, and pack engineering
so that drone companies don't have to become battery companies.
Tattu / Gens Ace (Context — NOT NDAA)
In the parts-db for some products. Dominant hobby LiPo brand.
Chinese-manufactured. NOT NDAA compliant. Needs compliance
flags added to all existing entries. Review needed: regulatory
LiPo vs. Li-Ion for Drones
LiPo
Li-Ion (21700)
Evidence
Energy Density
~150-200 Wh/kg
~200-260 Wh/kg (450+ with Amprius)
—
Discharge Rate
High (75-100C burst)
Moderate (8-15C typical)
—
Cycle Life
200-300 cycles
500-1000+ cycles
—
Weight
Heavier for given energy
Lighter per Wh
—
Best For
FPV racing, aggressive flight
Endurance, commercial ops
—
NDAA Risk
Cells almost always Chinese
Allied options exist (Molicel, Samsung, LG)
Review needed: regulatory
The industry is moving from LiPo to 21700 Li-Ion for everything
except extreme-discharge FPV applications. 21700 packs offer
better energy density, longer cycle life, and a path to NDAA
compliance through Molicel/Samsung/LG cells. Review needed: regulatory
The Price Reality
Cell Source
$/Wh (approx.)
NDAA Status
Chinese LiPo (Tattu, CNHL)
$0.10-0.20
NOT compliant
Chinese Li-Ion (EVE, CATL)
$0.08-0.15
NOT compliant
Korean Li-Ion (Samsung, LG)
$0.15-0.25
Allied — likely compliant
Taiwan Li-Ion (Molicel)
$0.15-0.25
Likely compliant
US Silicon Anode (Amprius)
$0.50-1.00+
Compliant
The 2028 NDAA battery deadline will create a 3-5× cost increase
for defense UAS battery systems unless allied-nation (Korea, Taiwan)
cell production scales to meet demand. Review needed: regulatory / commercial
Choosing Batteries
Match voltage to your ESCs and motors. 4S (14.8V nominal)
is standard for 5" FPV. 6S (22.2V) is standard for larger builds.
8S and above for heavy-lift.
Capacity determines flight time. More mAh = more flight time
but more weight. There's a sweet spot for every airframe.
Discharge rate determines power. "C rating" = max safe
current draw as a multiple of capacity. A 1500mAh 100C pack
can deliver 150A. LiPo C ratings are often inflated by manufacturers.
Storage charge matters. LiPo storage voltage is 3.8V/cell.
Never store LiPo at full charge or fully depleted. Storage charge
the same day you fly.
For NDAA builds: Molicel P42A/P50B 21700 packs are the
pragmatic choice today. Amprius SiCore is the premium path
with 2× energy density. KULR K1A provides engineered pack
solutions.
The propulsion system matching guide covers battery selection for a given build. This guide goes deeper: what actually happens inside a LiPo as it ages, how to read internal resistance and what it tells you, why the C rating on the label is mostly marketing, and how to make rational decisions about parallel packs and storage.
Chemistry Comparison
LiPo (Lithium Polymer)
The standard for performance UAS. High discharge rate, low weight, available in every cell count and capacity imaginable. The cathode material is typically NMC (Nickel-Manganese-Cobalt) or NCA (Nickel-Cobalt-Aluminum).
Nominal voltage: 3.7V/cell
Full charge: 4.20V/cell (standard), 4.35V/cell (LiHV)
Peak discharge: 25–150C rated (see C rating section)
Li-Ion (Lithium Ion)
Cylindrical cells (18650, 21700) with higher energy density but lower peak discharge. The right choice for long-endurance platforms that don't need burst power.
Nominal voltage: 3.6V/cell
Full charge: 4.20V/cell
Discharge cutoff: 2.5–3.0V/cell
Storage voltage: 3.6–3.7V/cell
Energy density: 200–265 Wh/kg (35–60% more than LiPo)
Where Li-Ion wins: Long-range fixed-wing, mapping platforms, delivery drones, anything where flight time matters more than max power. A 21700 Samsung 40T cell pack at 4,000mAh provides ~35% more flight time per gram than a same-weight LiPo — but if you need punch-out power for a 6S freestyle quad, Li-Ion won't keep up with the current demand.
LiHV (High Voltage LiPo)
Same physical construction as LiPo, charged to 4.35V instead of 4.20V. About 5–8% more energy per cell. Requires an LiHV-capable charger and an LiHV-rated ESC/FC (most modern ESCs handle 4.35V fine).
The tradeoff: the cells spend more time at high voltage, which accelerates degradation. Expect 20–30% shorter cycle life compared to the same cell charged to 4.20V. Worth it if you fly frequently and replace batteries regularly; not worth it if batteries sit between sessions.
LiFePO4 (Lithium Iron Phosphate)
Extremely safe, long cycle life, thermally stable. The chemistry of choice for ground vehicles, industrial systems, and high-cycle applications. Not competitive for UAS due to low energy density (90–120 Wh/kg) and low cell voltage (3.2V nominal).
The C Rating: What It Actually Means
The C rating on a LiPo label is a multiplier applied to the capacity:
Max discharge current (A) = C_rating × capacity_Ah
A 4S 1500mAh 100C pack has a rated max discharge of 150A.
The problem: C ratings are self-reported by manufacturers with no standard test methodology. A pack labeled 100C from a budget brand may actually provide 40–60A before voltage sag degrades significantly. A quality pack labeled 45C may outperform a cheap 100C pack at identical current.
What actually matters is internal resistance, not the C rating. Internal resistance is the real physical limit on discharge capability and it's measurable with a charger that has an IR measurement function.
Internal Resistance: The Real Health Metric
Internal resistance (IR) is the resistance inside the battery cell and wiring. When current flows, some voltage is lost across this resistance (V = IR), reducing the voltage available to your motors.
What IR tells you:
- Fresh LiPo (good quality): 2–6mΩ per cell
- Aged LiPo (80% capacity): 8–15mΩ per cell
- Damaged/puffed cell: 20–50mΩ+
How voltage sag works:
At 50A draw through a pack with 5mΩ IR per cell (4S = 20mΩ total):
Voltage sag = Current × IR = 50A × 0.020Ω = 1.0V
A 4S pack that reads 15.0V at rest shows 14.0V under 50A load. As the pack ages and IR increases to 40mΩ, sag at 50A becomes 2.0V — now your "15V" pack shows 13V under load, and your ESCs may hit their undervoltage cutoff.
Measuring IR: Use a charger with built-in IR measurement (iCharger, ISDT, Junsi series). Measure at rest, at consistent temperature (IR varies with temperature — cold cells have higher IR). Log IR on each charge cycle; rising IR is an early indicator of aging.
When to retire a pack: IR more than 3× the initial value, or capacity below 80% of rated, or any cell with a cell delta >0.1V after a full charge.
Voltage Sag Under Load
Voltage sag is not a flaw — it's physics. But excessive sag causes real problems:
FC brownout: If the voltage at the FC input drops below minimum, the FC resets mid-flight.
ESC undervoltage cutoff: ESCs have minimum operating voltages; crossing them causes motor shutdown.
Reduced thrust: At lower voltage, motor RPM drops, reducing thrust.
Inaccurate voltage monitoring: If you rely on resting voltage to estimate state-of-charge, the loaded voltage gives you a pessimistic picture — the battery recovers voltage when current demand drops.
Practical mitigation:
- Set BATT_ARM_VOLT based on loaded voltage, not resting voltage. Test your platform's hover voltage under load and use that as the floor.
- Add a 1000µF capacitor close to the ESC power input. This doesn't fix sag — it filters the fast transients.
- Don't push packs to their rated maximum discharge for sustained periods. Flying at 70% of rated max discharge leaves margin for peaks. Review needed: performance / failure mode
Capacity Fade: How Batteries Age
LiPo capacity degrades with each charge-discharge cycle due to:
1. SEI (Solid Electrolyte Interphase) layer growth: Forms on the anode during charging; irreversible; increases IR over time
2. Lithium plating: At high charge rates or low temperatures, lithium metal deposits on the anode instead of intercalating; causes capacity loss and internal shorts
3. Cathode degradation: Physical and chemical changes at the cathode reduce active material
Accelerating factors:
- High charge rate (>1C is fine; >3C degrades faster)
- High storage voltage (storing at 4.2V vs 3.85V doubles degradation rate)
- High operating temperature (>40°C significantly accelerates aging)
- Deep discharge (below 3.3V/cell)
- Physical damage (swelling, impact, moisture)
Slowing degradation:
- Store at 3.80–3.85V/cell (most chargers have a "storage charge" function)
- Charge at 1C or lower when not in a hurry
- Avoid flying in temperatures below 5°C without pre-warming
- Don't discharge below 3.5V/cell per battery monitor during flight (3.3V absolute minimum)
- Don't charge immediately after a hot flight — let cells cool to under 40°C first
Storage Voltage: The Most Important Practice
Flying at full charge is fine. Storing at full charge is not. A LiPo stored at 4.2V/cell for a week loses measurable capacity; stored for a month, it may puff.
The sweet spot is 3.80–3.85V/cell — enough charge to prevent deep-discharge cell damage during storage, low enough to minimize electrolyte oxidation.
Practical workflow:
1. After flying: if you won't fly again within 48 hours, discharge or storage-charge to 3.85V/cell
2. Before flying: charge to 4.2V within 24 hours of use
3. Long-term storage (>1 month): store at 3.7–3.8V/cell, in a fireproof bag, in a cool location
Most quality chargers (iCharger, ISDT Q8, ToolkitRC M8) have a one-button storage charge function.
Parallel Packs
Running two or more batteries in parallel doubles capacity (and weight) without changing voltage.
What goes right: More capacity, lower effective C-rate for the same load, longer flights.
What can go wrong:
Connecting packs at different states of charge: When you connect a full pack (4.2V/cell) to a depleted pack (3.5V/cell), a large current flows between the packs as they equalize. This instantaneous equalization current can trip your ESCs, damage cell chemistry, or in extreme cases cause fires.
Rule: Never parallel-connect packs that differ by more than 0.1V per cell. Use a parallel charging board that lets you charge multiple packs simultaneously to the same voltage, then connect them in parallel.
Cell mismatches between packs: Even two nominally identical packs from the same manufacturer will have slightly different internal resistances. When paralleled, the lower-IR pack will supply more current under load. Over time this can cause one pack to age faster than the other.
Practical parallel approach for BVLOS endurance:
1. Buy a matched pair from the same batch (same production lot, same measured IR)
2. Cycle both packs together from new — don't alternate which pack you use
3. Retire both when either shows signs of aging Review needed: regulatory / performance
BMS for Larger Systems
For Group 2+ platforms and multi-cell configurations above 6S, a dedicated Battery Management System (BMS) is advisable.
A BMS provides:
- Cell-level voltage monitoring (catch a single bad cell before it causes a runaway)
- Overcurrent protection (hardware cutoff if current exceeds a threshold)
- Temperature monitoring (thermistor per cell group)
- State-of-charge estimation (Coulomb counting + voltage model)
- Cell balancing (active or passive)
For ArduPilot integration, the BMS typically reports via I2C or UART. ArduPilot's BATT_MONITOR supports multiple BMS protocols:
For custom or industrial LiPo packs with an integrated BMS UART output, use the BATT_MONITOR = 4 (UART protocol) or write a custom driver.
Fire Safety
LiPo thermal runaway is fast, hot (>800°C), and produces toxic gases. The standard precautions: Review needed: safety
Charge and store in a LiPo-safe bag — ceramic or reinforced bags rated for LiPo fires
Never leave charging unattended
Don't charge below 0°C — lithium plating risk
Don't charge above 45°C ambient
Inspect every pack before and after flight — any swelling, impact damage, or unusual warmth: ground it
Discharge a damaged or retired pack completely (to 0V per cell, using a LiPo discharger or a resistive load) before disposal or recycling. A fully discharged LiPo is safe to dispose of in most municipal waste streams; a charged LiPo is not.
If a pack catches fire: Don't use water (water reacts with lithium). Move it outdoors if safe to do so; allow it to burn out. A metal bucket with sand is the standard field containment method.
The FAA published a proposed Part 108 framework for routine Beyond Visual Line of Sight operations in August 2025. As of October 2, 2026, it remains proposed rulemaking and does not itself authorize an operation. Current authority still comes through an applicable existing certificate, exemption, waiver, or authorization. official-source · evidence
As of October 2, 2026, Part 108 remains proposed rulemaking and does not itself authorize BVLOS operations.
Current-status statement for United States civil UAS regulation; recheck the Federal Register before operational use.
Current-status boundary: Every Part 108 item below describes the proposal, not an effective operating rule. Check the current Federal Register docket and FAA operating-authority pages before planning an operation. Review needed: regulatory / performance
What BVLOS Means and Why It's Hard
Under standard Part 107, you must maintain visual line of sight with your drone at all times — roughly 1,500 feet in optimal conditions. BVLOS operations remove this constraint, enabling long-range missions: infrastructure corridor inspection, precision agriculture at scale, last-mile delivery, and persistent ISR. Review needed: regulatory / performance
The regulatory difficulty is that VLOS is also the primary safety mechanism. Without it, the burden shifts to technology: detect-and-avoid systems that tell the drone (and operator) whether other aircraft are nearby, reliable command-and-control links that can't be severed beyond radio range, and airspace deconfliction systems that prevent two drones from being in the same place at once.
Current Paths (Pre-Part 108)
Path 1: Part 107 BVLOS Waiver
The existing mechanism. You apply to the FAA for a waiver to § 107.31 (visual line of sight requirement), demonstrating that your specific operation can be conducted safely without VLOS. Review needed: regulatory
Part 107 operators that cannot comply with § 107.31 may request an operational waiver by showing an equivalent level of safety. The FAA now directs new Part 107 operational-waiver applications through the Aviation Safety Hub. official-source · evidence
A Part 107 operator may request a waiver from § 107.31 by showing an equivalent level of safety; new operational-waiver applications use the Aviation Safety Hub.
United States Part 107 process overview; the actual waiver and current FAA application system control.
Software/source check 2026-10-02
FAA Part 107 Waivers: Application channel, waiver purpose, § 107.31 BVLOS row, and current process notice; accessed 2026-10-02
Revision 1
No published correction history.
What the application requires:
- Detailed operational description (location, altitude, corridor, timing)
- Aircraft technical description (remote ID compliance, C2 link architecture, DAA capability)
- Emergency procedures (lost link, pilot incapacitation, aircraft malfunction)
- Risk mitigation narrative addressing ground risk and air risk
- Proof of operational safety (flight test data, simulation, comparable operations) Review needed: regulatory / safety
Timing: The FAA says it will do its best to approve or disapprove a Part 107 waiver request within 90 days, while warning that timing varies with complexity and application completeness. Treat 90 days as an agency service target, not a guaranteed minimum or maximum. official-source · evidence
FAA states it will do its best to act on Part 107 waiver requests within 90 days, with timing varying by complexity and completeness.
Agency service statement, not a guaranteed processing time.
Public-aircraft authority is not created by § 91.203. FAA materials describe COAs for qualifying public-aircraft operations under Part 91, and a separate expedited § 91.113 waiver path for organizations that meet both the statutory Public Aircraft Operator and Public Safety Organization definitions. The exact COA or waiver conditions control the operation. official-source · evidence
FAA describes Part 91 COAs for qualifying public-aircraft operations and an expedited § 91.113 waiver path limited to entities meeting both PAO and PSO statutory definitions.
United States public-aircraft/public-safety overview; exact eligibility and issued conditions control.
Public safety agencies often find COA amendments faster to process than commercial waivers because there's an established relationship with the FAA and a clear public benefit case.
Path 3: Part 135 Air Carrier Certificate
Amazon Prime Air, UPS Flight Forward, and Wing operate under Part 135 certificates. This gives them authority for routine BVLOS operations at scale but requires FAA oversight comparable to a small airline: operations specifications, airworthiness data, crew training programs. Review needed: regulatory
Not a realistic path for most operators — it's the endpoint for mature commercial delivery networks, not a starting point for an inspection company.
Part 108: The Proposed BVLOS Framework (August 2025 NPRM)
Part 108 proposes to replace the waiver-by-waiver approach with a risk-tiered authorization framework. The core structure:
Two Authorization Types
Permit (lower-risk):
- Faster issuance (targeted at days, not months)
- Restricted to specific operation types: corridor surveys, infrastructure inspection, precision agriculture
- Operations over sparse population in uncontrolled airspace
- Remote ID required
- DAA via ADS-B In required or equivalent
- Flight below 400ft AGL in shielded areas Review needed: regulatory
Certificate (higher-risk):
- Full operations specification review — comparable to Part 135 light
- Allows operations over people, in controlled airspace, and at higher operational complexity
- Requires a designated Operations Supervisor and Flight Coordinator
- Safety Management System (SMS) required
- The path for package delivery, urban ISR, and complex corridor operations Review needed: safety
Airworthiness
The NPRM proposes an airworthiness-acceptance path based on consensus standards for covered aircraft rather than applying traditional type certification to every design. The eligibility details, accepted standards and final requirements remain proposal-dependent.
Detect-and-Avoid Requirements
The NPRM proposes right-of-way and detect-and-avoid rules that use ADS-B Out or other approved electronic-conspicuity information in defined circumstances. The practical design questions include:
The aircraft needs an approved way to receive the relevant cooperative-traffic information
You need a DAA algorithm that can command avoidance maneuvers or alert the operator
Equipage and operating limitations must follow the eventual rule and the specific authorization
For DIY BVLOS platforms: uAvionix Ping (ADS-B transceiver, ~$800), Sagetech MXS, and mRo ACSP7 are the common hardware options. ArduPilot 4.4+ has native ADS-B In support with avoidance action. Review needed: regulatory / commercial
UTM and ADSP Integration
For some proposed operations, the NPRM would require coordination with an FAA-approved Automated Data Service Provider (ADSP) for services such as deconfliction. The proposal describes services including: Review needed: regulatory
Pre-flight airspace reservation
Real-time conflict detection with other BVLOS operators
ATC integration in controlled airspace
In practice, this means most BVLOS Permit operators will need to subscribe to a UTM service. ANRA Technologies, Airbus UTM, and Wing are among the early ADSP candidates. Pricing and availability are not yet established.
Practical BVLOS Stack for a Custom Platform
For early engineering exploration of a custom ArduPilot fixed-wing or VTOL that might later seek an applicable BVLOS approval:
Command & Control Link
The C2 link must be reliable beyond visual range. Options ranked by practicality:
Link Type
Range
Latency
Cost
Notes
Evidence
Cellular (LTE/5G)
Nationwide where coverage exists
50–200ms
$30–80/mo
DroneEngage, SIYI, Herelink cellular
—
Satellite (Iridium)
Global
270–400ms
$150–500/mo
Too high latency for active control; OK for telemetry + failsafe
Review needed: performance / commercial
Satellite (Starlink)
Near-global
20–40ms
$120–200/mo + terminal
Promising but terminal weight is significant
—
900MHz LoRa (MANET)
10–30km LOS
100–300ms
Low
Mesh relay extends range; Meshtastic for backup C2
—
1.4GHz licensed
100+ km
<50ms
High (license)
Best for long-range fixed-wing ISR
—
The most practical setup for low-cost BVLOS: primary C2 via LTE (DroneEngage), backup telemetry via LoRa mesh (Meshtastic), with a 900MHz or 1.4GHz direct link for short-range departure and approach phases. Review needed: regulatory / performance / commercial
ADS-B In
The proposed framework includes Remote ID requirements. Current Remote ID rules and any issued operating approval control today.
Illustrative ArduPilot configuration to evaluate in a non-operational test environment:
Required at all times. See the Remote ID for Custom Builds guide for wiring and configuration details.
GCS Software
QGroundControl and Mission Planner both support BVLOS workflows: corridor planning, altitude limits, geofence setup, and multi-link C2. Mission Planner has better ArduPilot integration; QGC has better cross-platform support and MAVLink 2 telemetry handling. Review needed: regulatory
For cellular BVLOS via DroneEngage: the DroneEngage companion computer (Raspberry Pi) connects to your FC via USB serial and handles MAVLink forwarding over the cellular link transparently. You fly with QGC or Mission Planner on any internet-connected device.
Proposed Part 108 Permit Concepts
The NPRM proposes requirements in these areas. This list is an orientation to the proposal and must not be used as a current compliance checklist:
Operating authorization and airspace conditions appropriate to the operation.
Remote identification and aircraft conspicuity as specified by any final rule and the operating approval.
Third-party service coordination where an approved service is required.
C2 monitoring and lost-link response defined by the approved operating concept.
Detect-and-avoid performance appropriate to the airspace and operation.
Records and reports required by the final rule and operating approval.
The proposed reporting and logging concepts can inform Tooth's audit-trail design. A Tooth record has not been evaluated or approved as satisfying FAA recordkeeping requirements.
What Changes Everything: Detect-and-Avoid
The fundamental barrier to scalable BVLOS has always been that operators can't visually scan for conflicting traffic. The regulatory structure compensates for this with technology requirements, but those requirements add cost, weight, and complexity. Review needed: regulatory / commercial
The realistic near-term DAA stack for a Group 1 UAS (under 25kg):
ADS-B In (~50–200g, ~$300–800): detects all manned aircraft broadcasting ADS-B Out. Covers most commercial and general aviation traffic.
Traffic Advisory System integration: ArduPilot's native avoidance will command a climb maneuver when an ADS-B target approaches within a configurable range.
Gap: Low-altitude, non-ADS-B aircraft (gliders, ultralights, non-equipped helicopters, other drones). Cooperative receivers do not detect every traffic threat. Do not assume ADS-B In alone satisfies an eventual DAA requirement or an issued authorization.
This gap is the core reason VO-less BVLOS at scale remains difficult. The ADS-B → avoidance system handles the manned aviation threat; the unequipped aircraft threat is still mostly managed by procedural deconfliction (fly at night, fly in low-activity airspace, coordinate with ATC).
Forge cross-reference: 13 entries in c2_datalinks category Related handbook chapters: Ch. 2 (Frequency Bands), Ch. 5 (Five Link Types), Comms & Datalinks, Mesh Radios
What C2 Datalinks Do
Command and Control (C2) datalinks carry the mission-critical telemetry and commands between a ground operator and the drone. Unlike FPV video links (high bandwidth, loss-tolerant) or mesh radios (peer-to-peer, swarm-oriented), C2 datalinks prioritize reliability and deterministic latency. If the C2 link drops, the drone must execute a failsafe — return to launch, hold position, or land. Review needed: performance / configuration
For BVLOS operations, the FAA requires a "reliable C2 link" as a condition of waiver approval. This has created a distinct hardware category separate from hobby-grade RC links like ELRS or Crossfire. Review needed: regulatory
Key Specifications
Frequency band — Determines range, interference profile, and regulatory requirements. Most C2 links operate in 900 MHz ISM (US), 2.4 GHz ISM, or the dedicated 5030–5091 MHz CNPC (Command and Non-Payload Communications) C-Band reserved for UAS by the ITU. Review needed: performance / configuration / failure mode
Range — Measured in line-of-sight (LOS) and non-line-of-sight (NLOS). Tactical MANET radios like Silvus claim 60+ km LOS; aviation-grade links like uAvionix microLink target 50+ km at certified power levels.
Latency — Sub-100ms is typical for telemetry; sub-50ms is required for real-time manual control at range. MANET radios add hop latency in mesh configurations.
Throughput — C2 telemetry itself is low-bandwidth (MAVLink at 10–50 kbps). Many C2 links also carry video, pushing bandwidth requirements to 2–20 Mbps.
Encryption — AES-256 is standard for defense applications. Some links support Type-1 or FIPS 140-2/3 for classified operations.
SWaP — Size, Weight, and Power. Group 1 UAS (<20 lbs) need radios under 100g and 5W. Group 2+ platforms can accommodate larger units.
The Landscape
Aviation-Grade (Certified / BVLOS-Focused)
uAvionix microLink — FCC and IC approved 900 MHz C2 radio built specifically for BVLOS operations. Designed for integration with uAvionix ping200X transponder for a complete airspace-compliant package. The closest thing to a "certified" C2 link for commercial BVLOS in the US. Review needed: regulatory
uAvionix muLTElink-5060 — Multi-datalink Airborne Radio System combining CNPC C-Band (5030–5060 MHz) with LTE cellular backup. Implements the Link Executive Manager concept from ASTM F3002 — automatically switches between radio and cellular based on link quality. Dual-redundant C2 in one box.
Tactical MANET (Military / Defense)
Silvus StreamCaster SC4200EP — 2×2 MIMO tactical MANET radio used across DoD UAS programs. Carries C2, video, and telemetry simultaneously in a single waveform. Self-forming, self-healing mesh. AES-256 encryption. The default C2 link for many Blue UAS platforms.
Silvus StreamCaster Lite SL5200 — Ultra-low SWaP version of the SC4200 designed for Group 1 UAS. Same MANET waveform and encryption in a form factor small enough for 5-inch FPV platforms.
L3Harris AMORPHOUS — Swarm-optimized C2 system designed for controlling multiple autonomous platforms from a single operator station. Purpose-built for the multi-vehicle use case that standard MANET radios bolt onto.
XTEND XOS — Software-defined C2 platform that abstracts the radio layer, allowing mission planning and vehicle control across heterogeneous link types.
Shield AI Hivemind — AI-powered autonomy stack with integrated C2. Not just a radio — it includes the autonomy layer that decides what to do when C2 is degraded or denied.
PDW Blackwave — Tactical waveform designed for contested electromagnetic environments.
Integrated Systems (C2 + Video + GCS)
CubePilot Herelink V1.1 — All-in-one 2.4 GHz system with HD video transmission, C2 datalink, and Android-based ground controller. Integrated touchscreen GCS with QGroundControl preinstalled. 20 km range. Popular for commercial and research platforms where a single-box solution is preferred over separate C2 and video links.
Ultra (formerly dTEC) ADSI Gateway — Airspace Deconfliction and Situational Integration gateway. Not a radio itself but a C2 middleware that connects drone C2 links to the broader military airspace management system.
DTC BluSDR/SOL8SDR — Software-defined radios that can be configured for C2, video, or general-purpose tactical communications. Flexible but require RF engineering expertise to configure properly.
Kutta Technologies KGS — GCS integration platform that bridges drone C2 links to military C4ISR networks (TAK, ATAK, JBC-P).
Frequency Planning
C2 links must be planned alongside all other RF systems on the platform. See the Frequency Bands chapter for the complete deconfliction framework. Key considerations:
900 MHz C2 (microLink) conflicts with 900 MHz ELRS — cannot run both simultaneously
2.4 GHz C2 (Herelink) conflicts with 2.4 GHz ELRS, Wi-Fi, and some video links
CNPC C-Band (5030–5091 MHz) is the only spectrum reserved exclusively for UAS C2 — no conflict with other drone subsystems, but requires specific authorization
Silvus MANET radios are frequency-agile (can operate across wide bands) but must be coordinated with other MANET users in the battlespace
NDAA and Blue UAS Considerations
Silvus and uAvionix are both US-manufactured and Blue UAS compatible. CubePilot Herelink is manufactured in China (HEX/ProfiCNC) — it is not NDAA-compliant and should not be used on defense programs despite its popularity in commercial applications. Review needed: regulatory
For Blue UAS programs requiring C2 links, the practical options are Silvus, uAvionix, L3Harris, or purpose-built links from the platform manufacturer (e.g., Shield AI, Skydio).
Cellular modems let you fly beyond visual line of sight without a
dedicated RF link — using existing carrier infrastructure. The tradeoff
is latency, reliability, and regulatory complexity.
When to Use Cellular vs Dedicated RF
Scenario
Cellular
Dedicated RF
Evidence
Urban/suburban BVLOS
✓ Good coverage
✗ Path loss
Review needed: regulatory
Rural/remote
✗ Coverage gaps
✓ Reliable
—
Latency-sensitive (FPV)
✗ 40–120ms
✓ <10ms
—
Long range (>10km)
✓ If covered
Depends on hardware
—
Redundancy (backup link)
✓ Excellent
—
—
Infrastructure-independent
✗ Carrier dependent
✓
—
BVLOS regulatory path
✓ FAA prefers
Requires BVLOS waiver
Review needed: regulatory
Bottom line: Cellular is best for planned routes in covered areas with
moderate latency tolerance. Use dedicated RF (Silvus, Doodle Labs) for
tactical or latency-sensitive ops. Use both for redundancy.
Hardware Options
Modems
Modem
LTE Cat
Notes
NDAA
Sixfab Raspberry Pi Hat
Cat 4/M1
RPi integration, broad carrier support
✓
Holybro LTE Telemetry
Cat 4
Plug-and-play with Pixhawk, MAVLink native
✓
Digi XBee LTE
Cat M1/NB1
Industrial grade, wide temp range
✓
Skydio LTE Module
Integrated
Skydio X10 only, AES-256 encrypted
✓
Sierra Wireless RV50
Cat 6
Enterprise, multi-carrier failover
✓
TILT Autonomy Starlink PoE
Starlink
Blue UAS Framework cleared, LEO satellite
✓
Integration Approaches
MAVLink over LTE (most common):
FC → UART → LTE modem → cellular network → GCS
Use MAVLink-router or MAVSDK to forward MAVLink streams over TCP/UDP.
Companion computer as bridge:
FC → UART/USB → RPi → LTE modem → cloud → GCS
More flexible, supports encryption, logging, and AI inference onboard.
Latency Reality
Cellular latency is non-deterministic. Typical values:
Condition
RTT
LTE urban, good signal
40–80ms
LTE rural, marginal signal
80–200ms
LTE congested network
100–500ms+
5G sub-6GHz
20–50ms
Starlink LEO
20–60ms
40–120ms is acceptable for telemetry and waypoint navigation.
It is not acceptable for manual FPV control — use dedicated RF for
any hands-on piloting.
Jitter matters more than average latency. A 100ms average with
50ms jitter is worse than a 60ms average with 5ms jitter for telemetry
stability. Look for networks with consistent performance.
Carrier Selection
Redundancy: Multi-carrier SIMs (Eseye, Telnyx, Twilio Super SIM)
auto-failover between carriers. Essential for any operational deployment.
Coverage mapping: Use carrier coverage maps + field testing. Indoor
coverage maps are useless for airborne UAS — you're above buildings,
so signal is usually better than ground level.
Band selection: Bands 12, 13, 14 (700MHz) penetrate obstacles and
have wider rural coverage. Bands 4, 2, 66 (1700–2100MHz) have more
urban capacity but shorter range.
FirstNet (AT&T): Priority network access for public safety agencies.
DFR operators using FirstNet get pre-emption over commercial traffic
during emergencies. Significant advantage for reliability.
Regulatory Considerations
FAA BVLOS Authorization
Cellular links are accepted as a C2 (command and control) link for
BVLOS operations. FAA requires: Review needed: regulatory / configuration
Demonstrated reliability — link performance data showing >99.9%
uptime in the proposed operating area
Lost link procedures — documented RTL/land behavior on link loss
Remote ID compliance — standard or broadcast RID still required
LAANC or waiver — cellular doesn't eliminate airspace authorization
Part 135 / BVLOS Waiver
For the FAA's Beyond Authorization process (post-2025 streamlined process):
- Submit link budget analysis for cellular
- Include coverage maps for operating area
- Document carrier redundancy
- Show lost link timeline: [link loss] → [CC override] → [RTL] → [land] Review needed: regulatory
Implementation Notes
Lost Link Behavior
Configure this before your first BVLOS flight:
ArduCopter:
FS_LONG_ACTION = 2 (RTL on long failsafe)
FS_LONG_TIMEOUT = 20 (seconds before long failsafe)
FS_SHORT_ACTION = 0 (continue on short failsafe)
FS_SHORT_TIMEOUT = 3
PX4:
COM_DL_LOSS_T = 10 (data link loss timeout, seconds)
NAV_DLL_ACT = 2 (RTL on data link loss)
Encryption
Raw MAVLink over the internet is unencrypted. For any operational use:
- Wrap in WireGuard or OpenVPN tunnel
- Or use MAVLink 2 signing (per-packet HMAC)
- Holybro LTE module handles this transparently
Bandwidth Requirements
MAVLink telemetry at 4Hz: ~1–3 kbps
MAVLink telemetry at 10Hz: ~3–8 kbps
Video stream (720p): 1–4 Mbps
Video stream (1080p): 4–10 Mbps
Cellular handles all of these comfortably. Budget for video if you need
live feed. Telemetry-only C2 is trivial bandwidth.
EW-Resilient Communications — Keeping the Link Alive
Part 6 — Components
The radio link between operator and drone is the single point of
failure that electronic warfare exploits. This chapter covers
who builds the links that survive jamming.
The EW Reality
GPS-denied, spectrum-contested environments are the new baseline.
Ukraine proved this at scale — Russian EW systems routinely jam
GPS, spoof navigation, and disrupt C2 links. The average lifespan
of a commercial drone on the Ukrainian front is days, not months,
largely because consumer-grade links fail under EW pressure.
Any drone system intended for contested environments needs
communications that degrade gracefully rather than failing
catastrophically. This means frequency hopping, spread spectrum,
mesh networking, and ultimately — for complete EW immunity —
fiber-optic links.
The Handbook's RF Fundamentals (Part 1) covers the physics.
This chapter covers the products and manufacturers.
Sine Engineering — Combat-Proven from Day One
The most important communications company most people have never
heard of. Founded in Lviv, Ukraine in 2022 as a counter-UAS team.
After realizing that resilient connectivity is both the most critical
enabler and the most vulnerable aspect of UAS operations, they
pivoted to building their own solutions.
Detail
Value
HQ
Lviv, Ukraine (European office planned)
Founded
2022
Employees
150
Customers
150+ UAV development teams, 70+ drone manufacturers worldwide
Notable Client
Vyriy Drone (100% Ukrainian-sourced FPV)
NATO
Innovation Range winner (Dec 2025, communications category)
Production
Scaling 5× in 2026
Funding
Bootstrapped through 2025, first investment round in progress
Pasika Platform
Pasika ("Apiary") is Sine Engineering's integrated platform for
multi-drone operations in contested environments. Four core pillars:
Resilient C2 Datalinks — Secure command and control with
Smart FHSS (frequency hopping spread spectrum), jamming detect
and avoid. Hardware-agnostic. Review needed: configuration / failure mode
Digital Video Datalinks — HD video transmission optimized
for EW-contested environments.
GPS-Independent Navigation — Satellite-free positioning
using time-of-flight signals from nearby Sine.Links (inspired
by legacy aviation navigation). Not centimeter-accurate, but
maintains operational continuity when GPS is denied.
Swarm Capability — One operator controls multiple drones
via single interface. Assign mission zones, launch sequentially,
switch between drone feeds, deconflict paths automatically.
Combat record: Missions exceeding 200+ km in active EW
conditions. Deployed across multiple Ukrainian drone types
including strike FPVs, fiber-optic drones, and interceptors
(Wild Hornets' Sting).
Why Sine Engineering Matters
Pasika allows $300–500 FPV drones to complete missions that would
typically require more expensive platforms — because they maintain
comms longer, avoid jamming more often, and deliver telemetry for
continuous improvement. The system evolves weekly from direct
battlefield feedback. As Sine puts it: "We don't bet on stability.
We design for instability." Review needed: commercial / failure mode
Their approach — "operator-scaled deployment" that extends human
capability rather than replacing it — maps directly to the AI
Wingman "Jarvis not Ultron" philosophy.
FPGA-based modules are in development for next-generation
hardware. European branch opening for NATO-aligned manufacturing
partnerships, including targeting US defense manufacturers
supplying the Pentagon.
Western Mesh Radio Manufacturers
Doodle Labs
Detail
Value
HQ
USA / Singapore
Listing status
Check the current authority listing and exact configuration
Technology
Model/release-specific Mesh Rider networking; see primary documentation
Products
Mesh Rider series in Helix configuration
Key Feature
Wi-Fi-based mesh with ruggedized form factor
Procurement status
Unverified; exact item and applicable authority required
Doodle Labs Mesh Rider radios are the most commonly integrated
mesh networking solution in commercial and defense small UAS.
The documented IP and management interfaces support integration. Do not infer the implementation of every waveform from a management operating system.
See the Handbook's mesh radios chapter (Chapter 14) for
configuration details and real-world range expectations.
Unverified; exact item and applicable authority required
Silvus provides the highest-throughput mesh radios in the market.
Their MN-MIMO technology uses multiple-input multiple-output
antenna configurations with mesh networking for combined
throughput and resilience. Premium pricing — positioned for
high-value platforms where bandwidth justifies the SWaP cost.
Persistent Systems
Detail
Value
HQ
New York, NY, USA
Technology
MPU5 MANET radio
Key Feature
Android-based radio with integrated compute
Products
MPU5 series
Procurement status
Unverified; exact item and applicable authority required
Persistent Systems MPU5 is unique in running Android OS natively
on the radio, enabling onboard application hosting. Wave Relay
MANET protocol. Used extensively by US SOF and DoD.
TrellisWare's Barrage Relay technology eliminates traditional
routing — all nodes collaboratively relay all traffic using
cooperative combining. This means the network self-heals
instantly when nodes join, leave, or are destroyed. Tested
with 800+ nodes. Network formation in under 5 seconds.
Anti-jam C2 for UAS (2025): New waveform specifically for
drone command and control with anti-jam uplink alongside high-
throughput video/sensor downlink. Latency requires a stated mode and measurement boundary.
This directly addresses the DDG Phase II EW requirement. Review needed: performance / configuration
Mobilicom
Detail
Value
HQ
Israel / USA
Listing status
Check the current authority listing and exact configuration
Products
SkyHopper PRO, PRO Lite, PRO Micro
Key Feature
Encrypted, cybersecure drone datalinks
Partnership
ARK Electronics — affordable AI drone solutions
Procurement status
Unverified; exact item and applicable authority required
Turkish Manufacturers
Aselsan
Turkey's largest defense electronics company. Produces military-
grade communications, EW systems, and radar. Supplies datalinks
for Baykar TB2/TB3 and TAI ANKA platforms. Export-controlled.
TUALCOM
Stackable data acquisition and telemetry suites for UAS.
Integrated with Turkish military platforms.
Meteksan
AKSON C-Band datalink (announced Nov 2025). Turkish defense
communications.
Fiber-Optic — The EW-Immune Option
Fiber-optic FPV eliminates RF entirely. Video and control signals
travel through a thin optical fiber trailed behind the drone.
Zero RF emissions means zero detectability and complete immunity
to electronic warfare jamming.
Key players:
- Kela Technologies (Israel, In-Q-Tel backed) — fiber-optic
technology partner for Neros Archer Fiber. World's first
procurement status unverified fiber-optic FPV.
- SkyFall (Ukraine) — Fiber-optic FPV drones. Partnered with
Skycutter for DDG Phase I (Shrike 10 Fiber won with 99.3 points).
- 3DTech (Ukraine) — 3D-prints their own fiber spool casings.
- Hasta (Ukraine) — Optically-guided FPV, 20–50 km range.
Tradeoff: Range is limited by spool length (physical fiber
must trail behind the drone). The fiber can snag on obstacles.
But for missions where EW immunity is paramount and range is
known, fiber-optic is unbeatable.
DDG Phase I validated this: the fiber-optic Shrike dominated
the competition. DDG Phase II's full EW environment will likely
further advantage fiber-optic platforms.
RC and C2 Link Discovery
Use protocol and hardware documentation to identify candidates. Procurement status requires an exact-item review under the applicable authority; an origin filter does not establish eligibility.
Orqa Ghost — 2.4 GHz RC Link
EU-manufactured, procurement status unverified 2.4 GHz RC link using LoRa-based
chirp spread spectrum with adaptive FHSS. One of very few
non-Chinese RC link options with both race and long-range performance.
Parameter
Value
Frequency
2.4 GHz ISM band
Modulation
Chirp Spread Spectrum + Adaptive FHSS (LoRa/FLRC)
Protocol
GHST (native), SBus, SRXL-2, PWM
Modes
Pure Race (222–250 Hz, <4 ms), Normal (~50 Hz), Long Range (~15 Hz)
Works with PX4 (RC_INPUT = GHST), QGroundControl,
Betaflight 4.3+, iNav, and ArduPilot. OpenTX 2.3.13+ recommended.
Orqa IRONghost — Licensed-Band C2
Defense-grade C2 link operating on licensed bands. Dual-radio
architecture. Procurement eligibility requires current exact-item evidence.
Parameter
Value
Spectrum
Licensed bands (contact Orqa for spectrum details)
Max Tx Power
3W
Modulation
Proprietary, firmware-upgradeable
Video
Combined C2 Rx + 5.8 GHz analog VTx in single module
OTA Updates
Firmware during binding (<60 seconds)
Paired with Orqa Tac.Ctrl (MAVLink, ATAK-compatible) and GCS-1
ground station for extended range and NLOS operations via aerial
repeater. Requires licensed spectrum — coordinate with your RF
authority before deployment.
Critical: Never power on without all antennas attached — 3W
reflected back into amplifiers causes permanent damage.
Choosing Communications
Consumer FPV links (ELRS, CRSF, DJI) are NOT EW-resilient.
They work in benign environments. They fail under deliberate
jamming. Don't pretend otherwise.
Mesh radios add resilience but add SWaP. A Doodle Labs or
Silvus radio is 100–300g and 5–15W. That's your biggest payload
hit after the camera. Budget it.
Frequency diversity matters. A single-band radio can be
jammed with a single jammer. Multi-band radios (TrellisWare
UHF+L+S in one device) are harder to deny.
Non-routing mesh > traditional routing. TrellisWare's
Barrage Relay and a configured mesh routing implementation both eliminate
single-point-of-failure routing tables. The network heals
when nodes die.
For DDG Phase II / contested environments: TrellisWare
anti-jam C2 or Sine Engineering Pasika are the purpose-built
solutions. Fiber-optic for maximum EW immunity at the cost
of range flexibility.
Review needed: performance / commercial
Combat-proven > spec sheet. Sine Engineering's Pasika has
been tested against Russian EW daily for years. That validation
data doesn't appear on any data sheet.
Meshtastic — LoRa Mesh as a Telemetry Backbone
Meshtastic is an open-source project that turns cheap LoRa radios (typically ESP32-based, sub-$30) into a self-healing encrypted mesh network. It was designed for off-grid human communication, but the architecture maps directly onto drone telemetry requirements for GPS-denied or RF-contested operations.
Why It Matters for Drones
Commercial drone links (GHST, ELRS, Crossfire) are point-to-point. When the GCS moves out of line-of-sight or the primary link is jammed, you lose everything. Meshtastic offers a different failure mode: packets route through whatever mesh nodes are still alive. A swarm of drones, each carrying a Meshtastic node, effectively forms its own relay network — each aircraft extending range for every other aircraft and the GCS.
Bandwidth is the constraint. Meshtastic at LoRa long-range settings moves roughly 1–5 kbps. That's enough for MAVLink heartbeat, GPS position, battery voltage, and flight mode — the minimum viable telemetry set — but not enough for video, high-rate sensor data, or fast command loops. Think of it as the backup nervous system, not the primary one. Review needed: performance / configuration
The AkitaEngineering Meshtastic-Integration-for-DroneBridge32-Swarm project (GitHub, GPL-3.0) demonstrates the integration architecture: Arduino C++ on DroneBridge32 parses MAVLink from the FC, encrypts the telemetry payload with AES, and transmits over Meshtastic. Python ground station plugins receive, decrypt, display, and send control commands back. The project also implements geofencing at the mesh layer (drone enforces a fence independent of FC), dynamic channel switching based on link quality, and emergency landing commands that propagate through the mesh even under degraded conditions.
The code is a reference implementation, not production firmware — no versioned releases, minimal testing. But the architectural patterns are sound and directly applicable:
MAVLink-over-Meshtastic bridge: parse MAVLink on the embedded side, serialize the essential fields, transmit over LoRa, reassemble on the GCS side and re-inject into Mission Planner or QGroundControl via UDP.
Mesh-layer geofencing: the drone enforces its fence using its own GPS + the received boundary definition, independent of FC-level fence. This survives link degradation.
Swarm broadcast commands: Meshtastic's broadcast addressing lets a single GCS message reach all nodes in the mesh simultaneously — useful for emergency stop, RTL, or mode change across a swarm.
Dynamic channel switching: if interference is detected on the primary channel, both sides coordinate a channel hop through a pre-agreed fallback sequence.
Hardware
Any Meshtastic-compatible LoRa hardware works. The most drone-relevant options:
Device
Weight
Form factor
Notes
LilyGo T-Beam
~35g
Dev board
GPS onboard — useful for mesh relay nodes
Heltec LoRa 32
~8g
Compact
No GPS, pure mesh relay
RAK WisBlock
~5–15g
Modular
Cleanest integration option for embedded builds
TTGO LoRa32
~10g
Compact
Common, well-supported
All run at 915 MHz (US) or 868 MHz (EU). LoRa is ISM band — no license required, but power limits apply. At maximum legal EIRP, reliable range in open terrain is 5–15 km depending on antenna and terrain. Review needed: regulatory / performance
Integration Pattern for Wingman/Command
For a Wingman swarm deployment, the recommended architecture is a dual-link stack: GHST (or ELRS) as the primary high-bandwidth link for normal operations, Meshtastic as the secondary low-bandwidth link for telemetry heartbeat and emergency commands. The Meshtastic node on each drone runs independently of the primary link — it has its own power rail, its own CPU, and its own antenna. A primary link failure leaves the mesh intact.
The MAVLink-over-Meshtastic bridge runs as a process on the companion computer (APB or VOXL 2), feeding MAVLink telemetry from the FC to the Meshtastic serial interface, and forwarding received commands from the mesh back to the FC.
DroneEngage — Cellular Telemetry at Scale
DroneEngage is the ArduPilot project's cloud companion software, running on Raspberry Pi and providing unlimited-range telemetry, video streaming, and fleet management over 4G/LTE/5G. It is the Linux successor to Andruav (the Android companion app) and is actively developed under the ArduPilot umbrella.
What It Does
A Raspberry Pi connected to an ArduPilot or PX4 flight controller via UART/USB becomes a DroneEngage unit. The Pi connects to the internet via a USB LTE modem or HAT, and from that point the drone is reachable from anywhere with a browser. The web client provides a full ground control station: MAVLink telemetry, gamepad control, video streaming, geofencing, and swarm management.
Key capabilities:
Unlimited telemetry range — the link goes through the internet, so range is only limited by cellular coverage. Relevant for BVLOS operations.
MAVLink forwarding — DroneEngage forwards MAVLink transparently to Mission Planner, QGroundControl, or any UDP endpoint. No change to existing GCS workflows.
Video streaming — supports Raspberry Pi cameras and USB cameras. Stream from one or multiple cameras simultaneously.
Swarm operations — control multiple drones from a single interface with synchronized missions and hierarchical formation management.
RC Blocking / TX Freeze — a local field pilot can override remote control; TX Freeze holds throttle position for safe long-range cruise without active stick input.
Independent geofencing — enforced at the companion computer level, independent of the FC's fence logic. Survives FC configuration changes.
Air-gap server — self-hostable backend for operations where cloud dependency is unacceptable (contested environments, classified sites, comms-restricted areas).
Hardware
DroneEngage runs on Raspberry Pi Zero W, Zero 2 W, Pi 3, 4, or 5. Weight matters:
Platform
Weight (with LTE modem)
Use case
RPI Zero W
~42g complete
Telemetry-only, minimal payload budget
RPI Zero 2 W + camera
~52g
Telemetry + single camera stream
RPI 3/4
~85–95g
Multi-camera, heavier compute tasks
The 42g complete-system figure for the Zero W is notable — it's competitive with dedicated telemetry radios when you factor in that you're also getting cloud connectivity, geofencing, and swarm management in the same package.
Andruav (Legacy Android Path)
Andruav is the predecessor: an Android phone running as a companion computer, connected to the FC over USB serial. The phone provides GPS, camera (FPV), cellular telemetry, and SMS-based control as a fallback. It's simpler to deploy for rapid prototyping — tape a phone to the airframe, connect USB, install the app — but less capable than DroneEngage for serious operations. Active development has shifted to DroneEngage; Andruav is maintained for existing deployments.
Air-Gap Deployment
For operations where cloud routing is off the table, DroneEngage supports a self-hosted server that can run on a Raspberry Pi 4 at the GCS site. All drone-to-GCS traffic routes through this local server rather than ArduPilot's cloud infrastructure. The protocol and security model are identical — the only change is the server endpoint. This makes DroneEngage viable for classified programs, contested environments, and locations with unreliable internet.
Integration with Command
DroneEngage's swarm logic and its air-gap server are directly relevant to Command's architecture. The hierarchical swarm formation model (lead drone + subordinates, commands propagate through the tree) maps to CBBA task allocation with a broadcast command layer on top. The air-gap server pattern is exactly what Command needs for field-deployable C&C without cloud dependency. The DroneEngage communication protocol is documented (see ArduPilot cloud docs) and could serve as a reference or direct integration point for Command's GCS-to-swarm link.
Last updated: March 2026
OpenHD — Open-Source Digital Video Link
OpenHD is the open-source answer to DJI O3, Walksnail Avatar, and HDZero. Instead of proprietary hardware running a proprietary protocol, it puts commodity RTL8812AU WiFi adapters into a one-way broadcast mode (wifibroadcast) that behaves like an analog video transmitter — no association handshake, no ACK, just raw packets into the air. The result is a long-range digital HD video link built from hardware you can source on AliExpress for under $50 total. Review needed: performance / commercial / configuration
The suite transmits HD video, two-way UAV telemetry, two-way OpenHD telemetry (settings, range adjustments, channel changes, wifi modulation), and RC control signals — all multiplexed over a single RF channel, using MAVLink for the telemetry layer. The world record stands at 55km on a fixed-wing platform.
Why It Matters
Commercial HD video links (DJI O3, HDZero, Walksnail) cost $150–400 for the air unit alone, lock you into specific cameras, and ship from China. OpenHD costs $15–30 for the air unit, works with any CSI camera your SBC supports, and is open source down to the driver level. Hardware origin, usable range and procurement status require separate exact-configuration evidence. Review needed: performance / commercial
It's also the only digital FPV link where you can inspect and modify every layer of the stack — from the WiFi driver to the video codec to the OSD renderer.
How Wifibroadcast Works
Standard WiFi requires both ends to associate before exchanging data. That association process adds latency and creates a hard cliff at range — when signal degrades below the association threshold, the link drops entirely. Wifibroadcast bypasses association entirely. The air unit injects raw 802.11 frames directly into the driver; the ground unit captures all frames promiscuously regardless of source. This is the same transmission model as analog video: signal degrades gracefully with distance rather than falling off a cliff. FEC (forward error correction) across multiple packets replaces the ACK mechanism, so isolated packet loss doesn't corrupt the stream.
Hardware Stack
Air unit (minimum):
Raspberry Pi Zero 2 (not the original Zero 1 — not supported), a dedicated BEC for the WiFi adapter, and a supported camera with the 22-pin type B CSI cable. The WiFi adapter must be soldered to the SBC's USB pads — vibration will disconnect any plug-in connection.
Air unit (better):
Raspberry Pi CM4 with Ochin CM4 carrier board, plus a supported WiFi card. The CM4 enables dual camera, better thermal performance, and lower latency.
Ground station:
A laptop with SecureBoot disabled, plus a supported WiFi adapter. X86 performance matters — faster hardware means lower decode latency. For lowest latency ground decode, a Radxa Rock 5 is the current recommendation — the ground pipeline must decode the selected codec. Confirm exact image/decoder/display support; a codec feature is not an end-to-end latency measurement.
WiFi adapters:
Supported chipsets: RTL8812AU, RTL8814AU, RTL8811AU, RTL8812BU, RTL8812EU. Top picks: ALFA AWUS036ACH (500mW, 8812AU, 2× RP-SMA), ASUS USB-AC56 (500mW, 8812AU, widely available), "Taobao card" (generic 8812AU, 500mW, 2× u.fl). Most users prefer 5.8GHz — cleaner spectrum than 2.4GHz and no interference with 2.4GHz RC transmitters. 5.8GHz does not offer better penetration but has cleaner channels in most operating environments.
The BLM8812EU is the newest and most capable chipset — higher sensitivity and better power output — and the project publishes an equipment-certification warning. Verify exact equipment authorization before purchase/use; technical support is not permission.
Latency
Measure exposure-to-display on the exact camera/SBC/codec/image/adapter/mode. Air encoding and ground decoding are different stages. The former generic RPi/Rock5/custom-hardware ranking and numbers are withdrawn; see video pipeline diagnostics.
Security
OpenHD provides link encryption with verification, which must be assessed with the exact key-management and acceptance configuration; encryption does not guarantee availability or eliminate interference. This is configurable through QOpenHD settings.
Dual Camera + Picture-in-Picture
OpenHD supports two CSI cameras simultaneously — typically forward view + downward/thermal. The ground station displays both via an adjustable picture-in-picture overlay in QOpenHD. Supported camera types include libcamera, veye, raspivid, USB, thermal, and unmanaged cameras.
MAVLink Integration
OpenHD passes MAVLink telemetry transparently over the wifibroadcast link. The air unit connects to the FC via UART (same as any telemetry radio — standard MAVLink port configuration). On the ground, QOpenHD receives and displays the telemetry, and also forwards the MAVLink stream over UDP so Mission Planner or QGroundControl can connect simultaneously. This makes OpenHD a functional telemetry radio replacement, not just a video link.
Integration with Wingman / Buddy
QOpenHD's Android app receives the ground station video and telemetry stream over WiFi or USB. For Wingman deployments, this means:
Buddy can consume the MAVLink UDP stream from the OpenHD ground station without any modification to the existing telemetry pipeline — it connects as a second MAVLink client on the same forwarded stream.
The video stream can be pulled via RTSP or UDP from the ground station and displayed in Buddy's live view alongside the GCS data.
OpenHD's RC passthrough can operate alongside dedicated GHST/ELRS links — video and telemetry over OpenHD, high-rate control commands over the primary link.
Range Realities
55km is the record under ideal conditions — fixed-wing platform, high-gain directional antennas with tracker, line of sight, quiet spectrum.
Stock antennas (dipoles that come with the adapter): 1–3km. This is what OpenHD's own FAQ states. Do not expect more without upgrading antennas.
With upgraded ground antenna (14dBi panel + tracker): 8–15km. OpenHD's Friis calculation: 14dBi panel / 5dBi omni at 5.2GHz 200mW = 8.2km theoretical.
With high-gain ground antenna (17–23dBi + tracker): 15–20km+. Their calculation: 17dBi planar / 5dBi omni at 5.8GHz 500mW = 16.4km theoretical.
The range comes from the antenna, not the radio. See the Antennas chapter (Ch. 3) for the full breakdown of what antennas the OpenHD community uses and how antenna trackers work.
WiFi Adapter Diversity
OpenHD supports RX diversity — two WiFi adapters on the ground, one omni + one directional, with per-packet best-signal selection. However, do not mix chipsets or vendors for diversity (e.g. don't combine RTL8812AU with RTL8812BU). Use the same chipset on both ground adapters. New users should start with a single adapter and add diversity later.
OpenIPC provides firmware and video tooling for supported camera SoCs. Support must be checked for the exact SoC, sensor, board, image and wireless driver. Compare actual capture-to-display timing, whole-system rail power and image recovery under loss using video pipeline troubleshooting. The former universal latency, power, price and platform ranking is withdrawn because its configurations and measurement boundaries were not documented. Review needed: performance / commercial / configuration
OpenIPC project documentation is a discovery source; check each component's license and stated use restrictions before selecting a build.
Part 6 — Components
When you need AI, computer vision, SLAM, or ROS on a drone,
you add a companion computer. This is the compute layer
between the flight controller and intelligence.
When You Need One
A flight controller runs the stabilization loop — PID control,
motor mixing, sensor fusion for attitude. It doesn't run neural
networks, process camera feeds, execute ROS nodes, or make
autonomous decisions beyond basic waypoint navigation.
When your mission requires object detection, visual-inertial
odometry, SLAM, AI-driven analysis, swarm coordination, or
onboard data processing, you need a companion computer.
The companion computer talks to the FC over MAVLink (UART or
Ethernet) and handles everything the FC can't.
ModalAI — The Blue UAS Standard
ModalAI holds 16 Blue UAS Framework listings — more than any
other single manufacturer. Their VOXL 2 platform is the reference
companion computer for PX4-based autonomous drones.
VOXL 2
Detail
Value
Evidence
HQ
San Diego, CA, USA
—
Blue UAS
16 Framework components
—
NDAA
FY20 §848 compliant, assembled in USA
Review needed: regulatory
Processor
Qualcomm QRB5165 (8-core, 2.84 GHz)
—
AI
15+ TOPS (GPU + DSP combined)
—
Camera Inputs
7× MIPI CSI-2 (supports FLIR Lepton/Boson)
—
Weight
16g (module only)
—
Software
PX4 (native), VOXL SDK, ROS, OpenCV, TensorFlow Lite
—
GPS-Denied
VIO, VOA, SLAM built-in
—
Connectivity
5G option
—
Price
~$1,199
—
VOXL 2 runs PX4 natively — it IS the flight controller AND the
companion computer in one module. This eliminates the FC-to-
companion serial bottleneck entirely.
VOXL 2 Mini
Same QRB5165 processor in a smaller form factor: 11g, 42mm×42mm
(30.5mm standard mounting holes). 4× MIPI camera inputs. Designed
for sub-250g drone builds.
Starling 2 / Starling 2 Max
Pre-integrated VOXL 2 development drones:
- Starling 2: 280g, 40 min indoor SLAM flight
- Starling 2 Max: 500g, 55 min outdoor, 500g payload capacity
ModalAI Sentinel
Defense-oriented configuration with enhanced security features.
NVIDIA Jetson Ecosystem
NVIDIA Jetson is the dominant GPU compute platform for onboard AI.
The Jetson module provides the raw compute; a carrier board provides
the I/O, power regulation, and physical interface to the drone.
Jetson Modules
Module
AI Performance
Power
Memory
Price
Status
Orin Nano 8GB
67 TOPS
7–25W
8 GB
~$249 (dev kit)
Entry-level UAS AI
Orin NX 16GB
157 TOPS (JetPack 6.2 Super MAXN)
10–40W
16 GB
~$699
Primary UAS companion compute
AGX Thor
2,070 FP4 TFLOPS
Higher
128 GB
Defense tier
Heavy UAS / ground station
The Orin NX 16GB at 157 TOPS is the sweet spot for most drone
AI applications — enough to run real-time object detection,
tracking, and VIO simultaneously.
NDAA-Compliant Jetson Carriers (Critical Layer)
The Jetson module is NVIDIA-manufactured (Taiwan/USA). The carrier
board determines NDAA compliance. Chinese-made carriers are NOT
compliant. Review needed: regulatory
ARK Electronics Carriers
Product
Key Feature
Evidence
ARK Just a Jetson
NDAA, made in USA. 75V direct battery input (!), built-in IMU, open-source. WiFi 6E/BT 5.3 M.2 option with Remote ID. NDAA bundles with USA-made Jetson + Swissbit SSD.
Review needed: regulatory
ARK Jetson PAB Carrier
Orin NX/Nano + any PAB flight controller (inc. ARKV6X). 90W redundant power across 3 inputs. JetPack 6.2 w/ Super MAXN = 157 TOPS. Can run LLMs on-device.
—
ARK VOXL2 RTK PAB Carrier
ModalAI VOXL2 + built-in RTK GNSS. Best of both worlds. Blue UAS Framework listed.
—
ARK's 75V direct battery input on the Just a Jetson is a
significant design choice — it means you can power the companion
computer directly from a 6S–18S flight battery without a separate
BEC or voltage regulator. One less failure point. Review needed: performance / failure mode
Other Carriers
Product
HQ
Key Feature
Neousys FLYC-300
Taiwan
Orin NX, 100 TOPS, 2× GigE, CAN, 4S-14S via XT30, -25°C to 70°C
Forecr DSBOARD-ORNXS
Turkey
Compact Orin NX/Nano, 2× GigE, CAN, 9-28V, -25°C to 85°C
Auterion Skynode
Skynode deserves mention here as a converged FC + companion
computer running AuterionOS (Linux). See the Flight Controllers
chapter for full specs. 50,000+ deployed. Runs PX4 with
containerized applications, ROS 2, and Auterion SDK.
CubePilot Herelink
Not a traditional companion computer but an integrated GCS +
video + control system. The Herelink ground unit + air unit
provides HD video streaming, RC control, and a touchscreen
interface in one package. Widely used in ArduPilot commercial
builds. Australian-made (verify specific component origins).
Raspberry Pi (Context)
Raspberry Pi 5 and CM4 are widely used as companion computers
in open-source UAS builds. Low cost (~$80), large community,
extensive software support. NOT NDAA compliant (UK design,
various manufacturing origins). The ARK Pi6X integrates a
CM4 with an ARKV6X flight controller on a single NDAA-compliant
board — the cleanest path to using Pi compute in a compliant build. Review needed: regulatory / commercial
Orqa DTK APB
The DTK APB takes the converged approach to an extreme: an
STM32H743 flight controller and an NXP i.MX8M Plus Linux SBC
on a single 65×40 mm board at 50 grams. The FC side runs PX4,
ArduPilot, iNav, or Betaflight. The SOC side runs Orqa's Yocto
Linux with a 2.25 TOPS NPU, dual 4-lane MIPI-CSI camera inputs
(one supporting analog CVBS via ADV7282), an H.265 hardware
encoder at 1080p60, hardware OSD (MAX7456 emulation), CAN bus,
and a PCIe expansion slot. FC-to-SOC communication runs over
internal UART and CAN — no external wiring.
Detail
Value
Evidence
HQ
Osijek, Croatia
—
SOC
NXP i.MX8M Plus (4x Cortex-A53, Cortex-M7)
—
FC MCU
STM32H743
—
NPU
2.25 TOPS
—
RAM / Storage
4 GB LPDDR4 / 4 GB eMMC + micro-SD
—
Camera Inputs
2x 4-lane MIPI-CSI 2
—
Video Encoder
H.265 / H.264, 1080p @ 60fps
—
Sensors
ICM42605 IMU, DPS310 barometer
—
Power
2S–8S battery or USB-C PD (60 W max)
—
Weight
50 g
—
NDAA
Compliant — EU manufactured
Review needed: regulatory
The APB's sweet spot is FPV builds that need onboard AI, computer
vision, or video processing without the wiring overhead of a
separate companion board. The 2.25 TOPS NPU handles lightweight
inference (object classification, pixel tracking) while the
hardware encoder can stream processed video back through the
analog OSD path to existing FPV goggles. Where VOXL 2 targets
the autonomous PX4 market and Jetson targets heavy ML workloads,
the APB targets the FPV-first operator who needs compute without
leaving the analog video ecosystem.
The Architecture Decision
Approach
Example
Pros
Cons
Separate FC + companion
ARKV6X + Jetson Orin NX
Maximum flexibility, hot-swap compute
Wiring complexity, serial bottleneck
Converged FC + compute
ModalAI VOXL 2, Auterion Skynode, Orqa DTK APB
Single board, no bottleneck, lighter
Less flexible, vendor lock-in
FC + carrier board
ARKV6X + ARK Jetson PAB Carrier
Best of both — PAB standard allows swapping either
Most complex physically
For the AI Wingman architecture, VOXL 2 is the primary PX4
integration target (converged approach). The Orqa DTK APB
(STM32H7 FC + i.MX8M Plus companion) is the converged
development hardware — same single-board philosophy as VOXL 2
but with FPV-native features (analog video I/O, hardware OSD,
multi-firmware FC support).
Choosing a Companion Computer
Start with your AI workload. Object detection at 30fps needs
~10+ TOPS. VIO + detection + tracking simultaneously needs 40+.
LLM inference on-device needs 100+.
Power budget matters more than specs. A Jetson Orin NX at
25W on a 5" FPV quad is a 15-20% hit to flight time. Plan
accordingly.
NDAA compliance is in the carrier, not the module. The Jetson
module itself is fine. The carrier board you mount it on
determines compliance. Use ARK carriers for NDAA builds.
Camera interface determines capability. MIPI CSI-2 is the
standard. Count how many camera inputs you need (stereo VIO =
2, plus thermal = 3, plus downward flow = 4) and match to the
platform's MIPI port count.
For NDAA builds: ModalAI VOXL 2 (Blue UAS, converged) or
ARK Just a Jetson / Jetson PAB Carrier (NDAA, modular).
Review needed: regulatory
For FPV builds that need compute: Orqa DTK APB. It's the
only converged FC + companion that keeps you in the analog
video ecosystem — hardware OSD, CVBS camera input, and an
encoder that can process video on-board without replacing
your existing FPV stack. 2.25 TOPS NPU won't run heavy
detection models, but it handles classification, tracking,
and sensor fusion at the edge.
For long-range telemetry and fleet management without onboard AI:
DroneEngage on RPI Zero W. 42g complete, cellular, swarm-capable,
air-gap deployable. If the requirement is BVLOS telemetry and
multi-drone coordination rather than onboard inference, this is
the right answer.
Review needed: regulatory / performance
DroneEngage — Cellular Companion Software
DroneEngage is not a hardware platform — it's companion computer software that turns a Raspberry Pi into a cloud-connected ground link. Developed under the ArduPilot umbrella, it runs alongside any ArduPilot or PX4 flight controller and provides cellular telemetry, video streaming, and swarm management over 4G/LTE/5G.
It answers the question of what software to run on a generic Raspberry Pi when the primary requirement is long-range telemetry and fleet management rather than onboard AI.
Architecture
A Raspberry Pi connects to the FC over UART or USB, connects to the internet via a USB LTE modem, and runs the DroneEngage agent. From that point the drone is reachable from any browser. The web client handles MAVLink telemetry, gamepad RC, video feeds, geofencing, and swarm coordination. DroneEngage also forwards MAVLink transparently over UDP to Mission Planner or QGroundControl — no change to existing GCS workflows.
Weight
Config
Total weight
Capability
RPI Zero W + LTE modem
42g
Full telemetry, cloud GCS, geofencing, swarm
RPI Zero 2 W + modem + camera
52g
Above + live video stream
RPI 4 + modem
~90g
Multi-camera, heavier compute
42 grams for unlimited-range telemetry, independent geofencing, RC blocking, and swarm coordination is competitive with dedicated telemetry radios — and those don't include cloud GCS or swarm management.
Key Features
Air-gap server: fully self-hosted backend. All drone↔GCS traffic routes through a local Raspberry Pi 4 at the GCS site rather than ArduPilot's cloud. Identical protocol and security model. Viable for contested environments, classified programs, and field sites without reliable internet.
RC Blocking / TX Freeze: local field pilot hardware override; TX Freeze holds current throttle for long-range cruise without active stick input.
Swarm operations: hierarchical formation management, synchronized missions, single-interface multi-drone control. Developer guide documents the swarm logic — maps directly to CBBA task allocation with a broadcast command layer on top.
GPS injection: companion can inject GNSS corrections into the FC — relevant for Hangar's preflight RTK workflow.
Andruav (Android Predecessor)
Andruav is the original version: an Android phone as companion computer, connected to the FC over USB serial. Phone provides GPS, FPV camera, 4G telemetry, and SMS fallback control. Still maintained; new development is on DroneEngage. Useful for rapid prototyping where Pi + LTE modem overhead isn't justified.
Forge cross-reference: 137 entries in control_link_tx category Related handbook chapters: RC Receivers, CRSF & ELRS Protocol, Electronic Warfare
The Transmitter Side of Your RC Link
The control_link_tx category covers the transmitter side of the RC control link — the radio modules, handsets, and ground-side hardware that sends stick commands from operator to drone. This is the other half of the ecosystem covered in receivers.md.
Most pilots use a full radio handset (RadioMaster Boxer, TX16S, Zorro) with an integrated or removable RF module. Understanding how to pick the right TX module — and how TX hardware affects link performance — is often overlooked.
Handset vs. Module
Modern RC transmitters are designed around interchangeable RF modules. The handset provides the user interface (gimbals, switches, display, battery) while the module slot accepts different RF hardware.
JR Module Bay (standard): Full-size 36-pin bay on back of handset. Accepts ELRS, Crossfire, Tracer, FrSky ACCESS, and legacy modules. RadioMaster TX16S, Jumper T18, FrSky X20S all use this.
Nano Module Bay: Smaller format used on compact handsets (RadioMaster Zorro, BetaFPV LiteRadio 3 Pro, RadioMaster Pocket). Accepts ELRS Nano and Crossfire Nano TX modules. Physical size is significantly smaller.
Internal RF: Many modern handsets integrate ELRS or CRSF transmitter directly, eliminating the module entirely. RadioMaster Boxer, RadioMaster TX12 MKII, BetaFPV SuperG all have internal ELRS. Simplifies setup, reduces failure points.
ExpressLRS TX Hardware
RadioMaster Ranger Micro / Ranger
The reference ELRS TX module at each power tier. Ranger Micro (500mW, 2.4GHz) fits nano bay. Ranger (1W, 2.4GHz) fits JR bay. Both run ELRS firmware directly and are firmware-upgradeable over USB. Review needed: performance / configuration
Why RadioMaster dominates: RadioMaster co-developed ELRS hardware reference designs and ships the most popular ELRS handsets. Their modules are widely used, well-documented, and firmware stays current. Review needed: performance / configuration
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
ELRS Backpack
The ELRS Backpack concept allows a WiFi module to receive VTX control commands via ELRS telemetry, enabling VTX channel/power changes from the transmitter without a separate channel. Minor but useful for competition setup.
BetaFPV ELRS Micro TX
Compact ELRS TX module. 100mW / 250mW / 1W variants. USB-C charging, hall-effect gimbals on some handsets. Procurement status requires exact-item screening.
Crossfire / Tracer TX Hardware
TBS Tango 2
Team BlackSheep's dedicated long-range RC transmitter. Crossfire protocol, 1W output, folding design, 12-hour battery. The benchmark for long-range wing and fixed-wing BVLOS operations. Review needed: regulatory / performance / configuration
Procurement status is configuration- and authority-specific; headquarters does not establish it.
TBS Crossfire TX / TX Lite
The JR-bay and nano-bay Crossfire TX modules respectively. Pair with any JR-compatible handset. 1W output (TX), 250mW (TX Lite).
Procurement status is configuration- and authority-specific; headquarters does not establish it.
TBS Tracer TX
2.4GHz variant of Crossfire TX. Faster packet rates, slightly less range than Crossfire 900MHz. Nano bay form factor.
FrSky TX Modules
FrSky (Chinese — procurement status unverified) produces the ACCESS-protocol TX modules used with FrSky receivers. R9M (900MHz, long range) and XJT (2.4GHz) are common in legacy setups. Not recommended for new builds — ELRS and Crossfire have surpassed FrSky on every performance metric while being cheaper. Review needed: performance / configuration
Spektrum (Horizon Hobby)
Spektrum DSM2/DSMX transmitters are the legacy standard for RC aircraft, helicopters, and some fixed-wing drones. Horizon Hobby is US-based (procurement status unverified). Performatively inferior to ELRS for FPV applications but maintains market share in the RC aircraft community.
Key Spektrum TX products relevant to drone integration:
- NX8/NX10: 8-10 channel transmitters for conventional RC aircraft
- iX12/iX20: High-channel-count radio for complex platforms (hexacopters, VTOL)
Power Levels and Legal Considerations
Record the exact equipment authorization, operating mode, band, antenna and EIRP limit for the applicable jurisdiction. A band-wide power table cannot establish permission for a particular transmitter. See regulatory resources.
NDAA Summary
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
Part 6 — Components
If you build drones, you need to understand what defeats them.
Counter-UAS technology defines the threat environment your
systems must survive in.
Why Drone Operators Need to Understand C-UAS
Every drone operator exists in an environment where someone may
be trying to stop them. Military operators face dedicated EW and
C-UAS systems. Commercial operators face regulations, geofencing,
and increasingly — active detection systems around airports,
prisons, stadiums, and critical infrastructure.
Understanding C-UAS isn't about building countermeasures. It's
about understanding the threat your drone faces and designing
systems that survive it. The Handbook's unsolved-problems chapter
covers the theoretical challenges. This chapter covers the products.
Detection Methods
C-UAS systems detect drones through four primary methods, often
combined in a single system:
Method
How It Works
Strengths
Weaknesses
RF Detection
Scans for known drone control/video frequencies
Passive (no emissions), identifies protocol/manufacturer
Fails against fiber-optic or autonomous drones
Radar
Active electromagnetic pulses detect flying objects
Works in all weather, long range, 3D tracking
False positives (birds), expensive, active emission
Optical/Thermal
Cameras with AI identify drone silhouettes
Visual confirmation, works against RF-silent drones
Short range, high false positive in noisy environments
Modern C-UAS systems fuse multiple detection methods to reduce
false positives. DroneShield's SensorFusionAI and D-Fend's
EnforceAir both use multi-sensor fusion as their core approach.
Defeat Methods
Method
How It Works
Legal Status
Evidence
RF Jamming
Overwhelms drone control/video frequencies
Military/LE only (illegal for civilians in most jurisdictions)
—
GPS Spoofing
Sends false GPS signals to confuse navigation
Military only — highly regulated
—
Protocol Manipulation
Exploits drone communication protocols to take control
Legal reality: In most countries, only military and authorized
law enforcement can actively defeat drones. Civilians can detect
and report, but cannot jam, spoof, or intercept. Know your
jurisdiction. Review needed: regulatory
Major C-UAS Manufacturers
DroneShield (Australia/USA)
The most widely deployed commercial C-UAS company. ASX-listed (DRO).
Detail
Value
HQ
Sydney, Australia / Virginia, USA
Stock
ASX: DRO
Approach
RF detection + AI + optional jamming
AI Engine
SensorFusionAI — fuses RF, radar, optical, ADS-B data
Contracts
$48M+ cumulative with single Asia-Pacific reseller; NATO eastern flank C2E deployment
EnforceAir is unique in the C-UAS space because it doesn't jam.
It exploits drone communication protocols to take control of the
drone and land it safely. This avoids the collateral damage of
broadband jamming (which disrupts all RF in the area, including
friendly communications).
Department 13 (USA/Australia)
Detail
Value
Product
MESMER
Approach
Protocol manipulation — similar to D-Fend
Key Feature
Takes over drone control without jamming
Citadel Defense (USA)
Detail
Value
Product
Titan
Approach
AI-powered C-UAS
Key Feature
Autonomous threat assessment and response
Sentrycs (Israel)
Protocol-level cyber takeover. Integrated into DroneShield's
DroneSentry platform. Controlled landing and forensic capabilities.
Robotican (Israel)
Detail
Value
Product
Goshawk
Type
Kinetic interceptor drone
Approach
Autonomous aerial intercept — drone catches drone
Comms
Uses Elsight Halo for C2
Goshawk represents the kinetic interceptor approach — an
autonomous drone designed to physically intercept hostile drones.
This bypasses EW countermeasures entirely since the interceptor
is autonomous.
The Ukrainian C-UAS Laboratory
Ukraine operates the most intense C-UAS environment on earth.
Both sides deploy extensive EW and C-UAS capabilities, creating
a continuous adaptation cycle:
Russian EW systems jam GPS, spoof navigation, disrupt C2 links
This cycle produces more C-UAS innovation per month than any
formal defense program produces per year. The lessons flow
directly into Western C-UAS and counter-counter-UAS development.
Implications for Drone Operators
Consumer RF links are trivially defeated. DJI, ELRS, CRSF —
all operate on known frequencies with known protocols. Any
competent C-UAS system will detect and can disrupt them.
Autonomy is the counter to C-UAS. A drone that can complete
its mission without a continuous RF link (autonomous navigation,
onboard processing) is inherently harder to defeat than one
that requires constant pilot control.
Fiber-optic is the ultimate C-UAS counter. No RF to detect,
jam, or spoof. The C-UAS response to fiber-optic drones must
be kinetic (interceptor drones, nets, directed energy) or
optical (visual detection + tracking).
Know the threat environment before you fly. If you're
operating near military installations, prisons, airports, or
large events, assume C-UAS systems are present.
C-UAS drives drone design. The reason tactical drones need
EW-resilient comms, GPS-denied navigation, and onboard autonomy
is specifically because C-UAS systems exist and are improving
rapidly. Design for the threat, not for the spec sheet.
Detect-and-Avoid is a prerequisite for FAA Part 108 BVLOS Permit operations and a practical necessity for any flight in shared airspace. This guide covers the hardware options, wiring, and firmware configuration for DIY DAA implementation on ArduPilot and PX4 platforms. Review needed: regulatory / configuration
What DAA Needs to Detect
Not all aircraft broadcast their position. The DAA problem has two different difficulty levels:
Equipped aircraft (ADS-B Out): Commercial airliners, most turboprops, most general aviation aircraft, and many helicopters broadcast ADS-B Out — GPS position, altitude, heading, speed, and tail number on 1090MHz. This is detectable at ranges of 20–150km depending on altitude and antenna. ADS-B In receivers solve this problem inexpensively.
Unequipped aircraft: Gliders, ultralights, older GA aircraft, other drones, low-flying helicopters, agricultural aircraft. No broadcast, no detection without active sensing (radar, optical, acoustic). This is the hard problem. Part 108 does not require detection of unequipped aircraft — the regulatory approach is procedural deconfliction (fly at appropriate times and places) rather than technology.
A realistic DAA system for a Group 1 UAS addresses equipped aircraft. For unequipped aircraft, awareness and operational procedures are the current state of the art.
ADS-B In: Detecting Equipped Aircraft
Hardware Options
Receiver
Weight
Power
Interface
Price
Notes
Evidence
uAvionix Ping2020i
16g
1.5W
UART (MAVLink)
~$600
Industry standard; ArduPilot native; dual band (978/1090MHz)
Review needed: commercial / configuration
uAvionix Ping1090i
12g
0.8W
UART (MAVLink)
~$400
1090MHz only; no UAT (978MHz)
Review needed: commercial / configuration
mRo ACSP7
8g
0.4W
UART
~$200
Compact; ArduPilot compatible
Review needed: commercial / configuration
Sagetech MXS
55g
4W
UART/RS-232
~$1,500
Full transceiver (In + Out); DO-160 qualified
Review needed: commercial / configuration
Radionics RX-978
22g
1.2W
UART
~$300
UAT (978MHz) only; US domestic focus
Review needed: commercial / configuration
For most DIY BVLOS platforms, the uAvionix Ping2020i is the standard choice — dual-band, ArduPilot native, and a well-established track record in FAA BEYOND program operations. Review needed: regulatory
ADS-B Bands
1090MHz (Mode S/ES): International standard. Required for aircraft >12,500 lbs and above FL180. Nearly all commercial aviation. Global use.
978MHz (UAT): US domestic only, below FL180. General aviation and hobbyists. Only detectable in the continental US.
For US domestic BVLOS: use a dual-band receiver to catch both. For international operations: 1090MHz only. Review needed: regulatory
Wiring
Connect to any free FC UART. The Ping2020i uses a standard UART interface:
FC UART TX → Ping RX
FC UART RX → Ping TX
FC GND → Ping GND
5V → Ping power (from dedicated BEC, not FC 5V pin — draws up to 300mA)
The receiver antenna should be mounted with clear sky view — away from carbon fiber (RF-opaque), away from power leads, and with the antenna plane horizontal for omnidirectional coverage. A 1/4-wave whip or blade antenna works; a patch or helical antenna provides better gain in one direction.
What happens on a threat detection:
1. A target with projected intercept appears in the ADS-B feed
2. ArduPilot reports the threat to GCS (visible in Mission Planner's Status tab as ADSB_VEHICLE)
3. If AVD_F_ACTION = 2 (climb), ArduPilot automatically commands a climb at a rate determined by the threat severity
4. The operator is notified via GCS HUD
Tuning the thresholds: The defaults are conservative — 200m horizontal and 30m vertical. In high-traffic airspace, these will generate many nuisance alerts. For low-traffic rural BVLOS, tighten to 100m/20m to reduce false positives while maintaining a meaningful safety margin. Review needed: regulatory / safety
PX4 Configuration
PX4 uses the px4-adsb driver and uORB messaging:
adsb start
param set ADSB_ICAO_ID 1234567 # Your aircraft ICAO ID
param set ADSB_SQUAWK 1200 # VFR squawk code
param set ADSB_EMERGC 0 # No emergency
PX4's avoidance integration requires the companion computer running a collision avoidance algorithm (via MAVROS or PX4 external avoidance) — PX4 does not handle avoidance autonomously the way ArduPilot does. For DIY DAA without a companion computer, ArduPilot is simpler.
Radar-Based Obstacle Avoidance
Radar detects non-ADS-B objects: terrain, power lines, buildings, birds, other drones. The detection range and accuracy depend heavily on the sensor's beam pattern and the target's radar cross-section.
Hardware Options
Sensor
Range
Update Rate
Mass
Power
Interface
Notes
Evidence
Ainstein US-D1
0.5–50m
100Hz
65g
1W
UART/CAN
Altitude radar; widely used in ArduPilot for terrain following
—
Ainstein US-1
0.5–50m
100Hz
65g
1W
UART
Short-range, good below canopy
Review needed: performance / configuration
LeddarOne
0.05–40m
100Hz
35g
1.5W
UART
Narrow beam, good for landing
—
Lightware LW20/C
0.01–100m
388Hz
30g
0.5W
UART/I2C
Long-range LiDAR rangefinder
Review needed: performance / configuration
Benewake TFMini-S
0.1–12m
100Hz
5g
0.15W
UART/I2C
Ultra-compact, limited range
Review needed: performance / configuration
SF11/C (LiDAR)
0.01–120m
200Hz
27g
0.5W
UART
Robust, wide deployment
—
Radar and LiDAR rangefinders measure distance in one direction (the beam direction). They're most useful for:
- Terrain following / altitude hold: Downward-facing rangefinder gives AGL altitude independent of barometric pressure. Critical over water, canopy, and variable terrain.
- Landing zone detection: Downward rangefinder prevents hard landings on sloped or uneven terrain.
- Proximity sensing in one axis: Forward-facing rangefinder for wall-following or corridor navigation.
For full 360° obstacle avoidance, you need a scanning sensor (LiDAR) or an array of rangefinders. Scanning LiDARs add significant weight and cost — the Benewake CE30 or RPLIDAR S2 are lower-cost options, while the Ouster or Velodyne sensors are mapping-grade.
ArduPilot Rangefinder Configuration
RNGFND1_TYPE = 17 # Lightware serial, or see full list in AP docs
RNGFND1_ORIENT = 25 # 25 = Downward
RNGFND1_MIN_CM = 20
RNGFND1_MAX_CM = 10000 # 100m
SERIAL4_PROTOCOL = 9 # Rangefinder
SERIAL4_BAUD = 115200
# Enable terrain following
TERRAIN_ENABLE = 1
TERRAIN_FOLLOW = 1 # Follow terrain in AUTO mode
A dedicated radar altimeter is different from a rangefinder — it uses a wider beam pattern optimized for measuring height above ground (AGL), not object detection. The Ainstein US-D1 is the most widely used in ArduPilot BVLOS operations. Review needed: regulatory
The advantage: over water, wetlands, canopy, and low-reflectance surfaces where barometric altimeters are unreliable and ultrasonic rangefinders struggle, a 24GHz FMCW radar altimeter gives consistent AGL altitude down to centimeter accuracy.
Typical BVLOS use: hover at a precise 20m AGL over varying terrain (riverbank survey, coastal mapping, pipeline inspection over varied ground cover) using the radar altimeter as the primary altitude reference in ALT_HOLD and AUTO modes. Review needed: regulatory
Integration with the Full BVLOS Stack
In a BVLOS Part 108 operation, DAA is one component of a layered safety architecture: Review needed: regulatory / safety
Airspace awareness (LAANC, NOTAMs) ─── Preflight
ADS-B In ─────────────────────────────── In-flight (equipped traffic)
Procedural deconfliction ──────────────── In-flight (unequipped)
Radar altimeter ───────────────────────── In-flight (terrain)
Proximity LiDAR ───────────────────────── In-flight (objects)
Remote ID broadcast ───────────────────── All phases
C2 link monitoring ────────────────────── All phases
Lost link action ──────────────────────── Failsafe
No single sensor solves all of DAA. The practical minimum for a Part 108 Permit application is ADS-B In with active avoidance enabled, plus documented operational procedures for unequipped aircraft scenarios.
Logging and Reporting
ArduPilot logs all ADS-B events in the dataflash log. In Mission Planner: Ctrl+F → Logs → ADSB messages. This log is your evidence of DAA activity for any Part 108 reporting requirement.
Key fields logged per ADS-B contact:
- ICAO address and callsign
- Position at time of contact
- Relative position and altitude
- Threat classification (warning vs emergency)
- Any avoidance action taken
Preserve flight logs for 90 days minimum for any BVLOS operation — this is consistent with Part 108's expected recordkeeping requirements and best practice for incident investigation. Review needed: regulatory
Forge cross-reference: 14 entries in ew_systems category Related handbook chapters: Counter-UAS, Navigation & PNT, Frequency Bands Handbook Roadmap: Aligns with planned Chapter 16 (Electronic Warfare Awareness)
Scope
This chapter covers electronic warfare (EW) hardware tracked in the Forge database — primarily counter-UAS jammers and GNSS protection devices. It is written from the drone operator's perspective: what these systems do, how they affect your platform, and what to know when your drone operates near them.
This is not a guide for building or operating EW systems. It is a guide for understanding the EW environment your drone will encounter.
How EW Affects Drones
Electronic warfare against drones targets three subsystems:
Command link — Jamming the RC/C2 frequency forces failsafe (RTL, land, or hover). Effective against manually-piloted platforms; less effective against autonomous platforms with pre-programmed missions. Review needed: configuration / failure mode
GNSS — Jamming removes position data, causing position-hold failures and navigation degradation. Spoofing is worse: it feeds false position data that can redirect or crash the drone without triggering a failsafe.
Video link — Jamming the FPV downlink blinds the operator but does not directly affect the drone's autonomous capabilities. Less commonly targeted because it does not create an immediate safety effect.
Counter-UAS EW Systems in the Database
Handheld Jammers
Directional devices aimed at a target drone. Effective range typically 500m–2km depending on power and antenna gain.
DroneShield DroneGun Tactical — Rifle-form handheld jammer covering common ISM bands (2.4 GHz, 5.8 GHz) plus GNSS frequencies. Directional antennas in a shouldered design. The most recognizable C-UAS jammer in media coverage. Effective against consumer drones; less effective against frequency-hopping military links.
DroneShield DroneGun Mk4 — Lighter pistol-grip version with wider environmental operating range. Same principle, smaller package. Review needed: performance / configuration
Flex Force Dronebuster — The only handheld electronic attack system authorized for DoD use. Compact design, field-proven across multiple theaters. If you are flying near US military installations, this is the device most likely to be pointed at you.
NT Service EDM4S SkyWiper — Ukrainian-manufactured portable EW device. Disrupts both communication and GNSS simultaneously. Battle-tested in the Ukraine conflict.
Fixed/Vehicle-Mounted Systems
Area-denial systems that protect facilities or convoys.
DroneShield DroneSentry — Integrated detect-and-defeat system combining RF detection, radar, and camera tracking with electronic countermeasures. Deployed at airports, military bases, and critical infrastructure.
DroneShield RfPatrol — Wearable RF detection sensor (not a jammer). Detects drone control signals and alerts the operator. Included here because detection and jamming are typically deployed together.
D-Fend Solutions EnforceAir2 — RF cyber takeover system. Unlike jammers, EnforceAir2 does not disrupt the signal — it takes control of the drone's command link and forces a controlled landing. This is significantly more sophisticated than jamming and works against drones that have jam-resistant links. Review needed: configuration / failure mode
GNSS Protection
infiniDome GPSdome — Lightweight GNSS anti-jam module designed for UAS. Fits inline between the GNSS antenna and receiver. Detects and mitigates jamming in real-time. This is a defensive system — it protects your drone's GNSS from attack rather than attacking another drone.
Aselsan KORAL — Turkish-manufactured mobile EW system. Primarily for larger platforms and ground-based defense. Included for awareness of the threat environment.
Strategic/Theater-Level Systems
These are not C-UAS specific — they are area-denial EW systems that happen to affect drones along with everything else in the electromagnetic spectrum.
Raytheon NGJ-MB (Next Generation Jammer Mid-Band) — Airborne EW pod for fighter aircraft. If operating in a theater where NGJ-equipped aircraft are present, expect degraded or denied GNSS and communications across wide areas.
Krasukha-4 — Russian mobile electronic warfare complex. Documented use in Ukraine and Syria. Affects GNSS, radar, and communications over large areas. Relevant for any drone operations in or near conflict zones.
Murmansk-BN — Russian HF jamming system with extreme range (5,000+ km claimed). Primarily targets HF communications but the EW environment it creates affects nearby systems. Review needed: performance / failure mode
Pole-21 — Russian GNSS denial system deployed around military installations.
GIDS Spider-AD — Pakistani C-UAS system combining detection, tracking, and electronic countermeasures.
Operating in EW Environments
What to Expect
If your drone enters an active EW environment:
GNSS degradation — Position accuracy drops, then position is lost entirely. ArduPilot/PX4 will fall back to non-GPS flight modes if configured. Betaflight does not have this fallback — FPV drones lose GPS rescue and position hold.
Link loss — Failsafe triggers on RC link. If using ELRS, the low-rate fallback may maintain link longer than the jamming expects. Crossfire/Tracer have different resilience profiles.
Compass interference — Strong RF sources can corrupt magnetometer readings, causing toilet-bowl oscillations or fly-aways in GPS-aided modes.
Defensive Measures
Pre-programmed missions — Drones executing autonomous waypoint missions are inherently resistant to C2 jamming (they do not need the command link to continue the mission). This is why military doctrine is shifting toward autonomy. Review needed: configuration / failure mode
GPS-denied navigation — See the Navigation & PNT chapter. INS, VIO, and SLAM provide position when GNSS is jammed.
Anti-jam GNSS — CRPA antennas (Inertial Labs M-AJ-QUATRO) and inline protection modules (infiniDome GPSdome) can maintain GNSS lock through moderate jamming.
Frequency agility — Links that hop across wide bands (FHSS) are harder to jam than fixed-frequency links. ELRS and MANET radios both use frequency hopping.
Redundant navigation — Fuse multiple independent sources: GNSS + INS + VIO + barometer. No single point of failure.
Regulatory and Legal Notes
EW equipment is heavily regulated. In the US, intentionally jamming radio signals violates the Communications Act (47 USC § 333) with limited exceptions for federal agencies. Counter-UAS jammers are only legal for authorized federal entities. Private use of jammers — even to protect your own property from drones — is illegal. Review needed: regulatory / failure mode
For drone operators, the practical implication is that you will encounter EW effects near military installations, prisons, stadiums (during major events), and critical infrastructure. Plan for link loss and GNSS degradation in these areas even if no TFR or NOTAM explicitly mentions electronic countermeasures.
Forge cross-reference: 12 entries in esad category Related handbook chapters: Counter-UAS, Electronic Warfare
What ESADs Do
An Electronic Safe-and-Arm Device is a safety-critical component in munition systems that prevents unintended detonation during handling, transport, and launch, then arms the warhead when commanded during the terminal phase of flight. ESADs are the bridge between a drone platform and an explosive payload — they ensure the weapon is safe until it is supposed to be dangerous.
This is included in the Forge database because the proliferation of FPV strike drones and loitering munitions has created a new market for ESAD components designed for small UAS form factors, distinct from the legacy missile and bomb fuze market.
The Safety Architecture
MIL-STD-1316 defines the requirements for fuze safety in US munitions. The core principle is multiple independent safety inhibits — at least two physically distinct mechanisms must prevent firing, and they must be removed in sequence by deliberate operator action, not by environmental conditions (vibration, RF, temperature). Review needed: safety
Modern ESADs implement this with:
Electrical isolation — The initiator is physically disconnected from the firing circuit until the arm command is received
Logic gates — Multiple independent enable signals must be present simultaneously (arm command, environment sensing, timing)
LEEFI (Laser Energy Enhanced Firing Initiator) — Uses laser light through fiber optic to fire the initiator, providing inherent electrical isolation from stray RF and EMI. This is critical for drones operating in dense RF environments where traditional electrical initiators could be susceptible to unintended firing from strong electromagnetic fields
The Landscape
US Manufacturers
Kraken Kinetics — US-manufactured ESAD specifically designed for FPV strike drones and loitering munitions. Multiple safety inhibits with LEEFI technology. Represents the new generation of ESAD designed for the small UAS form factor from the ground up rather than adapted from larger munition programs.
EBAD (Ensign-Bickford Aerospace & Defense) — Heritage initiator and safe-arm device manufacturer. Products include NSI (NASA Standard Initiator) derivatives. Decades of experience across missile and munition programs.
PacSci EMC (Pacific Scientific) — Major US manufacturer of energetic devices. MIL-STD-1316 compliant across multiple defense prime contractor programs. Part of Fortive Corporation.
Excelitas Technologies — Produces both the Blue Chip LEEFI initiator family and complete ESAD modules integrating initiator, safety logic, and arming sequences. The LEEFI technology is their key differentiator.
L3Harris Technologies — Defense-grade safe-and-arm systems with heritage across numerous US munition programs. Full MIL-STD-1316 compliance. Review needed: regulatory
Day & Zimmermann Munitions — Micro-miniature Electronic Safe, Arm and Fire (ESAF) devices for gun-launched weapons. Shock-hardened designs proven to survive high-G launch environments.
Allied Nation Manufacturers
GATE Technologies (Israel) — ESAD for Israeli defense UAS and munition programs. Part of Israel's indigenous precision munition supply chain.
XTEND (Israel) — ESAD fuse board designed for integration into FPV and loitering munition platforms. Compact form factor for retrofitting existing drone airframes being converted to strike capability.
EDGE Group (UAE) — ESAD-50 from the Abu Dhabi defense conglomerate. Part of UAE's growing indigenous munition electronics capability.
Chemring Group (UK) — UK defense energetics company with heritage in NATO munition programs. Part of UK's sovereign ordnance supply chain.
Junghans Defence / Diehl Defence (Germany) — German precision fuze and ESAD manufacturer. Part of the Diehl Defence Group producing electronic and mechanical fuzes for NATO programs.
Relevance to Drone Integration
ESADs are not a typical "drone component" in the way a flight controller or ESC is. They appear in the Forge database because:
FPV strike drones are the fastest-growing UAS category in active conflict zones
The conversion of commercial FPV platforms to strike capability requires ESAD integration as the critical safety layer Review needed: safety
Defense procurement programs (Drone Dominance, Replicator) are scaling FPV production and need ESAD supply chains to match
NDAA compliance applies to ESAD components just as it does to avionics — US programs cannot use Chinese-origin safety devices Review needed: regulatory / safety
This chapter documents the supply landscape for awareness and procurement planning. ESAD integration requires ordnance engineering expertise and is subject to ITAR, EAR, and munition-specific regulations. Review needed: regulatory
Electronic Speed Controllers — The Firmware Matters
Part 6 — Components
ESCs translate flight controller commands into motor speed.
The firmware running on them determines capability, and the
hardware origin determines compliance. Review needed: regulatory / performance / configuration
The Landscape
The ESC market split in two when BLHeli_32 was discontinued in
June 2024 (closed-source, can no longer be updated). The hobby
market migrated to AM32 (open-source, GPL) for 32-bit ESCs
and Bluejay/BLHeli_S for 8-bit legacy hardware.
For NDAA compliance, the picture is simpler: almost every hobby
ESC on the market is Chinese-manufactured. The parts-db has 148
ESCs — all from the GetFPV consumer catalog, all Chinese hardware.
Three manufacturers are building NDAA-compliant alternatives. Review needed: regulatory
NDAA-Compliant ESCs
ARK Electronics — ARK 4IN1 ESC CONS
Detail
Value
Evidence
HQ
USA
—
Blue UAS
Framework component
—
NDAA
Compliant, made in USA
Review needed: regulatory
Type
4-in-1 ESC
—
Firmware
AM32 (open-source)
—
Voltage
3-8S
—
Current
50A continuous
—
Protocol
DroneCAN
—
Key Feature
Connectorized (no-solder) — designed for mass production
—
Manufacturing
USA
—
ARK's connectorized design is significant — it eliminates
soldering from the assembly process, enabling production-line
manufacturing at scale. This directly supports the DDG goal
of producing hundreds of thousands of drones.
IP67 rated, FOCAL algorithm, 72-hour circular data logging
microFLUX 4LP/2MP
Smart power supply (power avionics, not ESC per se)
Hargrave is the most mature NDAA-compliant ESC manufacturer
by deployment count. Their DroneCAN support and industrial
protocols (ARINC825) position them for defense and commercial
platforms, not hobby builds. Review needed: regulatory
Unusual Machines / Rotor Riot — Brave 55A ESC
Detail
Value
Evidence
HQ
USA (Orlando, FL)
—
Blue UAS
Framework component
—
NDAA
Compliant
Review needed: regulatory
Type
4-in-1 ESC
—
Voltage
3-8S
—
Current
55A
—
Firmware
32-bit
—
Manufacturing
USA
—
Customers
Performance Drone Works ($3.75M order), PBAS Tranche 1.1 selectees
—
The Brave 55A pairs with the Brave F7 flight controller
(F722/BMI270/BMP390) — a full NDAA-compliant flight stack
from a single manufacturer. Review needed: regulatory
Orqa 3030 4-in-1 ESC
Detail
Value
Evidence
HQ
Osijek, Croatia
—
NDAA
Compliant — EU manufactured
Review needed: regulatory
Current
70A continuous, 80A burst (10s)
—
Voltage
3S–6S
—
Firmware
AM32 (bi-directional DShot)
—
Protocols
DShot 300/600/1200
—
Mounting
30.5 × 30.5 mm
—
Weight
~28 g
—
Purpose-built to stack with the Orqa F405 3030 FC. Hard-mount
the ESC, soft-mount the FC on top with included silicone
gummies. JST-GH cable eliminates custom wiring between boards.
AM32 supports RPM filtering in Betaflight via bi-directional
DShot.
ESC Firmware Landscape
Firmware
License
Status
Notes
BLHeli_S
Closed
Legacy
8-bit, widely deployed, not updatable
Bluejay
GPL
Active
Open-source BLHeli_S alternative, active development
BLHeli_32
Closed
Discontinued (June 2024)
Cannot be updated. Thousands of ESCs in field now unsupported
AM32
GPL
Active
De facto 32-bit open-source standard. Used by ARK Electronics
AM32 is the future for NDAA builds. Open-source firmware on
NDAA-compliant hardware (ARK) gives full supply chain transparency
with no proprietary firmware dependencies. Review needed: regulatory / configuration
ESC-Configurator (esc-configurator.com) is the modern web-based
tool for flashing BLHeli_S, Bluejay, and AM32 via WebSerial API.
No app install needed.
The Compliance Gap
Manufacturer
Origin
NDAA
Blue UAS
Price (4-in-1)
Chinese (T-Motor, Hobbywing, etc.)
China
NOT compliant
No
$30–80
ARK Electronics
USA
Compliant
Framework
~$200+
Hargrave Technologies
Australia
Compliant
No (defense validated)
$300+
Unusual Machines Brave
USA
Compliant
Framework
~$150+
The price gap is 3–5× for NDAA-compliant ESCs. As with motors,
any DDG Phase II competitor using Chinese ESCs will need to absorb
this cost increase. Review needed: regulatory / commercial
Choosing ESCs
Match current rating to your motors. ESC continuous amperage
must exceed motor draw under load. Headroom matters — a 50A ESC
running at 48A will thermal-throttle or fail.
Protocol matters. DShot is standard for Betaflight/iNav.
DroneCAN is standard for PX4/ArduPilot. PWM is legacy.
4-in-1 vs. individual. 4-in-1 ESCs reduce wiring but create
a single point of failure. Individual ESCs are heavier but
individually replaceable. Defense platforms often prefer
individual for field repairability.
Firmware is the capability. AM32 gives you RPM filtering,
bidirectional DShot, and active development. BLHeli_32 is frozen.
BLHeli_S works but is 8-bit limited.
For NDAA builds: ARK 4IN1 ESC CONS + AM32 is the cleanest
path — open-source firmware on Blue UAS hardware.
Fixed-wing UAS are fundamentally different from multirotors in every
dimension that matters for integration: flight dynamics, firmware,
failure modes, and airspace requirements. Review needed: configuration / failure mode
When Fixed-Wing Makes Sense
Requirement
Multirotor
Fixed-Wing
Evidence
Endurance >45 min
✗ (battery)
✓
—
Range >5km
Marginal
✓
—
Hover / precise position
✓
✗ (unless VTOL)
—
Wind resistance
Marginal
✓ (10–15 m/s typical)
—
Payload fraction
~15–25%
~20–35%
—
Launch/recovery space
Minimal
Runway or hand-launch
—
BVLOS mapping
Inefficient
Optimal
Review needed: regulatory
Urban ops
✓
✗
—
Firmware: ArduPlane vs iNav
ArduPlane
Best for: mission-critical fixed-wing, VTOL, BVLOS, Blue UAS programs.
Key features:
- Mature VTOL support (QuadPlane, tiltrotor, tailsitter)
- TECS (Total Energy Control System) for precise altitude/airspeed hold
- L1 navigation controller — smooth waypoint following
- Loiter, figure-8, survey patterns built-in
- ADSB/FLARM avoidance
- MAVLink, full GCS support (Mission Planner, QGC)
iNav
Best for: FPV fixed-wing, racers, budget builds, analog video.
Key features:
- Leaner codebase, runs on F4/F7 FCs
- GPS rescue (RTH equivalent for fixed-wing)
- Blackbox logging
- OSD support
- Limited VTOL support (experimental)
Bottom line: ArduPlane for anything serious. iNav for FPV wings where
you want Betaflight-like workflow.
Airspeed Sensors
Critical for safe fixed-wing flight. Without airspeed, the FC can't
distinguish low groundspeed (safe landing) from stall (crash).
Types
Sensor
Interface
Accuracy
Notes
Matek ASPD-7002
I2C (DroneCAN)
±0.5 m/s
Good value, procurement status unverified
mRo i2c Airspeed
I2C
±1 m/s
Common on Pixhawk builds
Sensirion SDP3x
I2C
±0.3 m/s
Highest accuracy, requires calibration
Foxtech pitot
Analog
±2 m/s
Budget option
ArduPlane Config
ARSPD_TYPE = 1 (analog) or 2 (MS4525) or 3 (SDP3x)
ARSPD_PIN = 15 (ADC pin for analog type)
ARSPD_USE = 1 (use airspeed in flight)
ARSPD_RATIO = 2.0 (calibration ratio — tune via AUTOTUNE)
AIRSPEED_MIN = 12 (stall speed + margin, m/s)
AIRSPEED_CRUISE = 18 (cruise airspeed, m/s)
AIRSPEED_FBW_MAX = 28
TECS_SPDWEIGHT = 1.0 (1.0 = airspeed priority, 0.0 = altitude priority)
VTOL Transitions (QuadPlane)
VTOL fixed-wing (tiltrotor, quadplane) gives you vertical takeoff +
fixed-wing cruise efficiency. Complex to tune but operationally powerful.
Transition Phase
Q_TRANSITION_MS = 5000 (milliseconds for transition)
Q_TILT_TYPE = 0 (continuous) or 1 (binary)
Q_ASSIST_SPEED = 15 (m/s — assist motors below this in FW mode)
ARSPD_FBW_MIN = 15 (minimum airspeed before transition attempts)
Most transition crashes happen when:
1. Transition speed too low — aircraft stalls mid-transition
2. Wind too strong during transition — too much attitude change
3. Pilot induces RC input during transition — let the autopilot do it
Never manually fly through a transition. Put it in AUTO or GUIDED,
set a transition waypoint, and let TECS handle it.
Back-transition
Q_GUIDED_MODE = 1 (allow guided mode in VTOL)
Q_RTL_MODE = 1 (use VTOL for RTL landing)
Q_LAND_SPEED = 50 (cm/s descent in VTOL landing)
Long-Range Planning
Wind Compensation
Fixed-wing performance degrades significantly in crosswinds >30% of
cruise airspeed. For 18 m/s cruise, avoid >5–6 m/s crosswind.
ArduPlane compensates automatically via L1 controller, but:
- Upwind legs consume 30–50% more power
- Ground speed varies significantly — plan mission timing accordingly
- Consider wind shadow (terrain blocking wind) for launch/recovery
Energy Management (TECS)
TECS manages the trade between altitude and airspeed using total energy.
Key params:
TECS_CLMB_MAX = 5 (max climb rate, m/s)
TECS_SINK_MIN = 2 (min sink rate for descent, m/s)
TECS_SINK_MAX = 5 (max sink for emergency descent)
TECS_TIME_CONST = 5 (response time — lower = more aggressive)
TECS_THR_DAMP = 0.5 (throttle damping)
Survey Pattern Optimization
For photogrammetry missions:
- Fly into the wind on capture legs (consistent airspeed → consistent GSD)
- Return legs downwind (faster, fewer photos = smaller dataset)
- Plan 20% overlap in downwind direction to account for drift
- Use QGC or Mission Planner survey grid — don't manually enter waypoints
Launch & Recovery
Hand Launch
Most common for sub-5kg fixed-wing.
TKOFF_THR_DELAY = 2 (seconds of full throttle before hand release)
TKOFF_THR_MINACC = 5 (m/s² acceleration to detect launch)
TKOFF_THR_MINSPD = 10 (m/s before climbing)
TECS_PITCH_MAX = 20 (max pitch during climb, degrees)
Technique: arm, set mode to FBWA or AUTO, apply full throttle, hold
level, release into wind at normal walking speed. Don't throw — push.
Belly Landing
LAND_FLARE_ALT = 10 (altitude to start flare, m AGL)
LAND_FLARE_SEC = 3 (time to flare)
LAND_PITCH_CD = -300 (pitch during flare, centidegrees, negative = nose up)
LAND_SLOPE_RECALC_STEEP_THRESHOLD_TO_ABORT = 25 (abort steep approach)
Parachute Recovery
For valuable or heavy platforms. ArduPlane has built-in parachute support:
CHUTE_ENABLED = 1
CHUTE_TYPE = 10 (relay type)
CHUTE_RELAY_ON = 0 (relay pin)
CHUTE_MIN_ALT = 30 (minimum altitude for deployment, m)
CHUTE_MIN_SPEED = 5 (minimum speed for deployment, m/s)
Failure Modes Specific to Fixed-Wing
Loss of airspeed sensor — FC falls back to GPS groundspeed.
Configure backup: ARSPD_TYPE2 for redundant sensor.
Stall — at low speed or high AOA. TECS prevents most stalls,
but aggressive manual input overrides this. Set STALL_PREVENTION = 1.
Spiral dive — autopilot failure mode. If attitude reference is
lost, the aircraft spirals. Configure FS_LONG_ACTION = 2 (RTL)
with short timeout to catch this.
Powerplant failure — fixed-wing can glide to a safe landing.
Configure a glide ratio parameter so the autopilot plans for engine-out:
TECS_LAND_SPDWGT = 1.9 (prioritize airspeed over altitude on landing). Review needed: configuration / failure mode
Procurement evidence
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
Managing 5–50 platforms is operationally different from managing 1.
The problems are configuration drift, battery tracking, maintenance
scheduling, and proving airworthiness at scale.
The Core Problems
Configuration drift — after 6 months, no two aircraft in your fleet
have the same firmware version, PID tune, or peripheral set. One crashes.
You don't know if it was a unique config issue or a fleet-wide problem.
Battery degradation — LiPo capacity degrades ~20% after 100–150 cycles,
LiIon after 300–500. Without tracking cycle counts, you'll fly degraded
cells without knowing it.
Maintenance gaps — props crack, motors wear, frames fatigue. Without
a formal inspection cadence, damage goes unnoticed until failure.
Regulatory exposure — Part 108 (expected mid-2026) will require
maintenance records for BVLOS operations. ASTM F3600-22 defines the
standard. Agencies without records will face authorization delays. Review needed: regulatory
Airframe Identification
Assign every physical airframe a unique ID before it enters service.
Options:
Method
Pros
Cons
QR code label on frame
Easy scan, cheap
Can peel off
Engraved serial on arm
Permanent
Requires tooling
FC hardware ID (MCU serial)
Software-readable
Need USB connection
Tooth airframe ID (SHA-256)
Tamper-evident chain
Requires Wingman
Recommended: QR label + Tooth provisioning. The QR gives physical
traceability, Tooth gives digital audit trail.
Configuration Management
Baseline Configuration
For each platform type in your fleet, define a baseline config file:
- Firmware version (exact hash)
- All PIDs (not just the tuned ones — all 10 axes)
- Filter settings
- Rate profile
- Peripheral assignments (UARTs, protocols)
- Failsafe settings
Store baseline configs in git. Tag each version. When you tune one aircraft,
update the baseline and push to the fleet on the next maintenance cycle.
Detecting Drift
Connect to each aircraft quarterly (or after any crash/repair) and diff
current params against baseline. Wingman Hangar's diff command does this:
Never run mixed firmware versions in a fleet for more than one maintenance
cycle. Mixed versions create inconsistent behavior that's difficult to
diagnose. Maintain a fleet firmware matrix:
Aircraft
Firmware
Version
Last Updated
Next Update
APEX-01
Betaflight
4.5.1
2026-03-15
2026-06-15
APEX-02
Betaflight
4.5.1
2026-03-15
2026-06-15
Battery Management
Tracking Cycle Counts
Every charge/discharge cycle = 1 cycle count. Track in a spreadsheet or
battery management app. Retire cells when:
- LiPo: 100–150 cycles or capacity < 80% of rated
- LiIon: 300–500 cycles or capacity < 80% of rated
- LiPo if puffed: immediately, regardless of cycle count
Battery Labeling
Label every battery pack with:
- Pack ID (e.g., B-047)
- Purchase date
- Chemistry and cell count
- Current cycle count (update after each flight)
Storage Voltage
Never store at full charge or fully depleted.
- LiPo: 3.8V/cell storage voltage
- LiIon: 3.6–3.7V/cell
Most chargers have a storage mode. Use it.
Fleet Battery Rotation
Rotate batteries across airframes so no single battery is used exclusively
with one airframe. This equalizes wear and catches degraded packs before
they cause an in-flight failure.
Maintenance Scheduling
Inspection Intervals
Item
Interval
Check
Props
Every flight
Cracks, chips, balance
Motor screws
Every 5 flights
Torque check, vibration
Frame arms
Every 10 flights
Cracks, delamination
Motor bearings
Every 50 flights
Smooth rotation, no noise
FC/ESC solder joints
Every 25 flights
Cold joints, lifted pads
Battery connectors
Every 25 flights
Oxidation, fit
Antenna cables
Every 25 flights
Breaks near connectors
Full teardown
Every 100 flights
Replace motors, props, bearings
Maintenance Logging
For each aircraft, log:
- Date and flight count
- What was inspected
- What was replaced (part number, supplier)
- Who performed the work
- Next scheduled maintenance
This is the record that Part 108 will require. Start now.
Firmware Flashing at Scale
Batch Flashing Workflow
For fleets >5 aircraft, manual Betaflight Configurator flashing is too slow.
Use the Betaflight CLI or a scripted approach:
# Flash firmware via DFU (requires physical button press or FC shortcut)
dfu-util -d 0483:df11 -a 0 -s 0x08000000:force:leave -D betaflight_4.5.1_STM32H743.hex
# Apply params from baseline file
betaflight-configurator --port /dev/ttyACM0 --apply-params fleet/apex-5inch-v3.params
Param Distribution
Maintain param files in git. When a tuning change is validated on one
aircraft, diff against baseline, review, merge, and distribute:
git diff baseline.params updated.params
# Review changes
git commit -m "fleet: increase roll P from 48 to 52, validated APEX-01"
# Push to all aircraft on next maintenance day
Software Tools
Tool
Platform
Best For
Betaflight Configurator
Desktop
Manual single-aircraft config
Wingman Hangar
Desktop
Fleet param management, Tooth audit
Kittyhawk
Web/Mobile
Commercial fleet ops, maintenance logs
FlightLogger
Web
Pilot logbooks, maintenance, battery tracking
DroneDeploy
Web
Commercial mission planning + fleet
UAV Toolbox (MATLAB)
Desktop
Simulation and analysis
ASTM F3600-22 Alignment
ASTM F3600-22 defines maintenance technician qualification for UAS.
For BVLOS authorization under Part 108, expect to demonstrate: Review needed: regulatory
Maintenance records — per-aircraft log of all work performed
Configuration records — version-controlled param history
Battery records — cycle counts, capacity tests
Technician qualification — training records for personnel
The Tooth audit trail (tamper-evident SHA-256 event chain) is designed
specifically to satisfy the configuration record requirement.
The Forge database has 300+ flight controllers. This guide isn't a spec comparison — it's the decision framework for narrowing that list to the three you should actually evaluate for your application.
Start with Firmware, Not Hardware
The single most important question is: which firmware do you need?
Your FC choice is constrained by firmware first and hardware second. A great H7 processor running the wrong firmware for your use case is worse than a modest F4 running the right one.
Research, ROS2 integration, enterprise development
Most commercial operators — ArduPilot has better community support
—
Cleanflight
Legacy only; superseded by Betaflight
All new builds
—
KISS
Proprietary racing ecosystem
Any build requiring open-source flexibility
—
Once you've picked firmware, the universe of compatible FCs narrows significantly. Most H7-based boards target Betaflight or ArduPilot; some support both.
MCU: F4 vs F7 vs H7
F4 (STM32F4xx)
Clock speed: 168MHz RAM: 192KB Best for: Most Betaflight builds, simple ArduPilot builds without heavy logging
F4 was the standard for 5 years. Still works perfectly for Betaflight freestyle and racing. The constraint: 8KB of SRAM for the logger means compressed logs that can miss fast events, and the 8kHz gyro loop is pushing the limit on an F4 — you'll see CPU usage warnings in Betaflight at 8kHz on most F4 boards.
Betaflight 4.4+ deprecated F4 support for some features (RPM filtering with 8 motors, 8kHz gyro loop stability). If you're building new, there's no good reason to choose F4 over H7 unless cost is the absolute constraint.
F7 (STM32F7xx)
Clock speed: 216MHz RAM: 512KB Best for: High-performance Betaflight builds; some ArduPilot builds
F7 hit the sweet spot for a couple of years. Faster than F4, more RAM, no longer the default choice now that H7 prices have dropped. Still a solid choice if you find a good F7 board at a good price.
H7 (STM32H7xx)
Clock speed: 480MHz RAM: 1MB+ Best for: Everything that benefits from processing power — 8kHz+ gyro loops, heavy logging, ArduPilot with all features enabled, onboard AI inference
H7 is the current standard for mid-to-high-end builds. The extra headroom means:
- 8kHz gyro loop with stable CPU usage in Betaflight
- Full logging without compression
- Room for additional processing (RPM telemetry, MAVLink, camera protocol)
- ArduPilot AHRS computation at higher rates Review needed: performance / configuration
Price premium over F4: $15–30 on a typical stack. Usually worth it.
IMU: Single vs Dual
Dual IMU means two separate inertial measurement units on the FC board. Benefits:
Redundancy: If one IMU fails mid-flight, the FC continues operating on the second. Critical for BVLOS and commercial operations.
Cross-checking: The FC can compare both IMUs and alert if they diverge — early warning of sensor degradation.
Vibration isolation: Two IMUs can use different physical mounting — one soft-mounted for clean attitude estimate, one hard-mounted for fast transient detection.
ArduPilot uses dual IMU natively via INS_USE and INS_USE2 parameters. Betaflight acknowledges the second IMU but uses only one at a time.
When dual IMU matters:
- Any BVLOS operation (single IMU failure = loss of aircraft)
- Precision survey (IMU health affects data quality)
- Commercial cargo (liability exposure for hardware failure)
- >$2,000 platform value Review needed: regulatory / commercial / failure mode
When it doesn't matter:
- FPV freestyle (crashes happen regardless; redundancy doesn't change the risk profile)
- Racing (weight > redundancy)
- Low-risk recreational builds
NDAA Compliance: What It Actually Means in Procurement
The National Defense Authorization Act restrictions on Chinese-manufactured technology affect drone procurement primarily for government, defense, and critical infrastructure customers.
What the restriction covers:
- NDAA Section 848/899 prohibits DoD procurement of UAS manufactured in China, or using components from listed Chinese manufacturers (DJI, Dahua, Hikvision, Huawei, Hytera, and several others depending on the year's NDAA)
- FAA Reauthorization Act extends similar restrictions to FAA and DHS use
- Blue UAS Framework (DIU) identifies NDAA-compliant alternatives Review needed: regulatory
What it means for FC selection:
An FC is "NDAA compliant" if:
- It's manufactured outside China (US, EU, Canada, Israel, Taiwan commonly)
- Its MCU is not from a listed Chinese supplier (STMicroelectronics is French/Italian — compliant; some Chinese SoCs are not)
- Its supporting components (IMU, barometer, compass) don't originate from listed entities Review needed: regulatory
Most flight controllers from US-based companies (Pixhawk/Holybro when made in Taiwan/EU, Cube Pilot in Australia, mRo in the US, Emlid in Russia/Latvia — check current status) are NDAA compliant. Review needed: regulatory / performance
Practical check: Look at the Forge database entry for ndaa_compliant: true. For defense procurement, verify against the current Blue UAS Framework list maintained by the Defense Innovation Unit — the list updates annually and some previously-compliant manufacturers have been added or removed.
For commercial operations without government clients: NDAA compliance is a marketing differentiator, not a legal requirement. For government or defense contracts: it's a go/no-go criterion.
Peripheral Compatibility Matrix
The FC must physically support every peripheral you plan to use. Before finalizing a FC choice:
Peripheral
Required FC Feature
Check
Evidence
GPS (standard)
1 UART
Almost universal
—
GPS (RTK)
1 UART at 230400 baud + injection support
Verify baud rate support
—
Second GPS
2nd UART
Many boards support; verify
—
Telemetry (MAVLink)
1 UART
Almost universal
—
RC receiver (SBUS/ELRS)
SBUS/UART input
Standard
—
RC receiver (CRSF/ELRS)
UART (full-duplex)
Most modern boards
—
ESC (DShot + bidirectional)
Timer outputs on motor pins
Standard on F7/H7; verify on F4
—
Optical flow sensor
I2C or UART
Verify pin availability
—
Rangefinder (UART)
1 UART
Check total UART count
—
Companion computer
1 high-speed UART (921600)
Check if baud rate is supported
Review needed: performance / configuration
ADS-B receiver
1 UART
Check total UART count
—
Remote ID module
1 UART
Check total UART count
Review needed: regulatory / configuration
CAN bus (DroneCAN)
CAN1 (and CAN2 for redundancy)
Check board spec
—
Current sensor
ADC input
Most boards, verify
—
Count your UARTs. A fully-loaded survey platform (GPS + RTK corrections + MAVLink telemetry + companion computer + ADS-B + Remote ID) needs 5–6 UARTs. Many boards have 6–8; some have only 4. Running out of UARTs forces you into UART multiplexers or sacrificing a peripheral. Review needed: regulatory / configuration
Evaluation Checklist
Use this checklist when evaluating a specific FC for a specific application:
Firmware support
- [ ] Target firmware confirmed supported (check manufacturer firmware page, not just "compatible")
- [ ] Firmware version matches minimum required version for your features
Processing
- [ ] MCU generation (F4/F7/H7) sufficient for planned loop rates and features
- [ ] RAM adequate for logging configuration
IMU
- [ ] Single or dual IMU per risk profile requirement
- [ ] IMU type known (ICM-42688P, ICM-42605, MPU-6000, BMI270 — affects filtering requirements)
Connectivity
- [ ] UART count ≥ peripheral count
- [ ] CAN bus (if needed)
- [ ] I2C pins available
- [ ] SPI available for fast peripherals
Power
- [ ] Input voltage range covers your battery (4S = 16.8V, 6S = 25.2V)
- [ ] Onboard BEC rated for your peripherals
- [ ] Current sensor integrated or available
Compliance (if required)
- [ ] NDAA compliance verified against current Blue UAS list
- [ ] Country of manufacture documented
Common Mistakes
Choosing the FC before choosing the firmware. Then discovering the FC has limited firmware support for your required features (e.g., no DroneCAN support, limited UART count for ArduPilot peripherals).
Buying an all-in-one stack for a complex build. AIO stacks (FC+ESC on one board) are great for 2"–5" FPV builds. For a survey platform with GPS, ADS-B, companion computer, and gimbal: use separate FC and ESC — it's much easier to troubleshoot when the units are separate.
Ignoring the BEC spec. An FC with a 1A BEC powering a Raspberry Pi Zero (350mA) + GPS (150mA) + receiver (200mA) = 700mA — close to the limit before adding a camera. The BEC gets warm, thermal throttles, and causes intermittent brownouts that look like software bugs.
Assuming dual IMU = better attitude estimation. Two identical IMUs at the same location produce two noisy measurements from the same vibration environment. The improvement comes from the redundancy and potential for cross-checking, not from statistical averaging of noise. For better attitude estimation, the answer is better vibration isolation and RPM filtering, not more IMUs.
Part 6 — Components
The flight controller runs the stabilization loop, executes
autonomous behaviors, and interfaces with every other system.
Where it's manufactured determines compliance. Review needed: regulatory
The Ecosystem
Flight controllers split into two firmware families: MSP-based
(Betaflight, iNav) and MAVLink-based (ArduPilot, PX4). The
Handbook's firmware chapters cover protocol details. This chapter
covers the hardware — who makes it and what's NDAA compliant. Review needed: regulatory / configuration
The parts-db has 420 FCs — good hobby coverage but weak on
commercial and defense options. Most hobby FCs are Chinese-
manufactured (MATEKF405, SpeedyBee F7, etc.) regardless of
brand. The NDAA-compliant FC market is small but growing rapidly. Review needed: regulatory
ARK Electronics — The NDAA Standard
ARK builds the most comprehensive NDAA-compliant drone electronics
stack in the market. 7 products on the Blue UAS Framework. All
made in USA. Open-source hardware and firmware (PX4, ArduPilot). Review needed: regulatory / configuration
Same platform with triple IIM-42653 industrial IMUs — 4000 dps
gyro range, 32g accelerometer. Designed for high-vibration and
high-G maneuvers (FPV, interceptors, aggressive flight profiles).
ARK FPV Flight Controller
NDAA-compliant FC with regulated 12V output for VTX and payloads.
Betaflight support. Designed for the tactical FPV market. Review needed: regulatory
ARK Pi6X / Pi6X Flow
Integrates ARKV6X with Raspberry Pi CM4 carrier, PAB power module,
and 4-in-1 ESC on a single board. The Flow variant adds integrated
optical flow sensors. Blue UAS Framework listed.
Full ARK Electronics Stack
Product
Category
Blue UAS
Evidence
ARKV6X
Flight Controller
Yes
—
ARKV6X Extended Range
Flight Controller (high-G)
Yes
—
ARK FPV FC
Flight Controller (Betaflight)
Yes
—
ARK Pi6X
FC + CM4 Carrier + ESC
Yes
—
ARK 4IN1 ESC CONS
ESC
Yes
—
ARK TESEO GPS
GPS Module
Yes
—
ARK Flow MR
Optical Flow Sensor
Yes
—
ARK M.2 LTE Module
Connectivity
Yes
—
ARK Just a Jetson
Jetson Carrier Board
NDAA
Review needed: regulatory
ARK Jetson PAB Carrier
Jetson + FC Carrier
NDAA
Review needed: regulatory
ARK VOXL2 RTK PAB Carrier
ModalAI VOXL2 Carrier
Blue UAS
—
ARK + Mobilicom partnership for cybersecure AI drone solutions.
Skynode is a converged FC + companion computer. AuterionOS runs
PX4 natively with containerized applications. ROS 2 and TAK
integration. DDG Phase I: Auterion placed top 5 (~77-80 points).
ModalAI — VOXL 2
VOXL 2 is technically a companion computer but runs PX4 natively,
making it a converged FC + compute platform. See the companion
computers section for full specs. 16 Blue UAS Framework components.
Other NDAA-Compliant FC Sources
mRo (mRobotics)
US-manufactured Pixhawk-compatible FCs. PixRacer Pro series. NDAA
compliant. Smaller operation than ARK but established in the PX4
community. Review needed: regulatory
CubePilot / Hex
Detail
Value
Evidence
HQ
Australia
—
Products
CubeOrange+, CubeOrange, Herelink GCS
—
Firmware
ArduPilot (primary), PX4
—
NDAA
Australian manufacturing — likely compliant, verify
Review needed: regulatory
CubePilot is the most widely used ArduPilot FC in commercial builds.
The Herelink system (RC + video + GCS) is a popular integrated
solution. Non-Chinese manufacturing (Australia/Taiwan — verify
specific components).
Veronte / Embention
Detail
Value
HQ
Spain
Product
Veronte Autopilot 1x
Key Feature
EASA certifiable, redundant architecture
Market
Industrial, defense, certified operations
Spanish manufacturer targeting the certified/regulated drone market.
Veronte is one of few FCs with a path to EASA type certification.
Orqa
Detail
Value
Evidence
HQ
Osijek, Croatia
—
NDAA
Compliant — EU manufactured
Review needed: regulatory
F405 3030 — STM32F405, 30.5mm, 2S–6S, all JST-GH lockable
connectors (no soldering), MAX7456 + DisplayPort HD OSD, 8 PWM
outputs. Stacks directly onto Orqa 3030 ESC. ArduPilot board
target: OrcaF405Pro. DFU flash with with_bl.hex.
QuadCore H7 — STM32H743, ICM-42688-P, 30.5mm, 3S–6S.
More flash, more UARTs, faster processing than F405. Same IMU
as ARK FCs. Recommended for new NDAA builds needing headroom. Review needed: regulatory
H7 WingCore — Purpose-built for fixed-wing/VTOL. Twin
orthogonal ICM-42688, DPS310 baro, 160A current sensor, 10 servo
outputs, 4 motor outputs with telemetry, up to 12S (50V). iNav
preinstalled, ArduPilot available. Direct JST-GH connection to
Orqa Hybrid VTx/C2 modules. 36.6 g.
Chinese FCs (Context — NOT NDAA)
The vast majority of hobby FCs are Chinese-manufactured:
Matek, SpeedyBee, BetaFPV, Foxeer, etc. T-Motor also makes FCs.
All entries in parts-db from the GetFPV catalog are Chinese hardware.
For operators without compliance requirements, these remain the
most capable and cost-effective options. SpeedyBee's mobile app
integration is the closest commercial competitor to Wingman Buddy's
feature set.
All Chinese FC entries in the parts-db need compliance flags
added: NOT NDAA COMPLIANT.Review needed: regulatory
Choosing a Flight Controller
Firmware first. Decide between Betaflight/iNav (MSP, FPV/racing)
and ArduPilot/PX4 (MAVLink, autonomous operations). The FC must
support your firmware choice.
MCU determines capability. F4 (STM32F405) is legacy. F7 is
current standard. H7 (STM32H743) is top-tier (more flash, faster
processing, more UARTs).
IMU quality matters. BMI270 is the hobby standard. ICM-42688-P
is better. IIM-42652/42653 is industrial-grade. Triple-redundant
IMUs (ARK) enable voting and fault detection.
For NDAA builds: ARK ARKV6X + PX4 is the cleanest path.
For Betaflight FPV: ARK FPV FC or Orqa QuadCore H7 / F405 3030
(EU-manufactured, JST-GH no-solder connectors). For converged
compute: Auterion Skynode S or ModalAI VOXL 2. For fixed-wing:
Orqa H7 WingCore (10 servo outputs, 12S, NDAA).
The FPV camera is the pilot's eyes. It determines what you see, how fast
you see it, and whether you can fly in low light. Camera choice is tightly
coupled to your video system — analog cameras don't work with digital VTX
systems and vice versa. Getting this wrong means a black screen.
The original and still most common FPV system. The camera outputs a composite
video signal (NTSC or PAL) directly to an analog VTX, which broadcasts it on
5.8 GHz (or 1.2/1.3 GHz for long range). The receiver in your goggles
demodulates and displays it.
Strengths: lowest possible latency (sub-1ms camera-to-screen is
achievable), cheapest, lightest, enormous selection of cameras from many
manufacturers, field-repairable, no firmware dependencies. Review needed: performance / configuration
Weaknesses: resolution capped at ~700 TVL effective, no encryption
(anyone with a receiver on the same frequency sees your feed — critical
vulnerability in contested environments), susceptible to interference and
multipath, image quality degrades with distance rather than cutting out
cleanly.
Resolution is measured in TV lines (TVL), not pixels. Higher TVL =
sharper image. Most modern analog cameras are 1200 TVL or higher, but the
actual displayed resolution is limited by the analog transmission standard.
Digital FPV Systems
Digital systems encode the video into a data stream, transmit it digitally,
and decode it in the goggles. The four major systems:
DJI O3 / O4 Pro — highest image quality, 1080p or higher, 50ms typical
latency. O4 Pro is the newest generation. Locked ecosystem — only works with
DJI goggles. Most expensive. Dominant in the prosumer market.
Walksnail Avatar — Caddx/Walksnail system, 1080p capable, comparable
latency to DJI. Works with Walksnail and some compatible goggles. More open
than DJI but still a proprietary ecosystem.
HDZero — unique approach: digital transmission with analog-like latency
(sub-4ms). 720p max resolution currently. Open protocol — works with multiple
goggle brands. Preferred by racers who need minimum latency. The camera
modules tend to be smaller and lighter. Review needed: performance / configuration
OpenHD / WifiBroadcast — open-source digital video over WiFi hardware.
Runs on Raspberry Pi or IP camera boards (OpenIPC). Fully customizable
frequencies, encryption possible, but higher latency (80–150ms) and more
complex setup. See OpenHD Implementation Guide.
Key Camera Specifications
Sensor Size
Larger sensors capture more light. Common FPV camera sensor sizes:
1/4" — smallest, used in micro/whoop cameras. Adequate in daylight,
poor in low light.
1/3" — standard for most FPV cameras. Good balance of size, weight,
and light sensitivity.
1/2" — larger sensor, better low-light performance. Found in premium
cameras like the Foxeer Cat series (marketed as "Starlight").
1/1.8" and larger — typically found in HD recording cameras (action
cams), not FPV feed cameras.
Sensor Type
CMOS — standard for FPV. Fast readout, low power. All modern FPV cameras
are CMOS.
Global shutter vs rolling shutter — most FPV cameras use rolling shutter,
which can produce jello artifacts from vibration. Global shutter cameras
(rare in FPV) read the entire frame at once, eliminating jello but at higher
cost and power.
Minimum Illumination (Lux)
How well the camera sees in the dark. Lower = better night vision.
Night-capable cameras are critical for military FPV operations. Ukraine
pioneered night FPV strikes using low-lux cameras paired with IR illumination.
"Night Hornets" (Wild Hornets) is one of the most active night FPV units.
Field of View (FOV)
Measured in degrees. Wider FOV = more situational awareness but more
distortion at edges.
120°+ — ultra-wide, good for proximity freestyle and racing
150°–170° — typical FPV range, balances awareness and usability
180°+ — fisheye, maximum awareness but significant barrel distortion
Most FPV cameras offer a fixed lens with FOV determined by the lens focal
length. Some cameras offer replaceable lenses.
Aspect Ratio
4:3 — traditional FPV aspect ratio. More vertical field of view. Preferred
for freestyle where you need to see above and below.
16:9 — widescreen. More horizontal coverage. Standard for digital systems
and HD recording. Some pilots prefer this for racing.
Switchable — many cameras support both via OSD menu.
Camera Sizing
FPV cameras come in standardized mounting sizes:
Size
Dimensions
Typical Use
Nano
14×14 mm
Tiny whoops, micro builds
Micro
19×19 mm
3" builds, compact 5" builds
Mini
21×21 mm
Some 5" builds
Full / Standard
28×28 mm
5"+ builds, maximum image quality
The mounting hole pattern must match your frame's camera mount. Most frames
specify which camera sizes they accept. Adapter plates exist for mismatched
sizes.
Analog Camera Selection
The analog camera market is mature with well-understood options:
Budget (sub-$15): Foxeer Razer, Caddx Ant — adequate for daylight flying,
limited low-light performance. Good for training builds.
Premium ($30+): Foxeer Cat 4 (1200 TVL, 0.0001 lux claimed), Caddx Polar
series — best low-light performance. The "starlight" category. Essential for
dawn/dusk/night operations.
OSD Compatibility
Most analog cameras can overlay OSD data (battery voltage, RSSI, flight mode)
via connection to the FC's OSD output. The FC generates the OSD overlay and
mixes it into the video signal before it reaches the VTX. This is handled by
the FC firmware (Betaflight OSD, iNav OSD, etc.), not the camera. Review needed: performance / configuration
Digital Camera Selection
Digital cameras are paired to their respective ecosystems:
DJI O4 Pro Camera Unit — integrated camera + VTX. You don't choose the
camera separately — it's part of the air unit. Highest quality, but you're
locked into the DJI ecosystem.
Walksnail Avatar cameras — separate camera modules that connect to a
Walksnail VTX board. More modularity than DJI. Multiple camera options
(standard, micro, board camera).
HDZero cameras — Nano-series cameras designed for minimum latency.
Micro and nano sizes available. The lightest digital camera option, important
for racing and weight-sensitive builds.
Camera Durability
FPV cameras take impacts. Key durability considerations:
Lens protection — some cameras have replaceable lenses. A cracked lens
is a common crash result. Replaceable = back in the air faster.
Housing material — metal housings survive impacts better than plastic.
Most quality cameras use aluminum or CNC housings.
Connector type — JST-SH connectors are fragile. Cameras with solder
pads or more robust connectors survive crashes better.
Conformal coating — protects the PCB from moisture and debris. Important
for field operations.
Military / Contested Environment Considerations
In the context of the Russo-Ukrainian War, FPV camera selection has become
a tactical decision:
Analog video interception — any analog camera feed can be intercepted by
enemy receivers. Russian forces use purpose-built video signal detectors
(Chuyka 3.0) that scan 900–6000 MHz and display intercepted video feeds in
real time. This is why encrypted digital video (Barvinok-5, proprietary
systems) is being developed.
Video jamming — since summer 2024, video jamming has become the most
effective counter-drone tactic. Jammers target standard 5.8 GHz video bands.
Countermeasures include operating on non-standard frequencies (1.2 GHz,
7.2 GHz), using higher-power VTX, and digital systems with error correction. Review needed: performance / failure mode
Night operations — low-lux cameras are standard for military FPV. Paired
with IR illuminators, they enable effective night strikes. Camera selection
for military use prioritizes minimum illumination over resolution.
See:Military Firmware Forks for MILBETA's
VTX frequency unlock (3000–6999 MHz) and video frequency diversification
strategies.
Forge cross-reference: 30 entries in fpv_detectors category Related handbook chapters: Electronic Warfare, Counter-UAS, ELINT for Drone Operators
What FPV Detectors Do
FPV detectors are passive RF monitoring devices that detect the presence of FPV drone video and control link transmissions. They answer the question: "Is there a drone operating near me right now?" without requiring active transmission or expensive radar infrastructure.
The use cases divide into two groups:
Operator use: Frequency planning, channel conflict detection, and pre-flight spectrum checks. A pilot at a race event uses an RF detector to see which channels are already in use before powering up.
Security/counter-UAS use: Perimeter monitoring to detect unauthorized drone activity. A security guard carries a handheld detector to identify when someone is flying an FPV drone near a facility. The detector identifies the transmission without needing to locate or interdict the drone.
FPV detectors are a component of a C-UAS stack — they provide detection but not identification, geolocation, or interdiction. See components/counter-uas.md for the full counter-drone picture.
Detection Targets
FPV detectors target the RF signatures of:
Analog video (5.8GHz): The 5.725–5.875GHz band. FM modulated video signal. Very easy to detect — high power (25–600mW), always-on transmission. Characteristic bandwidth of 20–30MHz. Most legacy FPV systems.
Digital video (2.4/5.8GHz): DJI O3/O4, Walksnail Avatar, HDZero all use modulated digital signals. Harder to detect than analog — more burst-like, lower power, spread-spectrum. Requires dedicated digital detection signatures.
Control links (900MHz/2.4GHz): ELRS, Crossfire, FrSky. Frequency-hopping spread spectrum. Significantly harder to detect than video — designed to be RF-resilient. Specialist detectors can identify FHSS patterns.
DJI OcuSync/DragonFly: DJI's proprietary control+video links. Specific RF signatures that some commercial detectors include in their signature libraries.
Product Categories
Handheld RF Detectors (SpyFinder, RF Scout)
Simple wide-spectrum RF detectors that alert when they detect RF energy above a threshold. Not FPV-specific — they detect any RF source (WiFi, cellular, RF bugs, FPV). Very inexpensive ($30–150). High false-positive rate in RF-dense environments. Directional variants point toward the signal source.
Use case: Quick "is there any FPV transmission here" check. Not suitable for professional security applications.
Portable spectrum analyzers that display a real-time spectrum sweep across FPV bands. The operator can see the 5.8GHz spectrum and identify occupied channels. Some include frequency identification libraries that match observed signals to known systems.
RF Explorer: The de facto standard. Compact USB-connected spectrum analyzer, ~$130–200 depending on frequency range. RFExplorer software shows waterfall displays. Used by race event organizers, frequency coordinators, and operators doing pre-flight checks. Review needed: performance / commercial
ISDS204B: 2.4GHz + 5.8GHz dual-band portable analyzer. Standalone operation (no laptop required). Popular for field use.
Professional RF Monitoring (DJI AeroScope compatible, DroneTracker)
Commercial counter-UAS platforms that include passive RF monitoring as one layer of detection. DJI AeroScope listens for DJI's OcuSync broadcast and extracts drone ID, GPS position, and operator location from the signal — a remote ID function before Remote ID was regulated.
Limitation: AeroScope only covers DJI platforms broadcasting over DJI's protocol. Custom FPV drones using ELRS/Crossfire are invisible to it.
SDR-Based Detection (RTL-SDR + Software)
Software-Defined Radio dongles ($25–50) combined with open-source software (SDR#, GQRX, DragonOS) can perform spectrum analysis across virtually any frequency band. With appropriate antennas and signal processing software, an experienced operator can detect and classify most FPV transmissions.
Ceiling: SDR-based detection requires expertise to use effectively. The hardware is cheap; the knowledge isn't.
NDAA Status
FPV detectors are primarily passive consumer electronics. Most are either US-manufactured or European. The Chinese presence is limited compared to other FPV categories. Specific high-end professional detection systems (DJI AeroScope) are Chinese but used in specific counter-UAS contexts where Chinese-manufactured equipment may be excluded — verify per program.
Integration in Operations
Pre-Flight Frequency Check Protocol
Power on RF Explorer or equivalent before powering any drone
Scan 5.725–5.875GHz and 2.400–2.485GHz
Identify occupied channels — look for peaks above noise floor
Select channels with cleanest spectrum (lowest noise floor)
Document selected channels for the flight crew
Security Monitoring Deployment
For perimeter RF monitoring:
- Mount multiple antennas at elevated positions around the perimeter
- Use spectrum analyzers with logging capability for post-event review
- Establish baseline spectrum (what normal RF looks like) before monitoring
- Set threshold alerts for anomalous 5.8GHz energy
- Integrate with camera system for visual cuing when RF detected
Critical limitation: RF detection alone does not locate a drone. It confirms transmission is occurring in a frequency band consistent with drone operation. Combining with direction-finding antennas or multi-receiver TDOA systems enables geolocation.
The frame is the skeleton of every build. It determines what props you can
run, how your stack mounts, where your antenna exits, how you handle crashes,
and how much your quad weighs before you bolt a single component onto it.
Frame choice affects vibration, durability, repairability, and ultimately
flight feel more than most pilots realize.
Frame size is defined by the maximum propeller diameter it accepts, which
in turn determines motor size, battery capacity, and mission profile.
Size
Prop
Typical Use
AUW Range
Stack
3" / 3.5"
3–3.5"
Indoor, cinewhoop, tight spaces
150–250 g
20×20 mm
5"
5–5.1"
Freestyle, racing, general FPV
500–750 g
30.5×30.5 mm
6"
6"
Long range, cruising
600–900 g
30.5×30.5 mm
7"
7"
Long range, payload, strike
800–1400 g
30.5×30.5 mm
10"
10"
Heavy lift, payload delivery, bomber
1500–4000 g
30.5×30.5 mm
The 5-inch class dominates the hobby and consumer market. The 7-inch and
10-inch classes dominate military/tactical use because they carry meaningful
payloads and fly longer on larger batteries.
Frame Geometry
True X vs Squashed X vs Deadcat
True X — all arms at 45° angles from center. Equal prop wash distribution,
symmetrical yaw authority. Standard for freestyle and racing. Most 5-inch
frames use this layout.
Squashed X — front arms closer together, rear arms wider (or vice versa).
Keeps props out of camera FOV. Popular for cinematic builds where you want
clean HD footage without prop-in-frame. Slight asymmetry in yaw response but
negligible with modern PID tuning.
Deadcat — rear arms angled sharply outward, front arms close together.
Maximum camera clearance, props completely out of frame. Common on cinewhoops
and some long-range builds. Trades some flight efficiency for clean video.
Stretched X
Arms angled so front-to-back distance is longer than side-to-side. Improves
forward flight efficiency and pitch authority. Popular for long-range and
racing. The tradeoff is reduced roll authority and slightly more complex PID
tuning.
H-Frame / Box Frame
Arms parallel, creating a rectangular or square footprint. Structurally strong,
easy to mount payloads and electronics. Common in utility/payload drones and
some cinewhoops (ducted). Less aerodynamically efficient than X layouts but
simpler to build and repair.
Materials
Carbon Fiber
The standard for performance frames. Unmatched stiffness-to-weight ratio.
Typical thickness: 2–5 mm for arms, 1.5–2 mm for top/bottom plates.
Key considerations: carbon fiber is electrically conductive — it can short
exposed pads and interfere with RF. Always insulate between carbon and
electronics. Carbon also blocks GPS and some antenna signals, so antenna
placement matters.
Quality varies enormously. Cheap carbon can delaminate on impact. Premium
manufacturers (Armattan, ImpulseRC, Lumenier) use higher-quality layups that
hold together better in crashes.
3D Printed (TPU / PETG / Nylon)
Common for cinewhoop ducts, GoPro mounts, antenna holders, and
custom parts. TPU is flexible and absorbs impacts well. Full 3D-printed
frames exist for lightweight or disposable builds. Military FPV production
(FPV_VYZOV and others) uses 3D-printed components extensively for rapid
iteration.
Aluminum / CNC
Used in some commercial/industrial frames. Heavier than carbon but
machinable and repairable. Common in larger payload platforms. Can be bent
back into shape after impacts that would shatter carbon.
Stack Mounting
Most FPV frames use standardized mounting hole patterns:
Pattern
Hole Spacing
Used By
20×20 mm
M2 or M3
Micro builds, 3" and smaller
25.5×25.5 mm
M2 or M3
Some whoop/micro FCs
30.5×30.5 mm
M3
Standard 5"+ builds
The 30.5 mm pattern is dominant for anything 5-inch and above. Stack mounting
uses standoffs (typically nylon or aluminum) between layers: bottom plate →
ESC → FC → VTX → top plate.
Soft mounting — rubber grommets or O-rings on FC mounting screws to isolate
the gyro from frame vibration. Critical for clean PID performance. Some frames
include soft-mount provisions; others require aftermarket grommets.
Arm Design
Unibody vs Replaceable Arms
Unibody — arms are integral to the bottom plate, cut from a single piece
of carbon. Lightest, stiffest, but if one arm breaks you replace the entire
bottom plate.
Replaceable arms — individual arms bolt to a center section. Heavier (more
hardware) but you only replace the broken arm. Significant advantage for
training and attritable military use where crash frequency is high.
Dead cat with replaceable arms — common pattern for 7" and 10" builds
where crashes are expensive. UAS Nexus Platform One uses this approach.
Arm Thickness
Thicker arms resist bending but add weight. Typical ranges:
4 mm — standard freestyle 5"
5 mm — heavy freestyle, 7" builds
6 mm — 10" and heavy lift
Carbon fiber grain direction matters — arms with fibers aligned along the
length are stiffer in bending but can split along the grain on impact. Cross-
weave layups distribute stress better.
Durability & Repairability
The number one factor in frame selection for high-volume operations (training,
military, commercial) is how fast you can get back in the air after a crash.
Armattan — lifetime warranty on carbon. If you break an arm, they replace
it. Unusual in the industry and worth noting for training programs.
ImpulseRC — replaceable arms on most frames (Apex series). Well-documented
hardware kits.
TBS Source One — open-source frame design. Anyone can cut the carbon from
the published DXF files. Ensures long-term parts availability even if the
manufacturer disappears.
For military/attritable use, the trend is toward simple, easily manufactured
frames with replaceable arms and minimal unique hardware. Ukrainian FPV
production prioritizes frames that can be assembled quickly with standard
hardware.
Camera Mount & Protection
Most FPV frames include a camera mount at a fixed or adjustable angle
(typically 0–60°). Key considerations:
TPU camera mount — absorbs vibration, protects camera in crashes, but
can introduce jello in video if too flexible
Fixed carbon mount — stiffer, better for HD video, but transmits crash
forces directly to the camera
Adjustable tilt — essential for builds that switch between cruising
(low angle) and racing/freestyle (high angle)
Camera protection — top-mounted GoPro or action cam needs a cage or TPU
mount. Naked action cams (board-only, no case) save weight but are fragile.
Antenna Routing
Frame choice affects antenna placement, which affects link quality:
Rear antenna exit — most common for control link (ELRS/Crossfire
receiver antenna). Route the antenna out the back, away from carbon and
motors. T-antenna or immortal-T mount on a standoff.
Top-mount VTX antenna — keeps the VTX antenna vertical and above the
frame. SMA or MMCX pigtail through the top plate.
GPS placement — must be on top, away from carbon (which blocks satellite
signals) and away from power wiring (which creates magnetic interference for
the compass).
Carbon fiber frames attenuate RF signals. Never sandwich an antenna between
carbon plates. The antenna must have a clear path to the sky/receiver.
Frame Selection Decision Tree
What size props do you need? → determines frame class
Freestyle or long range or payload? → determines geometry (True X vs
Stretched X vs Deadcat)
How often will you crash? → replaceable arms vs unibody
What stack size? → 20×20 or 30.5×30.5
HD camera mount needed? → check GoPro/action cam compatibility
Weight target? → compare frame-only weights (lighter frame = more
battery capacity within AUW budget)
There is a version of this conversation that goes: "I bought an Emlid RS2 for $1,900. My Trimble dealer quoted me $27,000 for the R12i. Same centimeters, right?"Review needed: commercial / configuration
In clear sky, on a short baseline, with a single base station and a calm ionosphere, the answer is mostly yes. The gap widens significantly the moment any of those conditions change.
This isn't about brand loyalty or marketing. It's about understanding what the extra money actually buys, where the differences manifest, and why a drone operator specifically faces a different calculus than a land surveyor.
What's Actually Inside the Hardware
Antenna
The antenna is the first point of contact with the signal and one of the biggest differentiators between price tiers.
Consumer/prosumer antennas (Emlid RS2/RS3, ArduSimple, u-blox ZED-F9P breakouts): Patch antennas or small helical designs. Moderate phase center variation (PCV) — the electrical phase center of the antenna is not exactly at the mechanical center and varies by elevation angle and frequency. Cheap antennas have phase center variations of 5–15mm; high-quality geodetic antennas are calibrated to <1mm. Larger multipath rejection ratios on paper but tested in ideal bench conditions.
Geodetic antennas (Trimble Zephyr, Leica AS10, NovAtel VEXXIS): Choke-ring or pinwheel designs specifically engineered to reject multipath (signals reflecting off the ground and nearby surfaces). Precisely calibrated phase centers per frequency and elevation angle — corrections can be applied in processing. Calibration data is published in national databases (NGS for the US). When centimeter absolute accuracy matters, the antenna is often the binding constraint.
For drone applications specifically, the onboard antenna is a compromise regardless of manufacturer — it's small, surrounded by carbon fiber and electronics, and attached to a moving platform. The base station antenna is where geodetic quality matters.
Signal Tracking: L1/L2 vs All-Constellation All-Frequency
Emlid RS2/RS2+/M2: Tracks GPS L1/L2, GLONASS L1/L2, BeiDou B1I/B2I, Galileo E1/E5b. Often described as "multi-band." What it cannot track: GPS L5, GLONASS L3, BeiDou B2a/B3, Galileo E5a/E6.
Note on the "L5" label: Emlid receivers including the RS2 and RS3 have "L5" printed on the hardware. This caused significant controversy in the surveying community. What the RS2/RS3 actually tracks as its "L5" is Galileo E5b — not GPS L5 (1176.45 MHz). The receivers do not receive true GPS L5 RTK corrections. The RS4/RS4 Pro (released 2024) corrects this with genuine all-band tracking.
Trimble R12i: Tracks GPS L1/L2/L5, GLONASS L1/L2, BeiDou B1/B2/B3, Galileo E1/E5a/E5b/E6, NavIC L5, QZSS — the full set. This matters because:
- L5 signals are newer, broadcast at higher power, and provide better noise performance than L1/L2
- More signals on more frequencies = more redundancy when any individual signal is blocked or degraded
- L5 dramatically improves performance under canopy and in urban canyons
Processing Engine
The receiver's firmware processes raw observations into a position solution. This is proprietary and not well documented externally, but the difference shows in practice.
Trimble ProPoint (R12i): Trimble's flagship processing engine. Uses all available signals simultaneously including L5. Implements advanced multipath mitigation algorithms. Rebuilds the fix faster after signal blockage. Under full canopy, ProPoint continues to maintain fix in conditions where other receivers drop to float. Independent testers have reported the R12i maintaining fix under "full obstruction" conditions where every other receiver tested failed.
Standard u-blox processing (Emlid RS2/M2): The underlying chip is an u-blox ZED-F9P. Good — genuinely impressive for the price — but not in the same class as Trimble's proprietary processing for challenging environments. In open sky conditions on short baselines, the difference is minimal. Under partial canopy, near buildings, or at longer baselines, the gap opens.
The real-world benchmark result from the BBS study in Australia: in open and suburban conditions, the Emlid RS2 and Trimble R10 agreed to well under 1cm. The R10 maintained fix to 7.5km radio range; the RS2 to 6.5km. In dense vegetation, the R10 "won" but the RS2 wasn't far behind. This was before the R12i's ProPoint engine — the gap at the high end is wider with the current generation. Review needed: performance / failure mode
The Network: What Trimble Has That No Single Receiver Provides
This is the biggest practical difference for operators who want to work without deploying their own base station.
VRS (Virtual Reference Station) Networks
A VRS network is not simply a collection of NTRIP base stations. It is a managed network of permanent reference receivers with software that continuously models the spatial variation of atmospheric errors across the network coverage area.
When you connect to a VRS as a rover:
1. You send your approximate position to the network server
2. The server synthesizes a "virtual" base station at a location near you, using data from the surrounding real reference stations and its atmospheric model
3. You receive corrections as if there were a real base station right next to your site
This matters because:
- Baseline stays short. Real NTRIP services mean your effective baseline is always the distance to the synthesized VRS — typically 5–10km regardless of where in the network you are. Without VRS, you're correcting from the nearest real station, which might be 30–60km away in rural areas.
- Atmospheric modeling. The network software continuously models tropospheric and ionospheric delays across the coverage area. Corrections from a VRS are better compensated for distance-dependent atmospheric error than raw corrections from a distant single base.
- Better vertical accuracy. Vertical accuracy is more sensitive to atmospheric error than horizontal. VRS corrections maintain vertical performance across the network in a way that single-base corrections cannot.
Trimble's VRS Now Coverage
Trimble VRS Now covers over one million square miles in North America alone, plus extensive coverage in Europe, Australia, and New Zealand. Coverage includes most of the continental US, all major Canadian provinces, and dense coverage across Europe.
The subscription cost is real: the Survey Regional VRS Now RTK subscription runs ~$1,650/year in the US. This is not a hidden fee — it's priced as a professional service, not a hobbyist tool. In that context it's a fraction of the daily labor cost it saves.
What Free NTRIP Services Are
Many operators use RTK2go, state DOT CORS networks, and similar free services as their NTRIP source. These are legitimate and work well in appropriate conditions. What they are not:
RTK2go is a community NTRIP caster — anyone can set up a base station and publish it. The stations vary in quality, uptime, calibration, and metadata. Some stations are excellent; some are abandoned hardware running on an old Raspberry Pi with no monitoring.
State DOT CORS networks are typically well-maintained but variable in density. Rural coverage can mean baselines of 40–80km between stations.
NGS CORS provides raw data but not a VRS network — you get corrections from the actual station, not a synthesized one near you.
None of these provide the managed, monitored, synthesized VRS correction that Trimble VRS Now provides. They're not bad — they're just different products.
Other Managed Network Options
Leica SmartNet: Comparable to Trimble VRS Now, European origin, extensive US and European coverage. Similar pricing.
Hexagon/Leica HxGN SmartNet: The same network rebranded post-acquisition.
Topcon MAGNET Correctlink: Trimble competitor, similar model.
Point One Navigation Atlas: US coverage, $100-200/month, modern API-friendly approach, growing network.
Swift Navigation Skylark: Growing commercial network, particularly strong for autonomous vehicle applications.
For Drone Operators Specifically
Here's where the calculus is genuinely different from land survey.
The drone's onboard receiver is the rover — and it's already limited. The drone's miniaturized antenna, surrounded by carbon fiber and electronics, has inherent multipath issues and phase center uncertainty regardless of whether it's connected to Emlid corrections or Trimble VRS. The base station and correction network quality is the variable you control.
PPK is less affected by network tier than RTK. In a PPK workflow, you're using post-processed precise ephemerides and forward-backward processing. A CORS station 30km away works adequately for PPK in a way that it doesn't for real-time RTK. For PPK drone mapping specifically, a free CORS-based workflow with an Emlid base logging at the site is genuinely competitive.
RTK drone mapping without a local base is where quality diverges. If you're flying RTK and relying on NTRIP corrections from a distant station:
- A state DOT CORS station 40km away gives degraded vertical accuracy regardless of receiver quality
- Trimble VRS Now's synthesized near station gives the same accuracy anywhere in the coverage area
The practical implication: for drone RTK with NTRIP corrections, the network matters more than the rover receiver quality. Paying for Trimble VRS Now while using an Emlid onboard receiver is a reasonable choice. Using a free NTRIP service in good sky conditions is also fine for many applications.
The Honest Price-Performance Map
Tier
Example Equipment
Open-Sky Accuracy
Under Canopy
VRS Network
Use Case
Hobbyist
ArduSimple F9P + patch antenna
1–3cm horizontal
Often FLOAT
Free NTRIP only
Drone mapping in open terrain
Prosumer
Emlid RS2+/RS3
1–2cm horizontal
Float at moderate canopy
Free NTRIP; pay for VRS separately
Most drone mapping, lightweight land survey
Mid-range commercial
Trimble R2, Leica GS18 I
1cm horizontal
Better than prosumer
VRS subscription included or separate
Production land survey, GCP deployment
Professional
Trimble R10, Leica GS18
8mm + 0.5ppm
Good
Full VRS access
Licensed survey, infrastructure
Premium
Trimble R12i, Leica GS18 T Pro
8mm + 0.5ppm
Outstanding (ProPoint)
Full VRS + satellite corrections
Survey in challenging environments
For drone mapping specifically: Emlid hardware on a managed VRS network is a practical sweet spot. The onboard drone antenna limits accuracy more than the ground hardware, PPK processing handles most RTK link reliability problems, and the cost difference between Emlid ($1,900) and Trimble R12i ($27,000+) buys a lot of missions and processing time. Review needed: performance / commercial
For ground survey control (GCPs, checkpoints, benchmarks): the investment in better ground hardware pays more direct dividends because you're working in the environment where canopy performance, tilt compensation, and absolute accuracy of the base actually change your results.
The Service and Workflow Ecosystem
This is real and frequently underestimated.
Trimble Access (the field software for Trimble receivers) has 25 years of survey workflow refinement. Code stakeout, surface stakeout, road design stakeout, traverse adjustment, COGO — it's the industry standard for a reason. The workflow from field to Trimble Business Center to deliverable is tested across hundreds of thousands of projects.
Emlid Flow is genuinely good and improving rapidly. But it's a different paradigm — more modern, more open, designed for drone operators and GIS users as much as surveyors. Surveyors coming from Trimble Access report a learning curve.
Support and certification: In most jurisdictions, official land surveys require licensed surveyors using certified equipment. Trimble, Leica, and Topcon equipment appears on certified equipment lists in most US states and internationally. Emlid equipment is generally not on these lists for legally-recorded surveys. For drone mapping deliverables (where the operator is not stamping a plat), this typically doesn't matter. For work that feeds into legal land records, it does. Review needed: regulatory
Calibration and maintenance: Professional survey equipment comes with traceable factory calibrations, recommended calibration intervals, and factory service. Emlid receivers are designed for operator-level maintenance. For high-stakes work where calibration uncertainty enters the accuracy budget, this distinction matters.
The Summary
Emlid is genuinely excellent for what it is: an accessible, capable, open receiver ecosystem that outperforms its price point by a wide margin in good conditions. In open sky on short baselines, it matches professional equipment in practice. For drone mapping workflows using PPK, it's the right tool for most operators at most price points.
Trimble (and Leica, Topcon, NovAtel) is a different product for a different professional tier. The network infrastructure, proprietary signal processing, all-band tracking, and professional workflow ecosystem are real advantages that manifest in challenging conditions, long baselines, canopy environments, and legally-accountable survey work.
Confusing them — deploying Emlid hardware and expecting Trimble VRS performance, or dismissing Trimble as overpriced when the use case genuinely benefits from its capabilities — costs accuracy, time, and sometimes careers.
The right question is not "which is better?" but "what does my specific use case need, where will I deploy it, and what is the cost of being wrong?"
Trimble RTX: The Third Paradigm
Everything discussed so far — RTK, PPK, VRS networks, base stations — operates on the same fundamental principle: you need two receivers measuring the same satellites at the same time, and you use the difference to cancel errors. This is differential GNSS in all its forms.
Trimble RTX is something different. It's Precise Point Positioning (PPP) delivered as a real-time commercial service. Understanding what makes it a different category — not just a premium version of RTK — is the last piece of the ecosystem picture.
What PPP Actually Is
Standard differential GNSS (RTK, PPK) eliminates atmospheric and satellite errors by comparing two nearby receivers. The errors largely cancel because both receivers see the same atmosphere and the same satellite clock errors at the same time.
PPP takes a different approach: instead of cancelling the errors by differencing, it models and corrects every error source directly. To do this, it uses:
Precise satellite orbits — computed from a global network of reference stations tracking every satellite continuously. Accurate to 2–3cm vs the broadcast ephemeris's 1–2m.
Precise satellite clock corrections — the clock in each satellite drifts; PPP models it to sub-nanosecond accuracy
Global ionospheric model — the density of charged particles in the ionosphere varies by location, time of day, and solar activity. PPP models it globally and applies per-receiver corrections
Tropospheric model — water vapor in the lower atmosphere delays signals in a way that varies with altitude, temperature, and humidity
Phase bias corrections — carrier phase measurements have systematic biases from receiver and satellite hardware that must be modelled to resolve integer ambiguities
Trimble RTX computes all of these corrections continuously using its global network of approximately 120 reference stations and delivers them to your receiver via L-band geostationary satellite (no internet required) or internet/cellular.
The Fundamental Difference: No Base Station, No VRS, No Local Infrastructure
This is what RTX unlocks that nothing else does.
In any RTK or PPK workflow, you are constrained by:
- The location of the nearest base station or CORS station
- The quality of the cellular or radio link delivering corrections
- The baseline length (which drives atmospheric modelling error)
With Trimble RTX, you need only one receiver and a subscription. There is no base. There is no cellular dependency (satellite delivery). There is no baseline — the corrections are absolute, not relative to a local reference.
Practical implications:
- A pipeline survey crossing 200km of remote terrain: RTX works the entire corridor without moving a base station
- An offshore vessel: RTX satellite delivery works at sea with no terrestrial infrastructure whatsoever
- A BVLOS drone corridor survey where no base can be deployed: RTX is the correction source
- International projects: RTX provides consistent absolute positioning in ITRF 2020 regardless of local datum infrastructure Review needed: regulatory
The RTX Service Tiers
Trimble RTX is not a single product — it's a family:
Service
Delivery
Accuracy
Convergence
Best For
CenterPoint RTX Fast
Satellite + Internet
2cm horizontal, 4cm vertical
<1 minute (ProPoint)
US + W. Europe production survey
CenterPoint RTX Standard
Satellite + Internet
2cm horizontal, 4cm vertical
15–30 min global
Global remote survey
ViewPoint RTX
Satellite + Internet
10cm
Minutes
GIS, asset inventory
RangePoint RTX
Satellite + Internet
40–50cm
Minutes
Agriculture, GIS
Trimble xFill / xFillx
Satellite (backup)
2cm (offset to local)
Near-instant (bridging)
RTK/VRS backup
CenterPoint RTX Fast covers the continental US and Western Europe with regional atmospheric models that dramatically reduce convergence time. In RTX Fast areas with a ProPoint receiver: converged and ready to survey in under one minute from cold start. That is comparable to RTK initialization time — without a base station.
CenterPoint RTX Standard works globally, but without regional atmospheric models. Convergence takes 15–30 minutes. For a surveyor arriving at a new site in Central Africa or Central Asia, this is still a revolutionary capability — RTK simply cannot work there without local infrastructure.
Convergence: The Critical Limitation
Unlike RTK, which snaps to fix status when integer ambiguities are resolved (discrete event), PPP convergence is a gradual process. Accuracy improves continuously as the receiver accumulates observations and the correction model refines. Review needed: performance / failure mode
For CenterPoint RTX Fast with ProPoint (US/W. Europe):
- 0–60 seconds: converged to 2cm specification
- This is genuinely competitive with RTK initialization
The important constraint: if you lose corrections for an extended period (signal blockage, power cycle, receiver reset), you must reconverge. Unlike RTK which can re-fix in seconds after a brief dropout, RTX reconvergence starts over. For this reason, Trimble integrates RTX with RTK workflows via xFill rather than positioning them as replacements.
xFill and xFillx: RTX as Insurance
This is how most professionals actually encounter RTX in daily use — not as their primary correction source, but as the backup that keeps them working when RTK fails.
xFill (free, 5 minutes): Built into Trimble Access. When the RTK radio or NTRIP cellular connection drops, xFill automatically engages Trimble RTX satellite corrections as a bridging solution. Accuracy is maintained at RTK-level (±2cm) for up to 5 minutes, offset to the local coordinate system of the RTK job. You keep working through the dead zone.
xFillx (with CenterPoint RTX subscription, unlimited): Same as xFill but without the 5-minute limit. It can bridge an interruption in the terrestrial correction link while the receiver can receive the required satellite corrections and remains within the service and receiver conditions. Buildings, terrain, vegetation, receiver state, and service availability can interrupt reception; satellite corrections are not guaranteed at every location.
This is the context behind the survey professional's quote: "Don't mess around with RTK, go straight to CenterPoint RTX and be done with it." For a specific class of remote, large-area work, they're right — the logistics of base station setup, radio range management, and cellular coverage simply aren't worth it when RTX can deliver 2cm accuracy globally with less setup overhead.
RTX vs RTK: The Honest Accuracy Comparison
Peer-reviewed comparisons (including a 2025 study from the Italian Institute for Geophysics and Volcanology, which ran RTX and RTK simultaneously on the same antenna) show that:
After full convergence: RTX horizontal accuracy of 1.5–2cm and vertical of 2.5–4cm is consistently demonstrated. This matches RTK specification.
Before full convergence: RTX degrades gracefully (still useful at 5–10 minutes); RTK drops sharply from FIX to unreliable FLOAT.
Under canopy / near buildings: Both degrade. RTX degrades due to signal blockage affecting the global ionospheric model update; RTK degrades due to multipath corrupting carrier phase tracking. Neither has a clear advantage here — ProPoint helps both RTX and RTK on capable receivers.
At long range: RTX is better. A 100km baseline RTK is not viable; RTX works anywhere.
On kinematic platforms (drones, vehicles): Both work. RTX initialization on a moving platform takes longer than stationary; RTK can fix while moving if corrections are available.
What RTX Cannot Do
RTX is not a replacement for RTK in all scenarios:
Relative accuracy missions: If you need two points to agree with each other to sub-centimeter precision, RTK (where both points are measured relative to the same base) is more internally consistent than RTX (where both points are absolute but carry their own independent 1.5–2cm uncertainty).
Machine control: Construction machine control applications require fast RTK lock, continuous operation, and integration with machine manufacturer systems. RTX convergence latency and the requirement for compatible Trimble receivers makes it impractical for most machine control.
Canopy environments: Neither RTX nor RTK is reliable under heavy canopy. If canopy performance is the critical requirement, Trimble ProPoint hardware (R12i) with either correction source is the answer, not the correction source itself.
Non-Trimble receivers: RTX is Trimble-proprietary. The satellite-delivered RTX corrections are encrypted for Trimble hardware. Internet-delivered RTX is available via NTRIP to third-party receivers at lower accuracy tiers, but the full CenterPoint RTX Fast service requires Trimble hardware. This is not a hidden fee — it's the business model.
The Competitive Landscape
Trimble RTX pioneered commercial PPP-as-a-service but is no longer alone:
Service
Provider
Delivery
Accuracy
Coverage
CenterPoint RTX
Trimble
L-band + internet
2cm + fast convergence
Global
TerraStar-C PRO
Hexagon/NovAtel
L-band + internet
2cm
Global
TerraStar-X
Hexagon/NovAtel
L-band + internet
2cm + fast convergence
Global
Skylark
Swift Navigation
Internet
2–5cm
Growing
Atlas
Hemisphere
L-band
2–4cm
Global
CSRS-PPP
Natural Resources Canada
Internet (post-process only)
1cm (post)
Global (free)
SSR corrections (IGS-RTS)
IGS
Internet
5–10cm
Global (free)
The free IGS real-time streams are worth knowing: accessible via NTRIP, global coverage, multi-constellation. Accuracy is 5–10cm after convergence — fine for GIS and positioning, not survey-grade. For commercial survey work, CenterPoint RTX or TerraStar-C PRO are the established options.
Where This Leaves the Drone Operator
For drone base station GPS in remote locations where CORS coverage is inadequate for PPK — RTX satellite delivery to a Trimble receiver used as a base station gives you a precisely-positioned base anywhere on Earth. Set up the Trimble base, let it converge for 30 minutes (or 1 minute in RTX Fast regions), use it as your RTK base for the drone mission. You've effectively brought a known survey point to any remote location with no pre-existing infrastructure.
This is one of the practical workflows that separates serious remote survey capability from what a budget GNSS setup can achieve — and it requires the full Trimble ecosystem (receiver + RTX subscription + Trimble Access) to work as described.
Forge cross-reference: 76 entries in gps_modules category Related handbook chapters: RTK/PPK GPS Integration, Navigation & PNT, Flight Controllers
What GPS Modules Actually Do
A GPS module on a drone serves three functions: position hold, return-to-home, and mission execution. The quality of your GPS module determines how accurately the drone holds position in hover, how fast it acquires a lock at startup, and whether it maintains lock in challenging RF environments.
Most pilots underestimate how much GPS quality matters. A cheap M8N module will hold position to ±3m and drift visibly in hover. A quality M9N or M10 module holds to ±0.8m and feels locked to an invisible anchor. An RTK module holds to ±2cm. The difference is visible and operationally significant.
For the RTK and PPK precision mapping use case, see the dedicated rtk-ppk-gps-integration.md chapter. This chapter covers the standard position-hold and navigation GPS ecosystem used in most flight operations.
GNSS Generations
u-blox Generations (The Industry Standard)
u-blox (Swiss) is the dominant GNSS receiver chipset supplier for the drone market. Understanding their product generations clarifies almost every GPS module comparison.
M8N / M8T (2014–2018)
The first generation widely adopted for drone use. GPS+GLONASS dual-constellation. 2.5m CEP positional accuracy. Adequate for basic position hold. Still common on older platforms and budget builds. The M8T variant supports raw pseudorange output for PPK post-processing.
M9N (2020–present)
Significant improvement. GPS+GLONASS+Galileo+BeiDou concurrent tracking (4 constellations). 2.0m CEP. Faster acquisition. Better performance in partial sky view. The M9N is the practical baseline for any professional build — it's what's in most Holybro, CubePilot, and Lumenier GPS modules in the mid-range.
M10 (2022–present)
Current u-blox generation for standard (non-RTK) positioning. All-constellation (GPS/GLONASS/Galileo/BeiDou/NavIC/QZSS). 1.5m CEP. Significantly improved performance in urban and multipath environments. Lower power than M9N. The M10 is where new designs should start.
F9P (RTK)
u-blox's high-precision receiver used in RTK systems like the Here4, CubePilot, and Emlid Reach. Centimeter-level accuracy with corrections. See the RTK/PPK chapter.
Other Chipsets
UBLOX SAM-M10Q — Module-level integration of M10 core from u-blox, used by Lumenier and ARK Electronics in their procurement status unverified modules. Same chip, different PCB integration.
SkyTraq — Taiwan-based GNSS chip used in some budget modules. Not common in professional applications.
Broadcom BCM47765 — Used in some DJI hardware. Higher-end consumer chip with strong multipath rejection.
NDAA Compliance
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
Form Factors
Standard GPS Puck (20–50g)
The most common form factor for ArduPilot/PX4 platforms. Round or hexagonal PCB with integrated compass, enclosed in a plastic housing with a short mast or mounting plate. Usually includes a status LED. CubePilot Here3+, Holybro M9N Standard, and mRo U-Blox fall in this category.
Compass integration is standard in puck-form GPS modules. The external compass is mounted away from FC motor noise, significantly improving heading accuracy versus using the FC's onboard compass. Always enable the external compass and disable the internal one in ArduPilot/PX4 if running an external GPS with compass.
Surface-Mount Module (5–15g)
Smaller PCB format for fixed-wing, racing, or weight-critical builds. RadioMaster ERS-GPS, Matek SAM-M10Q, HGLRC M100. Typically no compass, antenna is chip ceramic or small helical.
Helical GPS Antenna
Separate helical antenna element for improved gain in low-elevation satellite environments. The CubePilot Here4 can use a helical antenna for better performance. Useful when the drone attitude frequently blocks the GPS puck's view of the horizon.
Protocol & Wiring
All modern GPS modules communicate via UART at 9600–115200 baud using the UBX binary protocol or NMEA ASCII. UART is the universal interface — TX→RX, RX→TX, 3.3V or 5V power. Review needed: performance / configuration
Compass interface: I2C (most common). Enable external compass in FC configuration and set the correct orientation offset if the GPS is mounted rotated relative to the FC.
GPS_1_CONFIG = TELEM1 # or whichever UART the GPS is on
GPS_1_PROTOCOL = 1 # u-blox
DroneCAN GPS: Newer ARK and CubePilot modules support DroneCAN (formerly UAVCAN), allowing GPS+compass data over the CAN bus. This reduces wiring, adds redundancy, and enables hot-swapping. CubePilot Here4 supports both UART and DroneCAN. ARK GPS modules are DroneCAN-native.
Compass Calibration
A poorly calibrated external compass is one of the most common causes of erratic position hold and toilet-bowl circling. After installation:
Mount the GPS mast far from high-current wires (ESC power leads, battery leads)
Perform a full compass calibration (ArduPilot: COMPASS_CAL live calibration or MissionPlanner onboard)
Check compass motor interference by running motors at full throttle and watching compass heading deviation — acceptable is <30°
If using two compasses (FC internal + GPS external), verify they agree within 15° on heading
Compass interference sources to avoid:
- Battery cables running parallel to GPS mast
- Video transmitter near GPS mount
- Metal fasteners or standoffs directly under the GPS
GPS Redundancy
For any operation where GPS loss is a critical failure:
Dual GPS — Two independent GPS modules feeding the EKF. ArduPilot EKF3 supports multiple GPS instances and can switch mid-flight. Strongly recommended for BVLOS and any commercial operation. Review needed: regulatory
GPS+Optical Flow — Ground-referenced positioning from optical flow supplements GPS in low-altitude or indoor-transitioning scenarios. See components/optical-flow.md.
GPS+SLAM — Companion computer SLAM provides GPS-independent positioning. See components/companion-computers.md.
Forge Cross-Reference
Use the current catalog as a discovery index. Counts, prices and origin filters do not establish availability, compatibility or federal procurement eligibility.
Forge cross-reference: 13 entries in ground_control_stations category Related handbook chapters: TAK Integration, Companion Computers, C2 Datalinks, Handheld GCS Hardware Deep-Dive Handbook Roadmap: Aligns with planned Chapter 22 (Ground Control Stations)
What a GCS Does
A Ground Control Station is the operator's interface to the drone: mission planning, real-time telemetry display, manual override, and post-flight data review. At minimum, a GCS receives MAVLink telemetry over a radio link and displays position, altitude, battery, and flight mode. At maximum, it manages fleets of autonomous platforms with video feeds, sensor tasking, and integration into C4ISR networks.
Software GCS Options
Open Source
QGroundControl (QGC) — Cross-platform (Windows, macOS, Linux, Android, iOS) open-source GCS maintained by the Dronecode Foundation. Supports any MAVLink-compatible vehicle. The default GCS for PX4 and increasingly for ArduPilot. Clean UI, good mobile support, active development. Limitation: single-vehicle focused; multi-vehicle support is basic.
Mission Planner — Desktop GCS (primarily Windows, experimental Linux/macOS) maintained by Michael Oborne for the ArduPilot project. More features than QGC but a steeper learning curve and dated UI. Advanced features include terrain following planning, auto-survey grid generation, log analysis, and firmware flashing. The power-user choice for ArduPilot. Review needed: performance / configuration
MAVProxy — Command-line MAVLink proxy and GCS. No GUI — pure text interface with optional map module. Used for scripting, automation, and headless ground stations. Pairs well with DroneKit-Python for programmatic flight control.
Commercial / Enterprise
UgCS (SPH Engineering) — Enterprise-grade mission planning GCS supporting APM, Pixhawk, DJI, Mikrokopter, and more. Key features: simultaneous control of multiple heterogeneous vehicles, 3D interface, KML/KMZ import, photogrammetry planning, and terrain-aware route generation. The professional survey and mapping tool.
Auterion Mission Control — Cloud-connected GCS from the company behind the Auterion Enterprise PX4 distribution. Designed for fleet management with over-the-air updates, flight logging, and maintenance tracking built in. Tight integration with Auterion Skynode hardware.
VOTIX DroneOS — Software platform for multi-drone fleet management with emphasis on automated operations and regulatory compliance.
UAV Nav VECTOR — GCS platform focused on fixed-wing and VTOL autopilot integration.
Military / Tactical
GA-ASI Advanced Cockpit — General Atomics' GCS for MQ-9 and similar large UAS. Included for reference — this represents the opposite end of the GCS spectrum from QGroundControl.
Veronte — Embention's autopilot and GCS system used in several European military drone programs. Integrated autopilot + GCS ecosystem.
Kutta KGS — GCS integration middleware that bridges drone C2 to military networks (TAK, ATAK, JBC-P). Not a standalone GCS but a critical integration layer for defense programs.
Hardware GCS Options
Software needs hardware to run on. For field operations, this means ruggedized devices or purpose-built controllers.
Purpose-Built Controllers
Inspired Flight GS-ONE — NDAA-compliant handheld GCS with 7-inch 2000-nit sunlight-readable touchscreen. Qualcomm QCS6490 processor running Android. Purpose-built for Blue UAS programs. Integrated radio module, physical control sticks, and pre-loaded GCS software. This is what "professional drone GCS hardware" looks like when designed from scratch rather than adapted from a tablet. Review needed: regulatory
CubePilot Herelink — Integrated controller with touchscreen, joysticks, and built-in 2.4 GHz radio. Runs Android with QGC pre-installed. Popular for commercial applications but not NDAA-compliant (Chinese manufacturing). Listed in c2_datalinks as well since it combines C2 radio and GCS in one unit. Review needed: regulatory
MotioNew M10 — Portable all-in-one handheld GCS integrating computer, radio, joysticks, and datalink in a single device. 10.1-inch display. Designed for field operations where carrying separate tablet + radio + controller is impractical.
Rugged Tablets
Winmate Rugged Tablet — MIL-STD-810G rugged tablet running Windows or Android. Not drone-specific but commonly used as GCS hardware in defense programs. Run QGC or Mission Planner on it and pair with an external radio.
Companion Computer as GCS
ARK Electronics "Just a Jetson" — NDAA-compliant Jetson Orin carrier board that can function as both an onboard companion computer and a ground-side GCS depending on configuration. Running ROS 2 on the ground side enables custom GCS interfaces with direct access to the autonomy stack. Review needed: regulatory
Build Your Own (Hardware Deep-Dive)
For teams designing a handheld GCS from scratch — comparable to Herelink, DJI RC Pro, Freefly Pilot Pro, or Inspired Flight GS-ONE — see the dedicated build-oriented page:
→ Handheld GCS Hardware Deep-Dive — SoC selection, sunlight-readable display options, radio link tiers (ELRS/OpenHD through Silvus), Hall-effect gimbals, GNSS-on-controller, cellular/satcom failover, power architecture, thermals, enclosure, OS stack, regulatory checklist, and full BOMs for minimum / mid / maximum tiers (~$470 / ~$2,000 / ~$10–12k). Review needed: performance / commercial
Selection Criteria
Factor
Hobby / Research
Commercial BVLOS
Defense / Blue UAS
Evidence
Software
QGC or Mission Planner
QGC, UgCS, or Auterion MC
Mission-specific, often custom
—
Hardware
Laptop or tablet
Rugged tablet + external radio
GS-ONE or equivalent NDAA hardware
Review needed: regulatory
NDAA required
No
Sometimes
Always
Review needed: regulatory
Multi-vehicle
Rarely
Growing need
Mandatory for swarm ops
—
TAK integration
No
Rarely
Frequently
—
Video display
Optional
Required
Required with encryption
—
Integration with TAK/ATAK
For defense applications, the GCS increasingly needs to feed drone telemetry into the Tactical Assault Kit (TAK) ecosystem. This means the GCS must output Cursor on Target (CoT) messages over a network connection. See the TAK Integration chapter for the CoT message format and integration patterns.
QGroundControl does not natively output CoT, but middleware solutions (Kutta KGS, custom scripts using PyTAK) can bridge MAVLink telemetry to CoT. Some Blue UAS manufacturers include TAK integration in their GCS software.
Field Considerations
Sunlight readability — Standard laptop screens are unreadable in direct sunlight. Budget for a 1000+ nit display or purpose-built hardware like the GS-ONE (2000 nit).
Gloved operation — Touchscreens with glove support or physical controls become essential in cold weather and tactical operations.
Power — A laptop running QGC, a video receiver, and a telemetry radio can draw 60–80W. Plan battery capacity for the ground station, not just the drone.
Antenna placement — Ground station antennas should be elevated (tripod) and aimed at the operating area. A directional patch antenna for telemetry dramatically improves range over the stock omnidirectional antenna on most radios.
Forge cross-reference: complements 13 entries in ground_control_stations category
Related handbook chapters: Ground Control Stations, C2 Datalinks, Companion Computers, Antennas, Cellular LTE BVLOS, Power Architecture & EMI, OpenHD Implementation Guide, NDAA Compliance
Handbook Roadmap: Aligns with planned Chapter 22 (Ground Control Stations) — “Build Your Own” appendix Review needed: regulatory / performance
Scope
ground-control-stations.md covers the landscape of GCS software and hardware. This page covers the build: if you wanted to design and ship your own integrated hand controller comparable to CubePilot Herelink, Freefly Pilot Pro, DJI RC Pro / RC Plus, Skydio Enterprise Controller, or Inspired Flight GS-ONE, what does the BOM and architecture look like at the minimum, mid, and maximum tiers?
The target form factor is a single device the operator holds in both hands containing:
The MCU is doing the realtime work (sampling sticks at ≥500 Hz, debouncing, building MAVLink RC_CHANNELS_OVERRIDE / SBUS / CRSF frames), the AP/SoC is doing the UI + video + map + mission planning, and the radio modem is its own subsystem. Keeping these three responsibilities separate is the single most important architectural decision.
Compute SoC — the brain
The SoC has to simultaneously: decode an H.264/H.265 1080p (ideally 4K) video stream, render a moving map with tiles and overlays, run the GCS app, talk to the radio modem, and not melt the enclosure.
What matters
Hardware video decode — software decoding of 1080p60 H.265 burns 3–6 W of CPU. Pick a SoC with a dedicated VPU.
Sustained, not peak, performance — sealed enclosures throttle hard. RK3588 advertises 8 cores at 2.4 GHz but sustains ≈ 1.6–1.8 GHz on all cores in a passive controller-style case.
Display pipeline — MIPI-DSI (1–4 lanes) is the right interface for an integrated panel. eDP works for larger displays. Avoid HDMI-internal designs — more components, more EMI, higher power.
GPIO / serial wealth — you will burn UARTs, I2C, SPI, USB endpoints fast. Budget early.
NPU — ≥6 TOPS lets you do onboard CV (operator-side target tracking, video stabilization, OSD object detection) without a separate accelerator.
NDAA — Rockchip, Allwinner, and HiSilicon are Chinese-origin. If you target US DoD / Blue UAS, you must use NXP, TI, Qualcomm (US), or NVIDIA.
SoC options ranked
Class
SoC
Cores
NPU
Video
Sustained TDP in handheld
NDAA
Module/SBC examples
~Unit price
Entry
Raspberry Pi CM4 (BCM2711)
4× A72 @ 1.5 GHz
none
1080p60 H.264 dec
3–4 W
no
CM4 8GB module + carrier
$55–80
Entry
Radxa CM3 (RK3566)
4× A55 @ 1.8 GHz
0.8 TOPS
4K H.265 dec
3–4 W
no
Radxa CM3 + carrier
$40–70
Entry
Allwinner H6 / H618
4× A53
none
4K H.265 dec
2–3 W
no
OrangePi Zero3, Herelink class
$20–40
Mid
Rockchip RK3588 / RK3588S
4× A76 + 4× A55 @ 2.4 GHz
6 TOPS
8K H.265 dec, 4K H.264 enc
5–7 W
no
Radxa Rock 5C, Orange Pi 5+, Khadas Edge 2, Banana Pi BPI-W3
$80–200
Mid
NXP i.MX 8M Plus
4× A53 @ 1.8 GHz + M7
2.3 TOPS
1080p60 H.265 dec
3–5 W
yes (US)
Variscite DART-MX8M+, Toradex Verdin
$90–180
Mid
TI AM62Ax
4× A53 @ 1.4 GHz + R5F + C7x DSP
2 TOPS
1080p60 H.265 dec
2–4 W
yes
TI SK-AM62A
$70–150
High
Qualcomm QCS6490 / QRB5165
8× Kryo, Adreno 643/650
12–15 TOPS
4K60 H.265 dec/enc
5–8 W
yes
Lantronix Open-Q 6490, Thundercomm TurboX
$250–500 (incl. integration support)
High
NVIDIA Jetson Orin Nano 8GB
6× A78AE
Ampere GPU, 40 TOPS (sparse)
4K60 H.265 dec
7–10 W
yes
Seeed reComputer J3010, Orin Nano dev kit
$250–500
Max
NVIDIA Jetson Orin NX 16GB
8× A78AE
Ampere, 100 TOPS (sparse)
4K60 H.265 dec / 4K30 enc
10–15 W (handheld limit)
yes
ConnectTech, Auvidea, Forecr carriers
$700–1,100
Max
Qualcomm QCS8550 (SD 8 Gen 2 class)
8-core Kryo, Adreno 740
~45 TOPS
8K60 dec
7–10 W
yes
Thundercomm Rubik Pi 3
$400–700
What I'd actually pick
Min: Radxa CM3 (RK3566) — cheaper than the Pi CM4, has an NPU, hardware decode, and broad community Yocto/Buildroot support. Use Pi CM4 only if you need Pi software ecosystem.
Mid: RK3588S on a Radxa Rock 5C or Orange Pi 5+. If you need NDAA, NXP i.MX 8M Plus on a Variscite SoM. Review needed: regulatory
Max: Jetson Orin NX 16GB if you want onboard CV / target tracking / video stabilization. Qualcomm QCS6490 if you want Android-first development and a 5G modem natively integrated.
Display — 50% of perceived product quality
Sunlight readability matters more than resolution. A 1080p display at 400 nits is unusable outdoors; an 800×480 display at 1500 nits is fine. Operators rate “good” controllers on screen, sticks, and battery — in that order.
Specs that actually matter
Luminance: ≥ 1000 nits for prosumer, ≥ 1500 nits for commercial, ≥ 2000 nits for tactical/sun-glare. DJI RC Pro is 1000; RC Plus is 1200; GS-ONE is 2000.
Optical bonding (OCA): eliminates the parallax / reflection gap between cover glass and panel. Adds $50–150 to BOM, doubles outdoor readability. Non-negotiable above the entry tier.
Anti-reflective + anti-glare coatings: AR reduces specular reflection ~70 %; AG diffuses haze. Both, ideally.
Transflective vs transmissive: transflective panels (Pixel Qi-style, now Topaz / Ortustech) use ambient light and stay readable in direct sun with the backlight off. Expensive, narrower color gamut, but unrivaled in bright conditions.
Touch: projected capacitive (PCAP), ≥ 5-point. Must work with thin gloves — specify a controller IC tuned for high-Z input (FocalTech FT5x or Goodix GT9xx series).
Cover glass: chemically strengthened (Gorilla Glass 3+ or Asahi Dragontrail) bonded to the panel.
Viewing angle: IPS at minimum (178°), avoid TN.
Panel options by tier
Tier
Size / Res
Brightness
Bonding
Vendor / part examples
Touch
~Cost
Min
5″ 800×480 IPS
500 nit
none
Waveshare 5DP-CAPLCD, generic
resistive or PCAP
$40–70
Min
5″ 1280×720
700 nit
optional
Hannstar HSD050IDW1
PCAP
$60–110
Mid
7″ 1280×800
1000 nit
yes
BOE / Innolux N070ICE-GB1 (bonded variant)
PCAP, glove-capable
$130–220
Mid
7″ 1920×1200
1000 nit
yes
Innolux N070JCD-G02, Sharp LQ070Y3DG3B
PCAP
$180–300
High
7″ 1920×1200
1500 nit
yes, AR + AG
Tianma TM070JVHG33 “sunlight readable”
PCAP, glove
$250–400
Max
7″ 1920×1200 transflective
2000+ nit equivalent
yes, AR/AG, chemically strengthened cover
Ortustech COM70H8M65ULC, Litemax SLO0708-Y
PCAP, glove + rain
$500–900
Max
10.1″ 1920×1200
1500–2000 nit
yes
Sharp LQ101R1SX03, Tianma TM101JDHP60
PCAP
$400–700
Radio link — 50% of product capability
The radio is the largest single variable in cost, range, and certification effort. You can build everything else around any of these; you cannot easily swap radios after enclosure design freeze. Review needed: performance / commercial
Open / hobby tier (≤5 km LOS, control + 1080p video)
ExpressLRS (ELRS) 2.4 GHz or 900 MHz — open-source LoRa-based RC control link, ≤1 ms RTT, 25–500 Hz packet rates, ~25–40 km LOS in clear RF. Control + telemetry only, no video. Tx modules: HappyModel ES24TX Pro, BetaFPV Micro 2.4 GHz, RadioMaster Ranger.
OpenHD / WFB-NG (Wireless Broadcasting for Drones) — software-defined digital video link over 5.8 GHz WiFi cards (RTL8812AU/AU2, MediaTek MT7921) in monitor mode. 1080p30 at 25–60 ms latency, 5–20 km LOS depending on antennas. Open source, runs on Pi / RK3588. Pair with ELRS for control.
Walksnail Avatar HD / DJI O3 Air Unit — closed-source FPV digital video links you could host inside a custom controller, but you are locked to their goggles/decoders unless you tap the analog out. Not recommended for a custom GCS.
Prosumer / commercial tier (10–30 km LOS, encrypted)
CubePilot Herelink Air + Ground modules — dropping in the Herelink Ground unit as an internal sub-module is the fastest path to a working HD video + telemetry + control link. ~$500 BOM for both ends, 20 km LOS, 1080p60 ~110 ms latency. Not NDAA-compliant.Review needed: regulatory / performance / commercial
Doodle Labs Helix-N (RM-2450 / RM-915 / RM-2455) — OFDM mesh radios, AES-256, 1–2 W TX, 5–30 km LOS, IP-based (Ethernet). $1.2–2 k per node. NDAA-compliant variants available. The default for prosumer/commercial builds. Review needed: regulatory / commercial
Microhard pMDDL2450 / pDDL900 — robust point-to-point, 2 W, encrypted, broad regulatory certification. $1.5–2.5 k per node.
Tactical / max tier (50–100 km, MIMO mesh, mil-grade)
Silvus StreamCaster SC4240 / SL4200 “Lite” — MN-MIMO 2×2 or 4×4, AES-256, mesh, 50–100 km with high-gain antennas. $3–6 k per node. Industry standard for tactical UAS.
Persistent Systems Wave Relay MPU5 / Embedded Module — MANET mesh, AES-256, integrates with ATAK, ~$5–10 k.
Iridium Certus 100 / 700 (Cobham EXPLORER 323, Thales VesseLINK-style modems shrunken). 22–704 kbps. Useful as a telemetry-only failover. $1.5–3 k module + ~$150/mo airtime.
Starlink Mini as a ground-side backhaul if you can carry it separately (not inside the controller).
Antennas
See components/antennas.md for the full primer. For the controller specifically:
MIMO 2×2 minimum in the prosumer tier and above — spatial diversity halves fade margin requirements.
Detachable RP-SMA / SMA pigtails so operators can swap to high-gain directional (patch, Yagi, helical) for long-range work.
Integrated patch on the back of the controller angled at the typical operator stance (≈30° up) gives ~6–9 dBi forward gain without extra setup.
GNSS antenna (active, 3.3 V LNA, 28 dB gain) on the top edge with clear sky view.
Cellular antenna physically separated from the main link antennas to avoid desensitization; a top-edge or side-edge flex antenna works.
WiFi/BT can share an internal antenna with diversity; keep at least 50 mm from cellular.
Input controls
The difference between a $200 and a $2,000 controller is felt in the sticks before anything else.
Gimbals
Min: RadioMaster AG01 Hall-effect gimbals (~$30 ea). Better than the FrSky M7 / Taranis stock by a lot.
Mid: FrSky M9 Hall, RadioMaster AG01-V2, or T-Lite Hall gimbals (~$60–80 ea). Smoother, replaceable springs, adjustable tension.
Max: RadioMaster AG01-Pro magnetic / FrSky M10, or fully custom CNC aluminum Hall gimbals with adjustable centering, dampers, and removable spring kits (cinematic operators self-center; aerial gunners self-center; survey operators ratchet on throttle). Add gimbal triggers (analog pots or Halls).
Switches, wheels, buttons
Budget at minimum: 6 toggle switches (2-pos and 3-pos mix), 2 momentary buttons, 2 analog scroll wheels (one per index finger), 2 analog triggers behind the gimbals, 4 programmable face buttons, a 5-way “key” navigator for menu use, and a dedicated emergency / RTH button under a flip cover.
Prefer Alps Alpine or C&K switches over generic; they survive 100k+ cycles and feel consistent across temperature.
Realtime MCU
A dedicated MCU (STM32G4, STM32H7, RP2040, or NXP LPC55) reads all inputs, applies expo/curves, and emits SBUS / CRSF / MAVLink RC_CHANNELS_OVERRIDE to the radio modem at ≥500 Hz. Doing this on the AP/SoC introduces jitter from the OS scheduler. Use the MCU — it also handles the watchdog, battery gauge, and fan PWM.
GNSS on the controller
Why put GNSS on the controller and not just the aircraft?
Moving-baseline RTK — if the aircraft uses RTK and the controller carries a base, you can get cm-level relative positioning with no external base station. Requires u-blox ZED-F9P on both ends.
Operator “my position” for TAK CoT, geofences, and “know where I am” during BVLOS handoffs.
Follow-me modes that require operator position.
Tier
Module
Bands
Accuracy
Notes
Min
u-blox NEO-M9N
L1 GPS/GLO/GAL/BDS
1.5 m CEP
Cheap and good enough
Mid
u-blox ZED-F9P
L1/L2 multi-constellation, RTK rover
1 cm
$180–220
Max
u-blox ZED-F9P + Tallysman TW7972 helical
L1/L2
1 cm + heading via dual-antenna
$300–500
See components/rtk-ppk-the-real-story.md for the integration realities.
IMU + magnetometer
A 6-axis IMU + 3-axis magnetometer on the controller enables:
AHRS overlay (“which way am I facing relative to the drone”) for orientation cues.
Tilt-to-pan / tilt-to-zoom gimbal control as a secondary input.
Step counting / motion logging for op-tempo metrics.
Recommended: Bosch BMI270 (low-power 6-axis) + Bosch BMM150 or PNI RM3100 (mag). The RM3100 is dramatically more stable in iron-rich environments but $20 vs $2. Review needed: performance / commercial
Power architecture
Reference budget (mid-tier handheld at full load):
Subsystem
Typical
Peak
SoC (RK3588S)
4 W
8 W
Display (7″ 1000 nit, backlight 80 %)
4 W
6 W
Radio modem (Helix-N TX 1 W avg)
5 W
9 W
Cellular modem
1.5 W
4 W
GNSS + IMU + MCU
0.5 W
0.8 W
USB charging downstream
0–2 W
7.5 W
Fan + housekeeping
0.5 W
1.5 W
Total continuous
~15.5 W
~36 W peak
Battery / PMIC
Min: 2× 18650 (Samsung 35E or LG MJ1, 3500 mAh @ 3.6 V) in 2S = ~25 Wh. ~1.5 h runtime. USB-C PD 30 W charging.
Mid: 4S1P or 2S2P Li-ion 21700 (Molicel P42A or Samsung 50S) = ~60 Wh. 4–5 h runtime. USB-C PD 65 W in/out, with hot-swap via dual cells gated by P-FETs.
Max:dual hot-swap removable packs (think Powerbank-style cartridges) each ~50 Wh, runtime 8–12 h with one always live. USB-C PD 100 W in/out (passes through to charge other devices or accept external solar/genset). Optional XT30/XT60 secondary for vehicle DC-in.
PMIC choices
TI BQ25700A / BQ25713 — SMBus-controlled buck-boost battery charger, supports USB-PD 3.0 / PPS up to 20 V 5 A, hot-swap-friendly.
TI BQ40Z50-R3 — SBS-compliant gas gauge with cell balancing, perfect for 2S–4S Li-ion.
TPS65988 / TPS25750 — USB-C PD controller with DisplayPort alt-mode.
Build for −5 V to 26 V DC input so operators can feed it from vehicle, solar, or a generic Li-ion power station.
Thermals
A sealed handheld with a 1000-nit display + a 1 W TX radio + an RK3588 will easily hit 70 °C internally on a sunny day. Plan for this.
Pyrolytic graphite sheet (PGS) or copper heat-spreader from SoC to enclosure backplate. PGS in-plane k ≈ 1500 W/m·K.
Vapor chamber for max tier (Jetson Orin NX dissipates 10–15 W).
One small blower (Sunon MagLev 30 mm or 40 mm) drawing through a labyrinth vent maintains IP54 while cooling. Add a hydrophobic Gore vent membrane.
Thermal throttle the SoC at 75 °C internal, fan ramps from 50 °C, log all of this to the GCS app.
Sun-load model: a black enclosure in direct sun absorbs ~600 W/m². A 200 cm² front surface = 12 W of solar gain on top of internal dissipation. Light gray / matte exteriors and IR-reflective coatings help.
Enclosure / mechanical / ergonomics
Min: 3D-printed PETG or ABS; M3 brass heat-set inserts. Good for prototypes, marginal for field use.
Mid: machined polycarbonate or glass-filled nylon; IP54 with gasketed seams; soft TPU overmold on the grip areas; tripod thread on the bottom; sun-hood mount points on the top edge.
Ergonomically: 15–20° of stick tilt toward the operator (mimic Herelink / TBS Tango 2), thumb sticks for cinematic operators, pinch-grip / index-finger sticks for racing. Provide both Mode 1 and Mode 2 gimbal mappings in firmware.
Weight target by tier: <700 g min, <1.4 kg mid, <2.2 kg max including battery. Beyond 2 kg, neck strap or chest harness is mandatory.
Connectivity (the “back panel”)
The ports operators actually use, in priority order:
USB-C (PD in + DisplayPort alt-mode out + data) — powers the controller, drives an external monitor, sideloads logs.
HDMI out (mid/max) — mirror display for spotter, recording, or briefing screen.
3.5 mm TRRS audio — voice comms, intercom, alert tones; tactical operators wire this to their headset.
Ethernet (RJ45 or M12) (max) — wired backhaul to a base station / starlink terminal.
USB-A (mid/max) — for keyboards, joysticks, OTG sticks.
GPIO bay (max) — user-accessible 8–16 pin connector for accessory radios, hand mics, slew-to-cue laser rangefinders, etc.
All external connectors should be sealed and located on a single edge under a hinged door, not scattered around the housing — IP rating dies at every seam.
OS / software stack
Layer
Min
Mid
Max
OS
Raspberry Pi OS or Armbian
Yocto-built Linux (Wayland + Weston) or AOSP Android 13
Ubuntu 22.04 / 24.04 LTS or AOSP, with PREEMPT_RT for the input MCU bridge
Window system
X11 / Wayland
Wayland
Wayland w/ HDR-capable compositor
Map renderer
QGC built-in
QGC + Mapbox GL offline tiles
Custom Cesium / MapLibre with terrain + 3D obstacles
GCS app
QGroundControl
QGC, Mission Planner, or Auterion AMC
Auterion AMC, ATAK plugin, or custom Flutter / Qt
Video pipeline
gst-launch → v4l2decoder → waylandsink
GStreamer with hardware decoder (v4l2h265dec on RK3588, nvv4l2decoder on Jetson)
Same + on-SoC tracker, picture-in-picture, OSD
Radio driver
ELRS USB serial + GStreamer RTP
Vendor SDK (Doodle DGL, Microhard “Pipe”)
Vendor SDK + redundant link mux
Update path
manual SD card swap
OTA via Mender or RAUC, A/B rootfs
Signed A/B OTA + remote attestation
See components/openhd-implementation-guide.md for OpenHD-specific build patterns.
Compliance & regulatory
FCC Part 15 (US, license-exempt) — fine for ELRS, WFB-NG on 5.8 GHz at <1 W EIRP, Herelink-class modems. Required testing: FCC ID for the radio module (vendor-provided if integrated), and an unintentional-radiator declaration for the host. Review needed: regulatory
FCC Part 90 / Part 96 — needed for high-power Microhard / Silvus / Persistent gear above Part 15 power limits. Operator license required. Review needed: regulatory / performance
CE / RED (EU) — EN 300 328 (2.4 GHz), EN 301 893 (5 GHz), EN 301 489 (EMC), EN 62368-1 (safety). Review needed: safety
ETSI — if you ship anywhere outside the US.
NDAA Section 889 — no Chinese-origin SoCs (Rockchip, Allwinner, HiSilicon, MediaTek WiFi), no DJI radio, no Hikvision/Dahua optics. See components/ndaa-compliance.md. Review needed: regulatory
Remote ID — controller doesn’t need to broadcast Remote ID itself, but should display the aircraft’s RID status. See components/remote-id-custom-builds.md.
Battery shipping (UN 38.3) — design batteries ≤ 100 Wh per pack to avoid IATA Section II restrictions; if larger, you ship hazmat-only.
Export control — anything with Silvus / Persistent radios or AES-256 above 56-bit triggers EAR / ITAR review. Plan for this if you sell internationally. Review needed: regulatory
Full BOM — Minimum tier (~$450–650)
Target: 1–5 km LOS, hobbyist/research, line-of-sight only, single drone.
Add development NRE: certification (~$25k FCC + CE), tooling (~$30–80k for cast/machined parts), and software (~$200–500k for a credible GCS UI + OTA + fleet backend) — these are not BOM but are typically larger than BOM at this tier. Review needed: regulatory / commercial
What people underestimate (expanded)
Display dominates outdoor UX. Below ~1000 nits is unusable; bonded + AR coatings matter more than resolution.
The radio is 50 % of the product. A great SoC won’t save a bad RF chain. The Herelink Air/Ground integration shortcut saves 6–12 months of work but locks you out of NDAA markets. Review needed: regulatory
Regulatory and EMI testing eat 3–6 months. Plan for shielding cans on the radio modem, ferrite beads on every cable that exits the enclosure, and at least two pre-compliance lab trips before formal cert. Review needed: regulatory
Thermals throttle the SoC. RK3588 and Jetson Orin throttle hard in a sealed enclosure under sun. Budget ≥5 W of active dissipation and instrument it.
Hall-effect gimbals are non-negotiable above the entry tier. Pot gimbals drift, feel awful after a month, and operators will rate the entire product on stick feel.
Battery hot-swap is the difference between “prosumer” and “commercial.” Operators who can’t change packs mid-mission lose 20–30 minutes per swap; this kills BVLOS day-rate economics. Review needed: regulatory
OTA + signed updates from day one. Retrofitting secure boot, A/B partitions, and rollback into shipping firmware is twice the work of building it in.
Software is the long pole. 6–12 months of GCS app polish (map tiles, mission planner, video pipeline, log review, OTA, fleet) typically out-runs the hardware bring-up.
Ergonomics decide repeat purchases. Weight distribution, stick angle, button reach, and screen tilt drive operator preference. Prototype with foam and tape before CNC.
Ecosystem lock-in is a feature. Herelink wins because pairing “just works” with a Cube Orange. Whatever you ship needs to be a one-button bind to your supported flight controllers, or operators won’t care that your hardware is better.
Recommended starting point
If you are building this today, the fastest credible path is:
Mid tier, RK3588S main board, 7″ 1000-nit optically-bonded display, Herelink Air + Ground as the radio sub-assembly (you sell the kit with a “non-DJI / non-NDAA” disclaimer), FrSky M9 gimbals, dual 21700 battery, Quectel EC25 for cellular failover, u-blox ZED-F9P so you can offer RTK at no marginal cost, AOSP Android 13 + QGroundControl as the launcher. Review needed: regulatory / commercial
From that working baseline, fork into:
NDAA SKU: swap to i.MX 8M Plus + Doodle Labs RM-2455 — unlocks Blue UAS adjacent customers. Review needed: regulatory
Tactical SKU: swap to Jetson Orin NX + Silvus SL4200 — unlocks 50 km MIMO mesh + onboard CV / target tracking.
The controller is a platform; design the carrier board and enclosure so the radio modem, SoC SoM, and battery are module-swappable at the cable level. Document the supported electrical, mechanical, thermal, and software interfaces before describing a replacement as interchangeable. A reusable enclosure can reduce redesign work for compatible modules; no measured sales increase is established here.
See also
components/ground-control-stations.md — the landscape of GCS software and existing hardware
components/c2-datalinks.md — control link options
components/comms-datalinks.md — full datalink primer
components/openhd-implementation-guide.md — building OpenHD/WFB-NG end-to-end
components/antennas.md — antenna selection and placement
components/cellular-lte-bvlos.md — cellular for BVLOS / failover
components/power-architecture-emi.md — power rails, EMI, and shielding
components/rtk-ppk-the-real-story.md — RTK on the controller side
components/ndaa-compliance.md — component restrictions for US gov customers
Curated links to trusted sources across the commercial UAS ecosystem, defense programs, and financial activity. Updated regularly from the Forge data pipeline.
Primary retailers and manufacturers that supply the FPV, enterprise, and defense drone ecosystem. These are the shops and OEMs we pull pricing, availability, and spec data from.
Forge cross-reference: 5 entries in integrated_stacks category Related handbook chapters: Flight Controllers, Companion Computers, AI Accelerators
The Integration Problem
Traditional drone avionics are modular: a flight controller handles stabilization, a companion computer handles autonomy, an AI accelerator handles inference, and they communicate over UART/MAVLink with separate power, mounting, and cooling. This modularity enables customization but adds weight, wiring complexity, failure points, and integration effort.
Integrated stacks collapse two or more of these functions onto a single board. The trade-off is clear: less flexibility, but dramatically simpler integration, lower weight, and fewer points of failure.
The Landscape
ModalAI VOXL 2
The VOXL 2 runs PX4 directly on the Qualcomm QRB5165's DSP — no separate flight controller MCU required. This is the most aggressive integration in the category: flight control, AI inference (15+ TOPS across Hexagon HTA, GPU, DSP, and NPU), and companion computing all on one chip. Blue UAS Framework listed. 8 GB LPDDR5, Wi-Fi 6, 4 MIPI-CSI camera inputs.
The VOXL 2 Mini shrinks this to a 42×42mm board (11g) with 30.5mm mounting holes, fitting inside 5-inch FPV frames. Same silicon, same capabilities.
Primary use case: autonomous navigation in GPS-denied environments using visual-inertial odometry. The ModalAI software stack provides VIO, obstacle avoidance, and SLAM out of the box.
Limitation: locked to the Qualcomm/PX4 ecosystem. Cannot run Betaflight or ArduPilot. The QRB5165 is a supply chain concern — see PIE predictions for successor timeline.
Auterion Skynode S
Combines an FMUv6x flight controller (STM32H7) with a dedicated NPU mission computer in a chip-down design on a 30.5mm board. Blue UAS Framework listed. Unlike VOXL 2, the flight controller runs standard PX4 on a separate MCU from the mission computer, maintaining the traditional separation of concerns at the silicon level while integrating at the board level.
Primary use case: commercial BVLOS platforms that need both certified flight control and onboard AI processing. Auterion's cloud-connected ecosystem provides fleet management, OTA updates, and flight logging. Review needed: regulatory
Orqa DTK APB
Combines an STM32H743 flight controller with an NXP i.MX8M Plus companion computer (2.25 TOPS NPU). Designed to collapse the FC + companion stack for FPV and tactical platforms. The NPU enables onboard AI inference without a separate accelerator module. 36g, 65 × 37.5 × 16.3 mm, 0–70°C. Firmware: ArduPilot / PX4 / iNav / Betaflight.
Primary use case: tactical FPV platforms where weight and wiring simplicity matter more than maximum AI compute. The 2.25 TOPS NPU handles basic detection and classification but is not sufficient for real-time SLAM or multi-camera processing.
ARK Electronics ARK FPV Flight Controller
NDAA-compliant FPV FC based on ARKV6X with STM32H743, industrial-grade IIM-42653 IMU, barometer, and magnetometer. 30.5mm mounting, 3–12S input with regulated 12V 2A output. While categorized as an integrated stack, this is closer to a high-quality standalone FC than a true FC+companion integration — the "integration" is the industrial-grade sensors and NDAA compliance, not a companion computer. Review needed: regulatory
Primary use case: NDAA-compliant FPV builds that need better sensors than typical hobby FCs provide. Review needed: regulatory
When to Use an Integrated Stack vs. Modular
Choose integrated when: weight is critical, the platform is standardized (not experimental), the software ecosystem matches your needs, and you do not need to swap individual components independently.
Choose modular when: you need to iterate on the AI/autonomy stack without replacing the FC, you want to use a specific accelerator (Hailo, Jetson) that is not available in an integrated package, or you need a flight controller firmware (Betaflight, iNav, ArduPilot) that the integrated stack does not support.
Supply Chain Considerations
Integrated stacks concentrate supply chain risk. If the SoC goes end-of-life or allocation-constrained, the entire avionics package is affected — you cannot swap just the companion computer. The QRB5165 (VOXL 2) and STM32H7 (Skynode, DTK APB, ARK FPV) both appear in PIE supply constraint predictions. Evaluate single-source risk before committing a production program to an integrated stack.
LiDAR (Light Detection and Ranging) payloads for UAS fall into two distinct categories: single-sensor rangefinders/scanners used for altitude hold, obstacle avoidance, and SLAM; and integrated mapping payloads that combine a multi-beam scanner with a high-grade INS, camera, and onboard compute into a single deployable unit. This page covers the mapping payload tier. For rangefinders (LightWare, Benewake, TFMini), see the Forge sensor database.
What Makes a Mapping Payload Different
A rangefinder measures distance to a surface. A mapping payload generates a georeferenced 3D point cloud of everything the aircraft flies over. The difference in system complexity is substantial:
Multi-beam rotating scanner (32–128 channels, 360° FOV) vs. a single-beam sensor
Tactical or navigation-grade INS with dual-antenna GNSS for precise position and attitude at every pulse
RGB camera for colorizing the point cloud with real photographic texture
Onboard datalogger and compute handling time-synchronization across all sensors
Post-processing (PPK/RTK) workflow to refine GNSS accuracy from ~1m to 2–5cm
The result is deliverables: georeferenced point clouds, digital surface models, orthomosaics, and volumetric calculations — outputs that justify the payload weight and cost.
The RESEPI Platform (Inertial Labs)
The most relevant mapping payload family for UAS integrators is Inertial Labs' RESEPI™ (Remote Sensing Payload Instrument). It is also one of the most commonly white-labeled platforms in the industry — if you see a third-party branded drone LiDAR payload with a Hesai, Ouster, or Teledyne Geospatial scanner and a NovAtel GNSS receiver inside, there is a reasonable chance the core architecture is RESEPI.
Inertial Labs explicitly built RESEPI for white-labeling: all software (calibration tools, boresighting, point cloud viewer, web interface) accepts partner branding, and the hardware enclosure is designed for custom labeling. This is worth knowing when evaluating "branded" payloads from resellers.
All current RESEPI variants are NDAA compliant.Review needed: regulatory / performance
Variant Comparison
Model
Scanner
Channels
Accuracy
AGL
Weight
Key differentiator
GEN-II OS1-ILX
Ouster OS1-64
64
3–5 cm
75 m
1.7 kg
64-channel density, 45° vertical FOV
GEN-II M2X-ILX
Hesai XT-32M2X
32
2–3 cm
150 m
1.7 kg
Best accuracy + highest AGL in GEN-II line
LITE XT-32
Hesai XT-32
32
2–3 cm
100 m
0.9–4.3 kg
Most widely deployed globally; fully modular
Ultra LITE
Hesai XT-32
32
2–3 cm
100 m
1.2 kg
Lowest SWaP; SnapFit mount; single-antenna INS
Teledyne EchoONE
Teledyne Geospatial
—
0.5 cm
205 m
1.65 kg
Sub-centimeter precision; highest AGL ceiling
GEN-II Platform (OS1-ILX and M2X-ILX)
The GEN-II represents a full platform rebuild over the original RESEPI LITE. Key upgrades:
175% more compute, 700% more memory vs LITE — enables real-time point cloud visualization in the field
Sensor expansion ports: accepts external IMU, wheel encoders, air data computers as additional navigation aiding sources
MAVLink and DJI PSDK integration — plug-and-play with DJI M300/M350, Freefly Astro, Sony Airpeak S1, WISPR Ranger Pro 1100
61 MP Sony ILX-LR1 global shutter camera on both variants
512 GB onboard SSD; 9–50V input; 25–29W draw
Supports Aerial, Mobile, and Handheld/Backpack operating modes
The two GEN-II variants differ primarily in scanner: the OS1-ILX uses Ouster's 64-channel sensor (higher point density, 45° vertical FOV, 75m AGL ceiling) while the M2X-ILX uses the Hesai XT-32M2X (32 channels, better linear accuracy at 2–3cm, 150m AGL ceiling). Pick OS1-ILX for dense urban/forestry canopy work; M2X-ILX for corridor surveys and open terrain at higher altitude.
RESEPI LITE XT-32
The workhorse. More RESEPI LITE units are deployed globally than any other variant. Built on a navigation-grade INS (not tactical) but delivers the same 2–3 cm system accuracy for typical survey missions.
Fully modular by design: the integrator can supply their own GNSS receiver, their own LiDAR scanner, or both — Inertial Labs provides the INS/compute/datalogger core and the calibration/boresighting/PPK software stack. Single-button operation or web UI. Backpack/handheld kit available for ground survey.
Weight range (0.9–4.3 kg) reflects different scanner and mount configurations.
RESEPI Ultra LITE
Built on the LITE architecture but trimmed for small UAS where 1.7 kg is too heavy. Single-antenna INS (vs dual on LITE and GEN-II) is the main tradeoff. SnapFit mount for rapid platform swaps. At 1.2 kg it fits platforms like the DJI M30 that can't carry a full LITE rig. Suitable for survey missions where slightly degraded heading accuracy (single vs dual antenna) is acceptable.
Teledyne EchoONE
The premium tier. Powered by the GEN-II core but paired with a Teledyne Geospatial scanner, delivering 0.5 cm data precision — the tightest in the RESEPI family by a factor of 4–6×. At 205 m AGL ceiling it also has the highest operational altitude. Trade-offs: 75 W power draw (vs 25–29 W for GEN-II), aerial-only operating mode (no backpack/MMS), no SLAM. The right choice for infrastructure inspection and high-precision corridor mapping where ground truth accuracy matters more than versatility.
Integration Notes
Power: GEN-II and LITE units run 9–50V, making them compatible with both 6S (25.2V) and 12S (50.4V) UAS power rails. The EchoONE's 75W draw at 12V is ~6.3A — factor this into your power budget carefully.
Flight time: Inertial Labs rates maximum flight time at 33 minutes on a DJI M300, consistent with typical 6S/12S survey drone endurance carrying a ~1.7 kg payload.
GNSS corrections: All variants support RTCM corrections via embedded cellular modem or WiFi. For PPK workflows without cellular coverage, raw GNSS data is logged for post-processing against a base station.
Drone compatibility: GEN-II explicitly supports DJI M300/M350 (DJI PSDK), Freefly Astro, Sony Airpeak S1, and WISPR Ranger Pro 1100 via SnapFit or direct mount. LITE variants are more generic — standard vibration-isolated mount, user-supplied brackets.
Software stack: All RESEPI variants ship with LiDAR calibration software, automated boresighting, and PPK post-processing powered by NovAtel's Waypoint Inertial Explorer (Hexagon). GEN-II and EchoONE add real-time point cloud visualization.
White-Label Note
If you are evaluating a third-party branded drone LiDAR payload that lists a Hesai, Ouster, or Teledyne Geospatial scanner paired with a NovAtel dual-antenna GNSS and an Inertial Labs INS, you are almost certainly looking at a RESEPI variant. Ask the vendor directly. This is not a criticism — the white-label model lets integrators focus on applications and customer relationships rather than developing payload hardware — but it is worth knowing for supply chain and support reasons. Source specs and firmware updates will ultimately trace back to Inertial Labs regardless of the label.
A single-point rangefinder and a scanning mapping LiDAR have different coverage and data contracts. A distance measurement is not automatically vertical terrain height: orientation, field of view, target reflectivity, ambient light and estimator use matter.
Exact variant reference
Model
Manufacturer-reported mass
Scope
Benewake TFmini-S
5 ± 0.3 g
Exact module; installation/cables/mounts add mass
Benewake TFmini Plus
12 ± 1 g
Different variant, not interchangeable by family name
The former “TFmini 180 g” entry is withdrawn. Benewake advertises TFmini-S up to 12 m under its specified conditions; maximum range is not a universal obstacle-detection or terrain-following guarantee. Benewake TFmini-S source, checked 2026-10-07; use its exact variant manual for interfaces and operating conditions. Review needed: performance
manufacturer-reported · evidence
Benewake lists TFmini-S mass as 5 ± 0.3 g and TFmini Plus as 12 ± 1 g. Exact variant specifications only.
Exact cited specification or dimensional example only; no hardware acceptance.
Use the exact sensor/transport driver in the target autopilot release. UART, I²C and CAN variants require different interfaces; a sensor family name is not a driver value. The previous unversioned RNGFND1_TYPE example and centimeter-unit limits are withdrawn. ArduPilot releases can change parameter names/units; look up the installed release and read back after configuration.
Observe missing, saturated, implausible and stale samples in software before hardware integration. A terrain database, range measurement and flight-mode terrain-following implementation are separate functions. Record the downward/body frame, sensor position and tested surface/lighting conditions.
Procurement
Screen exact item/configuration and applicable authority using the federal procurement guide. Country of origin alone is not a certification or compliance determination.
MafiaLRS is a Ukrainian fork of ExpressLRS adapted for contested RF
environments. It operates outside standard ELRS frequency bands to
evade electronic warfare coverage. Actively maintained and battle-tested in Ukraine.
What MafiaLRS Is
MafiaLRS is a fork of ELRS maintained by the Ukrainian developer community (BUSHA/targets@mafia-targets).
Status: Actively maintained as of March 2026
Targets: 376 RX targets, 122 TX targets
Key Differences from Stock ELRS
Parameter
Stock ELRS
MafiaLRS
900MHz band
868/915MHz
433-735MHz modified
490-560MHz
Not supported
Supported
Frequency hopping
Standard ELRS pattern
Modified for EW evasion
Compatibility
Standard ELRS
Requires MafiaLRS on both ends
The core modification is frequency hopping outside the bands that standard EW jamming systems cover.
Operational Context
Developed in response to active RF jamming of standard drone control frequencies in Ukraine. Standard ELRS, Crossfire, and DJI links are vulnerable to broadband jamming. MafiaLRS operates in the gaps.
Identifying Your Target
The Forge MafiaLRS tool is a target
selector, not a compiler. It does not produce a firmware binary — a static
site cannot run the build toolchain. What it does:
Browse 376 RX / 122 TX target definitions
Filter by manufacturer
Copy the target ID for the hardware you have
That target ID is the input to the build below. If you came here expecting the
tool to hand you a .bin, it never did: it tells you which target to build,
not the firmware itself.
Building the Firmware
MafiaLRS is an ExpressLRS fork distributed as a targets overlay
(BUSHA/targets@mafia-targets). It builds exactly like stock ELRS — the fork
changes the target definitions, the regulatory/frequency-domain tables, and the
FHSS hopping sequence, not the build process. Two routes:
Route 1 — ExpressLRS Configurator (GUI)
Install the ExpressLRS Configurator.
Point it at the fork source / mafia-targets branch instead of the official
release channel.
Select the target matching the ID you copied from Forge.
Set build options: binding phrase, regulatory/frequency domain, telemetry
ratio.
Build. The Configurator drives PlatformIO underneath and emits the binary.
Route 2 — PlatformIO / CLI (reproducible / CI)
Clone the ELRS source plus the mafia-targets overlay.
Set build flags in user_defines.txt (binding phrase, domain, features).
pio run -e <environment> for the environment matching your target
(for example, an ESP32 2.4 GHz RX environment).
The output .bin lands in .pio/build/<environment>/.
Flashing
Method
Use for
Notes
WiFi OTA
RX/TX already running ELRS
Join the module's AP, upload via the web UI
Betaflight passthrough
RX wired to a flight controller
Flash through the FC's UART
UART / FTDI
Bare or bricked chip
Manual boot-mode wiring
Failure Modes
Both ends must match. A MafiaLRS RX will not bind to a stock-ELRS TX, or
vice versa — the FHSS sequence and domain tables differ. A mismatch looks
like a dead link with no telemetry, not an obvious error message.
Wrong target = no boot or no RF. Flashing a definition that does not match
your radio chip (for example SX1280 vs SX1276) leaves the link dead until you
reflash the correct target over UART.
Binding phrase mismatch fails silently. The phrase is hashed locally and
never transmitted, so a typo on one end simply never binds — there is no
on-air error to observe.
Legal Notes
MafiaLRS operates on frequencies not licensed for unlicensed use in many jurisdictions. For US operators: not appropriate for routine commercial or recreational use. Defense and public safety contexts only.
Forge cross-reference: 29 entries in mesh_radios category Related handbook chapters: C2 Datalinks, Companion Computers, Electronic Warfare
Beyond Point-to-Point
Standard FPV and RC links are point-to-point: one transmitter, one receiver, fixed roles. Mesh radio networks are fundamentally different — every node is both a router and an endpoint. A mesh network of 6 drones plus 3 ground nodes creates 9 potential relay paths for every packet. If one path fails, traffic reroutes automatically. No single point of failure.
This architecture unlocks three capabilities that point-to-point links cannot provide: multi-vehicle coordination without a central ground station, range extension through relay nodes, and resilience to node loss (a drone going down doesn't break the network for everyone else).
The tradeoff: complexity, weight, cost. A serious mesh radio node costs $2,000–$15,000 vs $200 for a quality point-to-point link. This is defense and enterprise territory.
Technology Approaches
Kinetic Mesh (Rajant BreadCrumb)
Rajant Corporation (Malvern PA, USA — procurement status unverified) invented the "Kinetic Mesh" concept — a fully mobile, peer-to-peer radio network where nodes move at speed without handoff latency. Every BreadCrumb node simultaneously operates multiple radios on different frequencies, creating redundant simultaneous paths.
Key differentiator: InstaMesh protocol makes topology decisions in microseconds. Traditional WiFi mesh has handoff latency of hundreds of milliseconds — unacceptable for moving vehicles. Rajant's InstaMesh is effectively zero-latency for the application layer. Review needed: performance / configuration
Drone applications: Multi-drone swarm coordination, mining/industrial autonomous vehicle fleets, military multi-platform operations. Extensively deployed in DoD programs.
Specs (LX5): 5 radio interfaces, 900MHz + 2.4GHz + 4.9GHz + 5.8GHz options. 1W max per radio. ~120g. Ethernet + serial interfaces. IP67. Exact variant specifications and procurement status require current primary evidence.
Silvus StreamCaster
Silvus Technologies (Los Angeles CA, USA — procurement status unverified) produces the MANET (Mobile Ad-hoc Network) radios used extensively in DoD programs. StreamCaster uses MIMO (Multiple Input Multiple Output) OFDM to maximize throughput and range in multipath environments.
Technical differentiator: 4×4 MIMO provides spatial multiplexing — effectively 4 parallel data streams on the same frequency. This dramatically increases throughput in the 5–30km range band compared to single-antenna designs.
Key products:
- StreamCaster 4200 — Compact, 210g, 20MHz–6GHz configurable, 10km range. The standard drone-mounted node.
- StreamCaster 4400S — Higher power (5W), 25km range, ground vehicle and fixed installation.
Encryption: AES-256. FIPS 140-2 validated. Type 1 encryption option (NSA Suite B) for classified programs.
ATAK integration: Silvus radios are the standard radio layer under ATAK (Android Team Awareness Kit) deployments. Native CoT/SA broadcast.
Doodle Labs Mesh Rider
Doodle Labs (USA/Singapore — verify per contract) produces compact mesh radios specifically designed for drone integration. Their Smart Radio architecture combines a LoRa command channel with a high-throughput mesh data channel, separating control from payload.
Drone-specific design: The Mesh Rider 2450 and 900m variants weigh 60–80g and fit into Group 1-2 UAS. Native MAVLink routing — the radio appears as a virtual serial link to the flight controller, passing MAVLink packets transparently.
Why it matters: Most mesh radios require a companion computer for protocol translation. Mesh Rider handles MAVLink natively, which simplifies integration dramatically for small drones.
Elsight HALO
Elsight (Petah Tikva, Israel — procurement status unverified) produces the HALO multi-link connectivity platform. HALO differs from pure mesh radios — it's a multi-WAN bonding device that aggregates cellular (4G/5G), satellite, and RF links simultaneously.
Use case: BVLOS operations where no single link is reliable. HALO bonds 4G + satellite + RF into a single virtual connection, automatically routing traffic over the best-available path. Latency and bandwidth are load-balanced across all active links. Review needed: regulatory / performance
Weight: 115g (HALO Pro). Integrates via Ethernet with companion computer.
Horizon31 MobileMesh
Horizon31 (USA — procurement status unverified) produces compact mesh radios for small UAS. The RM-1900 operates at 900MHz for superior range and obstacle penetration. Designed for Group 1-2 drones as a relay node for extending LTE/cellular connectivity.
A growing category of mesh software that runs on commodity hardware (Raspberry Pi, Intel NUC, Nvidia Jetson) with off-the-shelf SDR radios. Meshmerize (Germany — origin only; procurement unverified) provides a software stack that turns Linux hardware into a MANET node.
Advantage: Flexibility, upgradability, cost. Disadvantage: Integration complexity, no hardened RF front end, regulatory compliance varies.
Procurement evidence
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
Integration Patterns
Topology Design
For a 6-drone swarm with 2 ground operators:
- Each drone carries one mesh node (e.g., Silvus 4200 or Doodle Labs Mesh Rider)
- Each GCS carries one mesh node
- All nodes auto-discover and form mesh
- Each GCS can reach all drones regardless of which drones are in line-of-sight
Relay altitude: Mesh performance improves significantly with altitude. A drone hovering at 50m AGL extends ground-level mesh range by 3–5× compared to all-ground nodes.
MAVLink Over Mesh
Doodle Labs native MAVLink mode:
1. Connect Mesh Rider UART to FC UART
2. Set serial protocol to MAVLink
3. Ground node Ethernet connects to GCS
4. MAVLink appears as standard serial connection on both ends
For non-native mesh radios (Rajant, Silvus):
- Requires companion computer
- Companion runs MAVLink router (e.g., mavlink-router) to bridge FC serial to IP
- Ground GCS connects to mesh IP address
Bandwidth Planning
MAVLink telemetry: ~10 kbps per drone
Video (H.264 compressed): 1–8 Mbps per drone
6 drones + video: ~50 Mbps required
Silvus 4200 in 4×4 MIMO: up to 100 Mbps aggregate across the network. Adequate for 6 drones with compressed video.
For uncompressed video or high-resolution payload data, plan for dedicated high-bandwidth RF links separate from the mesh control network.
Verified: July 31, 2026 Scope: Public-source historical and defensive software-assurance overview. Excluded: Access instructions, flashing procedures, restricted-frequency configuration, identification defeat, targeting, evasion, offensive mission procedures, or support to a military end user.
Open UAS software was designed for racing, research, mapping, inspection, and general flight control. Armed conflict has also driven rapid modification of those same software families. Public reporting describes a recurring pattern: operators fork an existing codebase, add mission-specific behavior, distribute binaries or build instructions through informal channels, and iterate faster than a conventional acquisition program.
That history matters to lawful integrators because it exposes both the adaptability and the risk of open firmware. This article focuses on what can be learned about software governance, provenance, resilience, testing, and supply-chain control. It does not identify where to obtain conflict-specific packages or how to reproduce their operational capabilities.
What “conflict-driven firmware” means
The term covers several different activities that are often incorrectly treated as one thing:
Activity
Description
Public-handbook treatment
Evidence
Upstream configuration
Ordinary settings supported by an established project
Use official documentation and supported releases
—
Public fork
Source-code branch made openly available under its applicable license
Review provenance, license, security, and maintenance status
—
Closed or access-controlled fork
Modified code or binaries distributed to a limited community
Treat as unverified software unless independently audited and authorized
—
Vendor customization
Manufacturer-specific firmware or patches
Require release notes, support terms, version control, and configuration evidence
—
Mission-specific integration
Software tied to a particular operational end use
Review safety, export controls, end users, and authorization before support or release
Review needed: safety
Circumvention or defeat modification
Code intended to bypass identification, regulatory, security, or safety controls
Outside this public guide's implementation scope
Review needed: safety
A fork is not inherently secure, unsafe, lawful, unlawful, controlled, or unrestricted. The answer depends on the code, provenance, license, functionality, end user, end use, destination, and support being provided.
Recurring adaptation patterns
Public reporting across multiple conflicts shows several broad categories of software change. These categories are described at a non-operational level.
1. Faster release cycles
Small teams can modify and distribute flight software faster than a traditional platform vendor can qualify a full aircraft release. This can improve responsiveness, but it also creates:
inconsistent version naming;
undocumented local patches;
binaries that cannot be reproduced from available source;
little or no regression testing;
fragmented support channels;
unknown rollback behavior;
difficulty determining which aircraft runs which build.
The defensive lesson is not “move fast without controls.” It is to shorten the release cycle while preserving traceability.
2. Operator-interface changes
Conflict-driven modifications often emphasize what the operator can observe and control in real time. At a high level, public reports describe additions such as:
clearer link and navigation status;
more visible fault indications;
mission-specific warnings;
additional logging;
simplified configuration for repeated builds;
stronger distinction between degraded and failed subsystems.
For lawful commercial and public-safety systems, the useful design principle is observable degradation: an operator should understand which capability is unreliable and what approved contingency remains available.
3. Resilience and failover
Modified systems frequently prioritize continued operation through partial failures. General design themes include:
redundant sensors or communications paths;
controlled transitions between primary and backup modes;
explicit degraded-mode behavior;
local autonomy when a remote service becomes unavailable;
preplanned recovery rather than improvised response.
Those concepts are legitimate safety-engineering topics. Specific methods for defeating countermeasures, avoiding detection, or continuing an offensive mission are not included here.
4. Navigation independence
Conflict environments highlight the limits of relying on one external positioning source. Public, defensive lessons include:
validating inertial and visual estimates against independent data;
defining the operating envelope for GPS-denied modes;
showing position confidence to the operator;
preventing an untrusted estimate from silently commanding the aircraft;
testing transitions into and out of degraded navigation.
The presence of a GPS-denied algorithm does not prove safe autonomy. It requires a documented operational design domain, fallback behavior, sensor assumptions, and test evidence.
5. Manufacturing and fleet configuration
Rapid production magnifies small software-control failures. When many nominally identical aircraft are assembled from changing parts, the firmware process must answer:
Which binary is installed?
Which source revision produced it?
Which board target and hardware revision were used?
Which configuration was applied?
Which dependencies and licenses are present?
What changed from the last accepted build?
Can the build be reproduced and rolled back?
This is configuration management, not merely flashing firmware.
6. Supply-chain substitution
Scarcity can force changes in sensors, radios, processors, or boards. A substitution may require new drivers, timing, filtering, resource allocation, or safety limits. Treat every substitution as a configuration change with test consequences, even when the replacement appears pin-compatible. Review needed: safety
The software-assurance problem
An unofficial firmware package can create several independent risks.
Provenance risk
You may not know:
who wrote the changes;
whether the source corresponds to the binary;
whether the package was altered after release;
whether all included code may be redistributed;
whether the maintainer controls the distribution channel.
Security risk
Modified firmware may introduce:
hidden network behavior;
credential or key handling weaknesses;
unsafe update paths;
disabled security controls;
vulnerable dependencies;
malicious or undocumented functionality.
Safety risk
A change can affect arming, failsafe, navigation, actuator output, power management, or operator alerts. A successful bench boot is not evidence of safe flight behavior. Review needed: safety / performance
Maintenance risk
A fork can become stranded when upstream projects change hardware support, protocols, compilers, or dependency versions. A system that cannot be rebuilt or patched is an operational liability.
Legal and contractual risk
Open-source licenses, export rules, sanctions, customer restrictions, aviation requirements, and procurement clauses remain relevant. “Available online” is not the same as “approved for this transaction or end user.”
Defensive acceptance framework
Before a lawful organization accepts modified UAS firmware, create an evidence package.
Identity and provenance
[ ] Project, repository, maintainer, and release identified
[ ] Exact source commit recorded
[ ] Binary hash recorded
[ ] Build toolchain and dependency versions recorded
[ ] Source-to-binary reproducibility assessed
[ ] Distribution channel and signing method documented
[ ] License obligations reviewed
Function and authority
[ ] Intended functions documented
[ ] Disabled or bypassed controls identified
[ ] Human authority and override boundaries documented
[ ] Failsafe and degraded-mode behavior documented
[ ] Network, telemetry, storage, and update behavior documented
[ ] Unsupported or prohibited functions excluded
Testing
[ ] Static and dependency analysis completed
[ ] Hardware-in-the-loop testing completed
[ ] Sensor-loss and communications-loss cases tested
[ ] Power interruption and restart behavior tested
[ ] Configuration migration tested
[ ] Rollback tested
[ ] Flight envelope and environmental assumptions recorded
Fleet control
[ ] Approved version list maintained
[ ] Aircraft-to-version inventory maintained
[ ] Configuration changes require review
[ ] Signing or integrity verification enforced where supported
[ ] Update authority restricted
[ ] Vulnerability and end-of-support process assigned
Legal and customer review
[ ] End user and end use identified
[ ] Destination and transfer method identified
[ ] Export-control screen completed when applicable
[ ] Sanctions and restricted-party screen completed
[ ] Customer and contract restrictions reviewed
[ ] Public-release and redistribution rights confirmed
SBOM and build records
The National Telecommunications and Information Administration describes a Software Bill of Materials as a formal record of software components and supply-chain relationships. For UAS firmware, an SBOM should be paired with build and hardware records.
A useful minimum package includes:
Product or aircraft:
Hardware revision:
Flight-controller target:
Firmware project:
Source repository:
Source commit:
Local patch set:
Build toolchain:
Dependencies:
SBOM format and file:
Binary hash:
Configuration identifier:
Build date:
Builder/reviewer:
License notices:
Known vulnerabilities:
Approved deployment scope:
An SBOM does not prove that software is safe, but it makes vulnerability, license, and change analysis possible.
Secure-development lessons
NIST's Secure Software Development Framework provides a general vocabulary for secure development and acquisition. Applied to UAS firmware, the most important lessons are:
Prepare the organization. Define ownership, environments, tools, roles, and release criteria.
Protect the software. Control source, build systems, credentials, signing material, and release artifacts.
Produce well-secured software. Review changes, manage dependencies, test misuse and failure cases, and document residual risk.
Respond to vulnerabilities. Maintain version inventory, receive reports, patch supported releases, and communicate changes.
These controls matter more—not less—when the codebase is open and iteration is fast.
Public information and export-control boundaries
The Export Administration Regulations exclude certain unclassified technology or software that is “published” and publicly available without dissemination restrictions. That exclusion is important for public research and discussion, but it is not a blanket authorization for every related activity.
Separate questions may still apply to:
nonpublic technical assistance;
controlled source, software, or hardware;
exports, reexports, or in-country transfers;
restricted destinations, parties, end users, or end uses;
support by U.S. persons;
military-intelligence or proliferation-related activities;
customer-controlled or government-controlled information.
BIS Part 744 includes end-use and end-user controls, including controls that can involve unmanned aerial vehicles and military or military-intelligence activities. Before providing implementation assistance, private packages, customized builds, integration services, or support to a foreign military or intelligence user, obtain a transaction-specific export review.
This article describes public software-assurance concepts. It does not classify an item, authorize a transfer, or approve an end user.
Evidence language for future case studies
Any future named case study should label each statement:
Label
Meaning
Official source
Government, project, or manufacturer record directly supports the statement
Maintainer statement
Claim made by the developer or distributor; not independently verified
Independent reporting
Credible reporting supports the statement, with date and source
Technical observation
Independently reproduced from public source or binary under documented conditions
Inference
Conclusion drawn from disclosed facts; alternative explanations may exist
Unverified
Public evidence is insufficient or contradictory
Do not publish access instructions, private distribution details, keys, restricted configurations, target lists, identification defeat, or offensive procedures merely because a source mentions them.
Part 6 — Components
The parts that go into the drone, where they come from,
and what the compliance landscape actually looks like. Review needed: regulatory
The Supply Chain Reality
The global drone motor market has a simple structure: China makes
most of them. Estimates vary, but roughly 73% of the world's FPV
drone motors are Chinese-manufactured. This includes many brands
that market themselves as American, European, or otherwise — the
motors are designed elsewhere but manufactured in China.
This matters because NDAA Section 889 and the American Security
Drone Act (ASDA, effective December 2025) prohibit federal agencies
from purchasing drone components from "covered foreign entities."
Starting with DDG Phase II and NDAA FY2026 battery provisions,
the restrictions are tightening further — motors and batteries from
covered countries will be explicitly prohibited in DoD programs. Review needed: regulatory
For operators who don't face procurement restrictions, Chinese motors
remain the most cost-effective option at roughly $70–100/unit for
quality FPV motors. The price gap matters: comparable NDAA-compliant
motors run $150–500+ depending on class. Review needed: regulatory / commercial
This chapter covers the real global motor landscape — who makes
what, where, and what the compliance picture actually looks like.
Ukraine — The Combat-Proven Ecosystem
Ukraine consumed roughly 9.6 million drone motors in 2025. The
country operates the most combat-proven UAS ecosystem on earth,
and its motor manufacturers have been refined by continuous battlefield
feedback at a pace no test range can replicate.
Motor-G
Ukraine's largest drone motor manufacturer. Founded after the
full-scale Russian invasion by Oleksii Grebin and three co-founders
(two from drone production, two from industrial HVAC). Self-funded
with millions of dollars, no external investment.
Detail
Value
HQ
Ukraine (location undisclosed for security)
Production
200,000 motors/month (as of March 2026)
Market Share
~17% of Ukraine's motor market
Customers
100+ drone manufacturers including Vyriy, General Cherry
QA
6-stage inspection, 2/1000 defect rate
Localization
85% Ukrainian-sourced, targeting 90%+ (stators 100% localized from May 2026)
CEO
Oleksii Grebin
Growth
181 units (Dec 2024) → 200,000/month (12 months)
R&D
In-house — custom motors to spec available
Product Line:
- 9 standard FPV motor models covering 5"–15" frame sizes
- Vandal — interceptor motor for 3–5 kg drones, designed for
speeds exceeding 350 km/h. Priced above Chinese equivalents.
Minister of Defence Fedorov reported Motor-G equipment enabling
an anti-aircraft drone to reach 400 km/h.
- Expanding into UGV and heavy bomber motors
- Persian Gulf interest in interceptor drone applications
Remaining imports: Small magnets, bearings, some voltage testing
equipment. The company notes that EU motor production is effectively
nonexistent — European brands are typically Chinese-manufactured.
Lean manufacturing model: Motor-G ships in small batches matched
to customer production rates, avoiding the Chinese model of paying
for and waiting on tens of thousands of units at once.
Aeromotors
Ukraine's second-largest motor manufacturer. ~10,000 motors/month.
All components manufactured in-house. €467K ($550K) investment from
Swedish Front Ventures (end 2025). Custom motors to spec. Motor-G's
primary domestic competitor.
Other Ukrainian Motor Manufacturers
Bullet — Claims 450 km/h interceptor motors
Realgold — Previously used by Vyriy before Motor-G partnership
~8 total competitors in the Ukrainian market (per Motor-G CEO)
The Ukrainian Advantage
Ukrainian motors cost roughly $150/unit — twice the Chinese price
but half the US price. The real advantage isn't cost, it's iteration
speed. Troops test motors in combat daily and feed results back
immediately. A Ukrainian motor with 200,000+ combat sorties of
validation data is more credible than a US motor with zero field
hours, regardless of what the spec sheet says. Review needed: performance / commercial
United States — NDAA-Compliant Motors
UMAC / Unusual Machines / EU Motors USA
Blue UAS Framework listed. Scaling local manufacturing in Orlando, FL.
50,000+ motors/month capacity.
Detail
Value
Evidence
HQ
Orlando, FL, USA
—
Blue UAS
Framework component
—
NDAA
Compliant
Review needed: regulatory
Facility
17,000 sq ft manufacturing
—
Key Products
UMAC 2207 (5"), UMAC 2807 (7" — used in Red Cat FANG F7), UMAC 3220 (larger format)
Vertiq's position sensor enables precise propeller positioning
in-flight and on landing — relevant for applications requiring
consistent blade orientation (folding props, coaxial).
Dronesmith USA
Purpose-built for government/defense. NDAA §889 compliant with
verified US supply chain. Prohibited vendors excluded. Traceable
components with vendor attestations. Pre-production designs
covering mid-lift, 5–7" tactical FPV/ISR, and heavy-lift classes. Review needed: regulatory
Lumenier
Premium FPV/cinema brand based in Sarasota, FL. ZIP series motors.
In parts-db for some products. Verify manufacturing origin per
model — some Lumenier products are manufactured in China despite
US brand identity.
Other US Motor Manufacturers
NeuMotors — High-end, extreme efficiency, aerospace research
USA Drone Motors — Built-to-print or standard specs, NDAA BLDC
Moog — Aerospace/defense-grade actuation and propulsion
European Union
Scorpion Power Systems
Detail
Value
Evidence
HQ
Prague, Czech Republic
—
Manufacturing
EU
—
Range
Competition and commercial UAS motors
—
NDAA
Non-Chinese manufacturing — likely compliant but verify
Review needed: regulatory
Plettenberg Motoren
German manufacturer. High-end industrial and defense brushless
motors. Premium pricing.
Hacker Motor
German manufacturer. Competition and industrial brushless motors.
Well-established in the European RC/UAS market.
The EU Gap
As Motor-G's CEO noted: European motor "brands" exist, but actual
EU manufacturing is rare. Most European-branded motors are
Chinese-manufactured. This is a significant supply chain vulnerability
for European defense programs, and several EU nations are in
early discussions about localizing motor production.
Australia
Hargrave Technologies
Not a motor manufacturer but critical to mention here — Hargrave
makes NDAA-compliant ESCs (the other half of the propulsion system). Review needed: regulatory
Detail
Value
Evidence
HQ
Australia
—
NDAA
Compliant — Western-sourced components
Review needed: regulatory
Key Products
nanoDRIVE 4LPi (4-in-1 ESC), microDRIVE LP (IP67)
—
Protocols
DroneCAN, ARINC825, DShot, PWM
—
Deployed
10,000+ aircraft in 50+ countries
—
Recognition
Sovereign Capability Defence Grant recipient
—
China (Context)
Chinese motors dominate the global market (~73% of Ukraine's
market alone). Key manufacturers include T-Motor, MAD Components,
and dozens of smaller OEMs. Pricing runs $70–100/unit for quality
FPV motors — roughly half the Ukrainian price and a third of
the US price.
T-Motor is the most recognized Chinese motor brand in
professional/commercial UAS. Already in the parts-db but needs
compliance flags added to all entries: NOT NDAA compliant.Review needed: regulatory
Chinese motors are NOT recommended for any NDAA, Blue UAS, or
government-adjacent builds. However, they remain the reality for
most commercial operators worldwide and the Handbook should
document them accurately — operators need to know what exists,
not just what procurement officers can buy.
The Price Reality
Origin
Typical FPV Motor Cost
NDAA Status
Evidence
China
$70–100
NOT compliant
—
Ukraine
~$150
Not applicable (non-NDAA nation, but non-Chinese)
Review needed: regulatory / commercial
EU (actual mfg)
$150–300
Likely compliant (verify per product)
—
USA
$200–500+
Compliant (verify per product)
—
USA (integrated module, e.g. Vertiq)
$300–800
Blue UAS Framework
—
Any NDAA/supply chain discussion must acknowledge this price gap.
The DDG Phase II Chinese components ban will force Phase I winners
currently using Chinese motors to absorb a 2–5x cost increase
on propulsion alone. Review needed: regulatory / commercial
Choosing Motors: What Matters
Match the motor to the prop and voltage. Every motor has an
optimal prop size and cell count. Running outside that range
wastes energy or risks burnout.
KV determines RPM per volt. Higher KV = higher RPM = smaller
props. Lower KV = more torque = larger props. Match to your
application.
Compliance is a procurement constraint, not a quality indicator.
A Chinese T-Motor may outperform an NDAA motor on a spec sheet.
The NDAA motor exists because procurement rules require it.
Review needed: regulatory
Combat-proven > spec sheet. If a motor has been validated
across thousands of real-world sorties (Motor-G, Neros), that
data is worth more than any test bench report.
Forge cross-reference: 12 entries in navigation_pnt category Related handbook chapters: RTK/PPK GPS Integration, GNSS Receiver Quality Ecosystem
Beyond GPS
Standard GNSS receivers — covered in the GPS Modules and RTK/PPK chapters — work well in open sky. But drones increasingly operate where GNSS degrades or fails entirely: urban canyons, under canopy, indoors, underground, and in contested electromagnetic environments where jamming and spoofing are active threats.
The navigation_pnt category covers hardware that provides position, navigation, and timing when GNSS is degraded, denied, or untrusted. This includes inertial navigation systems (INS), anti-jam antennas, vision-aided navigation, quantum sensors, and multi-sensor fusion platforms.
Technology Tiers
Tier 1: Tactical MEMS IMU/INS
MEMS (Micro-Electro-Mechanical Systems) inertial sensors measure acceleration and rotation without external references. They drift over time — the question is how fast.
SBG Systems Pulse-40 — Tactical grade MEMS IMU with 0.08°/√h gyro noise and 6µg accelerometers. Individually factory-calibrated. The entry point for "real" inertial navigation (as opposed to the IMUs already on flight controllers, which are consumer-grade and drift in seconds). Pairs with GNSS for GPS/INS fusion; provides dead-reckoning when GNSS drops.
Honeywell HGuide o480 — Low-SWaP INS with integrated anti-jamming and anti-spoofing. Available with single or dual antenna configurations. Honeywell pedigree in aviation-grade navigation brings defense program credibility.
Tier 2: FOG and High-Performance INS
Fiber Optic Gyroscopes (FOG) replace MEMS with optical measurement of rotation via the Sagnac effect. They are larger and more expensive but drift orders of magnitude more slowly.
Advanced Navigation Boreas D90 — FOG INS with AI-powered sensor fusion achieving sub-0.1% distance error. This means after 1 km of GPS-denied flight, position error is under 1 meter. Expensive and heavy, but it is the benchmark for autonomous BVLOS in contested environments. Review needed: regulatory
Inertial Labs VINS — Vision-Aided INS combining inertial sensors with camera-based visual odometry plus Air Data Computer. Provides navigation in both GPS-enabled and GPS-denied environments. The visual aiding significantly reduces drift rate compared to pure inertial.
Tier 3: Anti-Jam / Anti-Spoof GNSS
These do not replace GNSS — they harden it against electronic attack.
Inertial Labs M-AJ-QUATRO — Multi-element Controlled Reception Pattern Antenna (CRPA) for anti-jamming. Null-steers antenna pattern to reject interference while maintaining satellite lock. Works across GPS/GLONASS/Galileo/BeiDou. This is the "armored vest" for your GNSS receiver.
infiniDome GPSdome — Listed in the ew_systems category but functionally a GNSS protection device. Lightweight, lower cost than CRPA arrays, designed for Group 1–2 UAS.
Tier 4: Vision-Based Navigation
Camera and LiDAR-based positioning that requires no external infrastructure.
ModalAI VIO — Visual-Inertial Odometry system running on VOXL 2 hardware. Uses stereo cameras and IMU fusion for GPS-denied navigation. Integral to the ModalAI Blue UAS autonomy stack. Works indoors, under canopy, and in urban environments where GNSS multipath makes RTK unreliable.
Tier 5: Quantum and Next-Generation PNT
Emerging technologies that promise order-of-magnitude improvements in drift rate.
Infleqtion Tiqker — Compact atomic clock for timing resilience. When GNSS is denied, timing drifts along with position. Atomic clocks hold time accurately enough to maintain network synchronization and encrypted communications without GNSS timing input.
Infleqtion Quantum IMU — Quantum inertial measurement using cold atom interferometry. Still in development/early deployment, but the physics promises drift rates that make FOG look noisy. The endgame for GPS-denied navigation.
Q-CTRL Ironstone Opal — Quantum-enhanced inertial navigation using trapped-ion technology. Australian company with defense backing.
Anello Photonic INS — Silicon photonic gyroscope using integrated photonics manufacturing. Aims to deliver FOG-class performance at MEMS cost and size by leveraging semiconductor fabrication techniques.
Tier 6: Underwater/Multi-Domain
Teledyne DVL+INS — Doppler Velocity Log paired with inertial navigation for underwater vehicles. Included because underwater drones (ROVs, AUVs) face the same GPS-denied navigation challenge as aerial platforms in contested environments.
Selection Framework
The right PNT system depends on the threat environment and mission profile:
Scenario
Minimum PNT
Recommended
Evidence
Commercial BVLOS, open sky
RTK GNSS + basic IMU
RTK + SBG Pulse-40 for dead-reckoning backup
Review needed: regulatory
Urban operations
GNSS + VIO fallback
ModalAI VIO or Inertial Labs VINS
—
Defense, non-contested
GPS/INS fusion
Honeywell HGuide o480
—
Defense, contested EW
Anti-jam GNSS + FOG INS
M-AJ-QUATRO + Boreas D90
—
Indoor / subterranean
VIO + LiDAR SLAM
ModalAI VIO + LiDAR (see SLAM guide)
—
Long-endurance GPS-denied
FOG INS + atomic clock
Boreas D90 + Tiqker
—
Integration Notes
PNT systems connect to the flight controller via MAVLink (for autopilots like ArduPilot/PX4) or directly to the companion computer for processing before forwarding navigation solutions. Key integration considerations:
Mounting — INS units must be rigidly mounted to the airframe with known lever arm offsets programmed in. Vibration isolation is counterproductive for inertial sensors — they need to feel the vehicle's motion, not be isolated from it. This is the opposite of how you mount a flight controller IMU.
Alignment — IMU axes must be precisely aligned with the vehicle's body frame. Misalignment directly translates to navigation error.
Initialization — Most INS require a stationary alignment period (30 seconds to several minutes) to establish initial attitude. Plan this into mission timelines.
Aiding sources — Modern INS are designed to fuse multiple aiding sources: GNSS, VIO, barometer, magnetometer, DVL, airspeed. Configure all available aiding sources for best performance.
Supply Chain Notes
PNT hardware intersects multiple PIE supply constraint flags. MEMS sensors depend on semiconductor fabrication (STM32 and similar MCUs for processing). FOG components have limited suppliers. Quantum PNT is early-market with single-source risk on key components. See PIE predictions for timeline estimates on PNT-adjacent supply constraints.
Verified: July 31, 2026 Primary scope: U.S. executive-agency procurement and operation screening under the American Security Drone Act implementation in FAR Subpart 40.2. Use: Preliminary acquisition screening—not a legal opinion, product certification, Blue List determination, contracting-officer decision, export classification, or solicitation-specific representation. Review needed: regulatory
There is no single universal “NDAA compliant” test that can be answered from a manufacturer name, country label, assembly location, marketing statement, or component list alone. Review needed: regulatory
A defensible procurement conclusion depends on:
the buyer and agency;
the source and type of funds;
the transaction being acquired;
the current official covered-entity information;
the manufacturer and assembler of the complete UAS;
the exact configuration proposed;
the solicitation and incorporated clauses;
agency, program, mission, cybersecurity, and supply-chain requirements;
any exemption, exception, or waiver;
the date of the determination.
Use this guide to organize that review and preserve an evidence record. The final determination belongs to the responsible contracting officer, program office, counsel, grant administrator, or other authorized decision-maker.
What FAR Subpart 40.2 currently does
FAR Subpart 40.2 implements the American Security Drone Act of 2023 for federal acquisitions.
As of the verification date:
It applies to executive-agency acquisitions, including acquisitions at or below the micro-purchase threshold and acquisitions of commercial products or commercial services.
It defines an American Security Drone Act-covered foreign entity by reference to the list developed by the Federal Acquisition Security Council and published in SAM.gov.
It defines a FASC-prohibited unmanned aircraft system as a UAS manufactured or assembled by an ASDA-covered foreign entity.
Unless an exemption, exception, or waiver applies, executive agencies are prohibited from procuring a FASC-prohibited UAS.
On and after December 22, 2025, the prohibition also reaches procurement of services for operating a FASC-prohibited UAS and use of federal funds for procurement or operation of such a UAS.
FAR 40.202-8 requires the clause at FAR 52.240-1 in solicitations and contracts.
The FAR provisions include specified exemptions, exceptions, case-specific waivers, documentation requirements, and proposal-assessment procedures.
The current FAR authority is time-limited and states that the applicable ASDA authorities expire on December 22, 2028 unless changed by law.
The current official covered-entity starting point
The FAR definition points to the FASC list published in SAM.gov. The active SAM announcement states that the ASDA covered-foreign-entity list currently includes the entities on the U.S. Government's Consolidated Screening List and does not presently add other entities.
Search the legal entity, parent, subsidiaries, former names, trade names, and relevant manufacturer/assembler identities.
Save the search date, search terms, result, and evidence copy.
What a list result means
Result
Appropriate statement
Entity found
Potential ASDA/FAR prohibition; escalate immediately and identify exact listing and relationship to the proposed UAS
Entity not found
“Not located in the official screen on [date] using [terms]”
Identity uncertain
“Unable to complete the official screen because manufacturer/assembler identity is unresolved”
Not found is not the same as universally compliant. The solicitation, configuration, other statutes, agency rules, cybersecurity requirements, export controls, sanctions, and ownership/control issues may still matter.
Screening workflow
Step 1 — Identify the buyer and authority
Record:
executive agency, DoD component, state/local/tribal entity, educational institution, commercial buyer, or other customer;
contracting office or grant administrator;
whether the transaction is a federal contract, subcontract, cooperative agreement, grant, purchase-card transaction, direct commercial sale, or other instrument;
applicable acquisition regulation and supplements.
Do not assume that FAR contract clauses automatically govern every grant or state/local purchase. Do not assume federal funding is irrelevant either. Review the actual award terms, program guidance, statutes, and flow-down obligations.
Step 2 — Identify what is being acquired or funded
Describe the transaction precisely:
complete UAS;
aircraft only;
ground-control equipment;
payload or communications system;
replacement components;
software or cloud service;
operation-as-a-service;
maintenance, training, support, or data service;
modification of an existing fleet.
FAR 40.202 uses the statutory UAS definition, which includes the unmanned aircraft and associated elements—including communication links and components required for safe and efficient operation in the National Airspace System. The exact boundary should be resolved for the proposed acquisition rather than reduced to a generic parts checklist.
Step 3 — Resolve manufacturer and assembler identity
For the complete system and relevant associated elements, collect:
legal manufacturer;
final assembler;
parent company and controlling entities;
product model and revision;
manufacturing and assembly locations;
supplier declarations and bills of material;
firmware, cloud, data-routing, and update providers;
reseller versus manufacturer roles.
Country of origin can be relevant evidence, but country, founder birthplace, headquarters, reseller location, and assembly location are not interchangeable legal tests.
Step 4 — Perform and preserve the official covered-entity screen
Use the current SAM/FASC information and Consolidated Screening List. Preserve:
Screen date and time:
Search system/version:
Legal name searched:
Aliases/trade names searched:
Parent/subsidiaries searched:
Result:
Listing identifier, if found:
Reviewer:
Evidence location:
Re-run the screen before award and whenever the entity, ownership, product configuration, or official lists change.
Step 5 — Read the solicitation and incorporated clauses
At minimum, check for:
FAR 52.240-1;
FAR Part 40 requirements;
agency acquisition-regulation supplements;
DoD or service-specific clauses and memoranda;
cybersecurity, data-hosting, software-update, and supply-chain requirements;
domestic-preference and country-of-origin clauses;
grant or award conditions;
representations and certifications required from the offeror;
subcontractor and flow-down requirements.
A solicitation may impose a narrower or broader practical requirement than a general marketing statement such as “NDAA compliant.” Answer the solicitation actually issued. Review needed: regulatory
Step 6 — Check exemptions, exceptions, and waivers
FAR 40.202 contains specific exemptions and exceptions for defined agencies and mission circumstances, plus a case-by-case waiver process. These are not self-executing permissions for a vendor or operator.
For any claimed exemption, exception, or waiver, record:
exact FAR provision or other authority;
authorized official;
mission and scope;
affected system/configuration;
duration;
conditions;
written approval;
contract-file documentation.
The FAR requires the contracting officer to document applicable exemptions, exceptions, or waivers and to coordinate their treatment in the solicitation and contract.
Step 7 — Treat the Blue List as a separate DoD evidence source
DCMA's Blue List is a continuously vetted Department of Defense acquisition resource for unmanned systems and components. DCMA assumed responsibility for the program from DIU and operates a vendor/assessor process.
For a DoD acquisition:
check the current DCMA Blue List or official Blue List portal;
confirm the exact model, configuration, component, and status date;
determine whether the solicitation requires or prefers Blue List status;
verify whether modifications, payloads, radios, software, or data services alter the reviewed configuration;
preserve the official record.
Do not use these shortcuts:
Blue List entry → eligible for every federal procurement: not established.
No Blue List entry → prohibited for every procurement: not established.
Manufacturer has one listed product → every product/configuration is listed: not established.
Blue List status → export classification, FOCI, or every cybersecurity requirement resolved: not established.
Step 8 — Evaluate the exact configuration and data path
Record the fielded configuration, not just a base airframe name:
aircraft revision and serial range;
flight controller and firmware;
radio and communications links;
ground-control hardware/software;
camera, gimbal, and payloads;
navigation and obstacle-avoidance systems;
data storage, cloud, update, and telemetry endpoints;
batteries and propulsion where relevant to the solicitation;
third-party modifications;
remote-support access;
software bill of materials and update authority.
A procurement conclusion should identify the configuration it covers and state that unreviewed substitutions or modifications may require a new determination.
Step 9 — Obtain the authorized determination
The screening record should end with an authorized disposition, such as:
Acquisition/solicitation:
Agency/program:
System and exact configuration:
Official list screen date:
Blue List status/date, if relevant:
Applicable clauses:
Exemption/exception/waiver:
Open questions:
Decision authority:
Decision:
Conditions:
Expiration/reverification date:
The handbook does not make this final determination.
Evidence labels for public product profiles
Use one of the following labels instead of an unqualified compliance badge:
Label
Meaning
Official-list verified
Exact product/entity status located in a named official source on a stated date
Manufacturer-reported
Vendor makes the claim; independent official confirmation not established
Configuration documented
Evidence collected for a named configuration; final eligibility still depends on the acquisition
Program-specific approval reported
Approval is tied to a named program or authority and should not be generalized
Not located in official screen
Search did not locate the entity/product on the named date; not a universal approval
Unknown / unresolved
Evidence is missing, contradictory, stale, or insufficient
Counsel or contracting-officer determination required
The handbook cannot responsibly resolve the issue
Every label should display its source and verification date.
Minimum procurement record
Buyer and transaction
[ ] Buyer, agency, program, and contracting office identified
[ ] Contract, grant, subcontract, purchase-card, or other instrument identified
[ ] Source of funds documented
[ ] Product, service, operation, or modification scope documented
Entity and product
[ ] Legal manufacturer and assembler identified
[ ] Parent, aliases, and relevant subsidiaries identified
[ ] Exact model/revision/configuration identified
[ ] Reseller distinguished from manufacturer
Official sources
[ ] SAM/FASC covered-entity information checked
[ ] Consolidated Screening List searched and evidence preserved
[ ] FAR 40.2 and FAR 52.240-1 applicability reviewed
[ ] Agency supplements and solicitation clauses reviewed
[ ] Current Blue List checked when relevant
Exceptions and configuration
[ ] Any exemption, exception, or waiver documented in writing
[ ] Payloads, radios, GCS, firmware, cloud, and data paths reviewed
[ ] Substitutions and modifications controlled
[ ] Open questions escalated to the authorized decision-maker
Decision
[ ] Authorized reviewer identified
[ ] Decision and conditions recorded
[ ] Reverification date assigned
[ ] Evidence retained with the acquisition file
Common mistakes
"The vendor says NDAA compliant."
Treat that as a manufacturer representation requiring defined scope and supporting evidence—not the final federal determination. Review needed: regulatory
"The company is American, so the system is eligible."
Headquarters alone does not resolve the legal manufacturer, assembler, ownership, configuration, associated elements, solicitation clauses, or official-list screen.
"The company was not found on the FASC screen, so the procurement is approved."
A negative list search is one documented input, not a universal approval.
"The system is on the Blue List, so every variant and payload is cleared."
Confirm the exact listed system/configuration and whether modifications remain within the reviewed scope.
"The FAR rule only matters for large contracts."
FAR 40.202 states that it applies to all acquisitions, including those at or below the micro-purchase threshold and commercial acquisitions.
"An exception obviously applies because the mission is important."
Use the exact authority and obtain the required written determination. Vendors and operators do not self-approve exemptions or waivers.
"A country or founder's birthplace proves FOCI or compliance."
It does not. Ownership, control, influence, contracting requirements, and security determinations require actual evidence and the applicable review process. Review needed: regulatory
"NDAA, ASDA, Blue List, export classification, sanctions, and cybersecurity are the same test."
They are separate regimes and evidence streams. A conclusion under one should not be copied into another field.
Official lists, clauses, agency policy, product configurations, and ownership can change. Reverify before every representation, proposal, award, renewal, modification, or operational decision.
OpenHD uses an air/ground video and telemetry architecture. Select a matched software image, camera/codec pipeline and exact adapter revision. A chipset family name alone does not establish driver or image compatibility.
Adapter support — checked 2026-10-07
The project's WiFi adapter page lists RTL8812AU, RTL8814AU, RTL8811AU, RTL8812BU and RTL8812EU as supported since 2.6.3. Its dongle list includes BLM8812EU. The project also maintains an RTL88x2EU driver repository. The earlier suggestion that EU support was absent is withdrawn.
Record
Establish before integration
Adapter
Manufacturer/model/revision, actual chipset, USB IDs and antennas
Image
Exact OpenHD release/image/hash, air/ground role and SBC target
Driver
Kernel, driver revision and injection/receive support in that image
Camera
Interface, driver, encoder, codec/profile and tested mode
Ground
Supported hardware decoding and display path
Power
Adapter and SBC rail demand, transients, cooling and connectors
The adapter page warns about certification status for BLM8812EU. Technical support is separate from authorization or equipment approval; verify the exact module and intended jurisdiction against current authority. No import/use permission is implied here.
Software-first checks
Start with the official setup documentation and image for the exact host. Preserve a known-good image before changes. Confirm both nodes' software versions, device discovery and configuration readback. A generic MediaTek issue report is evidence about that reported setup, not proof that every adapter in that family fails or succeeds.
Replay local media through the intended encoder/decoder pipeline, then test a controlled transport fixture. Track video frame freshness separately from MAVLink telemetry. On the ground, the receiving pipeline decodes video; air-side encoding and ground-side decoding must not be conflated.
Latency and failures
Report the complete measurement boundary: camera exposure/capture, codec/profile, resolution/frame rate, buffering/FEC, RF mode, decoder and display. Packet timing or a decoder benchmark is not glass-to-glass latency. Generic claims that a particular SBC halves latency or guarantees a numerical range are withdrawn.
Inspect device enumeration, driver logs, video frame/caps errors, link/FEC counters, frame age and power/thermal state before changing parameters. Keep the exact original settings and test result. See video pipeline troubleshooting, software failure tests and field evidence.
Forge cross-reference: 7 entries in optical_flow category Related handbook chapters: Navigation & PNT, Companion Computers, Flight Controllers
The Problem Optical Flow Solves
GPS works outdoors in open sky. It fails indoors, in tunnels, under dense canopy, in urban canyons, and in any environment where adversaries are actively jamming GNSS. For a drone without a fallback positioning system, GPS loss means position hold fails, the drone drifts, and the operator loses control authority.
Optical flow sensors are the primary GPS-denied positioning solution for Group 1 UAS — small, lightweight, and low-power. They work by analyzing movement of visual features in a downward-facing camera feed, combined with altitude measurement from a time-of-flight distance sensor, to compute horizontal velocity and hold position without any external reference.
The result: stable indoor hover, corridor flight, and position hold at low altitude where GPS is unavailable.
How It Works
An optical flow sensor mounts on the underside of the drone, pointing downward. It contains:
Optical flow sensor — a specialized image sensor (typically PixArt PMW3901 or PAA3905) that detects pixel motion between frames at high speed. Think of it as a very fast, very specialized camera designed specifically for motion detection rather than image capture.
Time-of-flight (ToF) distance sensor — measures altitude above ground using a laser pulse (typically Broadcom AFBR series). Required to convert angular motion to actual velocity — without altitude, the flow sensor can't determine if a small pixel shift represents slow motion at low altitude or fast motion at high altitude.
IMU — accelerometer and gyroscope to compensate for vehicle attitude changes and vibration.
The flight controller fuses optical flow data with IMU data to estimate horizontal velocity and maintain position. PX4 and ArduPilot both support optical flow fusion natively via DroneCAN or UART.
Operational envelope:
Optical flow works best at 0.5–8m AGL over textured surfaces (grass, gravel, concrete). It degrades over featureless surfaces (water, uniform carpet, snow), in very low light, and at altitude beyond 30–50m where pixel resolution becomes insufficient.
NDAA Landscape
The optical flow market has a significant compliance gap. The dominant consumer solution — Matek 3901-L0X — is made in China and cannot be used in NDAA-covered programs. The two legitimate alternatives for federal procurement are both significantly more expensive. Review needed: regulatory
Product
Origin
NDAA
Price
Range
ARK Flow MR
USA
✓
$650
50m
ARK Flow
USA
✓
$320
8m
CubePilot HereFlow
Taiwan (allied)
✓
$85
3m
Centeye Vision Suite
USA
✓
Quote
5m (IR)
Holybro H-Flow
China (unverified)
⚠
$45
35m
Matek 3901-L0X
China
✗
$28
2m
The 8–22× price premium of NDAA-compliant optical flow over the Chinese benchmark is the defining procurement reality for any government UAS program requiring GPS-denied capability. Review needed: regulatory / commercial
Products
ARK Flow MR — The NDAA Standard
ARK Electronics, USA | $650 | DroneCAN
The current benchmark for NDAA-compliant optical flow. Launched March 2025 as a drop-in upgrade to the original ARK Flow with extended range. Designed and manufactured in the United States with full supply chain documentation. Review needed: regulatory / performance
Key specs:
- PAA3905 optical flow sensor (PixArt, Taiwan) — improved detection over the PAW3902 in the original ARK Flow
- Broadcom AFBR-S50LX85D ToF sensor — 50m range, dramatically extending outdoor operational altitude versus the 8m limit of the original
- InvenSense IIM-42653 IMU
- DroneCAN / CAN interface
- PX4 and ArduPilot support with firmware updates over DroneCAN
- ROS2 compatible
- Adds only 5g over the base ARK Flow Review needed: performance / configuration
Why it matters: The only NDAA-compliant optical flow module with meaningful outdoor range. 50m AGL is enough for standard DFR approach altitudes. The base ARK Flow's 8m ceiling limited it to indoor and very low-altitude use. Review needed: regulatory / performance
Limitation: At $650, it is 23× the cost of the Matek benchmark. For high-volume production programs, this is a significant BOM impact.
ARK Flow — The Baseline
ARK Electronics, USA | $320 | DroneCAN
The predecessor to the MR. Uses PAW3902 optical flow sensor (older generation), Broadcom AFBR-S50LV85D ToF (8m range), and BMI088 IMU. Still the appropriate choice for indoor-only missions where the 8m range ceiling is acceptable, and where the $330 cost savings over the MR is meaningful. Review needed: performance / commercial
Integration note: Recommended mounting orientation has connectors pointing toward the rear of the vehicle. Multiple sensors can be daisy-chained via the second CAN port for redundancy.
The only NDAA-compliant optical flow module in the sub-$100 range. At 1.2g, it is the only viable option for nano and micro platforms where every gram matters. Review needed: regulatory / performance / commercial
Key specs:
- PMW3901 optical flow sensor (older PixArt generation — lower performance than PAA3905)
- Built-in short-range LiDAR (very limited range outdoors)
- ICM20602 6D IMU
- CAN protocol
- NDAA 2024 compliant — all chips and components sourced and assembled in allied nations (Taiwan)
- Blue UAS Framework listed Review needed: regulatory / performance / configuration
Critical limitation: The built-in LiDAR is effectively useless outdoors beyond a few meters. ArduPilot documentation explicitly recommends pairing HereFlow with a dedicated external longer-range LiDAR for outdoor use. For indoor-only operations, it is sufficient.
Best use case: Nano/micro platforms (sub-250g) where ARK Flow weight is prohibitive. Indoor inspection, research platforms, small DFR scouts.
Centeye Vision Suite — Advanced Research / Defense
Centeye, Washington DC, USA | Quote | Custom integration
Centeye is the original optical flow company — their principals were the first to fly an optical flow sensor on a drone in the late 1990s, and the first to provide altitude control via optical flow. Their current products use proprietary neuromorphic vision chips designed ground-up for drone autonomy rather than adapted consumer sensors.
Why it's different:
Unlike commodity optical flow sensors that use adapted mouse-tracking chips, Centeye's neuromorphic vision chips are co-designed with algorithms from the silicon level up. This produces dramatically better performance in challenging conditions (low light, high dynamic range, rapid illumination changes) and supports stereo depth perception and proximity sensing alongside optical flow.
Specs: Sensors from 1g. Up to 150° field of view. IR illumination for operation in pure darkness (850nm, up to 5m range). Stereo depth + optical flow in one package.
Limitation: Not a plug-and-play product. Centeye sells integrated solutions and OEM chipsets requiring custom integration work. Not compatible with standard PX4/ArduPilot optical flow interfaces without custom firmware. Best suited for defense programs with engineering resources or research platforms.
Holybro H-Flow — Verify Before Federal Use
Holybro, Shenzhen, China | $45 | DroneCAN
The H-Flow uses excellent component selection: PAA3905E1 (same PixArt sensor as ARK Flow MR), Broadcom AFBR-S50LV85D ToF, and ICM-42688-P IMU. On paper it is hardware-equivalent to ARK Flow at $45 vs $320.
The problem: Holybro's headquarters are in Shenzhen, China. Board assembly is Chinese. NDAA status has not been independently verified and Holybro has not published formal supply chain compliance documentation. It cannot be used in federal contracts or federally-funded programs without written NDAA compliance documentation from Holybro — documentation that does not currently exist in the public record. Review needed: regulatory
For commercial non-federal applications, H-Flow is a reasonable budget choice. For any government-adjacent work, use ARK Flow or HereFlow.
Matek 3901-L0X — The Consumer Benchmark
Mateksys, China | $28 | UARTReview needed: commercial / configuration
The de facto standard for hobby/commercial FPV optical flow. PMW3901 + VL53L0X LiDAR (2m range), UART interface, iNAV/ArduPilot compatible. Widely documented, cheap, and broadly available. Listed in Forge for awareness — it is what most operators use on non-NDAA platforms. Review needed: regulatory / performance / configuration
Cannot be used for: Any federal contract, DoD program, FEMA/DHS grant-funded procurement, or any work covered by ASDA (American Security Drone Act). The board is designed and manufactured in China (Mateksys, Shenzhen).
Integration Notes
PX4 / ArduPilot Setup
Both firmware stacks support optical flow via DroneCAN (preferred for ARK/HereFlow) or MAVLink (for older sensors). Core parameters for PX4:
SENS_FLOW_MINHGT — minimum altitude for flow to be used (typically 0.3m)
SENS_FLOW_MAXHGT — maximum altitude (match to your ToF sensor range)
EKF2_OF_CTRL — enable optical flow fusion
EKF2_HGT_REF — set to range sensor if using optical flow for altitude
ArduPilot uses FLOW_TYPE to select the sensor interface and FLOW_FXSCALER/FLOW_FYSCALER for calibration.
Mounting
The sensor must face directly downward with a clear view of the ground. Mounting position relative to the flight controller should be configured in the position offsets parameters (SENS_FLOW_ROT in PX4). For best results:
Mount away from motor vibration paths
Ensure no propeller wash obscures the downward view
On vehicles with landing gear, verify the gear does not block the sensor's field of view during low-altitude hover
Surface Requirements
Optical flow requires visual texture in the sensor's field of view. Test performance before deployment over:
For operations over problematic surfaces (water search and rescue, snow survey), consider supplementing with downward-facing LiDAR or radar altimetry and accepting reduced position hold accuracy.
Forge Cross-Reference
The 7 parts in the optical_flow category represent the current vetted landscape. Use the NDAA filter in the parts browser to quickly see the 4 NDAA-verified options vs the 2 confirmed non-compliant. Review needed: regulatory / performance
PIE signal: Optical flow is identified as a supply chain risk category — the NDAA-compliant ecosystem is thin (effectively ARK Electronics as the sole US standalone manufacturer) and the price premium over Chinese alternatives is structural, not temporary. This is one of the clearest cases where domestic manufacturing investment is needed to reduce procurement risk. Review needed: regulatory / commercial
Orqa Hardware Guide — Editorial and Compliance Review Hold
Status: Temporarily withheld as of July 31, 2026 while technical specifications, source provenance, editorial independence, and procurement/compliance statements are independently reviewed.
Do not rely on an earlier version for procurement, compliance, export classification, wiring, or flight-safety decisions. Prior statements about NDAA status, FOCI, EAR classification, firmware targets, electrical limits, and product specifications require claim-level source records and independent review.
A rebuilt version will distinguish:
manufacturer-provided specifications;
independently verified bench or field observations;
official-list or documentary compliance status;
publisher inference or opinion;
unknown or configuration-specific matters.
No manufacturer is identified as the publisher or approver of this handbook. Supporting relationship, provenance, and review records are maintained in the private source-of-record rather than displayed as a site-wide association statement.
Forge cross-reference: 4 entries in payload_droppers category Related handbook chapters: Sensor Payload Integration, Frames & Airframe Selection
Controlled Payload Release
Payload droppers are electromechanical mechanisms that release a carried payload on command from the flight controller or GCS. The applications span commercial delivery (DJI Delivery Hub, Zipline-style systems), agricultural (seed/granule release), search and rescue (supply drops), and military (munition release).
The 4 entries in the Forge database represent the publicly available commercial ecosystem. Military payload release systems are intentionally outside the scope of this handbook.
Commercial Applications
Delivery Drones
DJI and other enterprise platforms integrate payload release directly into the platform firmware. The DJI Delivery Hub and WindWing series treat package delivery as a mission type with ground-level winch lowering — not a simple drop. This avoids the impact damage of free-fall delivery and handles the "last meter" precision problem where GPS accuracy (~1m) is insufficient to guarantee safe drop zone clearance. Review needed: performance / configuration
Agricultural Distribution
Pellet and granule spreaders attach to multi-rotor platforms (M300, Agras series) for seed distribution, cover crop planting, and pest control material application. These are high-volume release mechanisms with configurable flow rates, not single-item release.
SAR Supply Drops
Search and rescue operations use payload droppers to deliver survival supplies (water, food, first aid) to stranded individuals when landing is impossible. Simple spring-loaded or servo-actuated mechanisms release a packaged payload. The dropped payload is typically attached to a short drogue chute for deceleration.
Mechanism Types
Servo-actuated claw/gripper: The simplest design. A servo opens a claw or latch when commanded. Low weight, reliable, configurable throw angle. Cannot handle payloads larger than the claw grip radius.
Electromagnet release: A powered electromagnet holds a ferromagnetic payload. De-energizing the magnet releases the payload. Clean release, no moving parts. Requires payload to have a magnetic attachment point.
Winch/cable lowering: A motorized spool lowers the payload on a thin line then releases. Enables precision placement without free-fall. Higher weight and complexity. DJI Delivery Hub uses this approach.
Pyrotechnic (defense): Not covered in this handbook.
Integration
Payload droppers connect to a spare FC servo output channel and are commanded via a switch on the transmitter assigned to that channel. In Betaflight, use SERVO output rules. In ArduPilot, use SERVOn_FUNCTION parameter to assign Gripper function to the relevant output.
ArduPilot Gripper:
GRIP_ENABLE = 1
GRIP_TYPE = 1 # servo type
GRIP_CHANNEL = 9 # RC channel to control
SERVO9_FUNCTION = 28 # Gripper function
Mission commands MAV_CMD_DO_GRIPPER allow GCS-commanded release at a waypoint during an autonomous mission — enabling pre-programmed delivery at a GPS coordinate.
NDAA
All 4 payload dropper entries in the database are US or allied-nation manufactured. No NDAA concerns in this category for commercial release mechanisms. Review needed: regulatory
The companion computer is the integration hub. Everything else —
cameras, LiDAR, multispectral, droppers — connects through it or
through the FC's peripheral ports.
Integration Topology
FC (Pixhawk/H743)
├── UART 1: RC receiver (ELRS/CRSF)
├── UART 2: GPS + compass
├── UART 3: Telemetry (MAVLink to GCS)
├── UART 4: Companion computer (MAVLink)
├── I2C: Airspeed, optical flow, external compass
├── CAN: GPS (DroneCAN), ESCs (Zubax/Vertiq)
└── GPIO/PWM: Servo outputs → gimbal, dropper, parachute
Companion Computer (RPi CM4 / Jetson Orin / SkyNode)
├── USB: FC (MAVLink), cameras, LiDAR
├── CSI: High-speed camera (RPi camera v3, IMX477)
├── MIPI: Sony IMX585 (via adapter)
├── Ethernet: Zenmuse (via DJI SDK), mapping cameras
├── UART: Secondary FC comms, GNSS RTK
└── GPIO: Trigger signals, payload power control
Camera Payloads
Visible Light / RGB
Mapping cameras (Sony ILX-LR1, Phase One iXM, Micasense Altum):
- Connect via USB 3.0 or Ethernet to companion
- Trigger via GPIO or MAVLink DO_DIGICAM_CONTROL
- Geotag via MAVLink position injection into EXIF or sidecar files
- High data rate — plan 128GB+ per flight for full-res mapping
FPV/ISR cameras:
- Analog: direct to VTX, no companion needed
- Digital (DJI O3/O4, HDZero): dedicated link, not companion-routed
- Gimbal cameras: HDMI/SDI to encoder, H.264 stream to companion
Thermal
FLIR Boson/Lepton, Teledyne Tau:
- USB or CSI interface to companion
- FLIR SDK for streaming and radiometric data
- Radiometric TIFF capture requires SDK license on some models
- Sync RGB+thermal via GPIO trigger for data fusion
Seek Thermal, FLIR Hadron (RGB+thermal combo):
- Single USB connection, dual stream
- Growing standard for DFR — one sensor, two data streams
Multispectral
Micasense RedEdge-P / Altum-PT, Sentera 6X:
- USB or Ethernet
- Require calibration panel image at takeoff and landing
- Trigger via MAVLink DO_DIGICAM_CONTROL or standalone timer
- Output: per-band TIFFs, combine in Agisoft Metashape or Pix4D
LiDAR Payloads
Mapping LiDAR (Velodyne, Ouster, RESEPI)
High-bandwidth, typically Ethernet. Requires companion.
LiDAR → Ethernet → Companion → point cloud recording
→ real-time obstacle avoidance
→ SLAM (Cartographer, LIO-SAM)
Key integration concern: time synchronization. LiDAR timestamps
must align with IMU timestamps for accurate point cloud georeferencing.
Use PPS (pulse per second) from GPS for sub-microsecond sync.
Electromagnet on servo output or direct GPIO.
Wire through a MOSFET if magnet draws >500mA (most do).
Cut power = release payload. Simpler and more reliable than servo mechanisms.
Winch Systems
More complex — typically requires dedicated controller.
Interface via UART to FC (custom MAVLink messages) or
via companion computer with direct motor control.
Gimbal Integration
Pixhawk Gimbal Protocol
Standard two-axis brushless gimbal (Gremsy, Siyi, Viewpro):
FC UART → SBus/PWM → gimbal
or
FC UART → MAVLink (GIMBAL_DEVICE_ATTITUDE_STATUS)
Use separate BECs for payload vs FC. Payload power draw spikes
(motor startup, disk write) should not sag the FC's supply.
Payload Power Control
Control payload power via FC relay output:
RELAY_PIN = 49 (AUX6 on many FCs)
RELAY_DEFAULT = 0 (off at boot)
# Turn on via MAVLink
MAV_CMD_DO_SET_RELAY (181)
param1 = 0 (relay instance)
param2 = 1 (on)
Use a MOSFET or relay module for any payload drawing >1A.
Data Flow & Recording
Onboard Recording
Record raw sensor data to companion computer SSD/NVMe.
Use ROS2 bags or a simple timestamped file logger.
Minimum recording:
- IMU data (100Hz)
- GPS position + GNSS raw (10Hz)
- Camera triggers with timestamps
- MAVLink telemetry stream
Geofencing Data
For mapping payloads, ensure camera trigger events are logged with
GPS coordinates. Most mapping software (Pix4D, Metashape) ingests
either EXIF-embedded GPS or sidecar GeoJSON.
Non-US Platforms — The Rest of the World Flies Too
Part 6 — Components
The US is not the center of the UAS universe. Ukraine, Turkey,
and Israel deploy more combat UAS than the US. The Handbook
must reflect the actual global landscape.
Why This Chapter Exists
The parts-db started with 35 drone models — almost all US-based
or DJI. The drone database JSON has been expanded to 137 platforms
across 20+ countries. But the Handbook's platform profiles still
skew heavily Western. This chapter provides the overview layer
for the global ecosystem that detailed profiles will fill over
subsequent sessions.
Ukraine — The World's Most Active UAS Ecosystem
Ukraine consumed ~9.6 million drone motors in 2025. The country
produces and deploys more combat UAS than any nation except
possibly China and Russia. Their innovation cycle — build, deploy,
get feedback from combat, iterate — runs faster than any formal
defense acquisition program.
Key Manufacturers
Company
Type
Scale
Notable
TAF Industries
FPV production
80,000+ drones/month
One of the largest FPV producers. Found alternative motors to Motor-G at better price
Vyriy
FPV drones
Mass production
First 100% Ukrainian-sourced FPV. Motor-G customer since Feb 2025. Autonomous drones with TFL-1 nav
Wild Hornets
Interceptor drones
Active production
Sting interceptor — 315-350 km/h. Counter-Shahed role.
General Cherry
FPV + interceptors
Expanding
Air Pro interceptor (200 km/h). Motor-G customer. Expanding interceptor lineup
Ukrspecsystems
ISR platforms
Established
PD-2, Leleka-100 — reconnaissance workhorses. Largest Ukrainian drone manufacturer by some measures
Skyeton
Fixed-wing endurance
Established
Raybird-3 — 28-hour endurance. Fixed-wing ISR
FirePoint
Long-range strike
Active
FP-1, FP-2 fixed-wing strike. Hundreds of km range
Terminal Autonomy
Long-range strike
Active
AQ-400 Scythe — long-range autonomous strike
UkrJet
Jet-powered strike
Active
UJ-26 Bober — 1,000 km range turbojet
Aerorozvidka
Volunteer tech unit
Active
R18 octocopter — dropped munitions pioneer
Escadrone
Multi-role
Active
Various tactical platforms
3DTech
Fiber-optic FPV
Active
3D-printed fiber spool casings
Hasta
Optical guided FPV
Active
20-50 km fiber-optic range
The Ukrainian Model
Ukraine's drone ecosystem is characterized by what Sine Engineering
calls "creative chaos" — hundreds of small manufacturers, rapid
iteration, combat-driven requirements, and minimal bureaucracy.
This produces more innovation per dollar than any formal defense
program. The ecosystem spans from garage workshops to companies
producing 80,000+ drones per month.
Key insight: Only ~5% of Ukrainian drone companies don't rely
on Chinese components. Motor-G's 17% domestic motor market share
means 73% is still Chinese-sourced. The push toward localization
is real but incomplete — stators will be 100% Ukrainian by May 2026,
but magnets, bearings, and some test equipment still require import.
Turkey — The Export Leader
Turkey has built the world's most successful drone export industry.
Baykar's TB2 changed the narrative about drone warfare globally.
Key Manufacturers
Company
Platform
Type
Notable
Baykar
TB2
MALE ISR/strike
The drone that changed modern warfare. Combat-proven in Libya, Syria, Nagorno-Karabakh, Ukraine. $2M+ unit cost
Baykar
Akıncı
Heavy MALE
Twin-engine, 24-hr endurance, AESA radar, 1,350 kg payload
Baykar
Kızılelma
Unmanned fighter
Jet-powered, carrier-capable, AI-enabled. In flight testing
Baykar
K2 Kamikaze
Loitering munition
Low-cost expendable strike
TAI/TUSAŞ
ANKA series
MALE
Turkish Aerospace, Aksungur variant for maritime
TAI
ANKA-3
Stealth UCAV
Flying wing design, in development
STM
Kargu-2
Autonomous loitering munition
Documented autonomous engagement (Libya 2020)
Asisguard
Songar
Armed multirotor
Turret-mounted weapons on commercial-class frame
Turkish Defense Electronics
Turkey's drone success is underpinned by domestic avionics:
Aselsan (communications, EW, radar), TUALCOM (datalinks),
Meteksan (C-band datalinks), Roketsan (munitions). This vertical
integration is a key competitive advantage.
Israel — The Technology Originator
Israel pioneered military UAV operations decades before the current
drone era. Israeli companies built many of the autonomous systems
and sensor payloads that define the state of the art.
Key Manufacturers
Company
Platform
Type
Notable
Elbit Systems
Hermes 900/450
MALE ISR
Widely exported. In service with multiple NATO nations
Elbit
Skylark
Tactical man-portable
Small ISR, widely deployed
Elbit
Lanius
Indoor autonomous
AI-powered indoor mapping/ISR micro-drone
IAI
Harop/Harpy
Loitering munition
Anti-radiation / autonomous strike. Combat-proven
IAI
Heron
MALE ISR
Long-endurance ISR platform
Aeronautics
Orbiter series
Tactical ISR
Multiple variants, widely exported
XTEND
XOS
Indoor/tactical
Immersive control interface
Rafael
Spike Firefly
Loitering munition
Man-portable, indoor-capable
Israeli Technology Layer
Beyond complete platforms, Israeli companies provide critical
subsystems used across the global industry: thermal/EO payloads
(Elbit, Controp, Rafael), communications (Mobilicom, Elsight),
cyber C-UAS (D-Fend, Sentrycs), fiber-optic (Kela Technologies),
and autonomy software. Many Western drone platforms incorporate
Israeli-origin components.
European Union
Germany
Quantum Systems — Trinity Pro (commercial VTOL), Vector AI (defense). Bundeswehr contract. Combat deployment in Ukraine.
Helsing — AI/autonomy for defense. FCAS program participation.
Rheinmetall — Heavy defense UAS platforms.
France
Delair/KNDS — MATARIS fixed-wing for defense.
Safran — Patroller MALE platform.
Novadem — NX70 micro-tactical for infantry.
UK
Tekever — AR3/AR5 VTOL ISR. Active in maritime surveillance.
EDGE Group / ADASI — Rapidly expanding military UAS capability.
Iran
HESA / IRGC — Shahed-136/238 series. Combat-deployed at massive scale in Ukraine (Russian use). The threat that Ukrainian C-UAS and interceptor drones are designed to counter.
India
ideaForge — SWITCH tactical VTOL. Indian military procurement.
Australia
Insitu Pacific — ScanEagle derivative operations.
Currawong Engineering — Hybrid propulsion (covered in propulsion chapter).
Hargrave Technologies — NDAA ESCs (covered in ESC chapter).
DroneShield — Counter-UAS (covered in C-UAS chapter).
The Handbook's Global Obligation
The Drone Integration Handbook claims to be an industry reference.
An industry reference that only covers US and DJI platforms is not
a reference — it's a marketing catalog.
These principles guide the global coverage:
Combat-proven > spec sheet. A Ukrainian drone that has flown
200,000 sorties is more credible than a US prototype that has
flown 20.
NDAA compliance is a procurement constraint, not a quality
indicator. The Handbook documents what exists, not just what
US procurement officers can buy.
The Handbook serves operators globally. A Ukrainian crew
chief, a Turkish integrator, a German Bundeswehr operator, and
a US defense contractor should all find useful information.
Credit the ecosystem. Ukraine's rapid innovation, Turkey's
export success, Israel's technology depth — these define the
industry as much as any Silicon Valley startup.
Detailed platform profiles for these manufacturers will be added
in subsequent sessions. The drone database JSON (137 platforms)
contains the structured data; the Handbook profiles provide the
operator-useful prose.
Most "random" failures on custom builds — video noise at high throttle, FC reboots on fast descents, RSSI drop near the motor arms, GPS losing lock on takeoff — are power problems. The root causes are almost always the same: the power rail isn't clean, grounds aren't shared correctly, or high-frequency switching noise is coupling into sensitive electronics. This guide explains the full power path and the practical fixes for each failure mode. Review needed: performance / failure mode
The Power Path
Battery → Main leads → ESC power input → Motor phases
↓
Capacitor (parallel)
↓
BEC / Power module → FC + peripherals
↓
FC regulated 5V → Receiver, GPS, cameras
Every component in this chain is a noise source or noise victim. Understanding the direction current flows — and what happens at each transition — determines where problems originate.
The Battery and Main Leads
Lead Length and Inductance
Battery leads are inductors. Long leads store energy in their magnetic field; when current changes rapidly (like when a motor commutates), the inductor resists the change and generates a voltage spike. A 150mm pair of 12AWG leads on a 4S build can produce voltage spikes of 3–5V above the rail voltage during aggressive motor braking.
Keep main leads as short as physically possible. The target is under 100mm from connector to ESC power pads. On builds where the battery tray is remote from the ESC stack, use a low-impedance power distribution board rather than long leads.
Connector Choice
Connector
Continuous
Burst
Best For
JST-PH
2A
3A
1S micro builds
JST-XH
5A
8A
Balance connectors only
XT30
30A
60A
3" builds, sub-4S
XT60
60A
100A
Standard 5"–7" builds
XT90
90A
150A
Heavy-lift, 10"+
AS150
150A
300A
Very high current
Use the right connector for the current. An XT60 on a 12S heavy-lift build that pulls 200A peak will run hot and eventually fail. An XT90 on a 5" freestyle build adds 10g of unnecessary weight.
The Capacitor: The Most Ignored Component
The bulk capacitor across the ESC power input is the single most effective noise reduction measure on a custom build. Most builders omit it. Almost every builder who adds one later says "I wish I'd done that from the start."
What It Does
BLDC motors are switched loads. At the moment of commutation, the current draw changes sharply — the inductance of the motor winding releases stored energy back into the power rail as a brief voltage spike. Without a capacitor, this spike travels up the power leads to the battery and to every other component on the rail. With a capacitor, the spike is absorbed locally and dissipated.
The capacitor also acts as a local energy reservoir, keeping voltage stable during rapid throttle changes. When all four motors suddenly increase thrust simultaneously (a quick pitch-up), the current demand spikes before the battery leads can respond. The capacitor fills that gap.
Selecting the Capacitor
Low-ESR (Equivalent Series Resistance) electrolytic capacitors are the correct type. Ceramic capacitors have too low capacitance; standard electrolytics have too high ESR to absorb fast spikes.
Minimum specifications:
- Voltage rating: at minimum 1.5× your fully-charged battery voltage
- 4S (16.8V): use 35V or higher
- 6S (25.2V): use 35V or 50V
- 12S (50.4V): use 63V or higher
Capacitance: 470µF–1000µF for 4S–6S builds. Higher capacitance is better up to a point; above ~2200µF there's diminishing return and significant weight addition.
Placement: As close to the ESC power pads as physically possible. The leads between the capacitor and the ESC are part of the inductive loop — every millimeter counts. On a 4-in-1 stack, solder directly to the battery pads on the ESC board if layout permits.
Popular parts:
- Panasonic FR series 35V 1000µF — low ESR, compact
- Nichicon HE series 35V 470µF — very low ESR, common in FPV
- Nichicon UHE series 50V 680µF — good for 6S builds
BEC vs OPTO: Powering the FC
The BEC Problem
An ESC with a Battery Eliminator Circuit (BEC) steps down battery voltage to 5V to power the FC and receiver. Convenient, but the BEC shares a power and ground plane with the motor drive stage. Switching noise from the motor commutation can couple directly through the shared ground into the FC's microcontroller and ADC inputs.
On low-power 1S–3S builds with modest motor noise, this is rarely a problem. On 6S+ builds with large motors, it can cause:
- Gyroscope noise visible in Blackbox as high-frequency spikes
- Compass interference (magnetometer picks up switching fields)
- RSSI jitter on receivers sharing the 5V bus
- Video noise coupling through shared 5V to the VTX Review needed: performance / failure mode
The fix: Use a separate, isolated 5V power source for the FC. Options:
1. A dedicated linear regulator or low-noise DC-DC converter on the FC board's own input (most modern FC boards have this — check the schematic)
2. A separate BEC (dedicated 5V regulator) powered directly from the battery, isolated from the ESC
3. OPTO ESC (no BEC at all) + separate FC power input Review needed: performance / failure mode
Most FC boards sold in 2024+ have their own 5V regulator on a separate input. Use it.
FC Power Input Best Practice
Battery (4S–6S) → ESC (motor drive only, no BEC used)
Battery (4S–6S) → Separate 5V BEC → FC 5V input
FC 5V output → Receiver, GPS, cameras
On stacked FC/ESC builds, check whether the FC's 5V pin is powered from the ESC BEC or from its own regulator. Many "stacks" run everything off the ESC BEC to simplify wiring — this is convenient but electrically noisy.
Ground: The Most Misunderstood Conductor
What Ground Actually Is
"Ground" is not a zero-voltage reference point — it's a return current path. Current flows in loops. Every milliamp that flows from the battery through a motor flows back to the battery through the ground conductor. On a poorly designed build, all return current shares the same ground wire, and different currents interfere with each other.
The key principle: keep high-current return paths physically separate from low-current signal return paths.
The Ground Loop Problem
A ground loop occurs when a circuit has multiple ground return paths, creating a loop of wire with varying potentials at different points. The symptom is usually video interference — a rolling bar in the FPV feed that gets worse with motor speed.
Classic ground loop: VTX and camera share the same ground wire as the ESC. Motor switching current flows through this shared ground, inducing a voltage across the impedance of the wire, which appears as noise in the video signal.
Fix: Separate the video ground from the power ground. Use a capacitor or ferrite bead in series with the video ground return. Many FPV cameras include this; many do not.
Common Ground Rule
The FC must share a common ground with every component it communicates with. UART RX/TX, PWM outputs, analog inputs — all require a shared ground between the FC and the peripheral. Floating grounds cause erratic behavior: random telemetry values, ESC calibration failures, GPS lock issues.
On every UART connection:
FC TX → Peripheral RX
FC RX → Peripheral TX
FC GND → Peripheral GND ← this wire is as important as the data wires
The ground wire on a UART connection can be the same wire as the 5V supply ground if the peripheral is powered from the FC's 5V rail. If the peripheral is independently powered (e.g., a VTX running off battery directly), a separate ground wire from the FC to the peripheral is required.
EMI: High-Frequency Noise Sources and Victims
Sources of EMI on a UAS
Source
Frequency Range
Victims
Evidence
ESC motor commutation
10kHz–500kHz
FC gyro, magnetometer, video
—
Motor magnets (mechanical)
RPM-dependent
FC gyro (via vibration)
—
2.4GHz receiver
2.4GHz
GPS L1 (1.575GHz — adjacent)
—
5.8GHz VTX
5.8GHz
Remote ID (5.8GHz WiFi), FPV
Review needed: regulatory
Remote ID (WiFi/BT)
2.4GHz, 5.8GHz
RC links
Review needed: regulatory
GPS (L1)
1.575GHz
Nearby 1.8GHz links
—
Separation and Shielding
The practical rule: distance is the cheapest shielding. Double the separation and you cut radiated interference by 6–12dB depending on geometry.
GPS placement: As far from the VTX as the frame allows. The VTX is the strongest intentional emitter on the build; GPS is one of the most sensitive receivers. Minimum 10cm separation. Never stack GPS directly above a VTX.
Magnetometer: Move it as far as possible from motor wires and power leads. Motor current creates a magnetic field proportional to current flow. A magnetometer (compass) directly above a high-current ESC will read garbage at full throttle. 5–10cm separation from any high-current conductor is the minimum.
RC receiver: Antennas should be oriented so they're not parallel to motor wires. Perpendicular routing reduces coupling. Avoid routing receiver antenna wires along power leads.
Ferrite Beads
A ferrite bead is a passive component that attenuates high-frequency noise on a wire by increasing its impedance at radio frequencies while leaving DC and low-frequency signals unaffected.
Where to use them:
- In series on the 5V power line to the VTX (attenuates switching noise from BEC)
- In series on the video signal line between camera and VTX
- On the GPS power line if GPS noise is suspected
- In series on UART power lines for noisy peripherals Review needed: performance / configuration
Ferrite beads are passive noise mitigation — they address symptoms, not root causes. Fix the root cause first (capacitor, ground separation, physical layout), then add ferrite beads for any remaining residual noise.
Specific Failure Modes
"Video noise at high throttle"
Cause: Motor switching noise coupling into the video chain via shared power or shared ground.
Fix sequence:
1. Add/upgrade capacitor on ESC power pads
2. Power VTX from a separate filtered 5V source (not direct battery or ESC BEC)
3. Add ferrite bead in series on VTX power wire
4. Add ferrite bead on video signal wire
5. Check for ground loops — is the camera ground connected to FC ground connected to ESC ground? If so, try breaking one path Review needed: performance / failure mode
"FC reboots on fast descent / motor braking"
Cause: Regenerative braking. When motors decelerate rapidly (fast descent, motor_stop in Betaflight), they briefly act as generators, pushing current back into the power rail. Without a large capacitor to absorb this, voltage spikes above the FC's operating limit.
Fix:
1. Add a larger capacitor (1000–2200µF) close to the ESC power input
2. Enable bidirectional DShot and disable motor_stop (use digital idle instead)
3. Verify the FC's input voltage range — some FCs have poor voltage spike tolerance Review needed: performance / failure mode
"GPS drops lock on throttle up"
Cause: RF interference from ESC switching reaching the GPS receiver's front end.
Fix sequence:
1. Physically move GPS further from ESC stack
2. Move GPS antenna clear of motor wires (route away from arms)
3. Ensure GPS module has its own filtered 5V supply
4. Add ferrite bead on GPS power wire
5. If using a combined GPS/compass module, check compass for interference (see magnetometer section above) Review needed: performance / failure mode
"RSSI drops when VTX is active"
Cause: 5.8GHz VTX output reaching the 2.4GHz RC receiver's RF front end (harmonic mixing), or physical proximity causing desensitization.
Fix:
1. Move VTX antenna away from receiver antennas — minimum 5cm, perpendicular if possible
2. If using a 5.8GHz VTX near an ExpressLRS 2.4GHz receiver, verify no receiver de-sense (the LNA in the receiver can be driven into compression by a nearby strong transmitter at a nearby frequency)
3. Consider using a different VTX frequency band if the problem persists
"Gyro noise / oscillations with no obvious cause"
Cause: Electrical noise from ESC coupling into the gyroscope via the power rail or PCB traces.
Fix:
1. Add capacitor to ESC power input
2. Use soft-mounting for the FC stack (rubber standoffs) — vibration and electrical noise often appear together
3. Enable RPM filtering (requires bidirectional DShot) — this directly removes motor-frequency noise from the gyro signal
4. Check ESC firmware version — older BLHeli_32 / AM32 versions have known noise issues; update Review needed: performance / configuration / failure mode
Power Budget: Know Your Numbers
Before a build is complete, calculate the total power draw to verify the battery and BEC can handle every component simultaneously.
Component
Typical Draw
Flight controller
200–500mA at 5V
GPS module
50–150mA at 5V
RC receiver (ELRS)
100–200mA at 5V
FPV camera
100–200mA at 5V
VTX (5.8GHz, 500mW)
1–2A at 5V
LED strip (per meter)
300–1000mA at 5V
Companion computer (Pi Zero)
200–500mA at 5V
A 5" freestyle quad with FC + GPS + ELRS + camera + VTX draws roughly 2.5–4A at 5V continuously. A 1A BEC will thermal-shutdown. Use a 3A minimum BEC; 5A for builds with companion computers or many LEDs.
Tracking total wattage: Multiply 5V draw by 5, then divide by battery efficiency (~85%) to get the battery watts consumed by electronics alone. On a 4S (14.8V) build drawing 3A at 5V, that's 15W from electronics, ~18W from the battery — a non-trivial portion of total power on a lighter build.
Every UAS failure chain eventually traces back to power. Voltage sag
kills motors. Brownouts reset FCs mid-flight. Bad BECs corrupt GPS.
Getting power right is the foundation everything else sits on.
Battery Chemistry
LiPo (Lithium Polymer)
The default for FPV and short-duration multirotor. High discharge rate,
light weight, but degrades fast and is fire-hazardous when damaged.
Spec
Typical Range
Notes
Evidence
Energy density
150–200 Wh/kg
—
C-rate (continuous)
25–100C
Higher C = heavier
—
Cycle life
100–300 cycles
80% capacity threshold
—
Storage voltage
3.8V/cell
Never store full or empty
—
Charge rate
1–5C
1C safest for longevity
—
Failure mode
Fire/explosion if punctured
Serious hazard
Review needed: safety / failure mode
When to retire: puffing, capacity <80% of rated, inner resistance
rises >50% from new. Measure capacity with charger discharge test.
LiIon (Lithium Ion)
Better for endurance builds. Lower C-rate means heavier for the same
discharge current, but 3–5× the cycle life and lower fire risk. Review needed: safety / performance
Spec
Typical Range
Notes
Energy density
200–265 Wh/kg
Molicel P42A, Samsung 50S
C-rate (continuous)
5–15C
Much lower than LiPo
Cycle life
300–500 cycles
Better long-term economics
Storage voltage
3.6V/cell
Less sensitive than LiPo
Charge rate
0.5–1C
Slow charging extends life
Best cells: Molicel P42A (procurement status unverified, Canadian brand), Samsung 50S
(South Korean), Panasonic NCR21700A (Japanese).
LiFePO4 (Lithium Iron Phosphate)
For ground equipment, GCS, and battery banks. Very safe, 2000+ cycle
life, but lowest energy density (~120 Wh/kg). Rarely used in airframes.
BEC Selection
A BEC (Battery Eliminator Circuit) provides regulated 5V (or 12V) from
the main battery. Choosing the wrong one causes brownouts.
Linear vs Switching
Type
Efficiency
Heat
Noise
Use
Linear (LDO)
30–60%
High
Low
FC only, <1A
Switching (SMPS)
85–95%
Low
Higher
Payload power
Never power a high-current payload from a linear BEC. The wasted
power becomes heat and can cause thermal shutdown mid-flight.
Size by voltage rail and measured load. A current figure without its voltage cannot be added to currents on other rails. List each load's rail voltage, steady/peak/inrush demand, permitted supply range and converter efficiency/thermal derating. For example, an illustrative 10 W load on 5 V draws 2 A at that rail before losses. Select a regulator using its exact data sheet and validated transients, wiring and cooling; there is no universal 15 A minimum for every aircraft. The table above is illustrative, not an installation acceptance test.
Separate BECs for FC vs Payload
The FC must have a stable, noise-free power supply. Payload power spikes
(disk writes, motor startup) should not sag FC voltage. Use two BECs:
Motor switching creates voltage spikes that can destroy ESCs and reset
FCs. A capacitor bank at the PDB absorbs these spikes.
Rule of thumb: 1000µF per 10A of peak current draw.
For a 4S 60A system: 6000µF minimum. Use low-ESR caps (electrolytic
or polymer capacitors rated to 25V+ for 4S).
Wiring Gauge
Current
Gauge (AWG)
Max length
<10A
22 AWG
Short runs only
10–20A
20–18 AWG
20–40A
16–14 AWG
40–80A
12–10 AWG
80–120A
8 AWG
Use silicone wire (flexible, heat-resistant). Keep power runs as short
as possible — every centimeter is resistance and voltage drop.
Voltage Sag Under Load
The voltage you see at rest is not the voltage you see under full throttle.
Typical sag on a fresh LiPo:
- 4S at rest: 16.8V
- 4S at 50% throttle: 15.5V
- 4S at 100% throttle: 14.0–14.5V
Configure low-battery failsafe for the voltage under load, not at rest.
A 3.5V/cell failsafe at rest becomes a 3.3V/cell under load — below
the safe minimum for LiPo.
For field operations, prioritize:
- Multi-chemistry support (LiPo, LiIon, NiMH)
- AC/DC input (can charge from car 12V or generator)
- Parallel charging capability (charge multiple packs simultaneously)
- Balance charging (essential for longevity)
Charge multiple batteries simultaneously at the same voltage in parallel.
Only parallel charge batteries of the same cell count and similar state
of charge. Never mix 4S and 6S. Never mix fresh and deeply discharged.
Risk: if one battery has a damaged cell, it can pull down the others
and cause a fire. Inspect before parallel charging.
Temperature Limits
Charge: only charge at 0°C–45°C. Below 0°C causes lithium plating.
Discharge: LiPo performs best at 20°C–40°C. Cold batteries (below 10°C)
sag more and deliver less capacity.
Pre-warm cold batteries before flight: insulated bag, hand warmers, or
brief low-throttle hover before full-power maneuvers.
EMI and Power Cleanliness
Common Noise Sources
ESCs: high-frequency switching (20–40kHz)
SMPS BECs: switching ripple (50–300kHz)
Video transmitters: RF coupling into power lines
LTE modems: 700MHz–2.1GHz into DC rails
Mitigation
Ferrite beads on power leads to FC and GPS — absorb HF noise.
Capacitors at the FC power input — 100µF electrolytic + 0.1µF ceramic
in parallel. Low-ESR combination suppresses both low and high frequency.
Physical separation — route power cables away from signal cables.
GPS cable especially sensitive — keep away from motor wires and VTX.
Ground plane — in custom builds, a solid ground plane under the FC
dramatically reduces noise pickup.
Battery Storage & Transport
Storage
Never leave fully charged >24 hours
Never leave discharged (below 3.5V/cell)
Store in fireproof LiPo bags
Room temperature (15–25°C) is ideal
Do not store in vehicles in summer (>60°C destroys cells)
Transport (FAA/TSA)
Carry-on only — checked baggage regulations prohibit spare LiPo
Each battery ≤100Wh (up to 2 batteries 100–160Wh with airline approval)
Propellers are the largest single category in the Forge database at 484
entries. They're also the most frequently replaced component — crashes,
vibration wear, and performance tuning all drive prop swaps. Choosing the
right propeller is a direct tradeoff between thrust, efficiency, noise,
and flight feel.
Diameter — distance from tip to tip. Must fit your frame.
Pitch — theoretical distance the prop advances in one revolution (in
inches). Higher pitch = more speed but more current draw. Lower pitch =
more hover efficiency and less aggressive feel.
Blade count — 2 (bi-blade), 3 (tri-blade), or 4+ (quad-blade).
Blade Count
Blades
Count in Forge
Characteristics
Bi-blade
40
Most efficient, smoothest, least thrust per diameter. Long range, cruising.
Tri-blade
267
The standard. Best balance of thrust, efficiency, and control feel. Freestyle/racing default.
Quad-blade
109
Maximum grip and thrust per diameter. Most current draw. Cinematic smoothness, heavy quads.
Tri-blade dominates because it's the sweet spot — enough thrust for
aggressive maneuvering, enough efficiency for reasonable flight times, and
enough damping for smooth video.
Bi-blade is the long-range choice. Less thrust means less drag in forward
flight, and lower current draw extends flight time. Used on 7" and 10" long-
range builds where efficiency matters more than agility.
Quad-blade provides maximum grip in the air — more responsive to throttle
inputs, better in propwash. Draws significantly more current. Used on heavy
builds (HD camera, payload) and cinematic quads where smooth authority matters.
Size Classes
Prop Size
Frame Class
Motor Size (typical)
Battery
Use Case
3" / 3.5"
3" micro
1404–1507
2–4S 450–850 mAh
Cinewhoops, indoor, micro FPV
4"
4"
1507–2004
4S 850–1300 mAh
Compact freestyle, proximity
5" / 5.1"
5"
2205–2306
4–6S 1100–1500 mAh
Freestyle, racing, general FPV
6"
6"
2207–2507
4–6S 1300–1800 mAh
Long range, cruising
7"
7"
2806–3115
6S 1500–2200 mAh
Long range, payload, tactical
9"–10"
10"
3115–4014
6S 3000–6000+ mAh
Heavy lift, bomber, payload delivery
The 5-inch class accounts for over half the propellers in the database (247
of 484), reflecting its dominance in FPV.
Pitch Selection
Pitch is the most impactful spec after diameter. Think of it as the prop's
"gear ratio."
Low Pitch (3.0–3.5")
More hover efficiency (less throttle needed to maintain altitude)
Smoother throttle response
Lower top speed
Lower current draw
Best for: long range, cinematics, cruising, heavy builds
Medium Pitch (4.0–4.5")
Balance of efficiency and speed
Standard freestyle feel
Moderate current draw
Best for: general FPV, freestyle, training
High Pitch (4.8–5.5"+)
Maximum speed and acceleration
Aggressive throttle response
High current draw (stresses ESCs and battery)
Less efficient at hover
Best for: racing, fast freestyle, experienced pilots
Rule of thumb: if you're building for flight time, go lower pitch. If
you're building for speed, go higher pitch. Most pilots land on 5x4.3 or
5.1x4.5 tri-blade as their default.
Prop Materials
Polycarbonate (PC)
The standard FPV prop material. Durable, flexible enough to survive minor
impacts without shattering, holds its shape reasonably well. Most HQProp and
Gemfan props are PC.
Glass Fiber Nylon
Stiffer than polycarbonate. Better efficiency (less flex under load = less
energy lost to blade deformation). More brittle — shatters on hard impacts
rather than bending. Some racing and premium props use this.
Carbon Fiber Reinforced
Stiffest option. Best efficiency at high RPM. Very brittle — shatters
violently on impact. Used in some racing and premium long-range props.
Expensive and not practical for training or high-crash-rate use.
Unbreakable / Durable Variants
Some manufacturers (Gemfan "Durable" series, HQProp "Durable" series) offer
softer, more flexible variants specifically designed to survive crashes. They
sacrifice some efficiency for longevity. Good for training and beginners.
Prop Balance
Out-of-balance props cause vibration, which degrades:
- Gyro readings → poor PID performance
- HD video quality → jello artifacts
- Motor bearing life → premature failure
- FC sensor accuracy → altitude hold drift Review needed: performance / failure mode
How to check: magnetic prop balancer. Place the prop on the balancer —
if one blade dips, it's heavier. Sand or scrape the heavy blade tip until
it balances level.
When to balance: always on a new build, and whenever you notice increased
vibration after prop replacement. Racing pilots often skip this; long-range
and HD cinematographers never skip it.
Prop Direction and Motor Mapping
FPV quads use two CW (clockwise) and two CCW (counter-clockwise) props:
CW(2) CCW(1)
\ /
[FC]
/ \
CCW(3) CW(4)
Betaflight's default motor order (looking down, nose forward):
- Motor 1 (rear right) — CCW
- Motor 2 (front right) — CW
- Motor 3 (rear left) — CW
- Motor 4 (front left) — CCW
Props in (blades rotating toward the center on top) is the Betaflight
default. This configuration provides slightly better yaw authority and
propwash handling.
Props out (blades rotating away from center on top) is an alternative
some pilots prefer for different wash characteristics. Requires reversing
motor direction in firmware.
Prop Damage Assessment
After every crash, inspect props before flying again:
Chips or missing blade tips — replace immediately. Unbalanced, vibration
will damage everything downstream.
Bent blades — PC props can sometimes be bent back. Fiber-reinforced props
cannot — replace.
Stress whitening — white marks at the root or along the blade indicate
stress fracture. The prop may hold for a flight or snap mid-air. Replace.
Leading edge nicks — small nicks from grass/debris are usually fine.
Large gouges or deformation = replace.
Props are cheap. Motors, FCs, and cameras are not. When in doubt, replace
the prop.
Military / Tactical Considerations
Noise Signature
Propellers are the primary source of drone noise. Lower RPM = quieter.
This favors larger props at lower pitch (7" or 10" bi-blade) for reconnaissance
and approach. Some military programs are exploring specially shaped blade tips
to reduce noise signature.
Attritable Supply
For military FPV operations at scale (Ukraine produces 8+ million drones/year),
prop supply chain matters. HQProp and Gemfan (both Chinese) dominate the
market. PROP UA (Ukrainian) produces locally. Supply chain diversification
is an active concern — see NDAA Compliance. Review needed: regulatory
Prop Selection for Strike Drones
Strike FPV drones (one-way attack) optimize differently than reusable builds:
- Maximum speed to target → high pitch, aggressive props
- Single flight only → durability irrelevant, cheapest option wins
- Current draw less important → battery sized for one mission
- Noise less important on attack run → priority is closing speed
Reconnaissance FPV drones optimize for:
- Maximum loiter time → low pitch, efficient props
- Minimum noise → large diameter, low RPM
- Reusability → durable props
Notable Manufacturers
Manufacturer
Count
Known For
HQProp
211
Largest selection, excellent quality, wide range from racing to long-range
Gemfan
179
Strong second, "Durable" series for crash resistance, Hurricane series
APC
19
Fixed-wing and large prop specialist, precision-molded
Azure Power
16
Premium racing props, glass fiber nylon
DALProp
14
Budget-friendly, cyclone design
PROP UA
5
Ukrainian manufacturer, local production for military supply chain
Part 6 — Components
When batteries aren't enough. Hydrogen fuel cells, hybrid-electric
engines, IC engines, and micro-turbines for endurance platforms.
When Electric Isn't Enough
Battery-powered multirotors dominate the small UAS market because
they're simple, reliable, and require no fuel handling. But batteries
have hard physical limits: current lithium-ion tops out at 260 Wh/kg
(conventional) to 520 Wh/kg (Amprius silicon anode). Gasoline stores
12,000 Wh/kg. Hydrogen stores 33,000 Wh/kg (though fuel cell system
weight reduces the practical advantage significantly).
For missions requiring hours of endurance, heavy payloads at range,
or VTOL-to-fixed-wing transition, non-electric propulsion fills the
gap that batteries physically cannot.
Hydrogen Fuel Cells
Fuel cells convert hydrogen directly to electricity. No combustion,
no moving parts in the cell itself. The electricity powers standard
brushless motors. Flight times of 2–5.5 hours are achievable vs.
30–50 minutes on batteries for equivalent platforms.
Doosan Mobility Innovation (South Korea)
The most commercially mature hydrogen drone platform.
Detail
Value
HQ
South Korea
Key Product
DS30W — world's first mass-produced hydrogen fuel cell drone
Flight Time
2 hours (no payload), extended with lighter loads
Range
Up to 80 km
Speed
Up to 80 km/h
Fuel Cell
DP30M2S powerpack, 2.6 kW
Voltage Range
40–74V output
System Weight
21 kg (with 10.8L tank), 20 kg (with 7L tank)
Payload
Up to 5 kg
Motors
8 (octocopter)
Fixed-Wing
DJ25 VTOL — 330 min endurance, 450 km range at 25 m/s
Awards
CES 2022 Innovation Award
The DS30W is available as a complete system or the DP30 powerpack
can be integrated into custom airframes. Doosan provides hydrogen
storage, transport cases, and monitoring via their View App.
The DJ25 fixed-wing VTOL is the endurance champion — 5.5 hours of
flight on hydrogen vs. ~2 hours on lithium batteries for equivalent
platforms.
HES Energy Systems (Singapore)
Hydrogen fuel cell systems optimized for UAS. Modular powerpack
design for integration into third-party airframes.
Pegasus Aeronautics (Canada)
Hydrogen-powered UAS systems. Focused on long-endurance applications.
Hybrid-Electric
Hybrid systems combine an internal combustion engine with electric
motors. The engine drives a generator that powers the electric
motors and charges batteries. This provides IC engine endurance
with electric motor simplicity and redundancy.
Currawong Engineering (Australia)
The most complete hybrid UAS powertrain manufacturer.
Based on Autronic SM4 platform (10,000+ units in field)
Protocols
DroneCAN, PiccoloCAN, UART
Partners
Veronte/Embention (autopilot integration), Honeywell (700+ EFI systems on T-Hawk)
Corvid-29: 29cc single-cylinder 2-stroke EFI. High power-to-weight.
Minimal maintenance. Passed two 150-hour FAR Part 33 endurance tests
without major overhaul. Turnkey system includes generator, power supply,
remote starter, isolation mount, low-noise exhaust.
Cortex-50 Hybrid: 50cc 2-stroke EFI with hybrid power architecture.
Bi-directional power flow — engine charges batteries while flying,
batteries supplement during peak demand. Cortex Hybrid Power System
(CHPS) provides up to 750W electrical, supports 6S–14S batteries
(24–56V), integrated engine restart. Single high-voltage battery
operation for VTOL quad-planes.
Heavy fuel option: UMAN-VP4F fuel for safer field operations
(non-volatile, stable). Power output comparable to petrol.
Hirth Engines (Germany)
Two-stroke UAS engines. German engineering, established manufacturer.
Models range from small tactical to medium endurance platforms.
ePropelled (UK/USA)
Partnership with Hirth Engines announced for next-gen hybrid systems.
Combining advanced IC engines with intelligent electric propulsion
and power management. Prototype demonstrations expected early 2026.
Internal Combustion (Direct Drive)
IC engines driving propellers directly. Simpler than hybrid (no
generator/motor conversion losses) but limited to fixed-wing or
single-rotor configurations.
Rotron / Aero Design Works (Australia)
Wankel rotary engines for UAS. Compact, high power-to-weight,
smooth operation (no reciprocating vibration). Used in medium
endurance fixed-wing and VTOL platforms.
Multi-fuel including JP-5, JP-8, Jet-A, diesel, biofuels
Demonstrated
480 lb TigerShark drone platform
Micro-turbines offer superior reliability, fuel flexibility, lower
noise, and lower total cost of ownership vs. diesel/piston engines.
The challenge has always been miniaturization — components like
ignitors, pumps, and compressors require complete redesign at
micro scale, not just scaling down.
UAVT's APEX generator sets are also positioned for man-portable
ground power — 3-4× more generators per helicopter/truck load
than conventional diesel units.
Choosing Propulsion
Method
Endurance
Complexity
Best For
Evidence
Battery (LiPo/Li-Ion)
20–50 min
Low
Small multirotor, FPV, tactical
—
Battery (Amprius SiCore)
40–90 min
Low
Extended multirotor, high-value ISR
—
Hydrogen Fuel Cell
2–5.5 hr
Medium
Long endurance, BVLOS, delivery
Review needed: regulatory / performance
Hybrid-Electric
2–8 hr
High
VTOL fixed-wing, heavy payload
—
IC Direct Drive
4–24+ hr
Medium
Fixed-wing ISR, MALE class
—
Micro-Turbine
4–12+ hr
High
Group 3-4 platforms, heavy payloads
—
Battery if you can. Electric is simpler, more reliable, and
cheaper to operate. Only go non-electric when battery endurance
is genuinely insufficient for the mission.
Hydrogen for clean endurance. No exhaust emissions, no
vibration from combustion. But hydrogen handling requires
training and infrastructure (storage, transport, refueling).
Hybrid for VTOL transition. Quad-plane designs (vertical
takeoff, horizontal cruise) benefit most from hybrid — electric
for hover, engine for cruise efficiency.
IC/turbine for maximum endurance. When you need a platform
in the air for 8+ hours, combustion is the only practical option
with current technology.
Fuel logistics matter. JP-8/Jet-A compatibility (UAV Turbines,
Currawong heavy fuel) simplifies military logistics. Hydrogen
requires dedicated supply chain.
Motor, ESC, prop, and battery are a single system. Change one and you've changed all of them. Most build failures — insufficient hover time, thermal shutdown, desync, weak punch-out — trace back to a mismatch somewhere in this chain. This guide walks the selection process from frame weight to battery spec, in the order you should actually make the decisions.
The Selection Order
Frame weight → thrust-to-weight ratio → motor → prop → ESC → battery
Never start with the motor. Start with what you need the system to do.
Step 1: Establish Your All-Up Weight
All-up weight (AUW) is the total flying weight: frame + motors + ESC + FC + battery + payload + wiring. Before you know your AUW you don't know anything else.
For a first build, estimate: weigh the frame, add ~30g per motor, ~20g for the ESC stack, ~30g for FC + GPS + wiring, then the battery (usually the biggest variable). Your payload weight is fixed — design around it, not against it.
Thrust-to-weight ratio (TWR) is total maximum thrust divided by AUW. It determines what the aircraft can do.
Application
Minimum TWR
Recommended TWR
Stable photography / mapping
2:1
3:1
General utility / survey
3:1
4:1
Freestyle / sport
4:1
6–8:1
Racing
8:1
10–14:1
Payload delivery (heavy-lift)
2.5:1
3.5:1
A 2:1 TWR means the motors produce exactly twice the aircraft's weight at full throttle. This sounds like plenty, but it means you're flying at ~50% throttle just to hover — leaving almost no margin for wind, attitude corrections, or payload variation. For anything other than calm, stable survey work, 3:1 is a better floor.
A 700g 5" quad targeting 5:1 TWR needs 3,500g total thrust — 875g per motor on a quad.
Step 3: Select the Motor
KV Rating
KV is RPM per volt with no load. Higher KV = higher RPM at a given voltage, smaller prop needed. Lower KV = lower RPM, larger prop, more torque, more efficient at extracting thrust from large slow propellers.
KV × prop size × voltage must balance. The constraint is that tip speed (prop diameter × RPM) should stay below roughly 200m/s for efficiency, and prop loading (thrust per square centimeter of disc area) should stay in the efficient range.
Frame / Prop
Battery
Typical KV Range
3" micro / cinewhoop
3–4S
2000–3000 KV
5" FPV freestyle
4–6S
1700–2400 KV (4S), 1400–1700 KV (6S)
5" long-range
6S
1300–1700 KV
7" long-range
4–6S
1300–1600 KV
10" survey
4–6S
700–1200 KV
Heavy-lift 15"+
6–12S
100–400 KV
Higher voltage = lower KV for the same prop. Running a 1750 KV motor on 4S (16.8V) gives ~29,400 RPM. The same prop on 6S (25.2V) would give ~44,100 RPM — too fast for most 5" props and brutally inefficient. Drop to ~1200 KV for 6S with a 5" prop to hit the same RPM range.
Stator Size
Motor stator is described as WWHHmm: width × height in millimeters. A 2306 motor has a 23mm wide, 6mm tall stator.
Larger stator = more copper = more torque = better for larger props
Taller stator = more winding depth = higher torque at similar width
Wider stator = faster motor, better for higher RPM applications
Prop Size
Typical Stator
2–3"
1103–1306
3–4"
1404–1606
5"
2203–2306
6–7"
2407–2806
8–10"
3110–3515
12"+
4012–4114+
Thrust Curves
Always verify thrust against manufacturer data at your target voltage. Rated thrust is usually at full throttle on the test bench — your hover throttle should be 40–60% of max thrust, not 70%+. If you're hovering at 70% throttle you have no margin left.
Step 4: Select the Propeller
Diameter
Larger diameter = more air moved per revolution = more efficient thrust per watt (at low speed). But larger props are heavier, have more gyroscopic effect, and react more slowly to throttle changes.
Match prop diameter to your motor stator (see table above) and verify clearance in your frame. Standard clearance is at least 10% of prop diameter between the tip and the nearest obstruction.
Pitch
Pitch is the theoretical distance the prop advances per revolution in inches. Higher pitch = more thrust per RPM at higher airspeeds but less efficient at hover. Lower pitch = more efficient hover but less top speed.
Application
Pitch Target
Hover efficiency / mapping
Low pitch (3–4")
General purpose
Medium pitch (4.3–4.5")
Speed / aggressive freestyle
High pitch (5–6"+)
Blade Count
Two-blade propellers are more efficient at lower RPMs. Three-blade props move more air per revolution (higher thrust at same RPM) but are less efficient. Four-blade props are even less efficient but provide smoother thrust, useful for cinematography where prop wash artifacts matter more than flight time.
Changing Props Requires Retuning
Every prop change is a PID tuning event. A new prop of the same nominal spec from a different manufacturer — different weight, rigidity, blade profile — will change the aircraft's response. If you swap props, run a Blackbox session and check for oscillations before putting on a camera.
Step 5: Select the ESC
Amperage Rating
ESC continuous current rating must exceed the motor's maximum current draw with margin.
ESC amperage ≥ motor max current × 1.25 (25% margin minimum)
Motor max current is on the datasheet, measured at the test voltage with the test prop. Your combination may differ — verify with a watt meter on the first flights.
4-in-1 vs individual ESCs:
- 4-in-1: cleaner build, lighter, centralized mass. Standard for 3"–7" builds. Thermal density is higher — heat from all four ESCs in one package.
- Individual: better thermal management, field-replaceable. Better for 8"+ where each motor draws more current.
Protocol
Protocol
Type
Notes
PWM
Analog
Legacy. Avoid on new builds.
OneShot125/42
Analog hybrid
Obsolete.
Multishot
Analog hybrid
Obsolete.
DShot150/300/600
Digital
Standard for 2024. Use DShot300 or DShot600.
DShot1200
Digital
For F7/H7 FCs at high loop rates.
Bidirectional DShot
Digital + telemetry
Enables RPM filtering. Required for dynamic notch. Use this.
ProShot
Digital
Rare, not widely supported.
Use Bidirectional DShot on any modern build. It enables RPM-based notch filtering in Betaflight/ArduPilot, which is the single biggest filter improvement available.
BEC vs OPTO
BEC (Battery Eliminator Circuit): ESC includes a 5V regulator to power the FC/receiver. Convenient for simple builds but introduces a potential noise coupling path between the power stage and flight controller.
OPTO: No integrated BEC — FC must be powered separately. Eliminates one noise path. Required on high-amperage builds where a BEC would be thermally stressed.
On modern FC stacks with a dedicated 5V regulator on the FC board, OPTO ESCs are often the cleaner choice even on small builds.
Capacitor
Solder a low-ESR electrolytic capacitor (typically 35V 1000µF or 50V 470µF) as close to the ESC power input as possible. Without it, voltage spikes from motor commutation will reach the flight controller, causing video noise and occasional FC brownouts. This is the number one overlooked step in custom builds.
Step 6: Select the Battery
Cell Count (Voltage)
Battery voltage directly determines motor RPM (KV × V = RPM). Select cell count to put your motor in the right RPM range for your prop at your target hover throttle.
Cell Count
Nominal V
Fully Charged
1S
3.7V
4.2V
2S
7.4V
8.4V
3S
11.1V
12.6V
4S
14.8V
16.8V
6S
22.2V
25.2V
8S
29.6V
33.6V
12S
44.4V
50.4V
Higher voltage on the same motor gives more power but also more heat. Verify your motor, ESC, and FC are rated for the voltage you're using — this is particularly important on the FC (many are 3–6S only).
Capacity (mAh)
More capacity = heavier battery = lower effective payload capacity and potentially lower TWR. There's a crossover point where adding battery capacity reduces flight time because the extra weight costs more than the extra energy provides.
Average current is typically 30–50% of maximum current on a well-matched build at moderate flying.
C Rating
C rating × capacity_Ah = maximum continuous discharge current.
Peak current required = motor_max_current × motor_count
Required C rating = peak_current / capacity_Ah
A 4S 1500mAh (1.5Ah) pack powering four 35A-max motors needs to supply up to 140A peak — requiring a C rating of at least 93C. In practice, most LiPo packs are de-rated; buy at least 1.5× the required C rating.
Chemistry comparison:
Chemistry
Energy Density
Discharge Rate
Weight
Cycle Life
Use Case
LiPo
150–200 Wh/kg
Very high (C-rated)
Light
200–400 cycles
Racing, freestyle, high-performance
Li-Ion
200–265 Wh/kg
Moderate (2–5C typical)
Similar
500–1000 cycles
Long-range, mapping, endurance
LiHV
155–210 Wh/kg
High
Light
200–350 cycles
FPV, cinematography (4.35V/cell)
LiFePO4
90–120 Wh/kg
Moderate
Heavy
2000+ cycles
Heavy-lift, ground vehicles
Li-Ion is often the right call for long-range or mapping builds where flight time matters more than peak power. A 21700 cell pack will typically give 30–50% more flight time than a same-weight LiPo because of its higher energy density, at the cost of lower peak discharge. Review needed: performance / commercial
Common Failure Modes and Their Root Causes
Symptom
Likely Cause
Fix
Motors hot after short flight
Under-rated KV for voltage; prop too aggressive
Lower KV or cell count; reduce pitch
Short flight time
Hover throttle >60%; battery over-C-rated for weight
The battery is slightly marginal here — the 1000mAh 100C pack provides 100A discharge vs 140A peak demand. A 1300mAh pack at 80C gives 104A (still marginal) or a 1500mAh at 100C gives 150A (comfortable margin but heavier). This is the typical LiPo weight-vs-margin tradeoff for freestyle builds.
Forge cross-reference: 391 entries in receivers category Related handbook chapters: CRSF & ELRS Protocol, Control Link TX, Flight Controllers
The Control Link
The receiver is the drone side of your radio control link. It decodes signals from your ground transmitter and delivers stick/switch commands to the flight controller, while optionally sending telemetry back to the pilot. Getting receiver selection right determines your effective control range, link resilience under interference, and whether you can run encrypted binding in contested environments.
The market consolidated dramatically between 2020–2024. FrSky's ACCST protocol and Spektrum DSM fragmented the market for years. ELRS (ExpressLRS) unified the performance tier and is now the de facto standard for anything that needs range or low latency. Understanding why requires understanding the protocols. Review needed: performance / configuration
Protocol Landscape
ExpressLRS (ELRS) — The Current Standard
ExpressLRS is an open-source radio control link protocol that launched as a community project in 2020 and has become the dominant choice for performance FPV and increasingly for fixed-wing BVLOS work. It runs on SX127x (900MHz) and SX1280 (2.4GHz) LoRa radio chips. Review needed: regulatory / configuration
Why ELRS won:
- Packet rate — 500Hz standard, up to 1000Hz for racing, down to 25Hz for maximum range. Adjustable in the field.
- Range — At 100mW, 25Hz packet rate: 40km+ documented. At 250mW with directional TX: 80km+ documented.
- Latency — 6.5ms at 500Hz. Competitive with wired connections for all practical purposes.
- Open source — No manufacturer lock-in. Any ELRS TX module works with any ELRS receiver from any brand.
- Encryption — MILELRS branch adds AES-128 encrypted binding. See components/military-firmware-forks.md.
- Frequency hopping — ELRS uses FHSS to reduce vulnerability to narrowband jamming. Review needed: performance / configuration / failure mode
Frequency options:
- 900MHz ELRS — Better penetration through obstacles, better range at equivalent power. More susceptible to 900MHz interference (LTE). Standard for long-range and most military-adjacent applications.
- 2.4GHz ELRS — Lower power draw, smaller antennas, higher update rates at medium range. Preferred for racing and freestyle. More susceptible to 2.4GHz WiFi/interference. Review needed: performance / failure mode
Team BlackSheep Crossfire (TBS Crossfire) introduced the CRSF protocol and the concept of low-latency, long-range RC links to the consumer market in 2017. CRSF (the protocol) is now used by ELRS, Tracer, and others — it's the serial communication format, not the RF link itself. Review needed: performance / configuration
TBS Crossfire:
- 868/915MHz FSK radio link
- Up to 40km+ range at 2W
- CRSF serial protocol (19200 baud) — the standard for FC integration
- Robust to interference, proven in real deployments
- Nano receiver: 1.5g, excellent for long-range builds
- Downside: proprietary, more expensive than ELRS, slower adoption of new features Review needed: performance / configuration / failure mode
TBS Tracer:
- 2.4GHz variant of Crossfire
- Faster update rates than Crossfire 900MHz
- Smaller antennas
- Less range than Crossfire 900MHz
FrSky — Legacy Market
FrSky dominated the market from ~2012–2020 with their ACCESS/ACCST protocols. Still widely deployed. Their XM+, R-XSR, and RX4R receivers are extremely common on builds from that era.
SBUS output — FrSky receivers output SBUS (inverted serial), which all flight controllers accept
F.Port — Combines SBUS + telemetry in a single wire, reducing wiring complexity
Range — Competitive at shorter distances, significantly worse than ELRS/Crossfire at range limits
Status — No longer the choice for new builds, but massive installed base
Spektrum DSM — RC Airplane Legacy
DSM2/DSMX protocol common in fixed-wing, sailplane, and RC helicopter applications. Spectrum analyzers the older generation of fixed-wing aircraft. DSMX adds frequency hopping for interference resistance. Review needed: configuration / failure mode
Mostly relevant for integrating drones with existing Spektrum radio systems
Not competitive with ELRS for range or latency
Some ELRS receivers support DSM satellite input for legacy compatibility
FlySky AFHDS 2A — Budget Tier
FlySky's AFHDS 2A protocol is common on budget platforms (Eachine, some Hubsan, budget quads). IBUS serial protocol. Not used in serious builds.
Procurement status
Country/headquarters is an origin attribute, not a compliance determination. Check the exact SKU, assembled configuration, buyer and applicable authority using federal procurement screening.
Form Factor Guide
Nano Receivers (1–2g)
The standard for 3–7" FPV builds. Solder directly to UART pads on the FC. Typically 15×11mm or smaller.
No external antenna option on most — rely on ceramic chip antennas or small dipoles
Micro Receivers (2–5g)
Slightly larger, typically with JST connector and better antenna options. Good for 5–10" builds where you have room.
Full-Size Receivers (5–25g)
Fixed-wing, large platforms, when you need full telemetry channels, multiple satellite inputs, or SBUS + S.Port. The FrSky R9M/RX series falls here.
AIO (All-in-One) FC+RX
Many flight controllers now include an integrated ELRS receiver, eliminating the separate RX entirely. Examples: SpeedyBee F405 Wing ELRS, Holybro Kakute H7 ELRS. The RX shares the MCU clock and requires no UART allocation.
Integration
UART Configuration
ELRS/CRSF receivers connect via UART (TX→RX, RX→TX). In Betaflight/INAV:
Enable Serial RX on the UART the receiver is wired to
Set Receiver Mode: Serial-based receiver, CRSF
Set RSSI Channel if using ELRS RSSI telemetry
ELRS also supports signal inversion on some FCs — verify set sbus_config is not inverted for CRSF.
Betaflight ELRS Setup
set receiver_type = SERIAL
set serialrx_provider = CRSF
set serialrx_inverted = OFF
set serialrx_halfduplex = OFF
UART speed for CRSF: 420000 baud is standard. Ensure your FC UART supports 420k — most F4/F7/H7 boards do. Review needed: performance / configuration
Antenna Placement
The single most impactful factor for link reliability after receiver selection:
Minimum 30° separation between the two receiver antennas
Keep antennas away from carbon fiber — CF is conductive and absorbs RF. Mount on plastic standoffs or route antennas outside the frame.
Vertical polarization matches transmitter antennas on most ground setups
For 900MHz: Antennas should ideally be ≥75mm long (quarter-wave). Longer = better omnidirectional pattern.
Failsafe Configuration
Configure failsafe BEFORE your first flight. In Betaflight:
In the Failsafe tab, set Stage 2 failsafe to LAND (altitude-aware) or SET_THROTTLE → 0 depending on platform
Set failsafe_throttle to something that won't crash but will descend (if no barometer)
Test failsafe by turning off TX while motors are not spinning — verify expected behavior
For ArduPilot/PX4, set FS_THR_ENABLE and FS_THR_VALUE and test in SITL before flight.
Forge Cross-Reference
Use the current source catalog for discovery; independently verify exact hardware, release, availability and procurement evidence.
Remote ID Decision Guide for Custom UAS — United States
Verified: July 31, 2026 Scope: Civil operations in the United States, primarily under 14 CFR Part 107 or the Exception for Limited Recreational Operations of Unmanned Aircraft. Use: Preliminary operational screening—not an FAA authorization, Declaration of Compliance, or substitute for operation-specific advice. Review needed: regulatory
Remote ID obligations depend first on why and how the aircraft is being operated, then on registration status and the exact aircraft or broadcast module being used. A custom build is not exempt merely because it was assembled by the operator, uses open-source flight-control firmware, or weighs less than 250 grams. Review needed: regulatory / configuration
The governing rule is 14 CFR Part 89. The FAA states that drones required to be registered or actually registered must comply with Remote ID unless an authorized exception or deviation applies. Review needed: regulatory
The decision tree
Step 1 — Identify the operating rule
Use the rule for the actual flight, not the aircraft's marketing category.
Operation
Starting point
Evidence
Work, business, inspection, mapping, paid or unpaid service, most organizational use
Part 107 unless another authority applies
—
Purely personal recreation meeting every requirement of 49 U.S.C. § 44809
Limited recreational exception
—
Public aircraft, complex Part 91, waiver-based, research, or other special operation
Confirm the specific authorization with the FAA
Review needed: regulatory
The FAA advises operators who are unsure whether a flight is recreational to assume Part 107 and satisfy Part 107 requirements. Review needed: regulatory
Step 2 — Determine whether registration is required
Operating rule
Registration result
Evidence
Part 107
Each aircraft/device must be registered, including aircraft under 250 g
—
Limited recreation, aircraft 250 g or more
Registration required
—
Limited recreation, aircraft under 250 g
Registration is generally not required if the flight qualifies fully for the recreational exception
—
Aircraft voluntarily registered even though not otherwise required
Remote ID requirements generally apply because the aircraft is registered
Review needed: regulatory
Weigh the complete aircraft in its normal flight configuration, including its battery and permanently or routinely installed equipment.
Step 3 — If registered or required to be registered, select a compliance path
The FAA identifies three ordinary operating paths:
Operate a Standard Remote ID drone.
Operate a drone fitted with an FAA-accepted Remote ID broadcast module.
Operate a drone without Remote ID equipment inside a FRIA, within the FRIA boundary and visual line of sight.
A separate FAA Letter of Authorization may permit an eligible operator to deviate from Remote ID requirements for a defined purpose. Do not assume that a waiver, research project, government customer, or event automatically creates that authorization.
Path A — Standard Remote ID drone
A Standard Remote ID drone is produced with built-in Remote ID capability and broadcasts required identification and location information about the aircraft and control station.
Before treating an aircraft as Standard Remote ID compliant: Review needed: regulatory
Confirm the listing is for Standard Remote ID, not only a broadcast module with a similar product name.
Use the Remote ID serial number supplied or displayed by the manufacturer.
Enter that Remote ID serial number in the appropriate FAA registration record.
Follow the manufacturer's current operating and update instructions.
A flight-controller setting, Wi-Fi beacon, open-source package, or serial number entered by the user does not by itself convert a custom aircraft into a Standard Remote ID aircraft. The FAA accepts Declarations of Compliance from manufacturers, not individual operators attempting to certify an improvised configuration.
Path B — Remote ID broadcast module
A broadcast module can retrofit an aircraft that was not produced as a Standard Remote ID drone. It broadcasts identification and location information about the aircraft and its takeoff location.
Confirm the listing identifies it as a Remote ID broadcast module.
Obtain the module's Remote ID serial number from the device or manufacturer documentation.
Register the module and aircraft information using the FAA's current DroneZone process.
Follow the module manufacturer's installation, power, placement, firmware, and status-indication instructions. Review needed: performance / configuration
Operational limitation
The FAA states that a pilot using a broadcast module must be able to see the drone at all times during flight. A broadcast module is therefore not a general solution for BVLOS operation.
Recreational inventory versus Part 107
The registration treatment differs:
Recreational: A recreational operator may use one registration number for the devices in the recreational inventory. The FAA permits a broadcast module to be moved among listed non-Standard-Remote-ID drones when the module's Remote ID serial number and each aircraft make/model are entered as instructed in DroneZone.
Part 107: Each individual Standard Remote ID drone or broadcast module is registered separately and receives a unique registration number. Do not reuse the recreational inventory procedure for Part 107 devices. Review needed: regulatory
The registration number marked on the aircraft and the Remote ID serial number are different fields. Do not substitute the FAA registration number for the manufacturer-assigned Remote ID serial number.
Path C — FAA-Recognized Identification Area
A FRIA is a defined location where an aircraft without Remote ID equipment may be operated.
For an aircraft relying on the FRIA path:
the aircraft must remain inside the FRIA boundary;
the aircraft must remain within visual line of sight;
the operator must comply with every other rule applicable to the flight;
the operator should verify that the FRIA is current before the flight.
A FRIA does not make an aircraft compliant everywhere else and is not a portable exemption that follows a club, school, or operator to another location.
Custom-build guidance
For most one-off Betaflight, iNav, ArduPilot, PX4, or independently assembled aircraft, the lowest-ambiguity path is:
Determine the actual operating rule.
Register the aircraft/device under the correct dashboard when required.
Select a broadcast module listed under an FAA-accepted Declaration of Compliance.
Install it exactly as the manufacturer specifies.
Enter the module's Remote ID serial number in DroneZone.
Verify the module reports normal status before flight.
Maintain visual line of sight when relying on the broadcast-module path.
Do not assume that generic firmware support is a compliance approval. Firmware may provide position data or transport to a module, but compliance depends on the complete declared product/configuration and the operator's registration and operating practices. Review needed: regulatory / configuration
No firmware commands are prescribed here
Remote ID implementation details change across firmware, hardware targets, modules, and releases. A command should appear in this handbook only after it is verified against: Review needed: regulatory / configuration
the official documentation for the exact firmware version;
the exact aircraft and flight-controller target;
the exact FAA-accepted module or Standard Remote ID product;
a documented bench and flight-status test;
the current FAA registration workflow.
Until those conditions are met, use the module or aircraft manufacturer's instructions rather than an unverified CLI recipe.
Registration and serial-number checklist
Before submitting or editing a registration:
[ ] Confirm whether the operation is Part 107, limited recreation, or another authority.
[ ] Confirm whether the aircraft is required to be registered.
[ ] Confirm whether the selected product is Standard Remote ID or a broadcast module.
[ ] Confirm the exact product in the FAA Declaration of Compliance system.
[ ] Record the manufacturer-assigned Remote ID serial number.
[ ] Use the correct DroneZone dashboard: Part 107 or Recreational Flyer.
[ ] For Part 107, register each individual device separately.
[ ] For recreational use, follow the FAA inventory procedure for every aircraft/module combination.
[ ] Mark the aircraft with the FAA registration number as required.
[ ] Carry proof of registration during the operation.
Preflight verification
Remote ID should be treated as a required aircraft system when the operation depends on it.
Before flight:
[ ] Confirm the aircraft or module matches the registration record.
[ ] Confirm the Remote ID serial number is correct.
[ ] Confirm the module or aircraft has the required position source and indicates normal operation.
[ ] Confirm the module is installed and powered according to manufacturer instructions.
[ ] Confirm the planned operation is compatible with the selected path, including VLOS for a broadcast module.
[ ] Confirm any FRIA boundary or FAA authorization relied upon is current.
[ ] Resolve abnormal status before takeoff; do not assume a receiver app's failure alone proves the aircraft is noncompliant or that a visible app entry alone proves full compliance.
Keep the registration record, product documentation, Declaration of Compliance reference, firmware/module version, and maintenance record with the aircraft's configuration documentation. Review needed: regulatory / configuration
Common errors
"It is under 250 g, so Remote ID never applies."
Incorrect. All Part 107 aircraft must be registered. A sub-250-g exception generally matters only for an aircraft flown exclusively under the limited recreational exception and not otherwise registered. Review needed: regulatory
"My FAA registration number is the Remote ID serial number."
Incorrect. The registration number and the manufacturer-assigned Remote ID serial number are separate.
"The firmware has a Remote ID menu, so the build is compliant."
Not necessarily. Verify an FAA-accepted Declaration of Compliance for the complete Standard Remote ID product or broadcast module being used. Review needed: regulatory / configuration
"I can use one recreational registration procedure for my Part 107 fleet."
Incorrect. Part 107 devices are registered individually.
"A broadcast module makes BVLOS legal."
Incorrect. The FAA's ordinary broadcast-module path requires the pilot to be able to see the drone throughout the flight. Review needed: regulatory
"A FRIA means the aircraft can fly without Remote ID anywhere."
Incorrect. The aircraft must remain within the recognized FRIA and visual line of sight.
Manufacturer responsibility for Declarations of Compliance
2026-07-31
Regulatory and product status can change. Recheck the official sources before using this guide for a new aircraft, registration, firmware change, or operation.
You don't need a $40,000 RF sensor suite to detect consumer drones.
A $31 module and open firmware will identify most commercial UAS
on the market. Review needed: commercial / configuration
The Detection Problem
Commercial drones transmit on predictable frequencies using identifiable
RF signatures: specific modulation schemes, hop patterns, beacon intervals,
and frequency bands. A receiver that can scan these bands and match known
signatures can identify drone activity at useful ranges.
Hardware Tiers
Tier 1 — $31 — LILYGO T-Embed CC1101
The best single-purchase option for getting started. The T-Embed integrates
an ESP32-S3 with a CC1101 sub-GHz radio and a small display.
Best for ELRS-heavy environments where the primary concern is detecting long-range FPV or autonomous vehicles using 900MHz links.
Tier 3 — ~$41 — Dual Radio (T-Embed + Wio-SX1262)
Combined coverage across sub-GHz bands. Run CC1101 for FHSS/FSK detection alongside SX1262 for LoRa chirp detection. Recommended field kit for comprehensive sub-GHz coverage.
Known RF Signatures (57 total in current firmware)
DJI Systems
System
Frequency
Modulation
Key Identifier
OcuSync 2.4GHz
2.400-2.483GHz
FHSS burst
72 channels, ~10ms beacon interval
OcuSync 5.8GHz
5.725-5.850GHz
FHSS burst
Fallback from 2.4GHz
O3/O4 Digital
5.8GHz
OFDM
10km claim, high bandwidth
DJI FPV
5.8GHz
OFDM
Dedicated FPV variant
ELRS
System
Frequency
Modulation
Key Identifier
ELRS 900MHz
868/915MHz
LoRa SF6-10, BW500kHz
Low-latency chirp
ELRS 2.4GHz
2.4GHz
LoRa/FLRC
Gemini dual-antenna
ELRS Airport
2.4GHz
Transparent serial
115200 baud bridge mode
Military/Defense Adjacent
System
Frequency
Modulation
Key Identifier
Microhard pDDL 900
902-928MHz
FHSS/DSSS
AES-256, Blue UAS approved
Herelink
2.4GHz
OFDM
CubePilot, combined video+RC
MafiaLRS
433-735MHz
Modified LoRa
Non-standard EW-evasion bands
Skydio
2.4/5.8GHz + LTE
Mixed
Autonomous, dual comms
Common FPV
System
Frequency
Modulation
Key Identifier
TBS Crossfire
868/915MHz
FHSS
<10ms latency, 150km range claim
Analog FPV 5.8GHz
5.645-5.945GHz
FM analog
Raceband R1-R8, A/B/E/F/R bands
Orqa FPV.Connect
2.4/5.8GHz
Digital
Low-latency goggle ecosystem
Critical Firmware Bug — strcmp False Matches
A known issue in early versions of ESP32 RF detector firmware caused false positive matches due to incorrect use of strcmp for pattern matching on binary data. The bug: strcmp stops at null bytes, causing truncated comparisons that match multiple different signatures.
Fix: Replace strcmp with memcmp and pass explicit length parameters.
// Wrong — stops at null byte
if (strcmp(received_data, signature) == 0) { ... }
// Correct — compares full signature including null bytes
if (memcmp(received_data, signature, SIGNATURE_LEN) == 0) { ... }
Source scope: ArduCopter 4.7.1, released 2026-09-03; parameter definitions checked 2026-10-07. Other vehicle types/releases and receiver interfaces need their own parameter reference. RTK provides a solution during operation; PPK processes recorded observations afterward. Neither a FIX flag nor a receiver specification proves final map accuracy. Review needed: performance / configuration / failure mode
Versioned parameter reference
The following are lookup values, not a configuration to paste into an unknown aircraft. Read existing values first and match the board's logical serial-port map, receiver output protocol and firmware.
Parameter
Documented meaning in Copter 4.7.1
GPS1_TYPE = 1
AUTO
GPS1_TYPE = 2
Ordinary u-blox driver
GPS1_TYPE = 17 / 18
u-blox moving-baseline base / rover; not the ordinary driver
GPS1_TYPE = 15
NOVA; not a generic Emlid setting
SERIAL3_PROTOCOL = 5
GPS on logical Serial 3, if that port is the receiver connection
SERIAL3_BAUD = 230
230400 baud documented code; 115 denotes 115200
GPS_INJECT_TO = 0 / 1 / 127
First GPS / second GPS / all GPS destinations for GPS_INJECT_DATA
GPS1_GNSS_MODE = 0
Leave receiver constellation configuration as configured; not “enable all”
GPS1_INJECT_TO and GPS1_GNSS are not the documented parameter names. Emlid configuration depends on exact receiver/output mode, rather than the vendor name alone. Antenna position offsets are measured installation geometry in the defined body frame, not universal values.
ArduPilot 4.7.1 parameter reference — sections GPS1_TYPE, GPS_INJECT_TO, GPS1_GNSS_MODE, SERIAL3_PROTOCOL and SERIAL3_BAUD. GPS for yaw documents the separate moving-baseline use case.
Corrections and reference coordinates
NTRIP transports correction streams over a network; the caster, mountpoint, message set and correction age matter. NOAA OPUS is an observation-file post-processing service, not a real-time NTRIP caster. Follow the receiver/GCS integration documentation for correction delivery; do not assume an arbitrary message rate establishes freshness.
Record base coordinate source, datum/reference frame, epoch, ellipsoidal versus orthometric height, geoid model, antenna type/height, base-rover observation overlap, correction age, solution flags and raw observations. A survey-in average does not establish known absolute coordinates with a universal accuracy.
Record camera event timing, antenna-to-camera lever arm, boresight/calibration, processing software/settings and independent checkpoint residuals. Checkpoints used for validation must remain separate from points used to constrain the adjustment. Choose acceptance criteria and sampling under the applicable project/survey standard; this handbook supplies no universal centimeter guarantee or checkpoint count.
RTK estimates corrected GNSS positions in real time. PPK processes recorded rover observations with suitable reference observations afterward. The choice depends on correction availability, recording capability, event timing, processing support and the project's accuracy requirements.
Distinguish solution quality from deliverable quality
A fixed ambiguity solution is a receiver/processor state, not independent proof of final map accuracy. Correction loss, multipath, observation gaps, reference-coordinate error and camera timing can degrade the result. PPK can use observations unavailable to a real-time solution, but it cannot recover measurements that were never recorded or guarantee recovery through every blockage.
Workflow
Evidence required
RTK
Correction source and age, receiver/firmware, epoch-by-epoch quality and camera event linkage
PPK
Overlapping rover/base raw observations, supported formats and processor version/settings
Combined
Confirm that the exact aircraft actually records exportable raw data while applying corrections
Absolute survey
Reference frame/datum, epoch, coordinate provenance, height/geoid model and independent checkpoints
Logging rates need to meet the receiver/processor's requirements; equal base and rover sample rates are not a universal prerequisite. Initialization time and usable baseline depend on receiver, satellite geometry, environment and solver. The former universal duration/baseline thresholds, unsourced Matrice 4E diagnosis and software-price recommendations are withdrawn.
Camera timing and geometry
An illustrative timing error of 50 ms at 10 m/s produces 0.5 m of along-track position discrepancy (speed × time). This is a dimensional example, not an assertion about a particular camera. Establish exposure/event timing from the exact hardware and logs; EXIF time alone does not establish that alignment. Apply the measured antenna-to-camera lever arm in the appropriate attitude/frame.
derived · evidence
The dimensional example 10 m/s × 0.050 s gives 0.5 m of along-track displacement. It is not a measured camera timing error.
Exact cited specification or dimensional example only; no hardware acceptance.
Preserve raw observations, event records, coordinate metadata, processing settings and residuals. Validate against independent checkpoints under the project standard, rather than rely solely on FIX percentages. See GNSS integration and time/coordinate provenance.
Hanging a sensor off your drone is not plug-and-play. The mechanical interface, the electrical interface, the firmware configuration, and the data pipeline are four separate problems that all interact. Get any one wrong and you either damage the aircraft (CG shift causing attitude instability), damage the payload (vibration destroying a LiDAR scan), or just get useless data (GPS-triggered shutter not synced to IMU). This guide covers all four.
Mechanical Integration
Center of Gravity
Every payload changes your center of gravity. The flight controller compensates for CG offsets automatically — but only up to a point, and with a cost.
What CG offset costs:
A 200g LiDAR mounted 80mm forward of the CG forces the rear motors to work harder than the front motors to maintain level flight. The FC compensates via differential throttle, but that asymmetric loading means:
- Lower effective thrust margin (the rear motors are near their limit before the front motors are)
- Higher average current draw (compensating for the imbalance)
- Asymmetric PID response (the aircraft responds differently to forward vs rearward pitch corrections)
- Shortened flight time
Rule of thumb: Keep the payload CG within ±15% of the frame's geometric center in both fore-aft and lateral axes. Beyond that, consider ballast or repositioning the battery to compensate.
Measuring CG shift: Balance the complete flying system (with payload, without battery) on a fulcrum under the motor mounting pattern center. Note the direction of lean. Move the battery to counter it, or add ballast as a last resort.
Vibration Isolation
This is the most commonly skipped and most consequential step. Two separate isolation problems exist on any camera/sensor drone:
Problem 1: FC gyroscope noise from propulsion
The flight controller's IMU is sensitive to vibration from motors, propellers, and frame flex. Motor and prop imbalance generates vibration at the motor electrical frequency (motor RPM / pole pairs), which couples into the gyro as high-frequency noise. This is the primary driver of PID tuning difficulty on poorly-built platforms.
Fix: Soft-mount the FC stack on rubber or silicone standoffs. Most modern FC stacks include mounting holes for M3 anti-vibration standoffs. This has nothing to do with the payload.
Problem 2: Payload sensor noise from the same propulsion
A camera or LiDAR mounted rigidly to the frame receives the same propulsion vibration as the frame. For cameras, this causes rolling shutter artifacts and blurry frames. For LiDAR, it introduces scan line discontinuities. For IMU-based payloads (survey-grade GNSS/INS), it overwhelms the sensor.
Fix: Isolate the payload from the frame with a vibration-damping mount. Options:
- Foam/silicone tape: Cheap, effective for light cameras under 200g. Adds 2–5mm compliance.
- Rubber ball mounts: Standardized vibration isolators (M3 or M5, various Shore hardness). Match Shore hardness to payload weight — too soft causes pendulum oscillation, too hard transmits vibration.
- Gimbal: Active stabilization for cameras. Gyro-stabilized gimbals eliminate both vibration noise and attitude coupling simultaneously for camera payloads. Review needed: regulatory / failure mode
Don't double-isolate. If the payload has its own vibration isolation, don't also soft-mount the payload bracket. The compliance of two soft mounts in series creates a resonant system that can amplify certain frequencies rather than damping them.
Payload Weight and Arm Loading
On a quadrotor, payload weight is distributed across all four motors equally if mounted at the CG, and unequally if not. Check your motor's rated continuous thrust against the hover throttle with payload loaded — you want to be at 50–60% throttle in hover with the heaviest expected payload.
For hexarotors and octorotors carrying heavy payloads: calculate the per-motor load and verify you have enough margin for maneuver and wind correction on the highest-loaded motor, not just the average.
Electrical Integration
Power Budgeting for Payloads
Before wiring anything, add up the power draw of every peripheral. The payload power draw is in addition to the propulsion system — it directly reduces flight time.
Payload
Typical Power Draw
FPV camera (analog)
0.5–1W
Action camera (GoPro class)
3–7W
Thermal camera (FLIR Boson)
2–4W
1080p USB camera
1–3W
Raspberry Pi Zero 2W
1–2W
Raspberry Pi 4
3–8W
NVIDIA Jetson Nano
5–10W
NVIDIA Jetson Orin NX
10–25W
LiDAR (RPLIDAR A3)
3–5W
LiDAR (Ouster OS1)
15–20W
RTK GNSS module
0.5–2W
Derive flight time impact:
Extra flight time consumed (min) = payload_watts / battery_voltage / hover_current_A × 60
A 10W payload on a 6S (22.2V) battery draws ~0.45A additionally. If the platform hovers at 12A without payload, 10W of payload costs about 3–4% more current — roughly 1–2 minutes on a 30-minute platform.
Payload Power Sources
Never power a high-current payload directly from the FC's 5V pin. The FC's onboard regulator is typically rated 500mA–1A — enough for receiver and GPS, not for a companion computer or gimbal.
Correct payload power architectures:
For small payloads (<500mA at 5V): FC 5V output is fine.
Battery → Power module or PDB → Payload power regulator → Payload
Payloads like the Ouster OS1 run at 24V and draw ~800mA — they need a boost/buck converter, not a BEC.
Isolation and Noise
Camera payloads are high-frequency noise generators (USB 3.0 operates at 5GHz, HDMI at similar frequencies). These can affect GPS L1 (1.575GHz) if the payload is physically close to the GPS antenna.
Rules:
- Keep companion computer USB 3.0 ports and cables away from GPS antenna — minimum 15cm
- If using USB 3.0 to USB-C camera, use a cable with a ferrite clip
- Power the payload from a dedicated BEC with its own filter capacitor, not shared with the FC rail
Firmware Integration: MAVLink Camera Protocol
ArduPilot and PX4 both support the MAVLink Camera Protocol (MAVLink v2), which defines a standard interface between the autopilot and camera/payload systems.
What the Camera Protocol Provides
Shutter trigger via MAVLink: The FC triggers the camera shutter synchronized to GPS time. Critical for photogrammetry — without GPS-synced triggers, your ground sampling distance calculations are based on estimated position, not actual.
Geotag injection: ArduPilot can log shutter events with GPS position, allowing post-flight geotagging without a separate logger.
Camera status feedback: Camera can report capture count, storage remaining, and error status back to GCS.
Video control: Start/stop recording, zoom, change mode.
Wiring a MAVLink Camera
The camera needs a MAVLink serial connection. For companion computers running the camera:
Option A: Companion computer as camera manager
FC UART (MAVLink2) ─── Companion computer (USB serial or GPIO UART)
Companion computer ─── Camera (USB, CSI, or Ethernet)
The companion computer runs camera control software (MAVProxy, MAVSDK, or custom) and translates MAVLink camera commands to the camera's native API.
Option B: Direct MAVLink camera
Some cameras (Sony a6xxx via Sony SDK, some GoPro Mods) support MAVLink directly. Wire UART TX/RX and configure the FC camera port.
ArduPilot configuration:
CAM1_TYPE = 1 (Servo) or 3 (Relay) or 4 (MAVLink)
CAM1_TRIGG_TYPE = 0 (distance) or 1 (time)
CAM1_TRIGG_DIST = 5 (meters between shots)
For MAVLink camera (TYPE=4), set the camera's MAVLink component ID and the serial port. The FC will send MAV_CMD_IMAGE_START_CAPTURE on trigger.
Gimbal Control
Gimbals receive control commands via:
Interface
Use Case
Notes
PWM (Servo)
Simple 1–3 axis, basic tilt control
Universally supported, low resolution
SBus
Multi-axis, smoother control
Single wire, widely supported
MAVLink (serial)
Full camera integration, stabilization telemetry back
Best for survey, requires compatible gimbal
CAN
Industrial gimbals (Gremsy, Zenmuse)
High reliability, hot-swap capable
For ArduPilot:
MNT1_TYPE = 1 (Servo) or 4 (SToRM32 MAVLink) or 8 (Gremsy)
MNT1_ROLL_MIN / MNT1_ROLL_MAX
MNT1_TILT_MIN / MNT1_TILT_MAX
Gimbal stabilization modes:
- RC passthrough: Gimbal follows stick input directly. Use for FPV, not survey.
- Stabilize mode: Gimbal corrects for aircraft attitude, points where commanded. Standard for camera work.
- GPS point-of-interest: Gimbal tracks a GPS coordinate. Useful for inspection, requires ArduPilot 4.3+.
LiDAR Integration
LiDAR payloads add complexity beyond cameras: they generate large data streams, require precise time synchronization, and need PPS (pulse-per-second) signals from the GNSS for accurate scan timing.
The Time Sync Problem
A LiDAR spinning at 10–20Hz captures thousands of points per second. Each point must be timestamped to microsecond accuracy to fuse correctly with the INS position. Without accurate time sync, your point cloud will have "smear" artifacts proportional to platform velocity × time error.
Required hardware:
- GNSS receiver with PPS output (1Hz pulse, accurate to <1µs)
- PPS wired to both the LiDAR and the INS/GNSS module
- All devices sharing a common time base from GPS
Most mapping-grade LiDARs (Ouster, Velodyne, RIEGL) have PPS inputs. Consumer LiDARs (RPLIDAR, Livox Mid-360) have varying time sync quality — check the datasheet.
Data Pipeline
LiDAR → Ethernet or USB → Companion computer → storage or real-time streaming
Most mapping workflows record raw LiDAR data plus IMU/GNSS data separately and post-process them (Inertial Explorer, Pix4D Matic, or open-source tools like LOAM/LeGO-LOAM).
Real-time SLAM (Simultaneous Localization and Mapping) is also possible — KISS-ICP, LIO-SAM, and Fast-LIO run on a Jetson Orin or similar at map-update rates of 10Hz. This enables obstacle avoidance and GPS-denied navigation rather than just post-flight mapping.
Weight and Power Budget Example: RESEPI Ultra LITE
The RESEPI Ultra LITE (from Inertial Labs) is a representative small mapping payload:
- Weight: 380g
- Power: 30W (12–24V input)
- Interface: Ethernet + USB
- Data rate: ~100MB/min of LiDAR + imagery
- Requires: external GNSS antenna for INS, PPS from GNSS
On a 6S platform with 5,000mAh battery: the RESEPI draws ~1.35A at 22.2V. At 20A hover current, this is a 6.7% load increase — roughly 2–3 minutes flight time reduction.
Thermal Camera Integration
Thermal cameras are simpler electrically than LiDAR but have their own quirks.
Radiometric vs Non-Radiometric
Non-radiometric (NTSC/PAL video output): Cheap, works as a standard analog FPV camera. Gives a thermal image but no temperature data. Connect to video input on FC or VTX.
Radiometric: Each pixel carries temperature data. Requires digital interface (USB, CSI, Ethernet). Enables temperature measurement and alarm triggering. Required for industrial inspection.
FLIR Boson / Lepton Integration
The FLIR Boson connects via UART (command) + either analog video or USB (image data). For analog FPV:
Boson analog out → VTX video input (same as any FPV camera)
Boson UART → FC UART (for camera control: shutter, gain, FFC)
For full radiometric data:
Boson USB → Companion computer (USB 2.0)
The FLIR SDK runs on the companion computer and handles data capture, temperature extraction, and trigger coordination with the autopilot.
Sensor Fusion: Thermal + RGB
Most professional thermal payloads are paired with an RGB camera for context. The key challenge: the two sensors must be precisely co-registered spatially. This requires:
- Boresight calibration (measuring the angular offset between the two lenses)
- Time synchronization (both cameras triggered at the same moment)
- Lens distortion maps for both sensors
Skydio, Autel, and Parrot all ship dual-sensor payloads with factory boresight calibration. DIY thermal+RGB rigs require field calibration with a calibration target.
Companion Computer Integration
The companion computer is the hub for payload data processing, MAVLink camera management, and any AI inference running onboard.
FC to Companion Computer Interface
FC UART (MAVLink2) ─── Companion computer USB serial adapter or GPIO UART
FC 5V (small CC only) ─── or ─── Dedicated BEC → CC 5V input
Full robotics stack, requires Jetson class hardware
DroneKit
Legacy Python API
Medium
Deprecated but widely used
For a Raspberry Pi controlling a gimbal and triggering a camera: MAVSDK or MAVProxy.
For a Jetson running LiDAR-SLAM and real-time obstacle avoidance: ROS2 + MAVROS2.
Forge cross-reference: 36 entries in sensors category Related handbook chapters: LiDAR & Mapping Payloads, Sensor Payload Integration, Optical Flow
The Sensors Category
The sensors category in Forge covers precision data-collection payloads that go beyond standard FPV cameras — survey RGB cameras, multispectral imagers, hyperspectral sensors, and related precision measurement hardware. These are the payloads that enable agriculture analytics, infrastructure inspection, environmental monitoring, and precision mapping.
This is distinct from thermal cameras (separate category) and LiDAR (separate category). Where those are covered in depth in their own chapters, this chapter covers the RGB survey and multispectral ecosystem.
Multispectral Cameras
Multispectral cameras capture light across multiple discrete wavelength bands beyond standard RGB. The additional bands — near-infrared (NIR), red-edge, and sometimes thermal — enable vegetation analysis impossible with standard cameras.
Why bands matter: Healthy vegetation absorbs red light and strongly reflects NIR. Dead or stressed vegetation reflects red and absorbs NIR. The NDVI (Normalized Difference Vegetation Index) formula (NIR - Red) / (NIR + Red) produces a health map from those two bands. You can't calculate NDVI with a standard camera.
MicaSense RedEdge-P (AgEagle)
MicaSense (acquired by AgEagle Aerial Systems, Wichita KS, USA — procurement status unverified) produces the industry-standard multispectral cameras for precision agriculture. The RedEdge-P captures 5 bands: Blue, Green, Red, Red Edge, NIR. 21MP panchromatic band for RGB reference. Integrates with DJI Zenmuse X7 gimbal or standard payload mounts.
Why RedEdge dominates: 10+ years of field deployment, industry-standard data format, integration with Pix4D/DroneDeploy/Agisoft Metashape, and a large agronomist/researcher community built around its output. If you need multispectral data that downstream customers can process, RedEdge is the safest choice.
MicaSense Altum-PT (AgEagle)
The premium offering. Adds a FLIR Lepton 3.5 thermal band to the 5-band multispectral stack, plus a 12MP panchromatic sensor. All 7 bands captured simultaneously, spatially co-registered — eliminating the parallax errors that occur when merging separate thermal and multispectral captures.
Use case: Irrigation stress mapping, disease detection, precision variable-rate application requiring thermal anomaly correlation with spectral data.
Sentera 6X (John Deere)
Sentera (Minneapolis MN, USA — acquired by John Deere 2025, procurement status unverified) produces multi-sensor cameras positioned as a MicaSense alternative. The 6X captures 6 bands including NDRE (Normalized Difference Red Edge) support. Native John Deere Operations Center integration post-acquisition.
Competitive position: Sentera offers some price advantage over MicaSense, with comparable data quality. John Deere acquisition provides integration into the largest precision agriculture platform ecosystem.
High-Resolution Survey Cameras
Sony ILX-LR1
Sony's 61MP full-frame sensor in a drone-optimized body (248g, no LCD, single interface). Designed for photogrammetry mapping where maximum resolution reduces required flight altitude for a given GSD (ground sampling distance).
Integration: Typically mounted in a nadir-facing gimbal on M300/M350/M400 or large custom platforms. Controlled via Sony Remote Camera SDK over Ethernet/USB. Native Pix4Dmapper support.
Use case: Large-area survey where flight time is limited and resolution matters. 61MP full-frame at 100m AGL produces 0.5cm/pixel GSD — comparable to RTK drone surveys at much lower altitude.
Phase One Industrial Cameras
Phase One (Denmark — procurement status unverified) produces the highest-resolution commercially available drone cameras (iXM-100, iXM-50). 100MP medium format. Primary use in large-area survey, corridor mapping, and precision industrial inspection where single-pass resolution requirements exceed what smaller sensors can provide.
Country of headquarters or assembly does not establish eligibility. Check the exact item, revision, bill of materials, applicable contracting authority and dated supporting documentation using federal procurement screening. This reference does not certify the listed products.
Processing Pipeline
Multispectral data requires calibrated processing:
Calibration panel: Image the MicaSense calibration reflectance panel (Lambertian white reference) before and after each flight
Radiometric calibration: Convert raw sensor values to reflectance using calibration panel data and DLS (Downwelling Light Sensor) readings
Point cloud / orthomosaic: Standard SfM photogrammetry (Pix4D, Metashape) to create georeferenced orthomosaic
Index calculation: Compute NDVI, NDRE, etc. in Pix4D, QGIS, or ArcGIS Pro using the aligned band outputs
Without proper radiometric calibration, multispectral data is not comparable across flights or between platforms. This is the most common failure mode in DIY multispectral programs.
Forge cross-reference: 10 entries in swarm_software category Related handbook chapters: Mesh Radios, Companion Computers, TAK Integration Related Forge pages: /swarm-guide/, /swarm-selector/
What Swarm Software Does
Swarm software coordinates multiple drones as a single system. This ranges from choreographed drone shows (pre-scripted positions and LED colors) to autonomous tactical swarms (real-time decision-making, target assignment, and formation control without operator input for each vehicle).
The common thread is multi-vehicle coordination: the software must manage communications between vehicles, resolve conflicts (collision avoidance, task deduplication), and provide a single-operator interface to the fleet.
Two Domains
Drone Show / Formation
Pre-choreographed multi-vehicle flight with precise timing and LED control. Safety is the primary concern — hundreds of drones flying in close proximity with paying spectators below.
Skybrush Server (CollMot Robotics) — Industry-standard open-source drone show server. Python/Trio async architecture managing fleet orchestration, time synchronization, LED control, and geofencing. Supports PX4 and ArduPilot via MAVLink. The server is the backbone; two companion tools complete the ecosystem.
Skybrush Live — React/TypeScript GCS frontend for Skybrush. Real-time map with drone positions, LED preview, formation editor, show timeline, and safety controls.
Skybrush Studio for Blender — Blender add-on for designing and validating drone show choreographies. Animate point objects in 3D, assign LED colors, export to Skybrush format. Includes collision detection and safety validation before export. Review needed: safety
MDS (MAVSDK Drone Show) — All-in-one PX4 drone show and smart swarm platform. MAVSDK-based multi-drone coordination with Docker SITL simulation, React GCS dashboard, Skybrush import, LED control, and leader-follower clustering. Free for fewer than 10 drones.
Research / Tactical Swarm
Autonomous multi-vehicle systems with real-time decision-making. These range from academic research platforms to battlefield-ready systems.
Crazyswarm2 (IMRCLab, USC) — The gold standard for indoor swarm research using Crazyflie nano-quadcopters. Scales to 49+ drones. ROS 2 (Humble) based with trajectory tracking, formation control, real-time visualization, and motion capture integration. If you are publishing swarm research, you are likely using this.
CoFlyers (MICROS Lab) — General platform for collective flying with MATLAB/Simulink simulation and real hardware support (Crazyflie, Tello). Bio-inspired swarming behaviors, formation control, and collective decision-making.
DSSE (Drone Swarm Search Environment) — PettingZoo-based multi-agent reinforcement learning training environment for search-and-rescue drone swarm missions. Published in JOSS and arXiv. Useful for training RL policies before deploying on real hardware.
ORCUS — Fully autonomous swarm kamikaze drone system with YOLOv12 detection, ray-ground intersection geo-localization, EKF multi-drone sensor fusion, Hungarian algorithm attack assignment, and a 7-step handshake attack protocol. Represents the tactical swarm endpoint.
Adjacent Tools
OpenIPC FPV — Open-source firmware for IP camera SoCs (HiSilicon, Goke, SigmaStar) repurposed as FPV air units using wifibroadcast (WFB-NG). Not swarm software per se, but enables low-cost video links that make swarm platforms economically viable at scale. Review needed: commercial / configuration
Insper NVIDIA Jetbot Autopilot — Jetson Nano ground vehicle with OpenCV lane following and YOLOv3-tiny detection. Included as a multi-vehicle coordination reference rather than an aerial swarm tool.
Integration Requirements
Swarm software requires three infrastructure layers that single-vehicle operations do not:
Inter-vehicle communications — Mesh radios (Silvus, Doodle Labs, ELRS mesh experiments) or Wi-Fi for short-range. See the Mesh Radios chapter. Latency and bandwidth per vehicle determine swarm density limits.
Time synchronization — Drone shows require sub-millisecond time sync (GPS PPS or NTP). Tactical swarms need coordinated clocks for sensor fusion across vehicles.
Centralized or distributed coordination — Skybrush uses a centralized server model (single point of command). Crazyswarm2 uses centralized motion capture. ORCUS uses distributed decision-making. The architecture choice depends on whether you can guarantee a ground link to every vehicle.
Scaling Considerations
Swarm scale is constrained by communications bandwidth, not compute. Each vehicle in a MAVLink swarm generates 10–50 kbps of telemetry. At 50 vehicles, that is 500 kbps–2.5 Mbps of inbound telemetry at the ground station, plus outbound commands. Mesh radios handle this well up to ~30 nodes; beyond that, hierarchical architectures (squad leaders relaying for team members) become necessary.
Tactical Accessories: Video Scramblers & Payload Systems
Forge cross-reference: 5 entries in video_scramblers, 4 entries in payload_droppers Related handbook chapters: Electronic Warfare, ESAD
Video Scramblers
Video scramblers encrypt or obfuscate the analog or digital FPV video downlink to prevent adversaries from intercepting the operator's video feed. In contested environments, an unencrypted video link reveals the drone's camera view to anyone with a compatible receiver — effectively giving the enemy real-time intelligence about what the operator is seeing and targeting.
Products Tracked
The Forge database tracks 5 video scrambler products, all from Ukrainian manufacturers developed during the ongoing conflict:
Carrier Electronics Chameleon — Video encryption module from Carrier Electronics
Sezam Video Сезам-А — Scrambler unit with matching decryptor (дешифратор)
Sezam Video Відеокрипт — Alternative scrambler system, also with matching decryptor
These are paired devices: the scrambler flies on the drone, the decryptor sits at the ground station. Both ends must have matching keys for the operator to see the video feed.
Integration Considerations
Video scramblers sit inline between the camera and the video transmitter (VTX). They add latency (typically 1–5 frames depending on implementation), weight (10–30g), and power draw. For FPV piloting where sub-frame latency matters, even a few milliseconds of added delay can affect flight feel.
The trade-off is operational: in a non-contested environment, video encryption adds weight and latency for no benefit. In a contested environment where the enemy is monitoring your video frequencies, unencrypted video is an operational security failure. Review needed: performance / failure mode
Digital video links (DJI, HDZero, Walksnail) have inherent scrambling from their digital protocols but are not cryptographically secure. Purpose-built scramblers provide stronger encryption guarantees.
Payload Delivery Systems
Payload droppers are electromechanical release mechanisms that allow a drone to carry and release objects — from humanitarian supply drops to agricultural dispersal to ordnance delivery.
Products Tracked
The Forge database tracks 4 payload dropper products from Carrier Electronics (Ukrainian manufacturer):
Carrier Electronics FPV v1.3 / v2.0 — Payload release mechanisms designed for FPV platforms
Carrier Electronics One v1.4 / Two v1.4 для Mavic 3 — Payload release mechanisms designed for DJI Mavic 3 platforms
Integration Considerations
Payload systems require:
Servo or actuator channel — Typically connected to an auxiliary PWM output on the flight controller. Betaflight, ArduPilot, and PX4 all support servo outputs on designated pads.
Weight and balance — Payload shifts the CG (center of gravity). The drone must be tuned for loaded flight, and the pilot must be prepared for the CG shift at release.
Power — Release mechanisms draw servo current. Budget the BEC capacity accordingly.
Safety — For any payload that could cause harm if released inadvertently, an ESAD or equivalent safety system is required. See the ESAD chapter.
Note on This Category
Both video scramblers and payload droppers in the Forge database are primarily Ukrainian-manufactured products developed for the ongoing conflict. They represent a rapidly evolving category where new products appear faster than traditional defense procurement can track. The descriptions in the database are minimal because many of these products have limited public documentation — they are field-developed tools distributed through military supply channels rather than commercial product launches.
Part 6 — Components
Thermal imaging for ISR, inspection, SAR, and defense.
Who makes the sensors, what the specs mean, and what's NDAA compliant. Review needed: regulatory
Why This Matters
Thermal cameras detect infrared radiation emitted by objects based
on their temperature. They see heat, not light. This makes them
essential for night operations, search and rescue, industrial
inspection, firefighting, perimeter security, and target acquisition.
Every enterprise and tactical drone platform either ships with
thermal or supports it as a payload option. The parts-db had zero
thermal camera entries. This chapter fixes that.
The Market Structure
Teledyne FLIR dominates. They are the world's largest volume
manufacturer of ITAR-free, NDAA-compliant infrared sensor and
camera modules, delivering thousands of units daily. Their product
line spans from the $200 Lepton OEM module to six-figure defense
gimbals. Most NDAA-compliant drone platforms use FLIR sensors
(Teal 2 ships with Hadron 640R, Skydio uses Boson+). Review needed: regulatory / commercial
The rest of the market breaks down by tier:
- Defense gimbals: L3Harris WESCAM, Leonardo DRS, Elbit, Rafael
- OEM modules: FLIR Boson/Lepton, RPX Technologies EmbIR
- Drone-specific cameras: Workswell (EU), DJI Zenmuse (China)
- Microbolometer cores: Lynred (France), Guide Sensmart (China)
Teledyne FLIR — The Reference Standard
Lepton Family (Entry/OEM)
Product
Resolution
Type
Key Feature
ITAR
NDAA
Lepton 3.5
160×120
LWIR micro-thermal
Radiometric, smallest thermal module
Free
Compliant
Lepton XDS (NEW Feb 2026)
160×120 thermal + 5 MP visible
Dual thermal-visible
MSX edge fusion, Prism ISP, RJPEG output
Free
Compliant
The Lepton XDS is significant — it's the first dual-sensor module
with MSX (visible edges embossed onto thermal imagery) in a
compact OEM form factor. USB output, SWaP-optimized. Classified
6a993.b.4.b — broadly exportable.
6+ million Leptons shipped. Proven supply chain at scale.
Boson / Boson+ (Mid-Tier)
Product
Resolution
Pixel Pitch
Key Feature
ITAR
NDAA
Boson 640
640×512
12µm
LWIR, XIR video processing
Free
Compliant
Boson+ 640
640×512
12µm
Enhanced sensitivity, HDR
Free
Compliant
Boson 320
320×256
12µm
Budget 640-class alternative
Free
Compliant
Boson is the workhorse thermal core for UAS payloads. The 640×512
resolution at 12µm pixel pitch delivers detail sufficient for most
ISR and inspection applications. Used in dozens of drone platforms.
Hadron 640 Series (Integrated Dual-Sensor)
Detail
Value
Evidence
Thermal
640×512 Boson or Boson+ (radiometric)
—
Visible
64 MP
—
Design
Dual-sensor module, SWaP-optimized
—
Software
Prism AI detection/tracking/classification
—
Compatibility
NVIDIA, Qualcomm drivers
—
ITAR
Free
Review needed: regulatory
NDAA
Compliant
Review needed: regulatory
Used In
Teal 2 (Hadron 640R)
—
Hadron is the go-to for OEMs who want thermal + visible in a single
module without building their own dual-sensor payload.
Vue Pro R — 640×512 or 336×256, radiometric. Legacy but widely deployed.
Defense / Long-Range ISR
Neutrino SX8 ISR 50-1000 (announced Feb 2026) — Vehicle detection
at 34 km, identification at 20 km. Longest-range ISR thermal on market.
Defense-tier pricing and availability.
RPX Technologies — Blue UAS Framework
Detail
Value
HQ
USA
Blue UAS
Framework component
Product
EmbIR UAV-640 thermal camera
Resolution
640×512
Key Feature
Blue UAS listed, compact, drone-optimized
Models
A (wide), B, C (13.6mm), D (16.7mm), E (42mm telephoto)
Weight
20g (Model A) to 118g (Model E)
RPX is one of the few thermal camera manufacturers directly on
the Blue UAS Framework component list. Compact, lightweight
modules designed specifically for small UAS integration.
Workswell — EU-Made, Drone-Specific
Czech manufacturer building thermal cameras purpose-designed for
drone use. Non-Chinese manufacturing. Full SDK and MAVLink
integration. Compatible with DJI Matrice 300/350 and any platform
via standard interfaces.
Product Line
Product
Thermal
Visible
Weight
Key Feature
WIRIS Pro
640×512 (Super-Res 1266×1010)
FHD 10× optical zoom
<430g
Radiometric, SSD recording, 50 mK (30 mK option)
WIRIS Pro SC
640×512 (Super-Res 1266×1010)
FHD 10× optical zoom
<450g
Scientific-grade 30 mK, interchangeable lenses
WIRIS Enterprise
640×512 (Super-Res 1266×1010)
16 MP + rangefinder
—
Multi-sensor, IP66, thermal+RGB+rangefinder
WIRIS Enterprise G
—
—
—
Gas detection variant
WIRIS Agro
640×512
—
—
Agriculture/NDVI water stress mapping
GIS-320
Specialized
—
—
Gas leak detection, 400+ gases detectable
All models: Temp range up to 1,500°C, radiometric video,
individually calibrated with certificate, WIRIS OS, SDK available
(Data SDK + Stream SDK + MAVLink interface + CANbus/UART SDK). Review needed: performance / configuration
Why Workswell Matters
EU-manufactured thermal cameras for drones are rare. Most European
brands resell Chinese-made sensors. Workswell manufactures in
Prague and provides full SDK access — making them the primary
EU-sourced alternative to FLIR for operators who need non-Chinese,
non-US thermal imaging.
Israeli Manufacturers (Defense Tier)
Elbit Systems
Mini-POP, Micro-POP — defense-grade EO/IR payloads for tactical
UAS. Stabilized gimbals with thermal, visible, and laser designator.
Widely deployed on Israeli and export military platforms.
Controp
iSky series — stabilized EO/IR payloads. Focus on small UAS and
maritime applications. Israeli defense export controlled.
Rafael
TOPLITE EOS — heritage from Litening targeting pod. Defense-tier
multi-sensor gimbals. Not available for commercial purchase.
Israeli thermal/EO payloads are among the most combat-proven in
the world but are typically available only through government-to-
government sales or defense export channels.
Microbolometer Core Manufacturers
Most thermal cameras use uncooled microbolometer detector cores
from a handful of OEMs. Understanding this layer matters because
the core determines the fundamental capability of any camera
built on it.
Manufacturer
HQ
Status
Notes
Evidence
Lynred (formerly ULIS)
Grenoble, France
EU-made
Major European IR detector OEM. Supplies cores to many camera manufacturers including European defense
—
Guide Sensmart
Wuhan, China
NOT NDAA
Chinese OEM cores. Aggressive pricing. Used in many third-party thermal cameras
Review needed: regulatory
InfiRay
Yantai, China
NOT NDAA
Competing Chinese OEM modules
Review needed: regulatory
Teledyne FLIR
USA
NDAA compliant
Vertically integrated — makes own cores for Boson/Lepton
Review needed: regulatory
Lynred is the key non-Chinese, non-US microbolometer source.
Any European defense program requiring thermal imaging without
US ITAR or Chinese supply chain dependency will likely use Lynred
cores.
DJI Thermal (Context — NOT NDAA)
DJI's Zenmuse H20T and H30T are the best-integrated drone thermal
cameras on the market — quad-sensor (wide, zoom, thermal, laser
rangefinder) with seamless software integration. The H30T's thermal
is 640×512 with 1280×1024 super-resolution.
NOT NDAA compliant. Excluded from any government or defense
use. But for commercial operators without compliance requirements,
DJI thermal payloads offer the best out-of-box experience. Review needed: regulatory
Choosing Thermal for Your Drone
Resolution matters less than you think. 640×512 is the
sweet spot. 320×256 is adequate for many applications. 160×120
(Lepton) works for detection but not identification.
Radiometric vs. non-radiometric. Radiometric cameras
measure actual temperatures (critical for inspection). Non-
radiometric only show relative temperature differences (adequate
for SAR and ISR).
NETD (sensitivity) matters more than resolution. ≤50 mK
is standard. ≤30 mK is scientific-grade. Lower NETD = better
ability to see small temperature differences.
Integration complexity. FLIR modules have the best driver
support (NVIDIA, Qualcomm). Workswell provides full SDK. DJI
is plug-and-play but closed ecosystem. Israeli payloads require
defense procurement channels.
ITAR vs. ITAR-free. FLIR OEM modules are ITAR-free (EAR
6a993.b.4.b). Defense gimbals from L3Harris, Elbit, Rafael are
typically ITAR-controlled and require export licenses.
The aerospace industry has converged on ASTM F3600-22 as the foundational qualification guide for UAS maintenance technicians. Published January 2023 by ASTM Committee F46 (Aerospace Personnel), it defines the knowledge, skills, and abilities (KSAs) required to maintain UAS across three complexity classes — from hobby-grade multirotor to turbine-powered aircraft.
The standard is significant because it treats the entire UAS as the unit of maintenance — not just the airframe. A UAS Technician is responsible for the aircraft, ground control station, data links, and all peripheral equipment. This mirrors how operational teams actually maintain systems and is why fleet-level tooling like Tooth and Hangar tracks configuration across all subsystems, not just the FC.
Companion standards:
- ASTM F2909 — Continued Airworthiness of Lightweight UAS (the task baseline F3600 draws from)
- ASTM F3376 — Core Competencies for Aviation Maintenance Personnel (prerequisite for F3600)
- ASTM F3366 — General Maintenance Manual (GMM) specification for sUAS
The Three-Class System
F3600-22 classifies UAS by equipage complexity. The classification of the full system is determined by the highest class of any individual component.
Class 1 — Consumer/Tactical Multirotor
Voltage: <60V electric or fuel cell Typical examples: Sub-250g hobby quads, tactical ISR multirotor (MRM2, H7 WingCore builds), DJI Mavic class
Subsystem
Class 1 Characteristics
Landing gear
Fixed or electronically retracted
Engine
<60V electric
Structure
Remove/replace, foam gluing, composite taping
Maintenance model
Line-replaceable unit swap only — no structural repair
GCS
Consumer device (phone/tablet app)
Software
Open-system app with high configuration variability
Networking
Not required for flight
Data link
Radio line-of-sight only
Launch/recovery
Hand launch or bungee; no dedicated recovery system
Ground power unit; fuel/defuel devices; external engine start equipment
Manuals required
CMM + engine maintenance manual + AMM + IPC
Technician KSA scope: All Class 1 plus: composites repair, hydraulic systems, complex avionics, networking, multi-link data architectures, launcher/recovery systems.
Class 3 — High-Complexity / MALE / HALE
Voltage: >599V electric or turbine/piston comparable to manned aircraft Typical examples: Group 3–5 UAS, turbine-powered platforms, high-altitude long-endurance systems
Maintenance is functionally equivalent to manned aircraft, with the addition of UAS-specific systems (autonomy stack, ground data terminal, datalink redundancy). Full manned aviation manual set required.
Airworthiness Definition
F3600-22 defines airworthiness specifically in the UAS context:
Airworthiness — within this guide, refers to a state of readiness whereby the system meets all manufacturer specifications for safe operations.
This is deliberately narrower than the FAA's manned aviation definition. For UAS, airworthiness is manufacturer-spec compliance, not regulatory certification. This means the maintenance standard's authority is the component manufacturer's documentation, not a type certificate. For open-source platforms (ArduPilot, Betaflight), the flight controller firmware + vehicle configuration parameters collectively constitute the "manufacturer specification." Review needed: regulatory / configuration
This is the direct justification for Tooth's audit trail design: every parameter change that moves the vehicle away from a known-good AMC configuration is a potential airworthiness event.
Knowledge Area Taxonomy
F3600-22 Tables 2–4 define KSAs per class across these subject areas (drawn from the companion AAM standard WK88720 which shares the same taxonomy):
Knowledge Domain
Class 1
Class 2
Class 3
Evidence
Structure / Airframe
Awareness
Proficient
Expert
—
Propulsion (electric)
Proficient
Expert
Expert
—
Propulsion (combustion)
Awareness
Proficient
Expert
—
Avionics / FC
Proficient
Expert
Expert
—
Information Technology / Software
Proficient
Expert
Expert
—
Data Links / RF
Awareness
Proficient
Expert
—
GCS / Control Station
Proficient
Proficient
Expert
—
Operations / Safety
Proficient
Proficient
Expert
Review needed: safety
Regulatory
Awareness
Proficient
Proficient
—
Human Factors
Awareness
Proficient
Proficient
—
Documentation / Manuals
Awareness
Proficient
Expert
—
Awareness = can identify and describe. Proficient = can perform with guidance. Expert = can perform independently and train others.
Relevance to the Wingman Ecosystem
The F3600-22 framework maps directly to Wingman's tooling layer:
F3600-22 Requirement
Wingman Implementation
Evidence
Airworthiness = manufacturer spec compliance
Hangar derives params from AMC vehicle_components.json; every step references manufacturer source
Review needed: regulatory
Full audit trail of configuration changes
Tooth — SHA-256 audit chain, before/after state per parameter, technician ID, timestamp
—
GCS maintenance includes software reinstall
Hangar param diff engine — compare current directory vs proposed, approve/reject per param
—
Documentation requirement (CMM/AMM/IPC)
Forge platform profiles link to manufacturer datasheets per component
—
Class 1 LRU swap with component records
Tooth component swap events — install/remove per serial/batch, flight hours at swap
—
Firmware version tracking
Tooth records firmware version at every param change event
—
Pre-flight airworthiness verification
Hangar preflight checklist module (see below)
—
The Tooth Audit Trail as Maintenance Record
Under F3600-22, any change to a Class 1 UAS that affects its configuration relative to manufacturer specifications is a maintenance event. For software-configurable platforms, this includes:
Flight controller firmware updates
Parameter changes (any change from the baseline AMC vehicle directory)
Blackbox log entries that document in-flight anomalies
Tooth records all of these. A complete Tooth record constitutes a maintenance logbook compliant with F3600-22's intent for Class 1 systems.
Pre-Flight Airworthiness Checklist
The standard's airworthiness definition implies a pre-flight verification process. The following structure is used in Hangar's preflight checklist (see Hangar documentation):
Software/Configuration
- [ ] Firmware version matches last known-good Tooth record
- [ ] All parameters within Tooth-approved baseline (no untracked diffs)
- [ ] Blackbox logging enabled and storage available
Propulsion
- [ ] All motors spin up cleanly — no grinding, vibration, or asymmetric noise
- [ ] Propellers secure, no cracks or chips, pitch/diameter matches build spec
- [ ] Battery voltage at or above pre-flight minimum (BATT_ARM_VOLT threshold)
- [ ] Battery connector secure, no damage to leads
Structure
- [ ] Frame arms secure — no cracks at motor mounts or arm joints
- [ ] All screws present and tight (vibration inspection)
- [ ] No foam delamination or composite delamination visible
Electronics
- [ ] FC LED indicators normal
- [ ] RC link established and RSSI above mission minimum
- [ ] GPS lock acquired (if required for flight mode)
- [ ] OSD or telemetry feed live
Data Links / GCS
- [ ] GCS connected and showing live telemetry
- [ ] RC channel outputs verified (control surfaces or motor response correct)
- [ ] Failsafe tested — RC signal loss → expected FS action
Standards Ecosystem Context
F3600-22 sits within a broader ASTM UAS standards family (Committee F38 and F46):
F3002 — Design of the Command and Control Link for sUAS
F3003 — Quality Assurance Specification for Small Unmanned Aircraft
F3178 — Operational Risk Assessment for sUAS Operations
F3269 — Methods for Bounding Flight Behavior of UAS
F3322 — Small Unmanned Aircraft Systems (sUAS) Parachutes
F3366 — General Maintenance Manual Specification for sUAS
F3376 — Core Competencies for Aviation Maintenance Personnel (prerequisite for F3600)
The FAA has been moving toward accepting ASTM standards as means of compliance for UAS operations under 14 CFR Part 107 and the forthcoming Part 108 (BVLOS). Organizations with F3600-aligned maintenance programs are better positioned for Part 108 compliance as those rules mature. Review needed: regulatory
Before you fly anywhere near controlled airspace, you need to know what airspace you're in, whether authorization is required, what restrictions are active, and how to file your intent. This guide covers the full airspace awareness stack — from the apps on your phone to the UTM infrastructure being built for BVLOS.
The Authorization Hierarchy
Not all airspace requires the same process. The FAA classifies airspace into classes, and each has different authorization requirements for drones. Review needed: regulatory
Airspace Class
What It Is
Drone Authorization
Evidence
Class G (uncontrolled)
Below 700ft AGL in most rural areas
No authorization needed (under 400ft AGL)
—
Class E (controlled)
Most of the NAS above 1,200ft; some areas begin at the surface
Authorization is required within the lateral boundaries of Class E airspace designated for an airport; use an available FAA authorization channel
Review needed: regulatory
Class D
Airspace around smaller towered airports (typically 5nm, SFC–2,500ft)
LAANC authorization required
—
Class C
Airspace around medium airports (typically 5–10nm, SFC–4,000ft)
LAANC authorization required
—
Class B
Airspace around major airports (multi-layer, 0–10,000ft)
LAANC authorization required; more restrictive
—
Class A
IFR airspace, 18,000–60,000ft MSL
No drone operations
—
Prohibited/Restricted
Military, national security, etc.
Special authorization or prohibited entirely
—
TFRs
Temporary Flight Restrictions
Check before every flight
—
The key tool for class D/C/B authorization is LAANC. The Low Altitude Authorization and Notification Capability is an automated system that grants near-instant authorization (typically within 30–90 seconds) in pre-approved UAS Facilities Map (UASFM) grids.
LAANC: The Standard Authorization Tool
What LAANC Does
LAANC grants automated Part 107 authorization to fly in controlled airspace at or below the altitude shown on the UAS Facilities Map. The UASFM shows a grid overlaid on controlled airspace, with each grid cell showing a maximum altitude (0ft, 100ft, 200ft, 400ft) where automated authorization is available.
Authorization is near-instant (typically under 2 minutes), tied to your FAA registration number, and valid for the time window and location you specified. Review needed: regulatory
LAANC Access
LAANC is available through FAA-approved UAS Service Suppliers. Use the FAA's current provider list rather than relying on a static vendor list in this handbook. Near-real-time requests can be made on the flight date; Part 107 further-coordination requests above the mapped altitude and below 400 feet must be submitted at least 72 hours before the requested start time and may be submitted up to 90 days in advance. official-source · evidence
LAANC supports near-real-time requests and Part 107 further coordination above mapped values and at or below 400 feet; further-coordination requests require at least 72 hours and may be filed up to 90 days ahead.
United States LAANC process as published by FAA; availability and authorization conditions remain controlling.
Software/source check 2026-10-02
FAA UAS Data Exchange (LAANC): Near-real-time authorization and Part 107 further-coordination timing and altitude scope; accessed 2026-10-02
Revision 1
No published correction history.
What LAANC Doesn't Cover
Above UASFM altitude: Part 107 pilots may use LAANC further coordination for requests above the mapped value and at or below 400 feet where the service is available; other requests use the FAA's applicable manual authorization channel. Review needed: regulatory
Class B airspace with 0ft UASFM altitude: This means automated authorization is not available at all altitudes in that cell — you need a manual DroneZone authorization.
TFRs: LAANC does not override active TFRs. Even with LAANC authorization, a TFR in effect makes flight unlawful.
BVLOS: LAANC airspace authorization does not itself authorize BVLOS. Use a currently available waiver, certificate, exemption, or other FAA approval applicable to the operation; the proposed Part 108 framework is not current operating authority. Review needed: regulatory / performance
Pre-Flight Workflow: What to Check
Every flight, without exception:
TFRs — tfr.faa.gov or any LAANC app. TFRs can appear with little notice (VIP movement, emergency response, large events). A presidential TFR covers ~10nm radius and is a federal crime to violate.
Review needed: regulatory
NOTAMs — notams.faa.gov. Relevant to your airspace and route. UAV-specific NOTAMs (NOTAM type D) are most relevant; also check general airspace NOTAMs for your area.
Airspace class — is authorization required? Which tool do you use?
UASFM altitude — if in controlled airspace, what's the authorized altitude ceiling for automated approval?
Weather — Part 107 requires 3 statute miles visibility minimum and 500ft below clouds. Check wind at altitude, not just surface.
For BVLOS operations, additionally:
6. File a UAS NOTAM via DroneZone
7. Follow any third-party-service conditions in the actual operating approval; ADSP requirements remain part of the proposed Part 108 framework
8. Confirm C2 link coverage for the planned corridor Review needed: regulatory
Ground Control Station Software
Mission Planner
Windows-native, most feature-complete for ArduPilot. Key airspace-relevant features:
- ArcGIS / Google satellite layers — visualize terrain and obstacles
- Geofence editor — define operational area boundaries; ArduPilot enforces these in firmware
- NOTAM overlay via 3rd party plugins — Herelink or FAA data feeds
- Corridor planning for BVLOS linear missions Review needed: regulatory / configuration
Cross-platform (Windows/Mac/Linux/iOS/Android). More approachable than Mission Planner, works with both ArduPilot and PX4. Key airspace features:
- Airmap integration (legacy) — basic airspace overlay
- Geofence editor — similar to Mission Planner
- Survey and corridor mission tools — optimized flight paths for mapping
QGC is better for operators who work across platforms or need a mobile GCS.
UgCS
Designed for professional survey and inspection workflows. Key differentiators:
- Terrain following — automatically adjusts altitude to maintain AGL height over varying terrain (uses SRTM or custom DEM data)
- Corridor planning — linear corridor missions for pipeline, power line, road inspection
- Virtual terrain 3D view — preview the planned flight path against terrain
- DJI, ArduPilot, PX4 support — single GCS for mixed fleets
UgCS is the professional standard for corridor and terrain-following missions. It's not free ($500+/year for commercial license) but the terrain following alone justifies it for complex terrain operations.
UTM: What It Is and How It's Evolving
UTM (UAS Traffic Management) is the digital infrastructure that will eventually manage drone traffic the way air traffic control manages manned aviation — but without human controllers, using automated coordination.
The core UTM services:
Service
What It Does
Airspace awareness
Know where flight is and isn't permitted, in real time
Flight planning
File intent, request authorization, check for conflicts
Conformance monitoring
Detect when a drone deviates from its planned flight
Deconfliction
Separate planned flights from each other in time/space
Dynamic airspace configuration
Respond to TFRs, emergencies, airspace changes
Current state (2026):
The FAA's LAANC covers certain airspace authorizations, and Remote ID provides identification information. Broader deconfliction and conformance-monitoring services are still developing. The proposed Part 108 ADSP (Automated Data Service Provider) framework describes one possible regulatory structure; it is not current operating authority. Review needed: regulatory / performance
Near-term expectation:
The Part 108 proposal describes filing flight intent through an approved ADSP for covered operations. A future final rule and approved service would determine the actual workflow. Proposed functions include:
- Register your planned flight path and time window
- Check for conflicts with other filed flights
- Return a "de-conflicted corridor" or flag conflicts for resolution
- Enable conformance monitoring during the flight
European U-Space:
The EU has a more structured UTM framework (U-space, under EASA Regulations EU 2021/664–666). U-space is operational in several EU member states and requires drone operators to use certified USSPs (U-space Service Providers) for most operations. U-space is more mature than the US UTM framework and offers a preview of what the US system may look like.
Digital Notice to Airmen (NOTAM) and DroneZone
Use the FAA's current application channel for the authority requested. Part 107 operational waivers now begin in the Aviation Safety Hub; Part 107 airspace authorizations remain in FAADroneZone until the FAA announces otherwise. official-source · evidence
FAA currently routes new Part 107 operational-waiver applications through the Aviation Safety Hub while Part 107 airspace-authorization applications remain in FAADroneZone.
United States application-channel status on October 2, 2026; recheck before filing.
Software/source check 2026-10-02
FAA Part 107 Waivers: Application channel, waiver purpose, § 107.31 BVLOS row, and current process notice; accessed 2026-10-02
Revision 1
No published correction history.
An authorization, waiver, and NOTAM serve different purposes. Follow the conditions in the actual authorization, waiver, COA, or exemption and check current NOTAMs and TFRs. Do not assume filing a notice grants operating authority or changes a regulatory limit.
Integrating Airspace Data into the Flight Stack
For automated and autonomous operations, airspace data should flow into the aircraft's geofence, not just the pilot's phone.
ArduPilot dynamic fences:
ArduPilot's geofence system can be updated in flight via MAVLink. A companion computer with airspace API access can:
1. Pre-flight: query airspace API (OpenAIP, AirHub, FAA UDDS) for restrictions in the operation area
2. Convert restrictions to ArduPilot fence polygons
3. Upload fences to FC before departure
4. Monitor for TFR activations and update fences dynamically in flight Review needed: regulatory
Open data sources:
- FAA UDDS (UAS Data Delivery Service): Free API for authorized airspace, FRIAs, UAS Facility Maps
- OpenAIP: Global airspace data, free for non-commercial, API available
- Airmap/Kittyhawk: Commercial APIs with global coverage
- SkyVector: Web-based, good for visual planning (not for programmatic access)
ArduPilot fence upload via MAVLink:
# Upload an exclusion fence polygon via MAVSDK
await drone.param.set_param_int('FENCE_ENABLE', 1)
# Upload polygon vertices via MAVLink MISSION_ITEM_INT
# type = MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION
This integration pattern—dynamic airspace to dynamic fence—is a useful engineering concept for a future BVLOS approval. It is not evidence of Part 108 compliance, and any aircraft-side implementation must remain a test feature until accepted data services and an operating authorization define its role. Review needed: regulatory
Forge cross-reference: 5 entries in video_scramblers category Related handbook chapters: Video Transmitters (VTX), Electronic Warfare, Military Firmware Forks
What Video Scramblers Do
Video scramblers alter the RF characteristics of FPV video transmissions to make them harder to detect, classify, or exploit. In the Ukrainian conflict context — where most of the products in this category originate — this means:
Preventing enemy RF detection systems from identifying FPV drone transmissions
Reducing the effectiveness of commercial RF jammers tuned to standard FPV frequencies
Making video signal harder to exploit for reverse-engineering mission intent
This is a narrow, specialized category. Standard commercial FPV operators have no need for video scrambling. The use case is explicitly military or high-stakes security.
Products
MAFIA System Components (Ukraine)
The MAFIA (Military Anti-FPV Interference Architecture, approximate translation) system and its variants represent the most developed video scrambling approach in the FPV drone market. Developed from Ukrainian battlefield experience where standard FPV video on 5.8GHz became predictably detectable.
MAFIA-compatible systems typically combine:
- Non-standard frequency operation (outside normal 5.725–5.875GHz band)
- Reduced power operation to minimize detection range
- Frequency agility / non-standard modulation
- Companion hardware on both drone and GCS sides
The specific technical implementations are not detailed in public documentation — by design.
Video Encryption Adapters
Standalone hardware that encrypts the video bitstream before transmission. The receiver must have the matching key/adapter to decode. Prevents interception and exploitation of video content even if the RF signal is detected.
Integration: Typically connects inline between camera output and VTX input on the drone side, with a matching receiver-side adapter before the DVR/goggle.
NDAA and Export
Video scramblers with military applicability may be subject to export controls (EAR/ITAR). Ukraine-origin hardware in this category is currently assessable under the existing US-Ukraine defense cooperation framework, but formal compliance verification should precede any procurement for US government programs.
All 5 entries in the Forge video_scramblers category are Ukrainian-origin.
The VTX broadcasts the camera feed from the drone to the pilot's goggles.
It's the most RF-sensitive component on the quad — power level, frequency,
antenna choice, and placement directly determine video range and quality.
In contested environments, the VTX is also the most vulnerable component:
video jamming is now the primary counter-drone tactic.
Camera exposure, encoding, radio transport, buffering, decoding and display contribute separately. Specify exact products, firmware, mode, resolution/frame rate, display and sample distribution. Analog, HDZero and other digital families cannot be assigned one universal glass-to-glass number. See video diagnostics.
VTX Systems Overview
System
Type
Resolution
Encryption
Ecosystem
Analog 5.8 GHz
Analog
~700 TVL
None
Open (any goggles)
DJI O3 / O4 Pro
Digital
1080p+
Yes
DJI goggles only
Walksnail Avatar
Digital
1080p
Yes
Walksnail/compatible
HDZero
Digital
720p
No
Multi-goggle
OpenHD / OpenIPC
Digital
Variable
Configurable
Open source
Analog VTX
How It Works
The camera outputs a composite video signal. The VTX modulates this onto an RF
carrier (typically 5.8 GHz) and broadcasts it. The receiver in the goggles
demodulates it back to video. Simple, fast, proven.
Power Levels
Power
Range (typical)
Use Case
25 mW
200–500 m
Indoor, proximity, pit mode
200 mW
500 m – 1 km
Park flying, freestyle
400 mW
1–2 km
General FPV
600 mW
2–4 km
Long range, penetration
1–2 W
4–10+ km
Extended long range
5 W
10+ km
Maximum range (military)
Higher power = more range but also more heat, more current draw, and more
detectable by enemy RF sensors. Military use favors minimum necessary power
to reduce electronic signature.
Frequency Bands (5.8 GHz)
Standard analog VTX operates across several band groups within 5.8 GHz:
Band
Channels
Range
Notes
A (Boscam)
8
5865–5725 MHz
Legacy
B (Boscam)
8
5733–5866 MHz
Legacy
E (DJI/Lumenier)
8
5705–5880 MHz
Common
F (ImmersionRC/FatShark)
8
5740–5880 MHz
Common
R (Raceband)
8
5658–5917 MHz
Racing standard
L (Low)
8
5362–5614 MHz
Less common
Raceband is the standard for multi-pilot flying because its channels are
spaced to minimize adjacent-channel interference.
Non-Standard Frequencies
In contested environments, operators move away from 5.8 GHz to bands that
enemy jammers don't cover:
1.2 / 1.3 GHz — longer wavelength, better obstacle penetration, fewer
jammers targeting this band. Requires larger antennas. Gaining popularity
in Ukrainian military use.
2.4 GHz — shared with control links (ELRS, etc.), which creates
self-interference risk. Some operators use it for video when 5.8 GHz is
jammed.
7.2 GHz — first deployed by Ukraine summer 2025. Caused significant
disruption because Russian jammers weren't covering it. Very short
wavelength = needs line of sight but compact antennas.
MILBETA firmware unlocks VTX frequency control from 3000–6999 MHz (vs stock
Betaflight's 4900–5999 MHz), enabling operation on these non-standard bands.
Digital VTX Systems
DJI O3 / O4 Pro
DJI's FPV video system dominates the consumer digital market. The O4 Pro is
the current generation.
Architecture: integrated air unit (camera + VTX + processor in one module).
Video is encoded on the drone, transmitted digitally, and decoded in DJI
goggles. Supports recording onboard.
Strengths: best image quality, established ecosystem, reliable link.
Weaknesses: heaviest option, most expensive, locked to DJI goggles,
closed-source firmware, DJI Remote ID concerns in military contexts. Review needed: regulatory / configuration
Walksnail Avatar
Caddx/Walksnail's competing digital system.
Architecture: separate camera and VTX board, connected by ribbon cable.
More modular than DJI — you can choose different cameras.
Strengths: modular, good image quality, competitive pricing, supports
gyro data passthrough for stabilized HD recording.
Weaknesses: smaller ecosystem than DJI, fewer goggle options.
HDZero
The racer's digital system. Fundamentally different architecture from
DJI/Walksnail.
Architecture: digital transmission optimized for minimum latency rather
than maximum resolution. Latency must name camera/mode and receiver/display. Transport latency alone is not glass-to-glass.
Selection considerations: measure the exact camera, mode, receiver and display; compare module mass
(Whoop VTX is extremely compact), open protocol supporting multiple goggle
brands, community-driven development.
Weaknesses: 720p maximum resolution (lower than competitors), smaller
ecosystem.
OpenHD / OpenIPC
These projects have different supported images, boards, drivers and video pipelines. Check exact-version documentation and measure camera-to-display timing and complete rail power. The former universal latency/power/price comparison and project-wide license claim are withdrawn pending component-specific evidence. See OpenHD and video troubleshooting. Review needed: performance / commercial / configuration
VTX Control
SmartAudio / IRC Tramp
Protocols that allow the FC to control the VTX (power level, channel,
frequency) via a serial connection. Betaflight, iNav, and ArduPilot all
support VTX control tables. This enables:
Pit mode — low power on the ground to avoid interfering with others
In-flight channel switching — change frequency without landing
Power ramping — automatic power increase after takeoff
MILBETA extends this with armed VTX switching (normally locked in stock
Betaflight) and the expanded 3000–6999 MHz frequency range.
VTX Tables
Betaflight uses VTX tables to define available bands, channels, and power
levels for each VTX model. The table must match your hardware — wrong table
= wrong frequencies. Custom VTX tables can be created for non-standard
frequency operation.
Antenna Considerations
VTX antenna choice is as important as the VTX itself. Key factors:
Polarization — circular polarization (RHCP or LHCP) is standard for FPV.
Rejects multipath reflections. Both the VTX antenna and goggle antenna must
match polarization.
Gain vs coverage — omnidirectional antennas (dipole, pagoda, lollipop)
provide coverage in all directions but limited range. Directional antennas
(patch, helical) on the receiver side extend range but require tracking.
Connector type — SMA, RP-SMA, MMCX, UFL/IPEX. Smaller connectors
(MMCX, UFL) are lighter but more fragile. Pigtail adapters add weight but
protect the VTX connector.
Mounting — the antenna must be above and clear of the carbon fiber frame.
Carbon attenuates RF. A VTX antenna sandwiched between carbon plates will
have severely reduced range.
VTX Selection Criteria
Which video system are your goggles? — this narrows the field
immediately. Analog goggles need analog VTX, DJI goggles need DJI air
units, etc.
Power level needed? — determined by range requirements and legal
limits (if applicable).
Size and weight? — micro builds need micro VTX. Weight matters for
racing and small quads.
Frequency flexibility? — for contested environments, ability to
operate on non-standard frequencies is critical.
Smart Audio / control protocol? — needed for FC-based VTX management.
Stack compatibility? — 20×20 or 30.5×30.5 mounting.
Contested Environment VTX Strategy
The video link is now the primary target for counter-drone EW. A layered
approach to video survivability:
Layer 1 — frequency diversification. Don't use standard 5.8 GHz Raceband
channels. Move to less-targeted bands (1.2 GHz, off-band 5.8 GHz channels,
7.2 GHz).
Layer 2 — power management. Use minimum necessary power to reduce
detectability. Higher power = easier to detect and direction-find. Increase
power only when range demands it.
Layer 3 — digital encryption. Digital systems (DJI, Walksnail) encrypt
the video feed, preventing interception. Analog feeds are fully open —
anyone on the frequency sees what you see.
Layer 4 — FHSS / spread spectrum. Systems like Barvinok-5 use frequency-
hopping spread spectrum to make jamming extremely difficult. The signal hops
across a wide band in a pseudo-random pattern that the jammer can't predict.
Layer 5 — fiber optic. Eliminates the RF video link entirely. The video
signal travels through a physical fiber cable, immune to all RF-based
jamming. Limited by cable weight and range. Both sides are mass-producing
fiber-optic FPV drones. Review needed: performance / failure mode
VTX Systems in Forge
System
Count
Notes
Walksnail Avatar
23
Most modular digital option
DJI O3/O4
18
Integrated air units
Analog
14
Legacy + budget builds
HDZero
10
Low-latency digital
Herelink
4
Enterprise/commercial
Other
47
Specialty, long-range, custom
Sources
Forge parts database (131 video transmitters)
Oscar Liang, VTX and video system guides
Armada International, "Jamming UAV Video Signals" (Feb 2026)
Cybershafarat, MILBETA VTX frequency unlock documentation
dev.ua, Barvinok-5 FHSS video system
OpenHD project documentation
OpenIPC project (note: license prohibits military use)
Local handbook search
Find the exact reference
Esc
Search is performed locally in this browser tab. Search text is not sent to the publisher.
Search the whole handbook.Use two or more characters. Search stays in this browser tab and is not transmitted.