/flix

Making an ESP32-based quadcopter from scratch

Primary LanguageC++

flix

flix (flight + X) — making an open source ESP32-based quadcopter from scratch.

Flix quadcopter

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

Schematics

Flix 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.

Materials

Subscribe to Telegram-channel on developing the drone and the flight controller (in Russian): https://t.me/opensourcequadcopter.

Detailed article on Habr.com about the development of the drone (in Russian): https://habr.com/ru/articles/814127/.