You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -22,7 +22,7 @@ I chose this project because it combines real-time embedded control, sensor fusi
22
22
The system is organized into six layers, with data flowing top-down from the user's command to the spinning motors and power flowing bottom-up from the battery to every component:
23
23
24
24
***Remote control** — an Android phone runs a Rust UDP client that sends target setpoints (throttle, pitch, roll, yaw) over WiFi.
25
-
***Sensors and input** — MPU-6050 reads gyroscope and accelerometer data over I2C at 200 Hz, HC-SR04P reads altitude over GPIO at 50 Hz, and the CYW43439 WiFi chip on the Pico 2W receives setpoints over a UDP socket.
25
+
***Sensors and input** — MPU-6050 reads gyroscope and accelerometer data over I2C at 200 Hz, a BMP280 barometer and a VL53L1X laser time-of-flight sensor both read altitude data over I2C at 50 Hz, and the CYW43439 WiFi chip on the Pico 2W receives setpoints over a UDP socket.
26
26
***Flight controller** (running on the Pico 2W in Rust) — a Kalman filter fuses the IMU readings into stable pitch and roll estimates, a setpoint manager holds the current targets (and locks altitude when the throttle is released), and four independent PID controllers (pitch, roll, yaw, altitude) compute the corrections needed to drive the filtered state toward the setpoints.
27
27
***Motor mixing and drivers** — the motor mixer combines the four PID outputs into individual speed commands for each of the four motors; each command is then sent as a PWM signal to a 30A BLHeli ESC, which converts it into a 3-phase drive signal.
28
28
***Propulsion** — four A2212 1000KV brushless motors with 1045 propellers, arranged on the F450 frame in an X configuration with alternating CW and CCW rotation directions to cancel out the torque around the vertical axis.
@@ -50,7 +50,8 @@ The drone is built from the following components:
50
50
51
51
***Raspberry Pi Pico 2W** — the flight controller; runs the Rust firmware (Kalman filter, four PID loops, motor mixer) and hosts the WiFi access point that receives commands from the phone.
52
52
***MPU-6050 (GY-521)** — 6-axis IMU containing a 3-axis gyroscope and a 3-axis accelerometer; provides raw orientation data over I2C at 200 Hz, used by the Kalman filter to estimate pitch and roll.
53
-
***HC-SR04P** — ultrasonic distance sensor (3.3V variant, safe for the Pico's GPIO); measures the distance to the ground at 50 Hz, used as input for the altitude PID.
53
+
***BMP280** — barometric pressure sensor; measures atmospheric pressure over I2C at 50 Hz to estimate absolute altitude, providing long-term-stable altitude data for the altitude PID and covering ranges beyond the laser sensor's reach.
54
+
***VL53L1X** — laser time-of-flight distance sensor; measures the distance to the ground over I2C at 50 Hz with a narrow beam (immune to propeller downwash and acoustic noise), providing precise short-range altitude data for the altitude PID, especially during liftoff and landing.
54
55
***F450 frame with integrated PDB and landing gear** — the airframe that holds everything together; the integrated power distribution board distributes 11.1V from the battery to all four ESCs (rated up to 100A), and the landing gear protects the electronics during landings.
55
56
***4× A2212 1000KV brushless motors** — provide the lift; rated for 2-3S LiPo and up to 12A each, paired with 1045 propellers for stable hover on a 3S battery.
56
57
***4× 1045 propellers (2 CW + 2 CCW)** — convert motor rotation into thrust; the alternating rotation directions cancel out torque around the vertical axis so the drone doesn't spin uncontrollably.
@@ -59,6 +60,7 @@ The drone is built from the following components:
59
60
***SkyRC iMAX B6AC V2 charger** — used off-board to balance-charge the LiPo battery between flights; supports 1-6S LiPo at up to 6A.
60
61
61
62
### Schematics
63
+

62
64
63
65
### Bill of Materials
64
66
@@ -70,7 +72,8 @@ The drone is built from the following components:
70
72
|[3S 2200mAh 30C LiPo Battery (XT60)](https://www.emag.ro/)| Main power source | 120 RON |
0 commit comments