A reproducible 5-inch FPV quadrotor cloning the airframe envelope of the Neros Archer — small US-domestic defense-class FPV with onboard autonomy. Same form factor (5″ TrueX, 6S, ~295g dry), commodity supply chain, and a Jetson Orin NX 16GB riding the top plate so the same TensorRT engines we train for AIGP (§1.2 of the doctrine) run unmodified on the real airframe.
Grab the full build spec as a self-contained file you can email, drop into Slack, or paste into a Claude chat to plan with. All BOM rows, prices, buy links, propeller picks, wiring, and the first-flight checklist are in here.
claude.ai or
Claude Code, attach the .md file, then ask things like
"what's the total cost for two of these?",
"walk me through the wiring step by step", or
"convert this BOM into a Google Sheets CSV".
Claude uses the doc as ground truth.The Neros Archer is a US-built 5-inch FPV designed for ISR + tactical payload work — small, fast, hard to source overseas. We can't and don't need to clone the mission systems. What we DO clone is the airframe envelope and propulsion class, swap in a Jetson Orin NX 16GB for autonomy, and bias the build for data-capture reliability over kinetic mission specs. (The earlier draft of this build used an Orin Nano Super 8GB — we moved to the NX once the AIGP pipeline's YOLO11n-pose + EKF + planner stack outgrew the Nano's 67-TOPS budget on the 25 m/s ATTACK profile.)
The DIY rig is intentionally not a race drone. Optimize for reliability + predictable dynamics so the residual-dynamics model sees clean data. Save the speed chase for Ohio.
Prices are 2026 USD street estimates. Always check current pricing at GetFPV, Pyrodrone, RaceDayQuads, RotorRiot, or the manufacturer direct. "Alt" rows are tested-good substitutes if the primary is OOS.
buy-link convention: buy opens a search at the primary retailer in a new tab. alt opens the suggested alternate.
| Part | Qty | Notes | USD |
|---|---|---|---|
| iFlight Nazgul5 V3 · TrueX 5″ frameprimary buy · GetFPV iFlight direct Apex 5″ HD alt · GepRC Mark5 HD alt | 1 | 5 mm carbon arms, top plate clears the NX + J401 stack, soft-mount included | $80 |
| M3 hardware kit (M3×6, M3×8, M3×12, nylocks) buy · Amazon | 1 | Frame screws + standoffs replacement set | $8 |
| Soft-mount grommets · M3 silicone buy · GetFPV | 8 | Vibration isolation under FC stack | $4 |
| Battery strap · Kevlar 200 mm buy · GetFPV | 2 | One in service, one spare | $6 |
| Airframe subtotal | $98 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| iFlight XING2 2207 · 2750 KV · 6Sprimary buy · GetFPV iFlight direct T-Motor Velox V2 2207 2750 KV alt · Brother Hobby Avenger 2207 alt | 4 | Press-fit shaft, race-tuned bell, 6S-matched | $100 |
| HQProp 5×4.3×3 V1S tribladeprimary buy · GetFPV HQ direct Gemfan 5152S v2 alt · Azure 5147 alt | 8 | 2 sets per drone · 4 in service + 4 spare. Full guide in § 06. | $24 |
| Propulsion subtotal | $124 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| Holybro Kakute H7 V2primary buy · GetFPV Holybro direct SpeedyBee F405 V4 (cheaper, F4 only) alt · Mateksys H743-Slim alt | 1 | STM32H743, 8 UARTs, plenty of headroom for MAVLink + companion | $85 |
| Holybro Tekko32 F4 4-in-1 · 50 A 6Sprimary buy · GetFPV Holybro direct T-Motor F55A Pro II alt · Hobbywing XRotor Micro 60A alt | 1 | BLHeli_32, telemetry on signal pad, 50A continuous | $110 |
| Low-ESR capacitor 35V 1000 µF (Panasonic FR/FM) buy · Digi-Key GetFPV | 1 | Solder across XT60 — kills voltage spike on burst throttle | $4 |
| XT60 pigtail · 14 AWG silicone · 100 mm buy · GetFPV | 2 | One primary + one spare | $8 |
| Flight electronics subtotal | $207 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| ExpressLRS 2.4 GHz EP2 receiverprimary buy · BetaFPV GetFPV RadioMaster RP3 alt · BetaFPV ELRS Nano alt | 1 | Kill-switch + manual override. Autonomy is onboard. | $22 |
| RadioMaster Boxer ELRS · 2.4 GHzshared buy · RadioMaster GetFPV | 1 | Hall gimbals, ELRS built-in. One radio covers all rigs. | $260 |
| Radio link subtotal (incl. shared radio) | $282 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| Walksnail Avatar HD Mini VTX V2primary buy · GetFPV DJI O3 Air Unit alt · HDZero Race V3 alt | 1 | Digital HD for human spotter, OSD overlay for debug | $90 |
| Walksnail Nano camera (paired) buy · GetFPV | 1 | Pairs with VTX. Not used for autonomy. | $32 |
| TrueRC X-Air 5.8 GHz · MMCX buy · GetFPV | 1 | Linear-polarized, rear-mounted | $22 |
| Walksnail Avatar HD Gogglesshared buy · GetFPV | 1 | One pair covers all rigs. Pilot + spotter alternate. | $430 |
| Video link subtotal (incl. shared goggles) | $574 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| NVIDIA Jetson Orin NX 16GB moduleprimary buy · Arrow Mouser Silicon Highway Orin NX 8GB module ($599, same compute, half RAM) alt · Orin Nano Super 8GB Devkit (cheaper but Nano is the part we just outgrew) alt | 1 | 100 TOPS · 25 W MAXN. SO-DIMM 260-pin module (no carrier — see below). CUDA + TensorRT. Reflash to JetPack 6.x via the host laptop before first boot. | $699 |
| DAMIAO Orin NX RC/Drone Carrier V1.1primary
buy · eBay (~$50)
HamGeek (full kit $134)
Thanksbuyer
Seeed reComputer J401 (desktop ports, 60 g · use if DAMIAO out of stock) alt · Forecr DSBOARD-NX-LT (87 × 55 mm) alt · ARK Jetson PAB (ArduPilot-native, $300+) alt drone-native · XT30 input · JST-GH MAVLink · 36 g |
1 | 87 × 50 mm · 36 g. Built for drone use: XT30 power input (direct from ESC PDB, no external BEC needed for the carrier itself), 2× GH1.25 4-pin for UART/MAVLink, 2× Type-C OTG (SDK Manager flash), M.2 NVMe slot, gigabit ethernet via SH, Micro-HDMI. SSD / WiFi / heatsink sold separately. | $50 |
| NVMe SSD · 256 GB M.2 2280primary buy · Amazon microSD UHS-I 128 GB (slower, fine for dev) alt | 1 | Boot drive + dataset cache. Skip the SD slot's I/O penalty. | $32 |
| RPi Camera Module 3 Wide (IMX708)primary buy · Adafruit RPi direct Arducam IMX477 12MP wide (more light, larger lens) alt · ZED Mini stereo (overkill, no need yet) alt | 1 | 120° FOV match to Archer-class autonomy camera | $35 |
| CSI-2 ribbon · 22-pin RPi → 15-pin Jetson adapter · 200 mm buy · Arducam Amazon | 1 | DAMIAO uses 15-pin CSI; RPi Cam 3 is 22-pin | $15 |
| External BEC for NX (optional · only if your carrier doesn't accept 6S directly)backup Matek 5V/12V 6A · alt-buy Pololu D36V28F5 | 0–1 | Skip if using DAMIAO — its XT30 input is 6S-direct so the carrier handles the buck internally. Keep this line stocked as a backup in case you fall back to a non-drone carrier (J401 needs 5 V via barrel jack → external BEC required). | $0 |
| 3D-printed NX carrier mount (PETG) — top-plate adapterprinted | 1 | See 3D parts · ~16 g, 25 % infill, M3 standoffs hold the DAMIAO carrier | $2 |
| 40 mm 5V brushless cooling fan + heatsinkprimary buy · Amazon stock J401 fan kit (if your carrier ships with one) — skip this row | 1 | NX runs hotter than Nano. 25 W TDP means active cooling required even briefly airborne (no battery cooling at this altitude class). | $8 |
| 3D-printed RPi Cam tilt mount · +20° fixed (PETG)printed | 1 | Matches VADR-TS-002 § 3.8 spec tilt | $1 |
| Autonomy stack subtotal | $842 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| Tattu R-Line 1300 mAh · 6S · 120Cprimary buy · GetFPV Tattu direct CNHL Black Series 6S 1300 120C alt · GNB 6S 1300 120C alt | 3 | Three packs for rotation: in service, charging, on cooldown | $120 |
| ToolkitRC M7 100W smart chargershared buy · GetFPV ToolkitRC direct | 1 | Balance + storage modes. One charger covers all packs. | $80 |
| Mean Well 24V/4A bench PSUshared buy · Amazon | 1 | Feeds the M7. or an old laptop charger with XT60 pigtail. | $40 |
| LiPo safe bag · 30 cm buy · Amazon | 2 | Storage + transport. Cheap insurance. | $14 |
| Power subtotal (incl. shared charger + PSU) | $254 | ||
| Part | Qty | Notes | USD |
|---|---|---|---|
| 5″ prop guards (printed PETG)printed | 4 | Indoor training, netted space, low-speed loiter | $4 |
| Buzzer · 5V piezo (lost-drone finder) buy · GetFPV Amazon | 1 | Solder to FC BUZZ pad. Saves a $1,650 walk through a field. | $3 |
| BetaFlight USB cable · USB-C 1 m buy · Amazon | 1 | Flashing + config. Data-capable, not just power. | $6 |
| Cable ties · 100 mm · UV-stable buy · Amazon | 1 pack | Battery + NX power cables | $3 |
| Safety + misc subtotal | $16 | ||
Buy once, use forever. Most of these are shared across the team.
The single biggest tunable on a quad is the propeller. Diameter, pitch, blade count, and material decide the entire personality of the build — efficiency, top speed, response sharpness, motor temperature, ESC current. For this rig we prioritise predictable dynamics for the sim-to-real model, not raw top speed.
The standard FPV label is DD×P×B — diameter × pitch × blade count. A 5×4.3×3 prop is 5 inches across, theoretically advances 4.3 inches per rotation, and has 3 blades.
| Pitch (5″) | Feel | Top speed | Hover throttle | Best for |
|---|---|---|---|---|
| 5×4.0 | smoothest · easiest to fly | low | ~22 % | indoor · beginner · cinema |
| 5×4.3 | balanced · predictable | mid | ~24 % | AIGP data capture · this build |
| 5×4.5 | slightly snappier | mid | ~25 % | freestyle · general race |
| 5×5.0 | aggressive · sharp punch-outs | high | ~28 % | open-air race |
| 5×5.5 | on the edge of overheating motors | v.high | ~30 % | experts only · drag races |
2-blade props are the most efficient; 3-blade is the universal default for race + freestyle; 5-blade trades efficiency for bite.
| Blades | Efficiency | Bite (grip in air) | Sound | Best for |
|---|---|---|---|---|
| 2 | highest · longest flights | lowest | quiet whoosh | long-range · cruise |
| 3 | balanced | good | standard FPV buzz | everything · default |
| 5 | lowest · short flights | highest | aggressive growl | cinematic · stunt |
Race-class props are polycarbonate (PC). Reinforced variants (PC + glass fill) last longer but cost a touch of response sharpness. For data capture you want consistency — swap any prop with chips, cracks, or splay-out, because a damaged prop changes dynamics non-linearly and pollutes the IMU trace the residual-dynamics model is trying to learn from.
BetaFlight default for our build is "props out" — top-front blades spin away from the camera. Each motor takes one direction; iFlight / HQ ship props in matched pairs (2 CW + 2 CCW per pack of 4).
╲ CW M4 (FL) M1 (FR) CCW ╱
╲ ╱
╲ ╱
╲ [FC ↑] ╱
╲ ╱
╳
╱ ╲
╱ [BAT] ╲
╱ ╲
╱ ╲
╱ CCW M3 (BL) M2 (BR) CW ╲
Pyramid mark on the prop hub points UP (away from the motor).
Mismatched direction = motor stalls + ESC overheats on takeoff.
Props are consumables. Plan:
| Pad / Pin | Connection | Purpose |
|---|---|---|
| UART4 RX/TX | DAMIAO GH1.25 4-pin UART connector (NX UART1) | MAVLink to companion · SET_POSITION_TARGET_LOCAL_NED |
| UART6 RX/TX | ExpressLRS receiver | Safety pilot, kill-switch |
| UART3 RX/TX | Walksnail VTX | OSD + VTX control over MSP |
| VBAT pad | Capacitor + main lead | 22-25V battery sense |
| 9V pad | VTX + Walksnail cam | 3A budget, regulated on FC |
| BUZZ pad | Piezo buzzer (+ to BUZZ, − to GND) | Lost-drone finder, beeps on low battery |
| BOOT pad | DFU recovery only | Short to GND while plugging USB to enter DFU |
The FC ships with BetaFlight 4.4 or generic INAV. We flash BetaFlight 4.5 because the H7 target file + RPM filter implementation are mature. Steps:
STM32 in DFU mode.HOLYBRO-KAKUTEH7-V2 (or ...-V2.1 depending on the rev silkscreen).The Orin NX shares its SO-DIMM 260-pin pinout with the Orin Nano — software you flash through the Nano's SDK Manager runs on the NX with identical JetPack images. The differences that matter for the build: 2× memory (16 GB vs 8 GB · headroom for the planner cache and EKF history buffer), 1.5× compute (100 TOPS vs 67 TOPS at MAXN · the YOLO11n-pose + segmentation + perception-aware PPO observation pass all fit inside the 33 ms frame budget at 25 m/s ATTACK profile), and ~67 % more power (25 W vs 15 W MAXN · the reason we sized the BEC to 6 A).
aigp-rig-01 through -04. Disable cloud-init dialog, enable SSH.sudo apt install -y python3-pip python3-dev libgstreamer1.0-dev \
libcamera-dev v4l-utils mavlink-router
imx708 overlay (NVIDIA forum thread B-15924, same as Nano). Confirm with v4l2-ctl --list-devices.mavlink-router from FC UART (/dev/ttyTHS1) → onboard UDP :14550. Our autonomy listener subscribes there.git clone the AIGP repo (race pipeline), install the conda env, run python race/onboard/runner.py --rig=01. Use the same engine files (apex_yolo11n_pose.engine) compiled for Orin NX — re-compile with trtexec if your host built them for Nano.sudo nvpmodel -m 0 (yes, on the NX, mode 0 = MAXN/25 W; mode 1 = 15 W; mode 2 = 10 W). The 6 A BEC + 1000 µF cap absorb the boot spike (~5 A for 200 ms); confirm with a clamp meter on the 5 V rail during first cold boot.| # | Check | Pass condition |
|---|---|---|
| 1 | Visual inspection | No loose props, no exposed solder, no pinched wires |
| 2 | Props OFF · motor spin direction (BetaFlight Motors tab) | Each motor's direction matches frame layout, no buzzing |
| 3 | Props OFF · RC stick mapping | Throttle = motors[0-4] = thrust, sticks correct in Receiver tab |
| 4 | Battery voltage at startup | > 24.8 V (6S full) |
| 5 | Failsafe arm test | Turn off TX → motors disarm within 1 s |
| 6 | NX boot · CSI camera active | v4l2-ctl --list-devices shows imx708 |
| 7 | Onboard MAVLink heartbeat | NX sees FC heartbeat at 2+ Hz on UDP :14550 |
| 8 | Short hover · manual (props ON, indoor + net) | Safety pilot can hover stable, land soft |
| 9 | Hover-attitude trim | Drone doesn't drift > 1 m/s in calm air |
| 10 | Short hover · onboard autonomy (loiter) | No runaway, no oscillation, < 30 s test |
| 11 | Short gate approach · autonomy | Detector locked on gate corners, altitude held |
| 12 | Kill-switch drill | Pilot can disarm mid-flight from the radio |
| 13 | Post-flight thermal check | Motors warm (not too hot to hold), ESC not smoking |
| 14 | Battery temperature | < 45°C at landing · charge to storage if > |
The default BetaFlight PIDs for a 5″ 6S race quad are reasonable. Three deviations for our build:
RPM filter is on (default with BLHeli_32 + bidirectional DShot). If motors get noisy after a crash, balance the props before re-tuning.
| Component | Consumed at | Spares to stock |
|---|---|---|
| Propellers | ~1 set per 30 min flight, or any contact | 10 sets · $50 |
| Motors | after ~3-4 crashes or sand ingress | 4 spare (one set) |
| Frame arms | per hard crash · always cheap | 1 spare arm set |
| FC | rare · usually survives if dry | 1 spare across the team |
| ESC | burnout on a stuck prop | 1 spare across the team |
| Battery | ~150 cycles to puffy | 2 fresh packs per drone |
| RPi Cam 3 Wide | rare · only on lens-down impact | 1 spare across the team |
| 3D-printed mounts | per crash · cheap to reprint | print fresh on demand |
The DIY rig exists specifically to capture ~30 minutes of real-flight telemetry for the residual-dynamics model (playbook §04). Flight budget:
If we end up doing a v2 PCB, the design targets below describe what it would look like. Otherwise the DAMIAO V1.1 is good enough for the sim-to-real bridge and the first competition season.
| Spec | Target | Why |
|---|---|---|
| Footprint | 30.5 × 30.5 mm mount pattern · 60 × 35 mm PCB | Matches FC stack pattern → fits inside the top-plate aperture without an adapter |
| Module socket | SO-DIMM 260-pin (Foxconn AS0B226-S43B-7F) | Same as J401 · accepts any Orin Nano / NX module |
| Input voltage | VBAT direct · 14–25 V (4S–6S) | One pigtail to the ESC PDB, no external BEC |
| 5 V rail | Integrated buck · 8 A continuous · TPS54824 or LMR16030 | Cover 25 W NX + boot spike + camera + fan + USB peripheral |
| Backup 3.3 V | LDO from 5 V · 500 mA | Powers the on-board MCU watchdog (see below) |
| MAVLink port | 4-pin JST-GH · 3.3 V TTL UART · ±15 kV ESD | Direct to FC UART4 · no soldered jumpers, no GPIO header risk |
| Camera | 15-pin CSI-2 FFC + 22-pin CSI-2 FFC | Native RPi Cam 3 + room for stereo / IR upgrade later |
| M.2 slot | M.2 2230 NVMe (PCIe x1) | OS + dataset cache · 2280 too long for 60 mm board |
| USB | 1× USB-C OTG (debug/flash) · 1× USB 2.0 host header (2.54 mm) | OTG for SDK Manager · header for occasional dongle |
| Status | 3× LEDs · power, NX heartbeat, MAVLink RX | Visual triage when something's wrong on the pad |
| Watchdog MCU | STM32G030 (TSSOP-20) · monitors 5 V + NX boot OK + temp | Pulses FC BUZZ on brown-out / thermal trip · saves a $1,750 walk |
| Mounting | 4× M3 holes · 30.5 × 30.5 mm · 8 mm corner relief for soft-mount grommets | Drops into any FC-pattern stack · vibration-isolated |
| Target mass | ≤ 18 g bare PCB · ~98 g total with NX module + heatsink | Saves ~32 g vs J401 + external BEC + harness |
| From J401 | v2 PCB | Why |
|---|---|---|
| SO-DIMM 260-pin socket | keep | Whole point — same module, same software |
| M.2 2280 NVMe slot | shrink → 2230 | 2280 needs 80 mm of board · 2230 fits in 30 mm and most racing-grade NVMes ship in 2230 |
| 15-pin CSI-2 connector | keep + add 22-pin | RPi Cam 3 today, stereo upgrade later |
| 40-pin RPi-compat GPIO header | drop | Replace with one dedicated 4-pin JST-GH for MAVLink · saves 6 g + cleaner cable run |
| USB-A · 4 ports | cut to 1× USB-C OTG + 1× USB-2 header | OTG covers SDK Manager flash + debug. 4 USB-A ports were for desktop dev, not flight. |
| Dual HDMI | drop | No display on a drone |
| RJ45 gigabit ethernet | drop | WiFi via M.2 covers anti-cheat internet requirement |
| External barrel jack | replace with integrated VBAT input | One XT30 pigtail to ESC PDB · no external BEC needed |
| No watchdog | add STM32G030 watchdog | Detect brown-outs / thermal trips and signal the FC over the existing BUZZ pad — auto-LAND before the NX panics |
Flat scannable checklist with one buy button per item. For alternates, detailed notes, and direct-from-manufacturer links see the full § 03 BOM above.