LD-EDU-001  ·  v2.4.6  ·  published  ·  2026-03-30  ·  CC BY-SA 4.0
docs  /  education  /  libdrone — From Physics to Flight

About

A technical education in drone engineering for everyone who ever wanted to know not just what, but why. Covers aerodynamics, propulsion, control theory, GPS, magnetism, materials, and the engineering philosophy behind libdrone. Every principle is illustrated by something real and holdable.

A Note Before We Begin

This is not a manual. Manuals tell you what to do. This document tells you why everything works the way it does — so that when something unexpected happens, you have the understanding to figure it out rather than instructions to follow.

Every principle here is illustrated by something real. When we talk about angular momentum, we talk about it in the context of propellers you can hold in your hand. When we talk about the history of GPS, we talk about the political decision that changed civilian navigation accuracy overnight. When we talk about why your arm shaft is made of PETG instead of carbon fibre, we connect it to the same engineering philosophy that keeps passengers alive in car crashes.

The document has three parts. The first — and longest — is the principles. Physics, chemistry, control theory, electronics, electromagnetic compatibility, and the philosophy of free and open-source engineering. This is the foundation. Read it once and you will understand drones. Read it twice and you will understand engineering.

The second part is libdrone Core — the 4" educational platform. Everything from the principles chapter shows up here in a specific, tangible form. The third part is libdrone Pro — the 6" payload platform. It takes every concept from Core and pushes it further.

The target reader is anyone who is curious enough to want the real answer. That includes a 16-year-old with no electronics background and a university engineering student simultaneously. Hitting both requires physical intuition first, mathematics second, history throughout, and no condescension ever.

Let's begin.

PART ONE: THE PRINCIPLES

Section 1 — The Physics of Controlled Flight

1.1 What Actually Keeps a Drone in the Air

Here is the most common wrong answer: lift. The wings — or in this case the propellers — generate lift, and lift holds the drone up. This is not wrong exactly, but it skips the interesting part.

The real answer starts with Isaac Newton's third law of motion, which he published in 1687 and which has not required revision since: for every action there is an equal and opposite reaction. When a propeller spins, it accelerates a column of air downward. The reaction force — equal in magnitude, opposite in direction — pushes the propeller, and everything attached to it, upward. That is lift. Not some mysterious aerodynamic property, but a direct consequence of throwing mass in one direction and being pushed in the other.

This reframe matters immediately. If you want more upward force, you need to throw more air downward, or throw the same air faster, or both. The question of how to design an efficient propulsion system becomes: what is the most energy-efficient way to produce a given downward momentum rate?

The answer, from momentum theory, is elegant: it is always more efficient to accelerate a large mass of air by a small amount than to accelerate a small mass of air by a large amount, even if both produce the same thrust. This is why a helicopter with its enormous rotor is more efficient than a jet engine for hovering. It is why large, slow propellers are more efficient than small, fast ones for the same thrust. It is why a drone designed to carry a sensor payload for forty minutes uses 6-inch propellers spinning at 28,000 RPM rather than 3-inch propellers spinning at 60,000 RPM.

The mathematics backs this up. The power required to produce a given thrust T from a propeller of disk area A in air of density $\rho$ is:

P = T × v_induced = T × sqrt(T / (2 × ρ × A))

Where v_induced is the velocity the propeller induces in the air column passing through it. Notice that power is proportional to the square root of thrust divided by area. Double the disk area (which means roughly 1.4× the propeller diameter) and you reduce the power required for the same thrust by about 30%. This single equation explains decades of propulsion engineering choices.

Now comes the reframe that changes everything about how you think about drone flight.

A drone is not flying. It is continuously falling — and continuously correcting.

Remove the motor power from any multirotor and it drops like the aerodynamically inert object it is. There are no wings to glide on, no natural stability to coast on. Every moment of level flight is the result of active, continuous correction. The flight controller is running its control loop hundreds to thousands of times per second, measuring where the drone is, comparing it to where it should be, and adjusting the motor speeds to push it back. When you see a drone hovering perfectly still in a breeze, you are watching a computer solving a control problem at 8,000 times per second while making it look effortless.

This reframe matters because it changes what "flying" means. Flying a drone is not like sailing — you are not harnessing a natural force to maintain equilibrium. You are running an active correction loop against gravity, inertia, and wind simultaneously. Understanding this makes the flight controller's job feel as complex as it actually is, which makes the achievement of modern drone stability feel as impressive as it actually is.

1.2 The Six Degrees of Freedom — and Why Quads Are Underdetermined

Any rigid body moving freely in three-dimensional space has exactly six degrees of freedom: three translational (forward/back, left/right, up/down) and three rotational (roll around the front-to-back axis, pitch around the left-to-right axis, yaw around the up-down axis).

A quadcopter has four independent actuators: four motor speeds. With four numbers you are trying to control six dimensions. The mathematics of this immediately tells you something important — you cannot independently control all six simultaneously. The quadcopter makes tradeoffs.

Specifically, a quadcopter can control throttle (total thrust, affecting vertical translation), roll (differential thrust between left and right pairs), pitch (differential thrust between front and rear pairs), and yaw (differential angular momentum between clockwise and counterclockwise motor pairs). That is four controlled outputs from four inputs — fully determined, no redundancy.

What it cannot do is simultaneously maintain a fixed position and point in an arbitrary direction while also moving laterally. To move left, it must roll left — which tilts the thrust vector sideways. The altitude then requires compensation. Everything couples to everything else.

This is why the flight controller runs separate PID loops for roll, pitch, yaw, altitude, and position simultaneously, each feeding into the others. It is a coupled system, and managing the coupling is one of the fundamental challenges of multirotor control.

The underdetermined nature also explains motor redundancy in larger configurations. A hexacopter has six actuators for six degrees of freedom — it is exactly determined. Lose one motor and it drops to five actuators for six degrees of freedom — underdetermined, but still flyable with reduced authority. A quadcopter losing one motor drops to three actuators for six degrees of freedom — immediately and catastrophically underdetermined. This is not a design flaw in quadcopters. It is the direct cost of using the minimum number of motors, which minimises complexity, weight, and cost. The tradeoff is explicit: a quad is simpler and cheaper, but has no motor redundancy.

1.3 Angular Momentum — The Hidden Force

Of all the physical phenomena at work in a multirotor, angular momentum is the one most people have heard of and fewest people actually understand. It is worth taking the time to get it right, because it explains several design decisions that otherwise look arbitrary.

Angular momentum is the rotational equivalent of linear momentum. A spinning object resists changes to its spin axis — the faster it spins and the more massive it is (or more precisely, the larger its moment of inertia), the more it resists. You have experienced this: a bicycle wheel spinning rapidly resists being tilted. A gyroscope maintains its orientation regardless of how its support is moved. The Earth's axial tilt stays roughly constant over thousands of years because the Earth's enormous rotational inertia resists the gravitational torques trying to change it.

Now consider a propeller spinning clockwise when viewed from above. It has angular momentum pointing downward (by the right-hand rule — curl the fingers of your right hand in the direction of rotation, your thumb points in the direction of the angular momentum vector). If this were the only propeller on the drone, the airframe would experience the reaction: the drone would spin counterclockwise as it tried to push against the angular momentum the propeller was gaining.

This is the reason counter-rotating propellers are not a convention — they are a physical necessity. In a standard quadcopter, two motors spin clockwise and two spin counterclockwise, arranged so that diagonal pairs rotate the same direction. The angular momenta of the four propellers cancel exactly when all four spin at the same speed, and the drone neither yaws left nor right.

Yaw control is then astonishing in its elegance. To yaw clockwise: increase the speed of the two counterclockwise-spinning motors (which have angular momentum pointing upward) and decrease the speed of the two clockwise-spinning motors (angular momentum pointing downward). The net angular momentum of the propeller system shifts from zero toward pointing upward. The reaction in the airframe is to rotate clockwise. No mechanical linkages, no thrust vectoring, no moving parts beyond the motors themselves — just four numbers changing simultaneously.

The consequence of this for yaw authority is also important: yaw is produced by the angular momentum differential, not directly by thrust. This makes yaw inherently weaker than roll and pitch on a quadcopter, particularly at high throttle where the dominant forces are already large. This is why aggressive yaw maneuvers are the hardest to tune in Betaflight.

The history of early multirotor development is littered with failures caused by ignoring this. Early designs sometimes put all motors rotating in the same direction — the resulting yaw torque made the airframe uncontrollable. The moment someone figured out counter-rotation, multirotors became practical.

1.4 The Pendulum Principle — Why Where the Weight Sits Matters

Suspend a weight from a string and push it sideways. It swings away from vertical and then swings back. The restoring force is gravity, acting through the geometry of the pendulum. The string keeps the weight below the pivot point — and this below-ness is what creates the restoring force. If you could somehow hang the weight above the pivot, the system would be unstable: any small displacement would be amplified, not corrected.

A drone with its centre of mass below the plane of its propellers behaves like a pendulum. If the drone tilts, the weight hangs lower on the tilted side, and gravity creates a torque that tends to restore level. The lower the centre of mass relative to the propeller plane, the longer the effective pendulum arm, and the stronger this passive stabilising effect.

This explains several structural decisions. Batteries are heavy and go below the electronics stack — not primarily for protection or centre-of-gravity reasons (though those matter), but because placing the heaviest component as low as possible maximises passive stability. The libdrone V2.4.6 design specifically lowered the centre of gravity by 8–12mm compared to its predecessor by changing how the battery mounts. This was not an accident — it was a deliberate design choice with calculable consequences.

The pendulum principle has a subtlety that matters for tuning: the shorter the pendulum arm (centre of mass closer to the propeller plane), the higher the natural frequency of the pendulum oscillation. A higher natural frequency means the drone responds faster to disturbances — which sounds good, but it also means the flight controller's PID derivative term must be tuned more aggressively to damp the faster oscillations. Get it wrong and the drone oscillates at its natural frequency, which is exactly what a badly tuned D-term looks like in a blackbox trace.

This is not abstract. When libdrone V2.4.6 flew for the first time, the D-term recommendation was to reduce it by 10–15% from the previous version's baseline specifically because the shorter pendulum arm made the frame more responsive to D.

1.5 Hovering, Forward Flight, and the Pitch Paradox

Hovering is the simplest flight condition to analyse. For the drone to stay at a fixed altitude, total vertical force must equal zero — thrust up must equal weight down. For it to stay at a fixed horizontal position, total horizontal force must be zero. With a calm atmosphere, this means all four motors at equal speed, producing equal thrust, with the frame perfectly level.

Forward flight at constant speed and constant altitude is more interesting. To move forward, the drone must tilt forward — pitch its nose down. This redirects part of the total thrust vector horizontally, producing a horizontal force that accelerates the drone until aerodynamic drag balances it. At constant speed, horizontal thrust equals horizontal drag.

Here is where the paradox appears. When the drone pitches forward, the vertical component of its thrust decreases — it is no longer pointing all of its thrust straight up. But it must still support its full weight. Therefore, total thrust must increase to maintain altitude. More throttle is required in forward flight than in hover, even at moderate speed. The motors are working harder to cover the same weight while also providing horizontal force.

The mathematical consequence of this is that there is a maximum achievable horizontal speed for any given drone: the point at which 100% throttle cannot provide enough vertical thrust component (after accounting for the horizontal pitch) to also support the drone's weight. Above this speed, the drone descends — not because the motors are insufficient, but because the geometry of thrust direction limits the available vertical component.

Now the paradox: a heavier drone requires less pitch angle to achieve the same forward speed than a lighter drone. This seems backwards. A heavier aircraft needs more pitch to go fast?

The reason is counterintuitive but correct. A heavier drone needs more total thrust to support its weight in hover. In forward flight, the same large vertical thrust that supports the heavier weight also provides more horizontal force at a shallower pitch angle than the smaller thrust required by the lighter drone. The light drone must pitch more aggressively to generate enough horizontal force from its smaller thrust. The heavy drone can achieve the same horizontal force at shallower pitch because its thrust magnitude is larger.

This does not mean heavy drones are faster — the heavier drone also has more drag, which ultimately limits speed. But the relationship between weight and pitch angle is not the simple inverse that intuition suggests.

1.6 Induced Velocity and Why Your Sensor Needs a Mast

When a propeller pushes air downward, it does not push a discrete parcel — it induces a velocity field in the surrounding air. Below the propeller, air accelerates downward. Around the edges of the rotor disk, that air fans outward. Far below the drone, the column of fast air spreads and slows. But around the perimeter of the drone, something subtler happens: the fast-moving air that has passed through the propeller disk creates a pressure differential that draws air in from above and the sides, recirculating it back upward and then inward toward the propeller disk again.

The result is a toroidal vortex — a donut-shaped recirculation zone that surrounds the drone at approximately one to 1.5 rotor radii above the propeller plane. Air inside this zone has already passed through the propellers. It is turbulent, disturbed, and not representative of the ambient atmosphere above.

For a drone carrying nothing, this is mildly interesting fluid dynamics. For a drone carrying an air quality sensor, it is the difference between measuring the actual atmosphere and measuring the drone's own exhaust.

The induced velocity at hover can be calculated:

$$v_{induced} = \sqrt{\frac{T}{2 \rho A}}$$

Where $T$ is total thrust, $\rho$ is air density (approximately 1.225 kg/m$^3$ at sea level), and $A$ is the total rotor disk area. For libdrone at approximately 860g all-up weight, this works out to roughly 3.4 m/s of induced downwash velocity. The recirculation zone extends approximately 80–120mm above the rotor plane.

The SEN66 sensor mast on libdrone is sized to place the sensor above this zone. This is not aesthetic — it is the direct translation of fluid dynamics into a structural dimension. The mast is exactly as tall as it needs to be to get clean air, and no taller, because every additional millimetre of mast height increases the pendulum arm length and changes the handling characteristics discussed in the previous section.

This is what engineering tradeoffs look like when they are honest: a number derived from physics, balanced against another number derived from physics, with a result that serves the mission.

1.7 Vortex Ring State — The Invisible Hazard

In 2005, a British Royal Navy Sea King helicopter crashed during a training exercise in the Irish Sea. The official investigation identified vortex ring state as a contributing factor. In 1994, a US Army Black Hawk crashed during a training exercise in Germany. Again, vortex ring state. It is not an obscure academic phenomenon — it is a documented cause of real accidents in both manned and unmanned aircraft.

Here is what happens.

When a helicopter or multirotor descends vertically — particularly at moderate to high throttle — it is descending into the column of air it has just pushed downward. At low descent rates this is manageable. The rotor disk is still encountering mostly undisturbed air from above. But above a certain descent rate, approximately 3–4 m/s for a typical multirotor, the situation changes fundamentally.

The downwash from the propellers is moving down at v_induced, approximately 3.4 m/s for libdrone. The drone is also moving down at the descent rate. When the descent rate approaches v_induced, the downwash cannot escape downward fast enough — the drone is catching up with it. The air that the propellers just pushed down is now being ingested back into the propeller disk from below.

The result: the propellers are no longer pushing fresh air. They are recirculating a vortex ring of disturbed air around the rotor disk. The momentum transferred per unit time drops dramatically. Effective thrust falls — often by 30–50% — despite the motors running at the same or higher throttle.

The pilot's instinct is to apply more throttle. This makes it worse. More throttle strengthens the vortex, increases the downwash, and strengthens the recirculation. The drone enters an accelerating descent. The aircraft falls faster and faster with the pilot fighting it all the way down.

Recovery requires one thing: getting the rotor disk out of the vortex. This means translating horizontally — forward, backward, or sideways — so the rotor disk encounters undisturbed air rather than its own downwash. Even a small horizontal velocity of 3–5 m/s is usually enough. The vortex ring collapses, effective thrust returns, and the descent stops.

