Table of Contents

Dronă FPV

Introducere

What it is: The project is building a Whoop FPV drone, a small, lightweight quadcopter defined by its compact size and low weight, which gives it extreme maneuverability compared to larger drones.

The starting idea: Initially, I wanted to keep it simple and makeshift, control it with an ESP32 and handle both the controls and camera feed directly from a phone. As I got more into it, though, each proper component started to justify its cost.

How it evolved: For me, FPV immediately brings to mind the goggles, that's the whole point of “first-person view”. So I committed to a proper setup. I also got a dedicated controller, which opened up another advantage: I can now use a flight simulator to practice before the real thing, which should save the drone from a few crashes. Though I got spare parts just in case.

Why it's useful: The use case is niche for now, but that's fine. Personally, I'm hoping it gives me the same feeling of freedom I got the first time I sat behind the wheel of a car and felt like I could go anywhere.

Descriere generală

TODO:

  • Software block diagram
  • Describe both diagrams

Hardware Design

Drone Parts:

Misc. Parts:

Software Design

Description of the firmware

Custom flight controller firmware for the Happymodel X14 AIO board (STM32G473CEU6, Cortex-M4F @ 170 MHz). The firmware reads stick commands from a Radiomaster Pocket transmitter over an ExpressLRS 2.4 GHz link (CRSF protocol), reads angular rates from the on-board ICM-42688-P IMU, runs a rate-mode PID controller, mixes the result onto four motors via the DShot300 ESC protocol, and in parallel drives the analog OSD overlay (AT7456E), the video transmitter (SmartAudio), the battery ADC, and arming/failsafe safety logic.

Pure C11, no RTOS. A single super-loop with a cooperative scheduler dispatches tasks at fixed rates (IMU 8 kHz, control 4 kHz, RX 1 kHz, OSD 30 Hz, etc.); all I/O is interrupt or DMA-driven.

Development environment

Libraries and third-party sources

Data structures

Algorithms

Sources

Rezultate Obţinute

TODO: Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

29 April 2026

14 May 2026

16 May 2026

23 May 2026

Bibliografie/Resurse

https://www.happymodel.cn/index.php/2025/10/09/x14-elrs-5-in-1-aio-flight-controller-built-in-2-4g-uart-elrs-v3-0-and-openvtx/

https://www.st.com/resource/en/datasheet/stm32g473cb.pdf

https://deepwiki.com/ExpressLRS/ExpressLRS/3.1-crsf-protocol-and-router

https://betaflight.com/docs/wiki/guides/current/Dshot

https://www.team-blacksheep.com/media/files/tbs_smartaudio_rev09.pdf

https://product.tdk.com/system/files/dam/doc/product/sensor/mortion-inertial/imu/data_sheet/ds-000347-icm-42688-p-v1.6.pdf

Export to PDF