MultiWii flight controller firmware with ultrasonic sonar sensor for altitude hold (2014)
Part of Daniel Dieser's drone research period (2012-2014) in Puerto Madryn, Patagonia.
A modified version of MultiWii firmware that integrates an ultrasonic sonar sensor for precise altitude hold capabilities. This was essential for indoor drone flight experiments where GPS and barometer-based altitude hold are unreliable.
Standard altitude hold options in 2014:
- Barometer -- Works outdoors but drifts significantly indoors
- GPS -- Doesn't work indoors at all
- Sonar -- Precise to centimeters, perfect for indoor experiments
Adding sonar to MultiWii meant the drone could hold altitude indoors with centimeter-level precision -- critical for the laboratory flight experiments conducted alongside the DronePilot companion computer software.
- MultiWii 2.4 base with sonar altitude integration
- QUADX configuration -- X-frame quadcopter
- MPU6050 -- 6-axis IMU for attitude stabilization
- Sonar sensor -- Ultrasonic distance measurement (HC-SR04 compatible)
- Sonar sensor measures distance to ground (0-400cm range)
- Reading is filtered to remove noise spikes
- Altitude PID controller uses sonar data instead of barometer
- Motor throttle is adjusted to maintain target altitude
MultiWii/MultiWii.ino-- Main firmwareMultiWii/config.h-- Sensor and board configurationMultiWii/Sensors.cpp-- Sonar reading implementationMultiWii/Serial.ino-- Serial protocol (MSP) communication
- multiwii-sonar-v2 -- Improved sonar implementation
- multiwii-humidity-sensor -- DHT environmental sensor variant
- drone-pilot -- Companion computer pilot that uses MultiWii
- fly-drone-controller -- Python tools for MultiWii drones
GPL v3
Daniel Dieser -- Puerto Madryn, Patagonia, Argentina Telegram: @mrmoz33