The practical rule for any drone pilot is simple: never descend vertically at more than 2 m/s in calm air, and always descend at an angle rather than straight down wherever possible. An angled descent continuously moves the rotor disk through undisturbed air. The vortex never has a chance to establish itself.

1.8 The Inertia Problem — Why Drones Don't Stop

Newton's first law: an object in motion stays in motion unless acted upon by an external force. This is not a philosophical statement. It is a description of what happens when you release the sticks.

A drone moving forward at 5 m/s carries kinetic energy equal to ½mv$^2$, where m is the drone's mass and v is its speed. For libdrone at 860g moving at 5 m/s, that is approximately 10.75 joules. When the pilot releases the stick, the drone does not stop. It continues forward. To stop it, the flight controller must pitch the nose up, redirecting thrust backward, converting kinetic energy into work done against its own thrust. This takes distance and time.

The distance required to stop from 5 m/s at comfortable deceleration (roughly 0.5g, or 5 m/s$^2$) is approximately 2.5 metres. That is a lot of space, and first-time pilots dramatically underestimate it.

The inertia problem is compounded by the pendulum effect discussed earlier. When the flight controller pitches the nose up to decelerate, the drone tilts backward. Gravity then pulls on the centre of mass, which is now on the low side of the tilted frame. The pendulum wants to swing the drone back toward level — but the flight controller is commanding nose-up to decelerate. The two forces compete, and the result is oscillation if the PID is not tuned correctly.

GPS position hold manages this automatically in GPS-assisted flight modes: the flight controller knows the drone's position, detects that it is moving past the commanded position, and applies the appropriate braking pitch. But it does not eliminate inertia — it manages it. The drone still overshoots slightly, decelerates, and settles. In windy conditions the overshoot is larger. In turbulence the drone is continuously correcting for gusts that push it off position.

Understanding inertia is the first step to flying smoothly. A smooth pilot anticipates where the drone will be, not where it is. They apply corrections early, gently, and with enough lead time for the drone's momentum to work with them rather than against them.

Section 2 — Vibration, Resonance, and the War on Noise

2.1 What Vibration Actually Is — and Why It's the Enemy

Vibration is energy oscillating in a structure rather than doing useful work. A tuning fork vibrates — energy put into it by the strike oscillates back and forth as the fork flexes, slowly dissipating into the surrounding air as sound. A poorly balanced propeller vibrates — energy from the motor oscillates the propeller, the motor, the arm, the frame, and everything attached to the frame.

The problem for a drone is specific: the flight controller contains gyroscopes that measure the rotation rate of the airframe. These gyroscopes cannot distinguish between rotation caused by actual flight manoeuvres and rotation caused by vibration. Both look identical in the sensor output. If a motor is vibrating the gyro at 500 Hz, the gyro faithfully reports that the airframe is oscillating at 500 Hz — not because it is wrong, but because it is doing exactly its job.

The flight controller then tries to correct this "oscillation." It increases the speed of some motors and decreases others to fight what it thinks is an attitude error. This generates more vibration, which generates more apparent error, which generates more correction. The system can enter a destructive feedback loop. In mild cases, the drone flies with a characteristic high-frequency buzz and poor efficiency. In severe cases, the flight controller oscillates the motors so aggressively that it overheats them. In extreme cases, the positive feedback drives the system unstable.

The enemy is not vibration per se — it is vibration that reaches the gyroscope and is misinterpreted as attitude error. Every design decision in the drone's structure and electronics stack can be understood as an attempt to break this signal path: prevent vibration from reaching the gyroscope, or remove its signature from the gyroscope's output before it reaches the PID loop.

2.2 Sources of Vibration in a Drone

A complete picture of vibration sources is necessary because each requires a different solution.

Propeller imbalance is the most common and most preventable source. Any asymmetry in the mass distribution of a propeller — a slightly thicker blade, a tiny imperfection in the moulding — creates a centrifugal force that rotates with the propeller. This force occurs exactly once per revolution: a 30,000 RPM motor with an unbalanced propeller generates a 500 Hz vibration (30,000 ÷ 60 = 500 Hz). This frequency is pure and predictable, and it is directly preventable by balancing the propeller before flight.

Motor electrical harmonics are unavoidable but predictable. A brushless motor with 14 poles (7 pole pairs) commutates electrically 7 times per mechanical revolution. At 30,000 RPM, the electrical commutation frequency is 30,000 × 7 ÷ 60 = 3,500 Hz. This fundamental and its harmonics (7,000, 10,500 Hz...) appear in the motor's vibration signature and in the electromagnetic noise it radiates. They are not removable, but they are calculable — which is exactly what the RPM filter exploits.

Frame structural resonance is a property of the frame geometry and material. Every structure has natural frequencies at which it prefers to oscillate — these are its resonant modes. Excite a structure at its resonant frequency and the amplitude grows dramatically; excite it at any other frequency and the response is small. A 3D-printed frame made of PETG and PCCF typically resonates in the 100–300 Hz range, depending on geometry and wall thickness. If any motor vibration frequency coincides with a frame resonance, the result is dramatically amplified vibration transmitted directly to the gyroscope.

ESC switching noise is electromagnetic rather than mechanical. The ESC switches its MOSFETs on and off at 48,000 times per second, generating electromagnetic fields at 48 kHz and its harmonics. These fields couple onto nearby conductors — including the gyroscope's power supply and signal traces — inducing noise voltages that appear in the sensor output. This is not vibration in the mechanical sense but has the same effect: false signals in the gyroscope output that the flight controller misinterprets as attitude errors.

Aerodynamic turbulence from propeller blade vortices is chaotic and broadband. Each blade tip generates a vortex as it moves through air, and the next blade encounters disturbed air rather than still air. The resulting pressure fluctuations load the motor unevenly and create broadband noise across many frequencies simultaneously. This is the hardest source to address because it cannot be predicted or filtered precisely — it requires broadband noise attenuation techniques rather than targeted notch filtering.

2.3 Resonance — When the Enemy Has a Tuning Fork

A guitar string has a natural frequency. Pluck it and it vibrates at that frequency — not because you applied a force at that frequency, but because the string's mass and tension define the frequency at which it prefers to oscillate. Apply a continuous force at this natural frequency (a sustained note from a nearby speaker at the right pitch) and the amplitude grows continuously. This is resonance.

The mathematical model of a resonating structure is the harmonic oscillator: a mass connected to a spring, with optional damping. The natural frequency is $\omega = \sqrt{k/m}$, where $k$ is the spring stiffness and $m$ is the mass. The quality factor Q describes how sharply the resonance is peaked — a high-Q oscillator oscillates for a long time after being excited, and its resonance peak is narrow and tall. A low-Q oscillator damps quickly and has a broad, flat resonance response.

For a drone frame, high Q is dangerous. A high-Q resonance means that if any vibration source hits near the frame's natural frequency, the response is very large. The frame oscillates at high amplitude, delivering strong vibration directly to the gyroscope, and the flight controller fights it furiously.

The libdrone sandwich structure addresses this by choosing materials and geometries that push the frame's natural frequencies away from the motor operating range. The PCCF layers are stiff, pushing resonant frequencies upward. The PETG layers add damping, reducing Q (turning the sharp peak into a broader, lower response). The gaps between arm extensions prevent the arm resonance frequencies from coupling directly into the core structure. The result is a frame whose resonant behaviour is designed, not accidental.

The practical test: after maiden flight, the blackbox reveals the frame's actual resonance signature. If unexpected peaks appear in the gyro spectrum at frequencies not corresponding to motor harmonics, the frame is resonating at those frequencies. The engineering response is to change the geometry (move the resonance) or add damping (reduce the Q).

2.4 The Mechanical Solution — Isolation Before Filtration

The hierarchy of problem-solving in engineering is: eliminate the problem, then isolate it, then filter its effects. Applied to vibration: eliminate vibration at its source where possible (balance the propeller), isolate what remains from sensitive components (floating motor mounts), then filter what reaches the sensor (software).

Floating motor mounts are vibration isolators. They sit between the motor and the arm, made of a compliant material — in libdrone's case, silicone O-rings. The physics of vibration isolation depends on the concept of transmissibility: the ratio of vibration amplitude at the isolated structure to vibration amplitude at the source.

A simple two-mass spring-damper isolator has transmissibility near 1.0 at low frequencies (the masses move together), a large peak at the natural resonance frequency of the isolator itself (this is bad — avoid exciting the mount at its own resonance), and then transmissibility falling off at 12 dB per octave above resonance. The mount must be designed so its natural resonance frequency is well below the motor vibration frequencies. For silicone O-rings of appropriate stiffness between a motor of known mass and an arm of known properties, this resonance falls in the 20–50 Hz range — well below the 500+ Hz motor vibration frequencies. The attenuation at 500 Hz is therefore many decades above the mount resonance, and the transmissibility is very low.

The gyroscope PCB itself has a second isolation stage. On the Matek H7A3-SLIM, the IMU chip sits inside a "moat" — a slot cut around it in the PCB substrate. This breaks the rigid mechanical connection between the PCB mounting holes (through which frame vibration enters the board) and the gyroscope chip (which must be isolated from that vibration). The moat is a mechanical filter built into the printed circuit board.

The principle, stated generally: solve the problem as close to its source as possible. Every stage of isolation that happens mechanically is better than the equivalent filtering done in software, because mechanical isolation removes the vibration from the system entirely, while software filtering removes its effect on the control loop but leaves the energy in the structure where it can cause other problems (mechanical fatigue, connector loosening, heat).

2.5 The Software Solution — Filtering Without Losing Information

Even with excellent mechanical isolation, some vibration reaches the gyroscope. Software filtering is the second line of defence.

The fundamental problem of filtering is that you cannot remove frequency content from a signal without also affecting the frequencies around it and introducing delay. A lowpass filter that cuts off above 100 Hz removes motor noise at 500 Hz — but it also slows down the signal's response to real attitude changes. In a control system, this delay is deadly: a PID controller receiving delayed measurements thinks the system is less responsive than it is, applies corrections that are too large, and causes oscillation.

The history of FPV drone tuning before 2019 was largely a war against this tradeoff. Pilots set their lowpass cutoffs high to reduce delay (better responsiveness, more noise) or low to reduce noise (cleaner signal, worse responsiveness). Neither was satisfying. Finding the sweet spot required hours of tuning for every airframe, and changing anything — props, motors, battery — could require starting over.

The RPM filter, introduced in Betaflight 4.1, solved this by changing the question. Instead of asking "what frequency content should I remove from the gyro signal?", it asks "at what frequencies is the motor noise right now?" The answer comes from BiDi DShot telemetry: every PID loop cycle, each ESC reports the exact electrical RPM of its motor. The flight controller knows, to the nearest 10 RPM, how fast each of its four motors is spinning. It immediately calculates the fundamental vibration frequency of each motor and its harmonics.

Then, instead of a broad lowpass filter that inevitably catches real attitude signal, it places narrow notch filters at exactly those frequencies and nowhere else. A notch filter removes a very narrow band of frequencies while leaving everything else untouched. The bandwidth of real attitude signal — everything below 100 Hz — is completely unaffected. Only the motor-frequency noise is removed. And because the motor frequencies are calculated continuously from real telemetry, the notch filters track the noise wherever it goes as throttle changes.

On libdrone's H7A3-SLIM running at 8 kHz, Betaflight simultaneously maintains 4 motors × 3 harmonics = 12 notch filter positions per gyroscope axis × 3 axes = 36 notch filters, all updated every 125 microseconds. The computational load of this is why flight controllers needed to upgrade from F4 to H7-class processors. The F4 could run the PID loop at 8 kHz, but not the RPM filter simultaneously. The H7 runs both with processor headroom to spare.

The additional dynamic notch filter runs on top of the RPM filter. It analyses the gyro spectrum in real time, finds the highest-amplitude noise peaks that do not correspond to motor frequencies, and places additional notch filters there. This catches frame resonances, propeller aerodynamic noise, and any other broadband contamination that the RPM filter's targeted approach missed.

The result is a gyro signal that is cleaner than anything achievable with hardware filtering alone, with less delay than a broad lowpass approach would require. This is what genuine technological progress looks like.

2.6 Propeller Balancing — Three Minutes That Change Everything

An unbalanced propeller is a rotating source of vibration at a frequency exactly equal to the motor RPM in revolutions per second. For libdrone's motors at 30,000 RPM: 500 Hz. The amplitude of this vibration depends on how unbalanced the propeller is.

Even a small mass asymmetry creates significant centrifugal force at high RPM. A 0.1 gram imbalance at the blade tip of a 6-inch propeller at 30,000 RPM generates a centrifugal force of approximately:

F = m × ω² × r = 0.0001 kg × (3,142 rad/s)² × 0.076 m ≈ 75 N

Seventy-five Newtons is about 7.5 kilograms of force, rotating at 500 Hz. Transmitted through the motor bearings and arm into the frame and gyroscope, this creates exactly the kind of narrow-band noise the RPM filter is designed to remove — but the RPM filter works better when the input is smaller, and it is always better to remove noise at the source than to filter it downstream.

A magnetic balancing tool works by placing the propeller on a magnetic pivot and observing which side is heavier (it drops). A small piece of tape on the lighter blade shifts the centre of mass until the propeller rests level in any orientation. This takes approximately three minutes per propeller.

The consequence of this three-minute investment: the noise floor in the blackbox gyro trace drops measurably, the RPM filter requires less aggressive settings to achieve the same noise reduction, the motor bearings experience less radial load (extending their service life), and the overall build quality is demonstrated — a balanced propeller is evidence of a careful builder.

2.7 Reading the Blackbox — Vibration as Information

Betaflight's blackbox logging records the raw and filtered gyro data, RPM values, motor outputs, and PID terms at the full loop rate. After a flight, this data is analysed using Betaflight Blackbox Explorer or PIDtoolbox, which can display the frequency content of the gyro signal — a spectrum showing which frequencies contain the most noise.

A clean build shows a flat noise floor below roughly 80 Hz, then a rapid rise in noise above. Narrow spikes at 500 Hz, 1,000 Hz, 1,500 Hz (and their equivalents for each motor at its instantaneous RPM) indicate propeller and motor fundamental and harmonic noise — this should be almost entirely removed by the RPM filter. Broader peaks in the 100–300 Hz range indicate frame resonance. A rising floor from 50 Hz upward indicates broadband mechanical noise — often aerodynamic turbulence.

The blackbox spectrum is the ground truth for whether the mechanical and software solutions are working. It is not possible to determine whether a build is well-tuned without it. The maiden flight is a data collection event, not a performance — its job is to produce a blackbox trace that reveals the build's vibration signature so that the mechanical and tuning decisions can be validated or corrected.

Section 3 — Crash Energy Management

3.1 Energy Has to Go Somewhere

The law of conservation of energy is absolute: energy is never created or destroyed, only converted from one form to another. When a drone hits something, the kinetic energy of the moving drone must be converted — into deformation, heat, sound, and the kinetic energy of flying debris. The engineer's job is not to prevent energy from being dissipated (this is thermodynamically impossible) but to control which components do the dissipating.

An unengineered crash dissipates energy through whatever path offers least resistance. This might be the flight controller bending under the arm, the ESC connection failing, the motor bell fracturing. These are expensive, slow-to-repair failures. An engineered crash follows a designed path: specific, cheap, fast-to-replace components fail first, protecting the expensive and time-consuming ones behind them.

The difference between an unengineered crash and an engineered one is not whether the drone breaks — it is whether the drone breaks in a useful way.

3.2 The Crumple Zone Philosophy

Before the 1950s, automobile design treated the body as a rigid protective shell. The assumption was that a stiffer car was a safer car — the car would resist deformation and the occupants would be protected by the unchanging structure around them. This assumption killed people.

The problem with a rigid structure in a crash is that it does not absorb energy — it transmits it. When a rigid car hits a wall, the car stops almost instantaneously. The deceleration force on the occupants is enormous: F = ma, and a very short stopping distance means very high deceleration and therefore very high force. It is the stopping force, not the impact itself, that causes injury.

