Custom Quadcopter Drone
Custom Quadcopter Drone
Author: Joel Johnston Date: 2026-04-06 Domain: Drone / Robotics Stroke Timeline: Pre-stroke
Abstract
ESP32 + Betaflight + Raspberry Pi FPV (first-person view) platform. 250mm class carbon fiber frame with 2212 920KV brushless motors, SpeedyBee F405 V4 flight controller running Betaflight firmware, GPS for RTH (return to home), ELRS (ExpressLRS) RC link, and Raspberry Pi Zero 2W for video streaming and optional CV (computer vision) processing. Total build cost: approximately $370. roboNet mesh node candidate.
Hardware
Frame and Propulsion
- Frame: Carbon fiber 250mm class, 3mm arms, central plate stack
- Motors: 2212 920KV brushless (4x) — 920KV selected for 5" props at 4S (14.8V) LiPo
- ESCs (electronic speed controllers): 30A (4x), DSHOT600 protocol, BLHeli_32 firmware
- Props: 5045 tri-blade — 5" diameter, 4.5" pitch, 3 blades
Flight Controller
- FC: SpeedyBee F405 V4
- Firmware: Betaflight 4.x
- IMU: Built-in MPU-6000 (6-axis gyroscope + accelerometer)
- Barometer: Built-in BMP280 (altitude hold)
- OSD: Built-in (telemetry overlay on FPV video feed)
Navigation
- GPS: BN-880Q (GPS + compass, UART connection to FC)
- Capabilities: RTH (return to home), position hold, waypoint navigation (through Betaflight GPS rescue)
RC Link
- Protocol: ELRS (ExpressLRS) 915MHz
- TX module: External 915MHz module on RC transmitter
- RX: ELRS 915MHz receiver bound to FC UART
- Latency: ~6ms end-to-end (ELRS at 250Hz packet rate)
- Range: 10km+ line of sight at 250mW
Compute and Video
- SBC: Raspberry Pi Zero 2W
- Camera: Raspberry Pi Camera Module 3 (12MP, autofocus)
- Video: H.264 encoding over WiFi (accessible via browser, VLC, or custom client)
- Connection to FC: USB serial (telemetry + MSP protocol for status)
Full BOM
| Component | Cost |
|---|---|
| Carbon fiber frame (250mm) | $25 |
| 2212 920KV motors (4x) | $40 |
| 30A ESCs (4x) | $35 |
| SpeedyBee F405 V4 FC | $45 |
| BN-880Q GPS + compass | $15 |
| ELRS TX/RX pair | $30 |
| Raspberry Pi Zero 2W | $15 |
| Pi Camera Module 3 | $25 |
| 4S 2200mAh LiPo battery | $35 |
| 5045 tri-blade props (set of 8) | $10 |
| Misc hardware (standoffs, wiring, connectors) | $20 |
| Total | ~$370 |
Software Stack
Betaflight Configuration
Betaflight handles all real-time flight control: PID loops, motor mixing, RC input processing, failsafe behavior. Key configuration:
- Rates: tuned for smooth cinematic flight (not freestyle)
- PID tuning: Betaflight Configurator black box analysis
- GPS rescue: armed, activates on signal loss or manual trigger, returns to home and lands
- OSD layout: voltage, RSSI (received signal strength indicator), GPS coords, altitude, flight timer
Raspberry Pi Software
picamera2library for camera control and H.264 encodinguvicorn+fastapifor HTTP video streaming endpointpymspfor MSP (MultiWii Serial Protocol) telemetry from FC- roboNet mesh client for node registration and status reporting
roboNet Mesh Integration
The Pi Zero 2W runs a roboNet mesh client. From the mesh perspective, the drone is a mobile node with:
- Node type: mobile
- Capabilities: video_stream, telemetry, cv_processing
- Connectivity: WiFi (range-limited) or ELRS telemetry link (longer range, lower bandwidth)
The mesh integration enables:
- Dashboard visibility of drone status from robonet dashboard
- Coordinated operations with other mesh nodes (ground robots, fixed cameras)
- Task dispatch to the drone (trigger recording, change camera parameters)
Future Work
CV-Based Target Tracking
The Pi Zero 2W has sufficient compute for lightweight CV. Pipeline:
- Camera feed → OpenCV motion detection
- Target acquisition (bounding box)
- PID controller output → MSP protocol → FC (attitude adjustment)
- FC adjusts attitude to keep target centered
This requires FC cooperation — the FC must accept external attitude commands over MSP, which Betaflight supports.
Multi-Drone Coordination
Through the roboNet mesh, multiple drones can share position data and coordinate operations:
- Formation flying (each drone knows others' positions)
- Area coverage (distributed search pattern)
- Relay chaining (drones as WiFi extenders for mesh range)
The coordination protocol is the same as ground robot coordination — the drone is just a node with different capabilities.