flix
flix copied to clipboard
Making an ESP32-based quadcopter from scratch
flix
flix (flight + X) — making an open source ESP32-based quadcopter from scratch.
![Flix quadcopter](https://github.com/okalachev/flix/raw/master/docs/img/flix.jpg)
Features
- Simple and clean Arduino based source code.
- Acro and Stabilized flight using remote control.
- Precise simulation using Gazebo.
- In-RAM logging.
- Command line interface through USB port.
- Wi-Fi support.
- MAVLink support.
- Control using mobile phone (with QGroundControl app).
- ESCs with reverse mode support.
- Textbook and videos for students on writing a flight controller*.
- Completely 3D-printed frame.*
- Position control and autonomous flights using external camera*.
- Building and running instructions.
* — planned.
It actually flies
See YouTube demo video: https://youtu.be/8GzzIQ3C6DQ.
Simulation
Simulation in Gazebo using a plugin that runs original Arduino code is implemented:
![Flix simulator](https://github.com/okalachev/flix/raw/master/docs/img/simulator.png)
Schematics
You can also check a user contributed variant of complete circuit diagram of the drone.
* — SBUS inverter is not needed as ESP32 supports software pin inversion.
Components (version 0)
Component | Type | Image | Quantity |
---|---|---|---|
ESP32 Mini | Microcontroller board | ![]() |
1 |
GY-91 | IMU+LDO+barometer board | ![]() |
1 |
K100 | Quadcopter frame | ![]() |
1 |
8520 3.7V brushed motor (shaft 0.8mm!) | Motor | ![]() |
4 |
Hubsan 55 mm | Propeller | ![]() |
4 |
2.7A 1S Dual Way Micro Brush ESC | Motor ESC | ![]() |
4 |
KINGKONG TINY X8 | RC transmitter | ![]() |
1 |
DF500 (SBUS) | RC receiver | ![]() |
1 |
~~SBUS inverter~~* | ![]() |
~~1~~ | |
3.7 Li-Po 850 MaH 60C | Battery | ||
Battery charger | ![]() |
1 | |
Wires, connectors, tape, ... | |||
3D-printed frame parts |
* — not needed as ESP32 supports software pin inversion.
Telegram-channel
Subscribe to Telegram-channel on developing the drone and the flight controller (in Russian): https://t.me/opensourcequadcopter.