The insight that changed automotive safety was that controlled deformation of the front of the car absorbs energy gradually, extending the stopping distance and reducing the peak deceleration force on the occupants. The car crumples at the front — deliberately, in a controlled way — while the cabin remains intact. The front structure sacrifices itself to protect the people inside.

This principle, once understood, appears everywhere in safety engineering. Aircraft are designed so that the landing gear collapses before the fuselage fails. Engine mounts use deliberately weakened fuse pins: in a hard landing or bird strike, the pin shears and the engine detaches cleanly from the wing rather than tearing the wing apart. Electrical fuses blow before wiring melts. Pressure relief valves open before pressure vessels burst. Every designed failure point protects a more valuable structure or system behind it.

The pattern is universal: identify the most critical component to protect, design a chain of progressively weaker structures in front of it, and make each element in the chain cheap and fast to replace.

3.3 Applying This to a Drone Frame

libdrone's failure hierarchy is explicit:

arm shaft fractures
  → arm tab survives
    → T-slot survives
      → X body survives
        → electronics survive

Each step in this hierarchy is a design decision, not an accident. The arm shaft is made of PETG rather than PCCF because PETG is tough and absorbs impact energy — it fails in a ductile, controlled way rather than shattering. It is printed vertically so that the layer bonds (the weakest direction of printed parts) run perpendicular to the expected impact load direction — this gives the highest layer-bond strength against the crash force while still allowing the shaft to be the weakest element overall. It is dimensioned so that the force required to fracture it is less than the force required to fail the next element in the chain.

The arm shaft costs a few cents in filament and takes 20 minutes to print. The flight controller costs significantly more and takes days to source. The arm shaft is the fuse.

This philosophy extends to material selection throughout the frame. PCCF is stiff and relatively brittle — excellent for the structural core where dimensional precision matters, but dangerous at the crash interface where a brittle material would shatter unpredictably. PETG is tough and ductile — it absorbs impact energy by deforming rather than fracturing. PETG at the bottom face of the sandwich is the analogue of a shoe sole: rubber (tough) rather than steel (stiff) because the impact face needs to absorb, not transmit.

3.4 Sandwich Structures and Force Paths

Crash energy does not disappear at the point of impact — it propagates through the structure. In a flat hub design (a single continuous plate), crash force from one arm propagates across the full plate area into all other arms and into the electronics at the centre. The force path is wide open, and the central electronics zone is directly in it.

The libdrone X-body sandwich breaks this force path. There are deliberate gaps between the arm extensions and the core zone. Crash force from an arm must pass through a narrow transition point to reach the core — and this transition acts as a geometric throttle, concentrating and dissipating force along its length rather than transmitting it wholesale.

The aerospace rule for sandwich structures is worth stating explicitly: every hole weakens the structure globally, not just locally. A hole in a structural member creates a stress concentration — the stress that would have been distributed across the full cross-section must now flow around the hole, creating elevated stress at the hole edges. For this reason, any hole in a load-bearing member must have a minimum wall of material around it equal to at least the hole's own diameter. libdrone maintains 3mm wall around all T-slots, rod channels, and bolt holes. Violating this rule produces a structure that appears intact but fails unexpectedly.

The T-slot and tab system is also an application of exact constraint design. A tab in a T-slot is constrained in exactly the directions it needs to be — it cannot pull laterally out of the slot, it cannot fall through the slot, but it can slide along the slot for assembly and disassembly. Over-constraining the joint (making it a tight fit in all directions) would create internal stress whenever manufacturing tolerance is not perfect. The floating tab pocket in the libdrone design allows ±0.3mm of manufacturing variation without creating internal stress — the correct engineering response to real-world precision limits.

3.5 Pre-Tensioning — Stiffness Without Mass

Stand on a bridge and notice that it does not flex under your weight. The deck is not so thick that it cannot flex — it is pre-tensioned so that it resists flexing. The steel cables of a suspension bridge are under enormous tension, and this tension makes the entire structure resist deformation without adding material mass. Pre-stressed concrete works on the same principle: steel tendons inside the concrete are tensioned before the concrete sets, putting the concrete into compression. Concrete is strong in compression, weak in tension — by pre-stressing it, you exploit its strength and avoid its weakness.

libdrone's CF rods are placed under compression at assembly through interference fits in the PETG layers. The PETG deforms slightly to accommodate the rod, gripping it and being held in radial tension. The rod is in compression. The assembly is pre-tensioned.

The consequence for the gyroscope: frame flex that would appear as gyro noise cannot occur because the pre-tensioned rods hold the geometry against small loads with no slack. There is no slack to absorb before the structure resists — it resists immediately, from zero displacement. This is the difference between a finger-tight bolt (some slack before the bolt loads) and a properly torqued joint (loaded from zero). Pre-tensioned structures behave like properly torqued joints across the entire frame.

The four CF rods arranged at the corners of the sandwich form a closed box section. Box beams — hollow sections closed on all four sides — resist torsion dramatically better than open sections of the same material and wall thickness. This is why aircraft spars, bridge girders, and racing car chassis use closed sections: the Saint-Venant torsion constant of a closed tube is orders of magnitude higher than an open profile of the same perimeter. The four rods, locked into the sandwich layers, create the equivalent of a box beam running through the body of the drone.

3.6 Material Philosophy — Right Material, Right Zone

Using three different materials in a single structure is not indecision — it is precision. Each zone of the structure has different requirements, and each material is matched to its zone.

PCCF (polycarbonate carbon fibre composite): The polycarbonate matrix gives impact resistance and toughness; the chopped carbon fibre reinforcement gives stiffness and dimensional stability under thermal variation. Young's modulus 8–12 GPa compared to PETG's 1.5–2 GPa — roughly six times stiffer. This stiffness makes PCCF ideal for the structural layers where the T-slots and rod channels must maintain precise dimensions. It is relatively brittle — an undesirable property at the crash interface, but irrelevant in the core where the failure hierarchy places it well behind the expendable elements.

PETG (polyethylene terephthalate glycol): The glycol modification improves printability and impact resistance versus standard PET. PETG is tough — it deforms before it fractures. This ductility is exactly what you want in a deliberately sacrificial element. An arm shaft that shatters explosively is not useful. One that bends, cracks, and holds its shape while failing is predictable and safe. PETG at 0.2mm layers printed vertically has controlled crack propagation in the direction of crash load.

ASA (acrylonitrile styrene acrylate): UV stabilised and thermally resistant. Exposed surfaces of a drone accumulate UV radiation over hundreds of flight hours. PETG yellows and weakens under prolonged UV exposure. ASA does not. It is used for the bumpers and any externally exposed surface that will spend significant time in sunlight.

The biological analogy that gave rise to this architecture is worth stating: PCCF is bone (stiff, load-bearing, brittle when pushed to failure), PETG is cartilage (compliant, impact-absorbing, ductile), ASA is skin (protective, environmentally resistant, cosmetic). Nature arrived at this zonal material strategy through evolution. Engineering arrived at it through the same logic: different zones have different requirements, so different zones get different materials.

Section 4 — Control Systems: How a Drone Thinks

4.1 The Closed Loop — Why Feedback Changes Everything

In 1788, James Watt added a simple device to his steam engine that changed the course of industrial history. The centrifugal governor consisted of two weighted balls on hinged arms connected to the engine's rotating shaft. As the shaft spun faster, centrifugal force pushed the balls outward, which mechanically closed the throttle valve, reducing steam flow and slowing the engine. As it slowed, the balls fell inward, opening the throttle. The engine maintained constant speed without human intervention.

Watt did not know he had invented the first practical feedback controller. He had no mathematical framework for what he had built. But the insight was perfect: measure the output (engine speed, represented by ball position), compare it to a desired state (the ball position corresponding to target speed), and use the difference to correct the input (throttle position). This is feedback control, and it is the foundation of every automatic system that has followed.

The drone's flight controller does exactly what Watt's governor did, but on six output variables simultaneously, at 8,000 cycles per second, with a mathematical sophistication that would have been incomprehensible in the 18th century and is now implemented on a chip the size of a thumbnail that costs a few euros.

The open-loop alternative — applying a fixed input and accepting whatever output results — works only for systems that are inherently stable and consistent. A drone is neither. Without active feedback, it falls. With active feedback running at sufficient speed, it can hover in 30 km/h winds with millimetre-level stability.

4.2 PID — The Algorithm That Runs Almost Everything

In 1911, Elmer Sperry filed a patent for an automatic ship steering system that used a gyrocompass to measure the ship's heading and mechanical feedback to correct it. The system was a practical success but mathematically crude — it overcorrected, causing the ship to oscillate around its heading rather than tracking it smoothly.

In 1922, the Russian-American engineer Nicolas Minorsky published a formal mathematical analysis of automatic ship steering that identified the problem and proposed the solution: the controller should respond not just to the current error (how far off course the ship is now) but to the history of the error (how long it has been off course, suggesting a sustained disturbance) and to the trend of the error (whether it is getting worse or getting better, suggesting how aggressively to correct). These three components — proportional, integral, and derivative — became the PID controller.

For the next century, PID controllers became the dominant control algorithm in industrial, aerospace, and eventually consumer applications. They control the temperature in your oven, the speed of your car on cruise control, the position of a hard drive read head, the attitude of a satellite, and the stability of the drone you are building.

The three terms, understood as physical intuition rather than mathematics:

Proportional: Act proportional to where you are. If the drone is 10° off level, apply a corrective torque proportional to 10°. If it is 5° off, apply half as much. The proportional gain K_P sets the aggressiveness of this response. Too low, and the correction is too weak — the drone drifts slowly and never snaps to the commanded attitude. Too high, and the correction is too aggressive — the drone overshoots the commanded attitude, then overcorrects in the other direction, and oscillates.

Integral: Act proportional to how long you have been here. If the drone is consistently 1° off level for a sustained period — perhaps because one motor is slightly weaker, or the centre of mass is slightly off-centre — the proportional term generates a constant correction that happens to balance against this offset. The integral term detects this: it accumulates the error over time, building up a stored correction that it adds to the proportional term. Eventually the accumulated integral correction eliminates the residual error that the proportional term alone could not. The drone settles exactly on target rather than slightly off it.

The risk of the integral term is "windup." If the drone is commanded to do something impossible — be told to hover in a wind that exceeds its maximum speed, for example — the error never reduces, the integral accumulates without bound, and when the constraint is removed, the stored integral delivers a large unexpected correction. Betaflight implements integral limiting to prevent this.

Derivative: Act proportional to how fast you are arriving. The derivative term looks at the rate of change of the error. If the error is decreasing rapidly (the drone is closing on the commanded attitude quickly), the derivative applies a braking force — reducing the correction before the drone reaches the setpoint, preventing it from overshooting. It is predictive: "the error is going to zero fast — brake now."

The derivative term is also the most noise-sensitive, because calculating the rate of change of a noisy signal amplifies the noise. A gyroscope reading with some measurement noise, differentiated, produces a much noisier signal. The D-term amplifies this noise and turns it into motor commands — which is exactly why motor vibration contaminating the gyro signal is so damaging to a drone using PID control.

These three terms together explain the entire behaviour of a PID-controlled drone: the P term gives it stiffness, the I term removes drift, and the D term prevents overshoot. Getting all three tuned correctly for a specific airframe is an engineering skill developed over decades of Betaflight tuning logs and community knowledge.

4.3 Motor Mixing — From Three Numbers to Four Motors

The PID loop produces three correction values: one for roll, one for pitch, one for yaw. The drone has four motors. The motor mixer translates three corrections into four motor speed changes.

For a standard X-frame quadcopter with motors numbered front-left (FL), front-right (FR), rear-left (RL), rear-right (RR):

Motor FL = base_throttle + roll + pitch_correction - yaw_correction
Motor FR = base_throttle - roll - pitch_correction - yaw_correction
Motor RL = base_throttle + roll - pitch_correction + yaw_correction
Motor RR = base_throttle - roll + pitch_correction + yaw_correction

The signs follow the geometry. To roll right: increase FL and RL (left motors) and decrease FR and RR (right motors) — more thrust on the left tilts the drone right. To pitch forward: increase RL and RR (rear motors) and decrease FL and FR (front motors) — more thrust at the back tilts the nose down. To yaw clockwise: the clockwise-spinning motors (FR, RL in standard configuration) are slowed, shifting the angular momentum balance toward counterclockwise rotation, which makes the airframe rotate clockwise by reaction.

The elegance of this is that all four corrective actions (throttle, roll, pitch, yaw) are combined algebraically into four motor commands, and the mixer is the only place in the control chain where the specific geometry of the frame matters. Change from X-frame to H-frame, change from Plus-frame to True-X, and only the mixer coefficients change — all the PID logic above remains identical.

4.4 Feed-Forward — Anticipation Instead of Reaction

PID control is inherently reactive. Error must exist before any correction is applied. For a slow, stable platform like a mapping drone, this is acceptable — the delay between a disturbance and its correction is imperceptible in the drone's behaviour. For a racing drone or an agile freestyle platform, this delay matters.

Feed-forward addresses this by responding to the pilot's stick input directly, before the drone has moved. When the pilot pushes the roll stick, the feed-forward term immediately generates a roll correction proportional to how fast the stick moved — it anticipates that the stick movement will be followed by a roll command, and pre-loads the motors with the appropriate correction.

The effect on handling is dramatic. With only PID, there is a perceptible delay between stick movement and drone response — the error must build up before the P term responds, and the I term must accumulate before it contributes. With feed-forward, the motors start responding the instant the stick moves. The drone feels immediately reactive.

For libdrone's mapping missions, feed-forward is deliberately set conservatively. The drone spends most of its time following GPS-commanded waypoints in position-hold mode, where stick inputs are minimal and the dominant disturbance is wind. In this context, feed-forward's benefits are marginal, and its potential to amplify stick noise (if the transmitter signal is not perfectly clean) makes it less useful than for freestyle flying.

4.5 The Loop Rate Question — How Fast Is Fast Enough?

The Nyquist-Shannon sampling theorem, proved in 1949, states that to faithfully reproduce a signal up to frequency F, it must be sampled at least at 2F. Applied to drone control: to control attitude changes at up to 100 Hz (the approximate upper limit of meaningful aerobatic manoeuvres), the PID loop must run at at least 200 Hz.

So why does Betaflight run at 8,000 Hz — forty times faster than the Nyquist minimum?

The answer lies in the filtering and processing chain. Each step between gyro measurement and motor command introduces latency. The anti-aliasing filter for the gyro has latency. The RPM filter calculation has latency. The PID calculation itself has latency. The DShot transmission has latency. These delays add up — and in a control system, cumulative delay reduces stability margins and limits achievable gain.

By running the loop at 8 kHz rather than 1 kHz, the latency of each loop cycle drops from 1 millisecond to 125 microseconds. The total end-to-end latency from gyro reading to motor command is then small enough that the PID gains can be set higher without causing instability. Higher P gain means better disturbance rejection. Better disturbance rejection means the drone holds its position and attitude more precisely in wind.

The history of flight controller loop rates traces the evolution of microcontroller performance. Early Betaflight on F1 processors ran at 1 kHz. F3 processors allowed 4 kHz. F4 raised the ceiling to 8 kHz but without enough headroom for the RPM filter simultaneously. The H7 runs 8 kHz with all filtering active and still uses only a few percent of its CPU capacity. Each doubling of loop rate came from a doubling (or more) of processor performance, and each doubling produced a measurable improvement in flight quality.

4.6 From Gyro to Motor in 125 Microseconds

