CUSTOM AIRFRAMES
Engineering new vehicle types. Frame class architecture, C++ matrix definitions, and Lua scripting mixers.
Vehicle Configuration
Frame Class vs Type Architecture
When you configure a drone in Mission Planner, you select a **Frame Class** (e.g., Quad, Hexa) and a **Frame Type** (e.g., X, V, Plus). These are n...
Defining Custom Mixers in C++
For standard frames (X, H), ArduPilot automatically calculates the motor mixer based on the frame angle (e.g., 45 degrees). However, for asymmetric...
Lua Scripting Mixers
For years, creating a custom airframe meant editing C++ code, recompiling, and flashing custom firmware. Now, with ArduPilot's **Lua Scripting Engi...
The Output Map: SERVOn_FUNCTION
In ArduPilot, "Motor 1" is not physically tied to "Pin 1". Instead, there is a layer of abstraction called **SRV_Channels**. The Motor Mixer output...
Debugging Mixers: Motor Test & Logging
After defining a custom frame, the most terrifying moment is the first arming. Will it flip? To verify your mixer *without* flying, you use the **M...
DShot & ESC Telemetry Backend
DShot is a digital protocol for controlling ESCs. Unlike PWM (which varies pulse width), DShot sends a packet of data (Thrust + Telemetry Request +...