Implementing flight controller for a small quadcopter. UAV is controlled through ELRS transmitter.
- Motors: 1204
- Props: 3016
- Battery: 7.4v (2s), 1300 mAh
- Frame: plywood
- PCB and ESCs: ~57g
- Motors + props: 27g
- Battery: 64g
- Frame + wires: ~59g
- Total weight: 207g
- MCU: STM32F303CBT6
- Crystall oscillator: 16 Mhz
- DC-DC converter for control board and camera: TPS5430
- Control board voltage regulator: AMS1117-3.3
- Accelerometer/Gyroscope: MPU6050
- Magnetometer: QMC5883L
- Remote control: ERLS CRSF receiver
- Telemetry/debug: ESP8266 (ESP-01s)
- Barometer: HP206C
Debug and configuration is performed through AP named copter
created
by this UAV. Listed commands should be sent using UDP/IP to address
192.168.3.1
.
info (mpu | qmc | hp | values | pid)
-- mpu6050/qmc5883L/hp206c/control values/PID datar
-- turn off motorse
-- turn on motorsc [altitude]
-- recalibratecalib mag (on|off)
-- enter/escape magnetometer calibration modepid (tilt|stilt|yaw|syaw|sclimb) (p|i|d) {val}
-- set tilt/tilt speed/yaw/yaw speed/climb speed PID P/I/D valuepid (tilt|yaw) (single/double)
-- switch to single/double PID loop mode for tilt/yawcompl {val}
-- set complimentary filter's time constant for tiltlpf (climb|pressure) {val}
-- set low-pass filter's time constant for climb speed/pressureadj (roll|pitch|yaw) {val}
-- set offset for roll/pitch/yaw (only for dual PID loop mode)adj mag (x0|y0|z0|xscale|yscale|zscale|decl) {val}
-- set x/y/z offset, x/y/z scale or magnetic declination for magnetometer