At each PID loop cycle, an extraordinary amount of processing happens in a very short time. Understanding the full chain is both technically interesting and practically useful — it reveals exactly where delay comes from and why each component choice matters.

  1. Gyro read via SPI (~13 µs): The DMA controller reads 16 bytes from the ICM-42688-P gyroscope over SPI at 10 MHz. The CPU is not involved — it set up the DMA transfer before the previous cycle ended and receives an interrupt when the data arrives. The gyro provides 16-bit values for each of three axes at the configured output data rate.

  2. RPM filter (~20 µs): The eRPM values received from the four ESCs (one per PID cycle, via BiDi DShot) are used to calculate the current fundamental frequency and harmonics of each motor. Thirty-six notch filter coefficients are updated. The raw gyro data is passed through all active notch filters.

  3. Dynamic notch filter (~10 µs): The filtered gyro data is analysed using a sliding frequency spectrum estimate. High-amplitude peaks not corresponding to motor frequencies get additional notch filters placed at them.

  4. PID calculation (~15 µs): Three independent PID loops (roll, pitch, yaw) each calculate their proportional, integral, and derivative terms using the filtered gyro data. Floating-point multiply-accumulate operations dominate — exactly what the H7A3's hardware FPU executes in a single clock cycle.

  5. Motor mixing (~5 µs): The three PID outputs are combined with the base throttle through the mixer matrix to produce four motor commands.

  6. DShot600 transmission (~26 µs): The four 16-bit DShot packets are transmitted over four dedicated GPIO pins in hardware, timed by the timer peripheral so that all four motors receive their commands simultaneously within microseconds of each other.

Total: approximately 90 µs, leaving 35 µs of slack in the 125 µs loop window. This slack is used by the scheduler to run lower-priority tasks: GPS data parsing, OSD frame generation, UART communication, and blackbox logging.

The entire chain, from physical rotation of the airframe to motor response, takes roughly 125 µs in one direction and another 125 µs for the motor to mechanically respond. The total control latency is approximately 250–500 µs. The drone's attitude dynamics (its own mechanical time constants) are measured in tens of milliseconds. The control loop is always far faster than the thing it is controlling — this is the necessary condition for stable closed-loop control.

Section 5 — Electronics: Components, History, and Physics

5.1 The Microcontroller — A Computer the Size of a Fingernail

In 1971, Intel released the 4004 — the first single-chip microprocessor. It contained 2,300 transistors, ran at 740 kHz, and could perform 92,000 operations per second. It was remarkable. It was also the size of a fingernail and cost the equivalent of several hundred dollars in today's money.

In 2021, the STM32H7A3 that runs libdrone's flight controller contains approximately 2 billion transistors, runs at 280 MHz, and can perform roughly 560 million floating-point operations per second. It costs a few euros and is smaller than the 4004. The improvement in computing power per unit cost over 50 years is approximately a factor of ten billion.

This exponential improvement — Moore's Law, observed by Intel co-founder Gordon Moore in 1965 and continued for six decades — is the reason consumer drones are possible. The gyroscope reading, RPM filter, PID calculation, GPS parsing, OSD rendering, UART communication, and logging that the flight controller does simultaneously on every 125-microsecond loop cycle would have required a room-sized computer in 1971.

The specific processor in libdrone's Matek H7A3-SLIM is the STM32H7A3, built on ARM's Cortex-M7 architecture. "ARM" originally stood for Acorn RISC Machine — named after Acorn Computers, the British company that designed the first ARM processor in 1985 for use in the BBC Micro computer. The architecture was designed for simplicity and power efficiency, and it has become the dominant processor design in embedded systems worldwide: if you own a smartphone, a modern washing machine, a recent car, or a drone, it almost certainly contains an ARM processor.

"RISC" — Reduced Instruction Set Computer — means the processor executes simple, fast instructions rather than complex ones. The Cortex-M7 implements the ARMv7-M RISC instruction set with a superscalar 6-stage pipeline: it can execute two instructions per clock cycle in ideal conditions. At 280 MHz with dual-issue, the peak instruction throughput is 560 million instructions per second. The hardware floating-point unit (FPU) executes single-precision IEEE 754 arithmetic — the kind required for PID calculations — in a single clock cycle, making the entire PID loop effectively free in processor terms.

The DMA (Direct Memory Access) controller is the less glamorous but equally important innovation. Without DMA, the CPU would need to sit in a busy-wait loop during every sensor read — watching data arrive byte by byte over SPI, doing nothing else. With DMA, the CPU configures the transfer, then continues executing other code. When the transfer is complete, the DMA raises an interrupt. The CPU examines the result and moves on. At 32 kHz gyro sampling, without DMA the CPU would spend approximately 30% of its time doing nothing but waiting for sensor data. With DMA, that time is used productively.

5.2 MEMS Sensors — A Factory on a Silicon Chip

In 1986, researchers at the University of California Berkeley published a paper describing a miniaturised mechanical sensor fabricated using semiconductor manufacturing techniques — the same photolithography process used to make integrated circuits. The sensor was a tiny cantilever beam etched into silicon, deflecting under acceleration and changing the capacitance of a nearby electrode. It was the first MEMS (Micro-Electro-Mechanical System) device.

Within a decade, MEMS accelerometers were in automobile airbag systems. Within two decades, MEMS gyroscopes were in game controllers and smartphones. Within three decades, MEMS IMUs smaller than a postage stamp and costing a few euros were in every drone.

The IMU in libdrone's flight controller — the ICM-42688-P from TDK InvenSense — contains both a three-axis MEMS accelerometer and a three-axis MEMS gyroscope in a 3 × 3mm package. Understanding how these work physically is more interesting than the datasheet suggests.

The accelerometer works on a deceptively simple principle. Inside the chip, a tiny proof mass — a few micrograms of polysilicon, etched into a comb-shaped structure — is suspended by springs from the substrate. When the chip accelerates, the proof mass tends to stay stationary (inertia) while the substrate moves with the chip. The relative displacement between proof mass and substrate is measured by changes in capacitance between interdigitated comb fingers. The capacitance change is converted to voltage, amplified, and digitised. The entire mechanical structure is smaller than a grain of sand, fabricated with the same tools that make transistors.

