On-screen text
HOW TO BUILD a DRONE from SCRATCH
Motor + ESC
The ESC is the translator between your flight controller and motors. Mismatch the specs and stuff burns up fast. Cheap ESCs are where good builds go to die.
Remember:
- Match voltage + current
- Check signal type (DShot, PWM)
- Pair motors to ESC rating
- Props: size, pitch, mounts
- Don't cheap out
you need to find a balance
Flight controller
Most people buy a flight controller off the shelf. You don't have to. At its core, it's just a microcontroller reading an IMU, stuff you can wire up yourself
MCU
- ESP32
- STM
- Raspberry pi
trust me bro, its way more fun
IMU
IMU's:
- MPU6050
- BNO055
- BNO080
Radio
You need a way to talk to your drone. Doesn't matter how dialed the flight controller is if you can't tell it what to do. Pick a protocol that fits your range and latency.
Where to begin:
- nRF24L01 (cheap start)
- 2.4GHz options
ExpressLRS for range
Match TX + RX
- Latency matters
build your own drone controller at the same time, all you need is the radio, mcu and 2 joysticks!
Battery
Batteries look like the easy part. They're not. There's more spec-matching here than anywhere else on the build, and getting it wrong either melts your ESC or barely gets you off the ground.
Read up on this:
- Match voltage (cell count)
- Discharge rate (C rating)
- Weight vs flight time
- Connector type (XT30/60)
- LiPo safety basics
XT30 vs XT60 vs XT90
Firmware
DShotRMT_motor01 (MOTOR01_DSHOT_MODE, IS_BIDIRECTIONAL);
Hardware gets all the glory, where the drone actually learns to fly. PID directionally, does loops, sensor fusion, motor signals, you can write all of it yourself. Pick your language
PID based on how much pain you want.
float PRateRoll=1.0; float PRatePitch=PRateRoll; float PRateYaw=2;
float PRateRoll=3.5; float IRatePitch=IRateRoll; float IRateYaw=12;
float DRateRoll=0.03; float DRatePitch=DR; float DRateYaw=0;
Connect the sensors, create a PID loop and control the system line by line!
Pick your language!
Easy: C++ (arduino)
Medium: C++
Demon: Rust
Control
This is where the build either flies or flips. Your control loop reads the IMU, mixes motor signals, and runs the whole thing thousands of times a second. PID tuning is the boss fight of the entire project.
find the perfect values, and yes, it might take some time, but its worth the wait!
Do this:
- Cascaded PID
- Sensor fusion (Kalman)
- Motor mixing
- High loop rate
- Test on a rig