FIBER-OPTIC
FPV
Fiber-optic FPV eliminates the radio link entirely. No radio emission means no jamming, no detection, no direction-finding. The drone is electromagnetically invisible. This is the ultimate counter to enemy EW.
Why Fiber — Plain Language
A normal FPV drone shouts into the air with radio waves: "HERE I AM! Here's my video! Here are my commands!" The enemy hears this shout with radio receivers, finds the direction it's coming from, and either jams it with noise or sends a missile toward the signal source.
A fiber-optic FPV drone whispers through a glass cable. The light travels INSIDE the fiber. Nothing radiates into the air. The enemy's radio receivers hear nothing. Their jammers jam nothing. They cannot detect, jam, or locate the drone by its communications because there are no radio communications to detect.
The trade-off: range is limited by cable length (typically 5-10 km on a spool), and the cable breaks when the drone impacts the target. This is a one-way trip. But for strike missions against high-value targets in heavily jammed environments, the certainty of maintaining control all the way to impact is worth the cost of one disposable drone.
How It Works
What This Costs
FIBER-OPTIC FPV BILL OF MATERIALS
External source: Optisk fiber – Wikipedia
Implementation
# Fiber-Optic FPV Link Budget
def fiber_fpv_link(spool_length_km=5):
"""Calculate fiber FPV link performance."""
# Single-mode fiber: 0.35 dB/km attenuation at 850nm
attenuation_db_km = 0.35
total_loss_db = attenuation_db_km * spool_length_km
# Transmitter: VCSEL 850nm, -3 dBm output
tx_power_dbm = -3
# Receiver sensitivity: -25 dBm (typical SFP)
rx_sensitivity_dbm = -25
# Connector losses: 2x 0.5 dB (drone + ground)
connector_loss_db = 1.0
rx_power = tx_power_dbm - total_loss_db - connector_loss_db
margin = rx_power - rx_sensitivity_dbm
# Latency: speed of light in glass = ~200,000 km/s
c_fiber = 200000 # km/s
latency_ms = spool_length_km / c_fiber * 1000
return {
"spool_km": spool_length_km,
"total_loss_db": total_loss_db + connector_loss_db,
"rx_power_dbm": rx_power,
"margin_db": margin,
"link_ok": margin > 3, # Need 3 dB margin minimum
"latency_ms": latency_ms,
"rf_emission": "ZERO",
"jammable": False,
"detectable_by_sdr": False,
"cost_eur": 85
}
for dist in [1, 3, 5, 10]:
r = fiber_fpv_link(dist)
status = "OK" if r["link_ok"] else "FAIL"
print(f"{dist:2d} km: loss={r['total_loss_db']:.1f}dB margin={r['margin_db']:.1f}dB "
f"latency={r['latency_ms']:.3f}ms [{status}]")
Sources
Ukrainian fiber-optic FPV deployment reports (Militarnyi, 2024). G.657A2 fiber specification (ITU-T, 2016). SFP module specifications (Fiberstore, 2024). ArduPilot fiber-optic companion computer integration guide (ardupilot.org, 2024).
Tactical Implications of Unjammable Control
Fiber-optic FPV represents the ultimate electronic warfare-resistant control link. No jammer at any power level can disrupt the control signal because the signal never enters the electromagnetic spectrum — it travels as light pulses through glass fiber. The operator maintains full control authority regardless of the enemy's EW capability. This makes fiber-optic FPV the weapon of last resort against targets defended by powerful jamming systems — positions that have defeated radio-controlled FPV attacks with barrage jammers.
The operational tradeoff: each fiber-optic mission consumes a spool of fiber cable (€15-25 per 5 km spool). The cable remains on the ground after the mission — it cannot be retrieved. Over time, hundreds of spent fiber cables accumulate on the battlefield, creating a forensic trail that reveals the approximate launch positions (proposed for use by — not actually deployed). Counter-forensic measure: vary launch positions by at least 500 meters between consecutive missions, and never launch from the same position more than twice. The enemy can analyze cable trajectories to identify frequently used corridors — randomize these corridors just as Lisa 26 randomizes logistics convoy routes.
Try the interactive Link Budget Calculator →
Open the interactive Link Budget Calculator →