The gyroscope is more subtle. It uses the Coriolis effect — a phenomenon discovered by French mathematician Gaspard-Gustave Coriolis in 1835 while studying the dynamics of rotating machinery. The Coriolis effect is the apparent deflection of a moving object in a rotating reference frame. On Earth, it is why hurricanes spiral (air moving toward the equator is deflected by the Earth's rotation). In a MEMS gyroscope, it is why a vibrating proof mass deflects when the chip rotates.

Inside the ICM-42688-P, a microscopic proof mass is driven to oscillate at a precise resonance frequency by electrostatic actuation — typically 20–40 kHz. When the chip rotates around an axis, the Coriolis force deflects the oscillating mass perpendicular to both its oscillation direction and the rotation axis. The deflection magnitude is proportional to the rotation rate. A second set of sense electrodes measures this deflection, and its amplitude — after demodulation at the drive frequency — gives the rotation rate.

The genius of using the Coriolis effect is that the measurement is essentially self-referencing: the drive frequency is very precisely controlled, the sense measurement is synchronously demodulated at the same frequency, and environmental vibration at different frequencies is rejected. This is why MEMS gyroscopes can measure rotation rates in the presence of motor vibration — the motor vibration is at different frequencies than the gyroscope's drive frequency, and the synchronous demodulation rejects it.

5.3 The ESC — From Six Transistors to a Computer

The history of electronic speed controllers begins with the brushless motor itself. In 1856, Werner von Siemens built the first practical electric motor for a German cavalry telegraph demonstration. It was a brushed motor — the rotor contained coils of wire, and mechanical brush contacts switched current between them as the rotor rotated. This worked, but the brushes wore out, created sparks, and limited efficiency.

The brushless DC motor eliminates the brushes by moving the permanent magnets to the rotor and the coils to the stator. Instead of mechanical commutation, electronic switches commutate the current — connecting different stator coils to the power supply at different rotor positions to maintain the rotating magnetic field that drives the rotor. This requires knowing the rotor position.

Early brushless motors used Hall-effect sensors embedded in the stator to detect rotor position. This added complexity, failure points, and cost. The innovation that made sensorless brushless motors practical was detecting the back-EMF (the voltage the spinning rotor generates in the un-powered coil) to infer position without sensors. In a three-phase motor, while two coils are powered, the third is floating — its back-EMF voltage can be measured, and its zero-crossing (when it passes through the halfway point between supply rails) corresponds to a known rotor position. This zero-crossing detection allows sensorless commutation.

The modern ESC is the device that implements this commutation. At its core are six N-channel MOSFETs arranged as a three-phase bridge: two MOSFETs per phase (one high-side, one low-side), capable of connecting any phase to battery positive or battery negative. At any instant, one high-side MOSFET and one low-side MOSFET are active, connecting two phases through the motor windings and creating a magnetic field in the stator. The third phase floats, and its back-EMF is monitored for zero-crossing.

The MOSFET was the enabling component. N-channel MOSFETs have very low on-resistance (Rds_on) — the resistance of the conducting channel when the gate voltage is applied. Low Rds_on means low resistive losses at high current. A MOSFET with Rds_on = 2 mΩ carrying 30A dissipates 30$^2$ × 0.002 = 1.8 watts — manageable with a heatsink or good airflow. The same current through an equivalent bipolar transistor would have dissipated significantly more power.

The modern ESC is also a computer. The Pilotix 75A AM32 ESC contains an STM32F051 microcontroller running the AM32 firmware — an entirely separate processor from the flight controller, dedicated solely to commutation and protocol decoding. It receives DShot packets from the flight controller, extracts the 11-bit throttle command, translates it into a commutation duty cycle, drives the MOSFET gate drivers at 48 kHz switching frequency, monitors back-EMF for sensorless commutation, and reports eRPM back via BiDi DShot. All of this happens at every motor electrical cycle — at 30,000 RPM with 7 pole pairs, that is 3,500 commutation cycles per second.

5.4 Brushless Motors — Electromagnetism Made Tangible

Faraday's law of electromagnetic induction (1831): a changing magnetic field through a conductor induces a voltage in that conductor. Ampere's force law (codified by Maxwell in 1865): a conductor carrying current in a magnetic field experiences a force. These two physical laws are all that is needed to understand every electric motor and generator ever built.

In a brushless motor, the stator contains twelve coils of copper wire wound around iron teeth. When current flows through a coil, it creates a magnetic field aligned with the tooth. The rotor contains fourteen permanent magnets (in libdrone's 2507 motors) alternating north and south poles around its inner circumference.

The ESC energises two stator coils simultaneously, creating a combined magnetic field pointing in a specific direction. The rotor's permanent magnets are attracted to this field — north poles attracted to the south pole of the stator field, and vice versa. The rotor rotates to align with the stator field. Before it reaches alignment, the ESC switches to the next commutation step, energising different coils and moving the stator field slightly ahead of the rotor. The rotor chases the field, and this continuous chasing is what produces rotation.

The kV rating is a direct consequence of the back-EMF law. As the rotor spins, the permanent magnets moving past the stator coils induce a voltage — Faraday's law in reverse. This back-EMF opposes the supply voltage. The equilibrium RPM is reached when back-EMF equals supply voltage minus resistive drop. This gives:

RPM = kV × (V_supply - I × R_winding)

At no load, kV × V_supply gives the no-load RPM. Under load, the winding resistance causes some voltage drop, reducing RPM from the no-load value. kV is therefore directly related to the number of turns of wire per stator tooth — more turns means more flux linkage per rotation, meaning more back-EMF per RPM, meaning lower equilibrium RPM per volt. This is the physical meaning of "high kV" (fast, low torque, few turns) versus "low kV" (slow, high torque, many turns).

The 14-pole, 12-tooth (14N12P) configuration used in the BrotherHobby Avenger 2507 and many similar motors is a standard that balances several competing requirements. With 7 pole pairs, the electrical frequency is 7 times the mechanical frequency — at 30,000 RPM, the ESC commutates at 3,500 Hz. With 12 stator teeth, the cogging torque (the tendency of the motor to prefer certain rotor positions) is minimised by the LCM relationship between pole count and tooth count. The 14N12P combination gives relatively smooth rotation with manageable cogging, good efficiency across a wide RPM range, and appropriate torque characteristics for 5–7 inch propellers.

5.5 Batteries — Electrochemistry in a Plastic Pouch

The lithium-polymer battery in your drone has a history that begins with the periodic table. Lithium — element 3 — is the lightest metal and has the highest electrochemical potential of any element: 3.04 volts against the standard hydrogen electrode. This means a cell using lithium as the anode can produce significantly more voltage than cells using heavier metals. More voltage from less mass: ideal for a battery that must fly.

The first rechargeable lithium battery was developed by John Goodenough, Rachid Yazami, and Akira Yoshino in the 1980s. Goodenough identified lithium cobalt oxide as a cathode material. Yazami demonstrated that graphite could intercalate lithium ions reversibly. Yoshino created the first practical lithium-ion cell. In 2019, Goodenough won the Nobel Prize in Chemistry for this work at age 97. The battery you are using to fly your drone is directly descended from his discoveries.

The lithium-polymer cell, specifically, replaces the liquid electrolyte of conventional lithium-ion cells with a polymer gel — a thick, flexible material that allows the cell to be made in thin pouch format rather than rigid cylindrical or prismatic cans. This enables the characteristic flat, lightweight form factor of drone batteries.

Inside a LiPo cell, the chemistry during discharge works as follows. The anode (graphite) contains lithium ions intercalated — inserted — between the graphite layers. When the cell discharges, lithium ions migrate through the electrolyte from the graphite anode to the lithium cobalt oxide (or similar) cathode. Simultaneously, electrons flow through the external circuit from anode to cathode, doing electrical work. Charging reverses this: lithium ions migrate back to the anode, electrons flow backward through the external charger.

The nominal 3.7V per cell reflects the electrochemical potential difference between the lithium-graphite anode and the lithium cobalt oxide cathode under typical conditions. At full charge (4.2V), the cathode is nearly fully delithiated; at minimum charge (3.5V), the cathode is nearly fully lithiated. Discharging below 3.0V per cell causes permanent structural damage to the cathode — the material changes phase in a way that cannot be reversed on recharging. This is why the hard cutoff voltage matters.

Thermal runaway is the failure mode that makes LiPo batteries worth respecting. Inside the cell, the electrolyte is an organic solvent — flammable. The separator between anode and cathode is a thin polymer membrane. If the cell temperature rises above approximately 130°C, the separator melts. Anode and cathode contact directly, discharging the cell in a short circuit that generates more heat. Above approximately 200°C, the cathode decomposes, releasing oxygen. The combination of flammable electrolyte and oxygen produces fire.

The self-reinforcing nature is the danger: heat causes decomposition, decomposition generates more heat, more heat causes more decomposition. Once this loop begins, it proceeds to completion regardless of what external action is taken. The practical consequence: thermal runaway in one cell of a multi-cell pack triggers thermal runaway in adjacent cells within seconds. A pack that enters thermal runaway produces a fire that burns for several minutes and cannot be extinguished by water (water reacts with lithium) or smothered by a conventional fire extinguisher.

The mitigations: never overcharge (above 4.2V/cell causes electrolyte oxidation and gas generation), never over-discharge (below 3.0V causes structural damage that compromises the separator), balance-charge to keep all cells within 0.05V of each other (cell voltage divergence concentrates stress), store at nominal voltage (3.8V/cell), inspect physically after any crash (internal shorts from physical damage can cause delayed thermal runaway), and charge in a fireproof container.

LiFePO4 (lithium iron phosphate) cells use iron phosphate rather than cobalt oxide as the cathode. The iron-oxygen bond in the phosphate structure is significantly stronger than in the cobalt oxide structure — the cathode does not decompose at elevated temperature, breaking the thermal runaway chain. LiFePO4 cells do not thermally run away. They are also heavier (lower energy density: 90-160 Wh/kg versus 150-265 Wh/kg for LiPo) and lower voltage (3.2V nominal versus 3.7V). This tradeoff makes LiFePO4 appropriate for stationary power storage — the van system — and increasingly for drones where flight time is secondary to reliability and longevity.

5.6 Voltage Regulation — Keeping the Lights On While the Motors Rage

A 6S LiPo battery varies in voltage from 25.2V (full charge) to 21.0V (minimum). The motors draw current that varies from nearly zero (hover with light payload) to 50A+ (aggressive manoeuvres). Every change in motor current causes a voltage drop across the battery's internal resistance — a 40A current change through 50 mΩ of internal resistance causes a 2V voltage spike. In practice, the power rail voltage of a drone in aggressive flight fluctuates by 3–5V continuously.

Everything else on the drone — the flight controller, the GPS, the video transmitter, the receiver — needs stable, clean voltage to function correctly. The solution is voltage regulation.

A linear regulator (LDO — Low Dropout) takes an input voltage and outputs a lower, regulated voltage by dissipating the difference as heat. Input 22V, output 5V: 17V is dropped across the regulator. At 1A of load current: 17W of heat. This is thermally expensive for large voltage differences but electrically simple, clean, and low-noise.

A switching regulator (buck converter, in the step-down case) takes an input voltage and outputs a lower, regulated voltage by rapidly switching a MOSFET on and off and smoothing the result with an inductor and capacitor. When the switch is on, current flows through the inductor, storing energy. When the switch turns off, the inductor's energy flows to the output. The output voltage is controlled by the duty cycle — what fraction of the time the switch is on.

At the same 22V input, 5V output, 1A load, the buck converter dissipates approximately (1 - 0.9) × 22V × 1A = 2.2W versus the linear regulator's 17W. The efficiency advantage is enormous. But the switching comes with a cost: the on/off switching of the MOSFET creates electromagnetic interference at the switching frequency and its harmonics. At 180 kHz (the XL4015's switching frequency), this interference radiates from the circuit and couples onto nearby signal conductors.

The XL4015 in libdrone powers the HDZero VTX. The VTX requires 9–12V — a 10–13V drop from the 22V battery. An LDO would dissipate (13V × 400mA) = 5.2W as heat — significant, requiring a heatsink. The XL4015 dissipates approximately 0.5W. The tradeoff is EMC: the 180 kHz switching noise must be kept away from the GPS, gyro, and receiver through careful wire routing and filtering. Three to four clip-on ferrite beads on the VTX power wire damp the 180 kHz switching noise and its harmonics before they reach the VTX and reradiate.

5.7 Communication Protocols — How Components Talk

The variety of serial protocols in a modern drone reflects a century of engineering decisions, each made in a specific context for a specific purpose and then inherited by successors for a different context.

UART (Universal Asynchronous Receiver-Transmitter): In the 1960s, teletype machines communicated over telephone lines using asynchronous serial — each character encoded as a start bit, data bits, an optional parity bit, and a stop bit. The start bit allows the receiver to synchronise its bit clock to each incoming character without needing a shared clock signal. This "asynchronous" property made long-distance serial communication practical when clock distribution was impossible.

UART persists into modern drones because its virtues are unchanged: simplicity, universality, no shared clock needed. It connects GPS receivers, radio receivers, video transmitters, and companion computers using a wire pair (TX from one device to RX on the other). Every microcontroller ever made has at least one UART. It is the lingua franca of embedded communication.

SPI (Serial Peripheral Interface): In the 1980s, Motorola engineers designing microcontroller peripheral chips needed a way to connect multiple peripherals to one processor with minimal pin count and maximum speed. They created a four-wire synchronous protocol: a shared clock (SCK), one data line from master to slave (MOSI — Master Out Slave In), one from slave to master (MISO — Master In Slave Out), and one chip-select line per device (CS). The shared clock means no baud-rate negotiation — data is valid on every clock edge. Speeds up to 50 MHz or more are achievable, orders of magnitude faster than UART.

The ICM-42688-P gyroscope uses SPI because its 16-byte measurement packet must be read every 156 microseconds (at 6400 Hz ODR). At UART speeds of 115,200 baud, this would take 13 milliseconds — 83 times too long. At SPI's 10 MHz, it takes 13 microseconds. The physics of gyro sampling require SPI.

I2C (Inter-Integrated Circuit): Philips Semiconductor engineers in 1982 needed to connect many peripherals — temperature sensors, EEPROMs, DACs — to a microcontroller on a printed circuit board without dedicating one chip-select line per device. They created a two-wire protocol (SDA — Serial Data, SCL — Serial Clock) with 7-bit addressing. Up to 128 devices can share the same two wires, each responding only to its own address.

The cost of this generality is speed — I2C at 400 kHz fast mode is 25 times slower than SPI at 10 MHz. For low-bandwidth sensors like the SEN66 air quality sensor, this is perfectly acceptable: a full measurement frame transfers in 250 microseconds, well within the 1-second logging interval. The wiring simplicity of two wires to many devices makes I2C the natural choice for sensor payloads.

CAN bus (Controller Area Network): Bosch engineers in 1983 were designing the electronics architecture for a new BMW 7-series. The car needed several dozen electronic control units — engine management, transmission control, ABS, instrument cluster, comfort systems — communicating with each other. The wiring harness for point-to-point connections between all these units would weigh tens of kilograms and be impossibly complex to service.

The solution was a shared bus: all units connect to a single pair of wires and communicate using a message-based protocol with built-in arbitration. When two units try to transmit simultaneously, the one with the lower message identifier automatically wins — no collision detection needed, just a continuous bit-by-bit comparison. The winning message is transmitted without delay. The losing unit waits and retries.

CAN's immunity to electrical noise (differential signaling), its built-in arbitration, and its reliability in the harsh automotive electrical environment made it the standard for automotive communication — and eventually for drone systems where multiple smart ESCs, GNSS units, and sensors need to coexist on a shared bus.

DShot: The history of ESC protocols is a story of escalating requirements that legacy technology couldn't meet. RC servos in the 1970s used 50 Hz PWM (pulse-width modulation): a pulse between 1000 and 2000 microseconds wide, repeated 50 times per second. The width encoded the desired position. This worked for servos. When ESCs adopted the same protocol, it worked — barely. The analog nature of PWM made it susceptible to noise: a spike on the signal wire could be read as a different pulse width, causing a motor glitch. The fixed 50 Hz update rate meant 20 ms between commands — slow for a 1 kHz flight controller.

Oneshot125 and Oneshot42 increased the repetition rate by sending one pulse per FC loop cycle instead of at fixed frequency. Multishot increased the rate further. But all remained analog and noise-sensitive.

DShot, introduced in 2016, finally made the protocol digital. A 16-bit frame encodes 11 bits of throttle value (2048 distinct levels versus approximately 1000 for analog PWM), 1 telemetry request bit, and 4 CRC bits. The CRC detects corruption — a corrupted packet is discarded rather than executed. This single change eliminated an entire class of motor glitches caused by electrical interference.

BiDi DShot, introduced in 2020, turned the ESC from a one-way actuator into a bidirectional node. The ESC responds to each received packet with an eRPM measurement on the same wire, in the silent gap between flight controller transmissions. This required precisely timed half-duplex switching: the flight controller transmits, then immediately switches its UART to receive mode within microseconds. The eRPM data enables the RPM filter, which enables cleaner gyro data, which enables better tuning. A protocol change with no hardware cost enabled a fundamental improvement in flight performance.

5.8 Radio and Frequencies — Wireless in a Noisy World

Every wireless system in a drone — the RC link, the FPV video, the GPS — is an application of the same underlying physics: electromagnetic waves propagating through space at the speed of light, carrying information.

James Clerk Maxwell's equations (1865) unified electricity, magnetism, and light into one theory. They predicted electromagnetic waves — oscillating electric and magnetic fields propagating through empty space at 300,000 km/s. Heinrich Hertz confirmed their existence experimentally in 1888, generating and detecting radio waves in his laboratory. By 1901, Guglielmo Marconi had transmitted a radio signal across the Atlantic Ocean. Within decades, radio communication had transformed warfare, commerce, and culture.

The frequency of a radio wave determines its wavelength ($\lambda$ = c/f, where c is the speed of light and f is frequency) and its properties. Lower frequencies diffract around obstacles and follow the Earth's curvature — AM radio stations 1000 km away. Higher frequencies travel in straight lines, carry more data bandwidth, but are absorbed by rain, foliage, and buildings — 5G cellular, satellite communication. Drone radio links sit in the middle: high enough for substantial data bandwidth, low enough for reasonable obstacle penetration.

The 2.4 GHz and 5.8 GHz bands are "ISM bands" (Industrial, Scientific, Medical) — designated by international agreement for unlicensed use by any device that stays within power limits. This is why WiFi, Bluetooth, cordless phones, microwave ovens (which leak energy at 2.45 GHz, the resonance of water molecules), and drone radio links all coexist in the same band. The congestion is managed by spread spectrum — the technique that allows many users to share the same frequency range without coordinating with each other.

Spread spectrum was invented in Hollywood in 1940, not in an engineering laboratory. Hedy Lamarr — an Austrian-American actress and, it turned out, a gifted inventor — had fled a first marriage to an Austrian arms dealer and brought with her detailed knowledge of weapons guidance systems. Working with composer George Antheil, she developed a concept for radio-controlled torpedoes that would be immune to enemy jamming by rapidly hopping between frequency channels. If the enemy tried to jam one channel, the torpedo would have already moved to another. The patent was filed in 1942.

The US Navy did not adopt the technology until 1962, after the patent had expired. Today, frequency-hopping spread spectrum (FHSS) is the basis of Bluetooth and many traditional RC radio systems. A closely related technique, direct-sequence spread spectrum (DSSS), multiplies the transmitted signal by a pseudo-random code that spreads it across a wide bandwidth — the receiver, knowing the same code, can correlate the received signal back to the original. Both techniques make it extremely difficult to jam or intercept the transmission without knowing the spreading code or hopping sequence.

ELRS uses chirp spread spectrum (CSS), implemented in the Semtech SX1280 chip. Rather than hopping or code-spreading, a chirp sweeps the carrier frequency linearly from low to high (or high to low) across a 500 kHz or 800 kHz bandwidth. The receiver correlates the received signal against a copy of the expected chirp — a process that provides "processing gain," allowing the signal to be decoded even when its power is below the ambient noise floor. This is remarkable: you can receive a signal that is literally quieter than the noise around it, because you know exactly what you are looking for.

At libdrone's ELRS 250 Hz configuration, the link sends 250 packets per second between the RadioMaster TX16S transmitter and the RP2 receiver. The SX1280 chip achieves reliable communication at distances of 10–30 km with transmit powers of 100–250 mW. At normal flying distances of a few hundred metres, the link margin is enormous — the signal arrives at the receiver tens of decibels above the noise floor. This margin is what makes ELRS robust against other 2.4 GHz interference: WiFi routers, other pilots' radios, microwave reflections — all contribute noise, but they are swamped by the processed ELRS signal.

5.9 Digital vs. Analog Video — A Generational Shift

First-person view (FPV) drone flying began around 2009, with pilots strapping camera modules to quadcopters and transmitting live video to ground monitors. The technology was the same as commercial wireless video senders: an analog composite video signal (NTSC or PAL, exactly as used in television broadcasting since the 1950s) modulated onto a 5.8 GHz carrier.

The advantages of analog FPV were inherited directly from broadcast television engineering. Composite video is a continuous signal — there is no frame boundary, no packet, no encoding step. The camera scans each line of the image and the resulting signal flows directly to the transmitter. Latency: the time to scan one TV line (approximately 64 microseconds) plus propagation delay (negligible at flying distances). Total: around 15–20 ms. Imperceptible.

When signal weakens, analog degrades gracefully. Noise in the signal appears as "snow" — random bright pixels scattered through the image. Pilots can still see their drone's orientation through degraded signal. This graceful degradation gave experienced analog pilots enormous confidence: they knew exactly how far they could push the range before losing useful video.

The disadvantages: resolution limited to 576i or 480i interlaced video (roughly equivalent to 720 × 576 pixels for PAL), severe interference from other pilots on the same frequency, and poor image quality under any bandwidth-limiting condition.

Digital FPV encodes each video frame, compresses it, packetises it, transmits it, receives it, error-checks it, decompresses it, and displays it. Every step takes time. Early digital FPV systems (DJI Lightbridge, 2012) had 100–200 ms latency — catastrophic for racing or agile FPV flying. The latency came from software H.264 video encoding, which requires processing an entire frame before compressing it.

The breakthrough came from an unexpected direction: the security camera industry. IP security cameras needed to encode and stream H.265 video continuously at low cost, which drove the development of inexpensive hardware H.265 encoder ASICs. H.265 (HEVC — High Efficiency Video Coding) achieves approximately twice the compression efficiency of H.264 at the same quality. More importantly, hardware H.265 encoders process frames in hardware in 1–2 ms — fast enough for FPV.

HDZero, the system used in libdrone, uses dedicated hardware encoders and decoders. Encoding latency: 1–2 ms. RF transmission delay: propagation time at the speed of light (negligible for flying distances). Decoding latency: 1–2 ms. Total: 4–8 ms. The pilot's goggles show what the camera sees with a delay imperceptible to human perception.

The tradeoff: digital failure is a cliff edge rather than a slope. When analog signal degrades, you get snow — degraded but continuous video. When digital signal degrades below the error-correction threshold, the decoder receives packets it cannot reconstruct. The display freezes or shows corruption. There is no graceful middle ground. This is why digital FPV systems use diversity antenna systems — two or more receive antennas on the goggles, switching to whichever is receiving the stronger signal packet-by-packet. The diversity gain is significant: losing signal on one antenna while the other maintains lock keeps the video stream continuous.

5.10 GPS and Satellite Navigation — Triangulating the Planet

On May 2, 2000, at midnight, US President Bill Clinton signed an executive order. The order instructed the Department of Defense to immediately turn off "Selective Availability" — a deliberate degradation of the civilian GPS signal that had been active since the system became operational. The effect was instant and global: civilian GPS receivers that had been providing position accuracy of 50–100 metres suddenly became accurate to 5–10 metres. No hardware changed. No new satellites were launched. A policy decision changed the practical accuracy of positioning for every civilian user on Earth.

The story of GPS begins in 1957 with Sputnik — the Soviet Union's first satellite. American scientists tracking Sputnik's radio signals noticed that the frequency shifted as the satellite moved toward and away from them (the Doppler effect). They realised that if you know your position and measure the Doppler shift, you can determine the satellite's orbit. The inverse is also true: if you know the satellite's orbit and measure the Doppler shift, you can determine your position. This became the US Navy's TRANSIT system (1960) — the first operational satellite navigation system, used by submarines to update their inertial navigation systems.

The modern GPS constellation, operated by the US Space Force, consists of 31 operational satellites in medium Earth orbit (approximately 20,200 km altitude) arranged in six orbital planes. Each satellite broadcasts a precisely timed radio signal. A GPS receiver picks up signals from multiple satellites simultaneously and measures the travel time of each signal — the difference between when the signal was sent (recorded in the signal itself) and when it was received. Travel time × speed of light = distance from satellite.

With distance measurements from three satellites, you can calculate a position anywhere on Earth (three spheres intersect at two points; one is on Earth, one is in space — you pick the Earth one). But the calculation requires knowing the exact time at the receiver, and clock errors of even one microsecond correspond to 300 metres of position error. A fourth satellite measurement allows simultaneous solution for position (three coordinates) and receiver clock error — eliminating the need for an atomic clock in every receiver.

EGNOS (European Geostationary Navigation Overlay Service) is the European SBAS (Satellite-Based Augmentation System) — a network of precisely surveyed ground stations across Europe that continuously measure their own GPS-determined positions, compare them to their known exact positions, and broadcast the difference as correction data via geostationary satellites. Receivers that use EGNOS apply these corrections to their measurements, reducing position error from the raw 2–5m CEP to approximately 0.5–1.5m CEP.

The European decision to build Galileo — a fully independent satellite navigation system — was motivated by exactly the concerns about strategic dependency that the FOSS section of this document discusses. GPS is operated by the US military. During the Kosovo War in 1999, European governments found they could not independently verify NATO's military communications because they depended entirely on US-controlled GPS infrastructure. The decision to build Galileo was partly technological and partly political: the assertion that critical infrastructure should not depend on another country's military.

Galileo's first satellite was launched in 2011. The full constellation of 28 operational satellites was completed by the early 2020s. Galileo and GPS share the same L1 frequency (1575.42 MHz), allowing a single dual-constellation antenna to receive both systems simultaneously. With GPS + Galileo + BeiDou (China's equivalent), a modern GNSS receiver in good conditions sees 20–30 satellites — more than three times the minimum needed for a position fix. The geometry of this many satellites, distributed across the sky, gives excellent position dilution of precision (PDOP) and high resistance to multipath interference.

