| | | | ---4--- ---1--- |\ /| | \ / | \ / --------------- | DroneIno! | --------------- / \ | / \ | |/ \| ---3--- ---2--- | | | |
Clone this repo
git clone git@github.com:sebastiano123-c/DroneIno.git
or download the .zip file.
Use the Artificial Neural Network (ANN) to get rid of the PID setting, take a closer look here.
Based on the YMFC project, DroneIno allows you to control a quadcopter with:
- gyroscope MPU6050;
- radio controller and a receiver (e.g. FlySky);
- 11.1V 3S >20C LiPo battery (2200mAh or 3800mAh);
- four 30A ESCs;
- four brushless DC motors (around 1000KV).
Optional addons:
- ESP32-CAM;
- BMP280 pressure sensor;
- GPS Beitian BN-880.
The code is intended to be used with PlatformIO IDE.
- ESP32 D1 R32 (note: the Wemos D1 R32 has shown problems with UART communication, so I recommend to choose an AZ-Delivery board);
- ESP32 DevKit.
1) Auto-leveling
2) Altitude hold
3) GPS (NOT TO USE AT THE MOMENT, DEVELOPING)
4) WiFi telemetry system
5) SD flight data storage (only with ESP32-CAM)
6) Auto-tuning PID
Important: otherwise telemetry system is implemented using the native ESP32 WiFi, I strongly recommend to add DroneIno the Esp32-cam-telemetry for astonishing results (including video streaming and SD card storage).
See the full wiki documentation for the circuit scheme and the detailed construction steps.
Here I will describe the main features of DroneIno.
DroneIno automatically corrects spurious drifts using the gyroscope signals.
Altitude hold function uses barometric data of the barometer sensor, for example the BMP280.
NOT TO USE AT THE MOMENT Now on developing, DroneIno provides GPS for:
- flight adjustments;
- if you use ESP32-CAM telemetry, cool plots showing the flight route of DroneIno.
DroneInoTelemetry is a web app that makes everything simple and easy reach. Use it to fine-tune your PID or fix gyroscope set point and altitude hold PID parameters.
Using this app, you can adjust on the fly these parameters and much more.
Exploiting the ESP32 native WiFi access point (AP), DroneInoTelemetry web app promises to be very smart in terms of time savings and feedback.
After connecting to DroneInoTelemetry network using the password DroneIno
, dial in your browser's search bar 292.168.4.1
.
That's it.
You don't have to download anything, it's just there.
ESP32-CAM is best solution for the telemetry.
With the ESP32-CAM, the flying experience is much more interactive including:
- on flight camera streaming;
- tune camera settings;
- set PID parameters;
- pitch, roll, altitude pressure, flight mode and battery telemetry system.
See the complete esp32-cam-telemetry repo for the sketch and more information.
With esp32-cam-telemetry, you can also save your flight data on a SD card. All you need is a SD card formatted in FAT32 to put into your ESP32-CAM.
If you are tired of manually tune the PIDs of the quadcopter you should try the auto-tuning PID feature. PID can be automatically set using a neural network (NN). The PIDs gains are continuously updated by a neural network (NN) and sent to the control system. You can try the NN in examples section at BPNN lib.
Future improvements:
- flight planned;
- following me flight;
- Gimbal CAM;
- use other boards.
The first version of DroneIno can be downloaded here as zip file. It is intended to work with Arduino IDE.
Sebastiano Cocchi