5.11 Electromagnetic Compatibility — When Electronics Fight Each Other

EMC — Electromagnetic Compatibility — is the discipline of ensuring that electronic systems function correctly in the presence of electromagnetic interference and do not themselves cause interference to other systems. It is not an exotic specialty. It is the reason your phone doesn't crash every time a microwave oven runs nearby. It is the reason medical equipment in hospitals doesn't malfunction when someone's smartphone rings. And it is the reason your drone doesn't lose control every time the motors change speed.

The fundamental physics comes from Maxwell's equations. A changing current creates a changing magnetic field (Ampere's law). A changing magnetic field creates a changing electric field (Faraday's law). The changing electric field creates a changing magnetic field, which creates a changing electric field — and a self-sustaining electromagnetic wave propagates outward at the speed of light. Every time a current changes — every MOSFET switching in the ESC, every throttle input changing the motor current, every voltage spike on the power rail — it radiates an electromagnetic wave.

In a drone, the noise sources are numerous and powerful. The ESC switches its MOSFETs at 48,000 times per second, creating electromagnetic fields at 48 kHz and its harmonics up to many MHz. The motor windings are high-inductance coils switching hundreds of volts per microsecond — switching transients that radiate broadband noise. The battery leads carrying 40A of rapidly varying current are effective antennas at the motor commutation frequency. The XL4015 buck converter for VTX power switches at 180 kHz.

Each of these sources generates electromagnetic fields that propagate through space and through the drone's wiring. When these fields reach the gyroscope's power supply, they induce noise currents that appear as sensor measurement errors. When they reach the GPS antenna, they partially mask the satellite signals arriving at –130 dBm (ten trillion times weaker than a WiFi router). When they reach the receiver, they can corrupt the RC signal.

The hierarchy of EMC mitigation, in order of preference:

Elimination: Don't generate the noise. This is rarely fully achievable but always worth pursuing. A properly decoupled capacitor directly on the ESC power pads reduces the amplitude of voltage spikes at their source. Proper component selection (low-ESR capacitors, low-inductance bypass) reduces the energy content of switching transients.

Separation: Distance attenuates electromagnetic fields. The field from a noise source falls with distance — near-field coupling (which dominates at distances much shorter than the wavelength) falls as 1/r$^3$ for magnetic fields and 1/r$^2$ for electric fields. At 20mm separation between a power wire and a signal wire, near-field coupling is dramatically less than at 5mm. libdrone's Platform dedicates three separate routing zones to signals, MIPI, and power — 20mm physical separation maintained throughout.

Shielding: A conductive enclosure or trace over a sensitive component reflects electromagnetic fields. The metal shielding cans on the HDZero VTX enclose the RF circuitry. The fully enclosed MIPI cable channel in the Platform prevents radiation from the 600 MHz+ MIPI clock from coupling onto nearby signal wires.

Filtering: Remove the noise from the signal. Ferrite beads on the VTX power wire present high impedance at the 180 kHz switching frequency, blocking the noise from reaching the VTX. Decoupling capacitors close to sensitive components absorb high-frequency supply noise before it enters the component's power pins.

The star ground topology deserves special attention. Multiple ground connections between components create closed loops. A closed conductive loop is an effective antenna — any changing magnetic field passing through the loop induces a current in the loop, which creates a noise voltage at every point in the circuit referenced to that ground. The larger the loop area, the more magnetic flux through it, the more noise induced. Star grounding eliminates loops by making all ground connections meet at a single point — no loop is formed because all paths share a common node.

Section 6 — Free and Open Source: Philosophy, History, and Practice

6.1 What FOSS Actually Means — and Why It's Not Just Ethics

In 1983, Richard Stallman — a programmer at MIT's AI Laboratory — found himself unable to modify the software in a printer that was behaving inconveniently. The printer vendor had not provided the source code. Stallman could not fix the software. He was entirely at the vendor's mercy. This experience motivated him to articulate, for the first time, the philosophical and practical consequences of software that cannot be examined, modified, or shared.

In 1985, Stallman published the GNU Manifesto, defining what he called "free software": software that grants four freedoms to every user. The freedom to run the software for any purpose. The freedom to study how the software works and change it. The freedom to redistribute copies. The freedom to distribute copies of modified versions. The word "free" refers to freedom, not price — a distinction that confuses people who speak languages without separate words for gratis (without cost) and libre (without restriction).

In 1998, Netscape released the source code to its Navigator browser, an event that prompted a group including Eric Raymond and Christine Peterson to propose "open source" as a term that emphasised the practical engineering benefits of public source code rather than its philosophical implications. The term caught on in business contexts where "free software" was misunderstood.

For the purposes of this document, FOSS (Free and Open Source Software) encompasses both traditions. The philosophical argument (users deserve control over their tools) and the engineering argument (public code is auditable, improvable, and not subject to vendor lock-in) are both correct and reinforce each other.

The engineering argument, however, is the one that matters most for a student choosing which tools to learn and which platforms to build on. It is not an ethical statement — it is a risk assessment.

6.2 The FrSky Story — Vendor Lock-In Made Visible

Between roughly 2012 and 2019, FrSky was the dominant manufacturer of RC radio systems for FPV. Their hardware was excellent: reliable, feature-rich, reasonably priced. Their D8 and D16 protocols worked reliably. Tens of thousands of pilots built their RC ecosystem around FrSky transmitters and receivers. Receiver modules were in their drones, their friend's drones, their club's drones.

FrSky's protocols were proprietary. The protocol specification was not published. No one outside FrSky could write firmware that communicated with FrSky receivers. The community was entirely dependent on FrSky's continued support.

In 2019, FrSky released new hardware using a new protocol called ACCESS. The new receivers could not bind to older transmitters without a firmware update. The firmware updates were slow to arrive, incompatible with some configurations, and broke existing functionality in others. Pilots with working equipment suddenly found their receivers incompatible with new purchases. Third-party manufacturers who had invested in FrSky-compatible hardware could not adapt.

There was no recourse. The protocol was proprietary. The community could not fix it, fork it, or create a compatible alternative. The only response was to wait for FrSky to release updates — which they did, slowly and imperfectly — or to replace the entire ecosystem.

ExpressLRS (ELRS) was created in direct response to this experience. An open protocol specification, published on GitHub. Open-source firmware, maintained by the community. Hardware reference designs available for any manufacturer to build. If the company behind any ELRS-compatible radio disappears, any other manufacturer can make a compatible replacement without accessing any proprietary information. If there is a bug, any programmer in the world can fix it and submit the fix. If the community decides a feature is needed, the community can add it.

ELRS's technical specifications — LoRa PHY layer, chirp spread spectrum, CRSF protocol for the serial link — are all documented and open. Within two years of its introduction, ELRS went from a community project to the dominant protocol in the FPV market. Not because it was mandated, subsidised, or marketed — because it was demonstrably better and demonstrably free of the failure mode that had damaged FrSky's reputation.

This story will repeat. Some component, in some ecosystem, controlled by some company that has legitimate business reasons to change direction, will break something that people depend on. The lesson is not that companies are untrustworthy. It is that dependency on a proprietary system is a technical vulnerability, regardless of how trustworthy the company currently is.

6.3 The FOSS Stack in libdrone — A Complete Map

libdrone was not assembled from FOSS components because of philosophy — it was assembled from FOSS components because they are better, more reliable, and more honest about their limitations. The philosophical alignment is a pleasant consequence, not a precondition.

RadioMaster TX16S MKII — the transmitter. Runs EdgeTX, an open-source firmware forked from OpenTX in 2021 when OpenTX's development pace slowed and the community wanted faster iteration. The source code is on GitHub. Any manufacturer can build EdgeTX-compatible hardware. Any programmer can submit a fix or feature. The TX16S hardware is not fully open-source (the PCB schematics are not published), but the firmware that gives it its capabilities is completely open. If RadioMaster stopped making the TX16S tomorrow, EdgeTX would continue to run on other hardware.

ExpressLRS / RadioMaster RP2 — the RC link. The protocol specification is published. The firmware is open source (Apache 2.0 licence). The hardware reference designs are available. The SX1280 chip at the core of every ELRS device is a commodity part from Semtech with a full public datasheet. No black boxes anywhere in the signal chain from transmitter to flight controller.

Betaflight — the flight controller firmware. Open source since its creation as a fork of Cleanflight in 2015, which was itself a fork of Baseflight (2012), which was a fork of MultiWii (2007) — an Arduino-based flight controller written by Alex Mos (better known for his gimbal stabilisation work). The FOSS ancestry of Betaflight stretches back 17 years of community development. Every filter algorithm, every PID implementation, every protocol driver in Betaflight is publicly readable, publicly reviewable, and publicly improvable.

AM32 — the ESC firmware. BLHeli_32, the dominant ESC firmware before AM32, went closed-source when its developer transitioned from the hobby project to a commercial venture. The community, unwilling to accept proprietary control of ESC firmware after the FrSky experience, created AM32 as an open alternative. It is more actively developed than BLHeli_32, adds features faster, and has no licence restrictions on its use or modification.

Matek H7A3-SLIM — the flight controller board. Matek publishes schematic diagrams for their boards. The STM32H7A3 processor has a full public datasheet. Betaflight's target configuration for the H7A3-SLIM is in the Betaflight repository, publicly reviewable. No proprietary calibration, no firmware lock, no serial number restrictions.

FreeCAD / CadQuery — the CAD tools. FreeCAD is open-source parametric CAD software developed since 2002. CadQuery is an open-source Python library for parametric 3D modelling. The entire libdrone frame design — every T-slot dimension, every rod channel radius, every wall thickness — lives in Python scripts and FreeCAD files that any student can open, study, modify, and use to fabricate their own version. No subscription required. No file format lock-in. A student who learns FreeCAD and CadQuery on libdrone can use those skills on any project for the rest of their career without ever paying a software licence fee.

MicroPython on ESP32-S3 — the payload firmware. Python is one of the most widely used programming languages in the world, and MicroPython brings it to microcontrollers. The ESP32-S3 chip from Espressif has full public documentation including register-level datasheets, technical reference manuals, and hardware design guidelines. Every line of the sensor payload firmware is readable, modifiable, and improvable by anyone with basic Python skills.

Galileo and EGNOS — the satellite navigation infrastructure. Not software, but the principle is the same. Galileo is a European public infrastructure, operated by the European Union Agency for the Space Programme (EUSPA). EGNOS augmentation data is freely available to any compatible receiver. There is no subscription, no commercial licence, no single point of failure in a private company's business decisions. The choice to use Galileo and EGNOS rather than a proprietary augmentation service is the FOSS philosophy applied to infrastructure.

Where it is not fully FOSS: The Synology NAS running the data collection backend uses DSM — a partially proprietary operating system. The HDZero video system's encoding firmware is not open source. Being honest about these exceptions is more valuable than pretending the ecosystem is perfectly pure. No real-world system is entirely free of proprietary dependencies. The goal is to minimise them, be aware of them, and not depend on them for critical functionality.

6.4 The EU Dimension — Strategic Autonomy and Public Trust

The European Union has been increasingly explicit about "strategic autonomy" — the ability to maintain and modify critical systems without depending on non-European vendors. The 2023 European Chips Act, the EU Cyber Resilience Act, and the European Health Data Space regulation all reflect the same concern: critical infrastructure, including the software that runs it, should be auditable, controllable, and not subject to unilateral decisions by entities outside EU jurisdiction.

For educational institutions in the EU, this creates concrete procurement considerations. A drone platform whose entire firmware stack is open-source and auditable is not a subject of licence cost uncertainty — it costs nothing and will continue to cost nothing. It is not a data sovereignty risk — every line of code that touches student data can be examined. It is not a vendor lock-in risk — if any component manufacturer ceases to function, the open ecosystem provides alternatives.

The Galileo positioning system is a direct expression of this philosophy in infrastructure. European institutions and researchers using Galileo are not dependent on a US military system that can be degraded or restricted at geopolitical discretion — as GPS Selective Availability demonstrated was possible, and as GPS jamming in conflict zones demonstrates still occurs. An EU-origin platform using EU-origin satellite navigation infrastructure is a coherent expression of the strategic autonomy principle.

For a university researcher or institution submitting grant applications for environmental monitoring infrastructure, demonstrating that the platform uses exclusively auditable, open-source software components and EU infrastructure is not a minor detail — it addresses procurement regulations, data governance requirements, and the increasingly explicit expectations of EU research funding bodies around open science and research reproducibility.

6.5 Contributing Back — From User to Maker

Every FOSS component in libdrone exists because someone contributed. Betaflight exists because Alex Mos, Boris B, and hundreds of subsequent contributors wrote code, tested it, reported bugs, and reviewed each other's work. ELRS exists because a group of frustrated pilots decided that "someone should fix this" and then were the someone. EdgeTX exists because the community decided that OpenTX was not moving fast enough and forked it — legally and cleanly, because the licence allowed it.

Contributing to a FOSS project does not require being a programmer. Documentation is perpetually underserved — explaining clearly how a feature works is as valuable as implementing it. Translation enables global access. Bug reports with reproducible test cases save developers hours of debugging time. Testing new firmware releases on real hardware catches problems before they reach thousands of users. Every role is needed and every role is valued.

For a student learning on libdrone, the most direct contribution is the same contribution that libdrone itself makes: making the design public. Every modification to the frame that improves it, every payload design that adds capability, every calibration procedure that makes setup more reliable — published publicly, documented clearly, available for anyone to use — is a contribution to the ecosystem that makes drones accessible.

There is also a career argument. A student who has contributed to Betaflight, who has commits in the ELRS repository, who has documented a libdrone build for the community — that student has a public portfolio of real engineering work, visible to any future employer. A student who has learned exclusively on proprietary tools cannot do this: the work is locked inside the tool, invisible and inaccessible.

The question that captures the difference most directly: when this student graduates, what can they build with what they have learned? A student who learned on open tools can build anything. They own their skills. The tools will always be available to them. A student who learned on proprietary tools can build what the licence permits. The tools may not be available at their next employer. The platforms may not exist by the time they reach their career peak.

Building on open tools is not a sacrifice for the sake of principle. It is a pragmatic investment in the portability and longevity of skills.

PART TWO: LIBDRONE CORE

Overview — What Core Is and What It Is For

libdrone Core is a 4-inch True-X quadcopter designed as an educational platform and promotional demonstrator. It is the entry point to the libdrone platform family — the drone you build when you are learning, the drone that introduces the libdrone connector standard, and the drone that demonstrates the capabilities of the full platform stack at a scale and cost accessible to educational institutions.

Core shares key components with Pro: the same Matek H7A3-SLIM flight controller, the same ELRS radio link with the RadioMaster RP2 receiver, the same 3mm CF rods through a printed sandwich structure. This is deliberate. A student who learns Betaflight on Core's H7A3-SLIM carries that knowledge directly to Pro without relearning the flight controller. The shared components are a curriculum continuity argument made in hardware.

Where Core differs from Pro: 4S power system instead of 6S, 1804-class motors instead of 2507, 4-inch propellers instead of 6-inch, analog FPV (Foxeer Predator Nano camera and Reaper Nano V2 VTX) instead of digital HDZero, and a simplified frame without the payload interface system. Core is lighter, smaller, cheaper to build, and less expensive to crash. It is sized for learning.

Core — Power System

Core runs on a 4S LiPo — four cells in series. Nominal voltage: 4 × 3.7V = 14.8V. Fully charged: 4 × 4.2V = 16.8V. Minimum: 4 × 3.5V = 14.0V.

The 4S voltage range is appropriate for the motor class used on Core. T-Motor Pacer P1804 motors at 3400 kV spin at approximately 3400 × 14.8 = 50,320 RPM at nominal voltage, unloaded. Under load with a 4-inch propeller, operating RPM is lower — around 35,000–42,000 RPM at hover. This is in the efficient operating range for 4-inch propellers.

The SpeedyBee BLS 50A ESC was chosen specifically for Core's educational role: it has large, widely spaced solder pads that are straightforward to solder without specialist skills or microscope work. Learning to solder motor connections correctly is part of the Core curriculum, and the ESC must not make this harder than necessary. The 50A continuous rating is far in excess of Core's actual maximum draw (typically 20–25A per motor at peak), providing a comfortable safety margin.

Battery capacity for Core is typically 550–850 mAh at 4S — packs small enough to be manageable but sufficient for 4–6 minutes of active flying. Flight time on a 4-inch platform is shorter than on a 6-inch platform by physics: the smaller disk area requires higher induced velocity for the same thrust, which requires more power per gram of lift.

The same power safety rules from the Principles chapter apply here without exception: balance charge, storage voltage when not flying immediately, no charging unattended, visual inspection after crashes. On a smaller platform, the consequences of a LiPo incident are somewhat reduced relative to a 6S pack, but the chemistry is identical and the hazards are real.

Core — Motors and Propellers

The T-Motor Pacer P1804 at 3400 kV is a well-established motor class for 4-inch platforms. The 1804 designation means 18mm stator diameter, 4mm stator height — a narrow, tall stator optimised for high RPM. This contrasts with the 2507's wide, low stator optimised for torque. For 4-inch propellers at 4S, the high-kV, high-RPM characteristic is appropriate: smaller propellers are efficient at higher speeds.

HQ 4 × 4×4 propellers (4-inch diameter, 4-inch pitch, 4 blades) are a common choice for Core-class builds. The four-blade design provides more thrust at lower noise than equivalent two-blade propellers — relevant for indoor and close-range educational environments. Pitch at 4 inches remains within the approximately 1:1 pitch-to-diameter ratio that is efficient for this propeller size.

Motor direction assignment and propeller installation follow the same rules as any multirotor: adjacent motors counter-rotate, standard propellers on counterclockwise motors, reversed-pitch propellers on clockwise motors. Getting this wrong is a common first-time builder error — the drone attempts to take off and immediately pushes itself into the ground. Verifying rotation direction in the ESC configuration tool before installing propellers is part of the Core build checklist.

The floating motor mount system from the Engineering Principles applies to Core as well, though the implementation may be simpler at 4-inch scale. The vibration isolation principle does not change with scale: PETG mount, silicone O-ring interface, motor mass isolated from arm and frame. The gyroscope is the same H7A3-SLIM component regardless of scale, and it benefits identically from vibration isolation.

Core — Electronics Stack

The H7A3-SLIM flight controller is shared with Pro. All Betaflight configuration, all UART assignments, all filtering configuration — identical. A student configuring the H7A3-SLIM on Core is doing exactly the same firmware work they will do on Pro. The only differences are the specific PID values (different airframe, different motors, different weight) and the motor configuration (4S, different RPM scaling).

The ELRS receiver and CRSF protocol are shared. The RadioMaster TX16S transmitter and RP2 receiver are the same hardware. The pilot's muscle memory — stick inputs, mode switches, arming sequence — transfers directly between Core and Pro.

Where Core differs from Pro in electronics: the video system is analog. The Foxeer Predator Nano is a miniaturised CMOS camera outputting composite video directly to the Reaper Nano V2 VTX, which transmits on 5.8 GHz. This is a mature, robust technology with very low latency. For a first FPV experience, analog's graceful degradation (snow rather than freeze) is arguably preferable: a student learning orientation can still orient from a degraded analog signal, while a frozen digital frame provides no information.

An important Core-specific note: libdrone's HDZero Goggle 2 has a built-in analog receiver. This means the same goggles serve both Core (analog) and Pro (digital) builds. The student does not need to own two sets of goggles. This was an explicit component selection decision: the HDZero Goggle 2's analog input makes it the right goggle for a platform family that spans both technologies.

Core — Frame Architecture

Core's frame implements the libdrone structural philosophy at 4-inch scale: PCCF structural layers, PETG arm shafts as deliberate fuses, CF rod pre-tensioning through an interference fit, and the failure hierarchy (shaft → tab → body → electronics). The sandwich cross-section and arm tab-in-T-slot connection are geometrically similar to Pro, scaled appropriately.

The frame is fully parametric in CadQuery — the same Python-based parametric model system as Pro. A student building Core learns the same CAD toolchain they will use for Pro. Frame parameters are variables in the Variables file; changing motor mount hole diameter, arm shaft length, or sandwich height is a one-line change that propagates through the entire model.

The absence of the payload interface system (no GX12 connectors, no UART4/5 payload routing, no sensor mast) simplifies the Core build significantly without removing the structural or educational content. Core is about learning to build, fly, tune, and maintain a drone. The payload architecture is introduced in Pro.

Core — Analog FPV System

The analog FPV system requires less understanding of encoding and signal processing than digital — the camera outputs a standard video signal, the VTX transmits it, the receiver in the goggles displays it. The student learns spatial awareness, orientation, FPV flying technique, and video trimming without the additional complexity of digital system configuration.

The Reaper Nano V2 VTX has configurable transmit power — typically 25 mW for indoor flying (avoiding interference with others) and up to 400 mW for longer-range outdoor use. Frequency selection must follow local regulations: in Europe, the 5.8 GHz FPV band is shared with WiFi and subject to output power limits. The principles of radio spectrum management from Section 5.8 apply directly.

Antenna orientation matters for analog FPV. A linear whip antenna on the VTX and a linear receiver antenna in the goggles must be roughly parallel for maximum signal strength. Rolling the drone 90° can cause signal loss if both antennas are vertical monopoles — a real phenomenon called polarisation mismatch. Circular polarisation antennas (cloverleaf, pagoda) resolve this by transmitting in a rotating field that is equal in all orientations. Understanding why this matters is a practical application of the antenna physics from Section 5.8.

Core — First Build and Maiden Flight

The Core build is designed to be completed in a single weekend by a student with basic soldering skills and no prior drone experience. The documentation is sequenced to introduce each concept before the student encounters it physically: structural theory before cutting carbon rods, PID theory before configuring Betaflight, battery safety before touching a LiPo.

The maiden flight follows the protocol established in the Principles chapter: maiden as a data collection event, not a celebration. Blackbox logging enabled. RPM filter active. Post-flight analysis of the gyro spectrum to verify the build's vibration characteristics. Post-flight visual inspection of the T-lock engagement, arm tab seating, and motor mount O-ring compression.

Expected maiden performance: 3:1 thrust-to-weight ratio at full throttle, hovering at approximately 25–35% throttle, 4–6 minutes flight time on an 850 mAh 4S pack. These numbers are the output of the same thrust-to-weight and efficiency calculations from the Principles chapter, applied to Core's specific components.

Core — What Core Cannot Do (and Why That's Honest)

Core is a learning platform. It is explicit about what it cannot do:

Core cannot carry a scientific sensor payload. The absence of the GX12 connector system means Core has no payload electrical interface. An air quality sensor, a thermal camera, or a radiation detector cannot be connected to Core's avionics in a standardised way.

Core cannot fly for long survey transects. Four-minute flight times at small battery capacity are appropriate for a practice session, not a 30-minute environmental monitoring mission.

Core does not have GPS Rescue. Without a GPS receiver in the standard Core configuration, the GPS-dependent failsafe and return-to-home functions are unavailable.

These limitations are not failures of design — they are features of honesty. A student who knows what Core cannot do understands exactly what Pro adds and why. The progression from Core to Pro is not a sales argument. It is a curriculum: when you can build and fly Core reliably, you are ready for the additional complexity that Pro introduces.

PART THREE: LIBDRONE PRO

Overview — What Pro Is and What It Is For

libdrone Pro is a 6-inch payload platform. Not a racing drone. Not a camera drone. A platform — a flying infrastructure for interchangeable scientific instruments. Every structural, electrical, and software decision in Pro is made in service of this mission: reliable, accurate, repeatable data collection in the field.

The Pro designation means: higher voltage (6S, 22.2V nominal), more powerful motors (2507 class), larger propellers (6-inch), digital FPV (HDZero), GPS navigation and GPS Rescue, and the dual GX12-7 payload interface standard that defines the libdrone platform's commercial proposition. Pro is what you fly when the mission matters.

The complete component set: Matek H7A3-SLIM FC, SpeedyBee BLS 50A ESC (4-in-1), BrotherHobby Avenger 2507 1750kV motors, HQ 6 × 3×3 propellers, HDZero Freestyle V2 VTX, HDZero camera, Matek M10Q-5883 GPS/compass, RadioMaster RP2 ELRS receiver, Happymodel EP2 Nano ELRS receiver (backup), Gdstime 3010 cooling fan, 6S LiPo (1800 mAh), dual GX12-7 payload connectors.

Pro — Power Architecture

The 6S system was analysed in depth in Section 5.5. The specific voltage numbers for Pro:

Fully charged:    25.2V
Nominal:          22.2V
Storage voltage:  22.8V
Minimum safe:     21.0V

The 1000µF low-ESR electrolytic capacitor is positioned directly on the ESC power input pads. No pigtail wire. The 1nH/mm inductance of PCB traces is not acceptable when the protection goal is nanosecond-timescale voltage clamping. The TVS diode (SMBJ28A, integrated in the Pilotix ESC) provides the fast response; the capacitor provides the slower, higher-energy clamping. They work at different timescales, they are not redundant.

The XL4015 buck converter steps 22V down to 9–12V for the HDZero VTX. The 180kHz switching noise from the XL4015 is attenuated by three to four clip-on ferrite beads on the VTX power wire immediately at the converter output. These are positioned before the wire enters the VTX's power input. The converter's output also has a 100µF MLCC ceramic capacitor and 1000µF electrolytic at its output terminals for further filtering.

Power sequencing on battery connection: the ESC bus charges in microseconds; the FC BEC outputs 5V approximately 100ms later after its startup capacitors charge; Betaflight initialises and holds the gyro calibration window for 3 seconds during which the drone must not be moved; the ELRS receiver connects to the transmitter within 500ms; GPS acquires fix within 30–90 seconds cold start. The flight readiness sequence is GPS fix, then arm. Flying without GPS fix foregoes GPS Rescue and position hold.

Pro — Frame Architecture

The full sandwich architecture as described in the Principles chapter. Five layers: PETG bottom (impact face), PCCF lower-middle (structural), PETG centre (platform layer, all service components), PCCF upper-middle (structural), PETG top (structural top, T-slot access, impact protection). Four 2mm CF rods passing through all layers with interference fit at PETG layers and clearance at PCCF layers.

The arm shafts extend from the X body on all four sides, each capped with an arm tab that locks into a T-slot in the body's arm extensions. The T-lock engagement must be verified on every assembly and after any crash: the tab should be fully seated in the slot, the arm should not rock or slide laterally. A partially engaged T-lock will disengage on the first hard landing, separating the arm from the body while in flight.

The Platform layer (centre PETG) contains all electronic components: the ESC stack (bottom), FC (above ESC, with standoffs for thermal and vibrational isolation), VTX (separately mounted for thermal management), fan (rear-facing for ESC/FC cooling), and the two GX12-7 payload connectors (forward-mounted, accessible from below). Wire routing follows the three-zone system: signal channel at X = −20mm (left), MIPI cable channel at centreline, power channel at X = +20mm (right). This separation is maintained throughout the Platform with dedicated channels moulded into the PETG.

The Backplane (bottom PETG, beneath the payload connectors and below the Platform) provides the crash-first interface between the world and the payload. Its diamond/hexagonal lattice at 65% open area provides crash load spreading without mass. The lattice members carry load in tension and compression along their diagonals — more efficient for a planar structure than straight horizontal and vertical members, which create stress concentrations at joints.

Pro — Flight Controller Configuration

The H7A3-SLIM is configured for Pro's specific requirements. UART assignments as described in the Principles chapter. GPS on UART2 at 57,600 baud, UBX protocol. VTX on UART1 at 115,200 baud, MSP DisplayPort. ELRS receiver on UART3 at 420,000 baud, CRSF protocol. Payload connectors on UART4 (Connector A, MSP) and UART5 (Connector B, custom protocol).

Betaflight configuration specific to Pro:

  • PID loop rate: 8 kHz
  • Gyro sample rate: 8 kHz (subsampled from the ICM-42688-P's 32 kHz ODR)
  • RPM filter: enabled, BiDi DShot required, 3 harmonics per motor
  • Dynamic notch filter: enabled, 3 notch filters per axis
  • Motor protocol: DShot600
  • ESC configuration: AM32, bidirectional DShot enabled, "Props In" motor direction
  • GPS Rescue: enabled when GPS fix acquired, minimum 8 satellites, return altitude 30m (adjust for local terrain)
  • OSD: enabled, telemetry overlay on HDZero VTX

The PID baseline starts from published libdrone recommendations and is adjusted post-maiden based on blackbox analysis. The D-term reduction of 10–15% from the V2.14 baseline applies specifically to V2.4.6's lower CG geometry.

Pro — Digital FPV System

HDZero Freestyle V2 VTX paired with the HDZero camera. The MIPI CSI-2 flat cable connecting camera to VTX is 225mm — the length required to route from the camera mount at the nose of the Backplane to the VTX position on the Platform. The cable runs in the dedicated centreline channel throughout this length. Bend radius must not be exceeded at either end — the MIPI standard specifies minimum bend radius to maintain differential impedance, and violating it causes signal integrity degradation.

The VTX is powered from the XL4015 buck converter at 9–12V. Its output power is configurable via MSP commands from the flight controller: 25 mW for proximity flying, 200 mW for typical outdoor missions, 800 mW for long-range missions with appropriate regulatory clearance. Power output settings must comply with local regulations — in most EU countries, 25 mW EIRP is the legal limit for unlicensed 5.8 GHz transmission.

The HDZero Goggle 2 has both an HDZero digital input and an analog video input. This dual capability is the reason the goggles work with both Core (analog) and Pro (digital) — the pilot uses the same goggle throughout the training and operational curriculum, changing only the input source via the goggle's menu.

MSP DisplayPort is the OSD protocol between the FC and the VTX. The FC sends character-based OSD data (voltage, current, GPS position, altitude, flight mode, RSSI, arm status) over UART1. The VTX overlays this text onto the video frame. The student configuring the OSD layout for the first time is directly applying the UART protocol knowledge from Section 5.7.

Pro — GPS and Navigation

The Matek M10Q-5883 provides GNSS positioning (u-blox M10 chip, GPS + Galileo + BeiDou, GLONASS disabled) and compass (QMC5883 magnetometer). The module is mounted at the top of the GPS/camera bracket — maximum height above the frame, maximum distance from the ESC and motor wiring, unobstructed sky view from directly above.

GPS configuration in Betaflight: UBX protocol at 57,600 baud, EGNOS SBAS enabled (Europe), update rate 10 Hz. The compass is used only for GPS Rescue heading determination and position hold heading lock. Compass calibration (rotating the drone through all orientations to characterise hard and soft iron interference) must be performed after any significant change to the drone's component layout — adding a payload changes the magnetic environment and may shift the compass calibration.

GPS Rescue is enabled with minimum satellite count of 8 and return altitude of 30m (adjustable for local terrain clearance). When RC signal is lost for more than 1 second, Betaflight switches to GPS Rescue mode, climbs to the configured altitude, navigates to the home position (recorded at arm time), and descends for landing. The student's first GPS Rescue test should be performed in open terrain with the drone at low altitude, visually confirmed, and with manual override available at all times.

The 1MΩ GPS tap on Payload Connector B allows the ESP32-S3 sensor payload to read GPS data without loading the FC's GPS UART. The 1MΩ resistor ensures that the payload's UART input impedance does not shift the logic levels on the M10Q's TX line. This is a precise signal integrity calculation — the GPS tap is not a casual wire but an engineered high-impedance buffer.

Pro — The Payload Interface Standard

The dual GX12-7 connector system is the commercial heart of libdrone. It defines a modular, weatherproof, standardised interface between the drone and interchangeable scientific instruments. One airframe, multiple payloads. The full pinout is documented in Section 10.2 of the Principles chapter.

Three reference payloads define the platform's scientific capability:

Payload 1 — SEN66 Air Quality: Particulate matter (PM1/PM2.5/PM4/PM10), CO₂, VOC index, NOx index, temperature, and relative humidity. The sensor mast positions the SEN66 above the propeller wake recirculation zone. Data logged at 1 Hz to SD card and WiFi-synced to NAS on landing. Applications: urban air quality mapping, industrial pollution monitoring, wildfire smoke assessment, construction site dust monitoring.

Payload 2 — Thermal/Optical Imaging: A thermal infrared camera combined with visible-spectrum imaging provides simultaneous thermal and visual data. Applications: building envelope inspection for heat loss, agricultural crop stress mapping (stressed crops are warmer), wildlife survey (animals show as warm signatures against cool background), search and rescue (body heat detectable through foliage).

Payload 3 — Geiger-Müller Radiation Survey: A shielded Geiger-Müller detector for radiation mapping. Applications: environmental monitoring around nuclear facilities, post-incident assessment, scientific research in radiation-affected areas. The shielding must account for motor electromagnetic interference — the detector's signal processing runs at frequencies that overlap with motor commutation harmonics, requiring careful filtering and physical separation.

Each payload connects via the same GX12-7 connectors. The pilot enables the payload via radio switch (AUX GPIO on Connector B PIN 5), which powers the payload's main enable line. Data flows over I2C (SEN66) or UART5 (imaging payloads). GPS position is available to all payloads via the 1MΩ tap on Connector B PIN 2. Every payload produces JSONL log files with timestamped GPS-correlated measurements, WiFi-synced to the operator's NAS on landing.

Pro — Thermal Management

At full throttle with all four motors drawing 40–50A each and the ESC dissipating resistive losses, the thermal environment inside the Platform layer is demanding. The Gdstime 3010 30 × 30 × 10mm fan at the rear of the Platform exhausts rearward, drawing air from the nose end across the ESC and FC stack. At 5V from the FC BEC, it provides approximately 0.15–0.25 m$^3$/min of airflow — sufficient to keep the ESC within operating temperature limits during sustained hover and moderate manoeuvres.

The fan is hardwired to the FC 5V pad, not controlled by the FC. It runs continuously whenever the FC is powered. This "massively overcool" design philosophy eliminates the complexity of temperature monitoring and variable-speed fan control in exchange for slightly higher idle current draw and continuous fan noise. For a scientific mapping drone that flies methodically rather than aggressively, the thermal margin is more important than the noise.

The VTX is the second significant heat source. At 800 mW RF output, the power amplifier efficiency of approximately 40% means 1.2W of heat dissipated inside the VTX enclosure. The VTX is mounted separately from the ESC/FC stack with airflow access on multiple sides. Extended transmissions at maximum power in hot, still-air conditions should be monitored — the VTX has internal thermal protection that reduces output power if its temperature exceeds the safe operating limit.

Pro — Operational Protocols

Pre-flight: GPS fix required before arm (minimum 8 satellites visible). Battery voltage checked (above 24.0V for full 6S). Blackbox enabled. Fan audible. Camera image in goggles. OSD telemetry visible. Visual inspection of all propellers (no chips, cracks, or looseness), all arm T-locks (tab fully seated), all payload connections (GX12 locking rings finger-tight). Home position will be recorded at arm — if the pilot will move position during the flight, note the arm position for RTH reference.

Flight envelope: The Pro frame is designed for survey flight — methodical, GPS-stabilised, moderate speed. It is not a racing drone. Aggressive manoeuvres stress the arm shafts without providing mission benefit. The failure hierarchy protects the electronics from crashes, but the hierarchy is designed for crash survival, not repeated crash cycles. Fly carefully with Pro; fly aggressively with whatever platform is designed for it.

Winter operations: Do not fly below 0°C in standard configuration. Store batteries at room temperature; bring to the site in the final 5 minutes. PETG arm shafts are more brittle in sub-zero temperatures — a crash that would result in a clean shaft fracture at 20°C may result in a more complex failure at −10°C.

After each flight: Inspect physically. Battery voltage (should not be below 21.0V, equivalent to 3.5V/cell). Arm tab seating. Motor temperatures (warm is normal; hot is concerning). Blackbox data downloaded and reviewed for noise floor changes. Sensor payload SD card data confirmed written and synced.

Pro — The Commercial and Research Proposition

A university or research institution evaluating libdrone Pro is not buying a drone. They are buying a modular aerial measurement platform with a documented open connector standard, open firmware throughout the entire stack, EU-origin satellite navigation, and a curriculum that teaches the physics, electronics, and engineering principles behind every component decision.

The platform cost is transparent: all components are commodity parts available from multiple suppliers, all at published market prices. There is no proprietary sensor interface, no calibration lock, no mandatory maintenance contract. A student who builds one knows how to repair it. A researcher who uses one knows how to modify it.

The research application is broadened by the modular payload standard. A group that develops a new atmospheric sensor can design a GX12-7-compatible payload board and immediately have access to a flying platform with GPS, telemetry, OSD display, and WiFi data sync — without designing any of those systems themselves. The connector standard is a shared infrastructure, and each new payload that uses it makes the platform more valuable to everyone in the ecosystem.

This is, at its core, the same logic as FOSS software: shared infrastructure, openly documented, creates more value collectively than each participant could create alone. libdrone's dual GX12-7 interface standard is the FOSS philosophy applied to drone hardware.

Closing — The Growth Path

A student who has read this document and built both Core and Pro has encountered, in tangible, testable form: Newton's laws applied to real thrust calculations; the Coriolis effect measured by a sensor the size of a grain of sand; century-old PID control theory running at 8,000 cycles per second; the electrochemistry of lithium explaining why their battery must be handled carefully; Maxwell's equations explaining why their motor wires must be twisted; the history of GPS explaining why their configuration disables GLONASS; and the FrSky story explaining why every piece of software they used is open source.

This is not a drone curriculum. It is an engineering education that uses drones because drones are honest: they either fly correctly, or they don't. There is no partial credit. The physics does not negotiate. The mathematics does not allow for vague answers. When everything is right, the drone rises from the ground and does exactly what it was asked to do.

That moment — the maiden flight, after understanding everything that makes it possible — is worth the pages that precede it.

Glossary of Key Terms

ADC — Analog-to-Digital Converter. Converts a continuously varying voltage to a digital number. Used in the FC for battery voltage monitoring and current sensing.

AM32 — Open-source 32-bit ESC firmware. Runs on an STM32 microcontroller inside the ESC. Bidirectional DShot capable.

AUW — All-Up Weight. Total weight of the drone including battery, payload, and all attached components.

AWG — American Wire Gauge. Lower number = thicker wire. 12AWG for battery leads, 24AWG for power in payload connector, 28AWG for signal.

Back-EMF — Back Electromotive Force. Voltage generated by a spinning motor that opposes the driving supply voltage. Limits maximum RPM and causes voltage spikes on motor deceleration.

BEC — Battery Eliminator Circuit. Voltage regulator (typically 5V output) built into the ESC or FC, eliminating the need for a separate battery to power logic circuits.

BiDi — Bidirectional DShot. ESC returns eRPM telemetry to the FC on the same DShot wire.

C rating — Battery maximum continuous discharge rate as a multiple of capacity. 150C at 1800mAh = 270A theoretical maximum.

CAN — Controller Area Network. Multi-node serial bus with built-in arbitration, from the automotive industry.

CEP — Circular Error Probable. GPS accuracy metric: 50% of position fixes fall within this radius of the true position.

CF — Carbon Fibre.

Coriolis force — Apparent deflection of a moving object in a rotating reference frame. The physical basis of MEMS gyroscopes.

CRSF — Crossfire Serial Format. Serial protocol between ELRS receiver and flight controller. 420,000 baud, 8 channels at 11-bit resolution, bidirectional.

CSS — Chirp Spread Spectrum. Radio modulation used by ELRS. Carrier frequency sweeps linearly across a bandwidth; receiver correlates against the expected chirp for processing gain.

CW / CCW — Clockwise / Counterclockwise motor rotation direction.

DMA — Direct Memory Access. Hardware mechanism for peripheral-to-RAM data transfer without CPU involvement.

DShot — Digital Shot. Digital ESC protocol with CRC for noise immunity. DShot600 = 600 kbit/s.

EASA — European Union Aviation Safety Agency. Sets European drone operational regulations.

EGNOS — European Geostationary Navigation Overlay Service. European SBAS improving GPS position accuracy to ~1m CEP over Europe.

ELRS — ExpressLRS. Open-source long-range RC protocol using chirp spread spectrum (LoRa) at 2.4GHz.

EMC — Electromagnetic Compatibility. Engineering discipline of preventing electromagnetic interference between electronic systems.

eRPM — Electrical RPM. Motor speed in electrical cycles per minute. Mechanical RPM = eRPM ÷ pole pairs.

ESC — Electronic Speed Controller. Converts digital throttle commands into three-phase power for brushless motors.

ESR — Equivalent Series Resistance. Parasitic resistance of a capacitor; lower ESR = faster response to voltage spikes.

FC — Flight Controller.

FF — Feed-Forward. Control term that responds to stick input rate rather than error; anticipatory rather than reactive.

FHSS — Frequency-Hopping Spread Spectrum. Older RC radio technique; hops between frequency channels to avoid interference.

FPU — Floating-Point Unit. Hardware processor block for floating-point arithmetic in a single clock cycle.

FPV — First Person View. Flying via live camera feed in goggles.

Galileo — European Union satellite navigation constellation. 28 operational satellites, shares 1575.42 MHz with GPS.

GLONASS — Russia's satellite navigation constellation. Disabled on libdrone due to jamming risk near eastern EU borders.

GNSS — Global Navigation Satellite System. Generic term covering GPS, Galileo, GLONASS, BeiDou.

GPIO — General Purpose Input/Output. Digital pin configurable as input or output.

GPS — Global Positioning System. US Space Force satellite navigation constellation.

GX12 — 12mm diameter aviation-style circular connector. IP65-rated when locked. Available in 2–7 pin variants. libdrone's modular payload interface standard.

IMU — Inertial Measurement Unit. Accelerometer and gyroscope combination.

I2C — Inter-Integrated Circuit. Two-wire serial bus (SDA + SCL) supporting multiple devices with 7-bit addressing. 400kHz fast mode for SEN66.

IP65 — Ingress Protection 65. Fully dustproof, protected against water jets from any direction.

kV — Motor velocity constant. RPM per volt applied at no load. Not kilovolt.

LBT — Listen Before Talk. Regulatory requirement; transmitter checks channel occupancy before transmitting.

LiPo — Lithium Polymer battery. High energy density, high discharge rate, fire hazard if mishandled.

LiFePO4 — Lithium Iron Phosphate battery. Lower energy density, dramatically better thermal stability and cycle life, no thermal runaway.

LoRa — Long Range. Chirp spread spectrum radio modulation from Semtech. Used in ELRS via SX1280.

MEMS — Micro-Electro-Mechanical System. Microscopic mechanical structures fabricated on silicon using semiconductor processes.

Mie scattering — Scattering of light by particles comparable in size to the light's wavelength. Basis of the SEN66's particulate matter measurement.

MIPI CSI-2 — Camera Serial Interface 2. Differential signalling standard connecting cameras to processors. Used for HDZero camera to VTX connection.

MOSFETs — Metal-Oxide-Semiconductor Field-Effect Transistors. Electronic switches in the ESC bridge. N-channel, low Rds(on) for efficiency at high current.

MOx — Metal-Oxide semiconductor gas sensor. Resistance changes in the presence of VOCs or NOx.

MSP — MultiWii Serial Protocol. Protocol for FC configuration, OSD data, and payload communication.

NDIR — Non-Dispersive Infrared. CO₂ measurement technique using IR absorption at 4.26 µm.

NOx — Nitrogen Oxides. Combustion pollutants. Measured by SEN66 on a 1–500 index.

ODR — Output Data Rate. Rate at which a sensor produces new measurements.

OSD — On-Screen Display. Telemetry data overlaid on the FPV video image by the VTX.

PCCF — Polycarbonate Carbon Fibre composite filament. Stiff, dimensionally stable structural material for libdrone's sandwich structural layers.

PETG — Polyethylene Terephthalate Glycol-modified. Tough, impact-absorbing, ductile. Used for libdrone's sacrificial arm shafts and impact-face layers.

PID — Proportional-Integral-Derivative controller. Proportional responds to current error, Integral accumulates past error, Derivative responds to error rate of change.

PM1/2.5/4/10 — Particulate Matter with aerodynamic diameter less than the stated value in micrometres.

Q factor — Quality factor of a resonant system. High Q = narrow, tall resonance peak, rings for a long time. Low Q = broad, damped resonance.

RTH — Return to Home. Failsafe mode commanding the drone to navigate back to its arm position.

RTK — Real-Time Kinematics. GPS augmentation using carrier phase measurement for centimetre-level accuracy.

S — LiPo cell count in series. 6S = six cells = 22.2V nominal.

SBAS — Satellite-Based Augmentation System. Ground station network broadcasting GPS error corrections via geostationary satellite.

SEN66 — Sensirion integrated air quality module. PM1/2.5/4/10, temperature, humidity, VOC index, NOx index, CO₂. I2C interface.

SPI — Serial Peripheral Interface. Fast (10–50 MHz) synchronous 4-wire master-slave bus. Used for IMU gyroscope.

STM32 — STMicroelectronics 32-bit ARM Cortex microcontroller family. H7A3 in FC, F051 in ESC.

TVS — Transient Voltage Suppressor. Clamps voltage spikes in nanoseconds. SMBJ28A on Pilotix ESC protects against motor back-EMF spikes.

TWR — Thrust-to-Weight Ratio. Maximum total thrust divided by all-up weight. Pro targets 3:1 on depleted battery.

UART — Universal Asynchronous Receiver-Transmitter. Asynchronous serial interface, point-to-point. Start bit + 8 data bits + stop bit per character.

UAS — Unmanned Aircraft System.

UAV — Unmanned Aerial Vehicle.

VRS — Vortex Ring State. Descent into own downwash causing recirculation and dramatic thrust reduction. Recover by translating horizontally.

VOC — Volatile Organic Compound. Carbon-based gases at room temperature. Measured by SEN66 on 1–500 index.

VTX — Video Transmitter.

VTOL — Vertical Take-Off and Landing.

XL4015 — Buck converter IC. Steps 22V battery down to 9–12V for VTX at ~90% efficiency. Switches at 180kHz.

XT60 — Battery connector standard. 60A continuous rating. Gold-plated bullet contacts.

EOF


Revision History

Version Date Author Summary
3.4.3 2026-03-27 JS Version alignment with platform release.
1.0 2026-03 JS Initial textbook.