okalachev / flix

Making an ESP32-based quadcopter from scratch
https://t.me/opensourcequadcopter
314 stars 43 forks source link
arduino autopilot control-theory drone esp32 flight-control flight-controller mavlink quadcopter quadcopter-firmware uav

Flix

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

Version 1 (3D-printed frame) Version 0
Flix quadcopter Flix quadcopter

Features

¹ — planned.

It actually flies

See detailed demo video (for version 0): https://youtu.be/8GzzIQ3C6DQ.

Version 1 test flight: https://t.me/opensourcequadcopter/42.

Simulation

The simulator is implemented using Gazebo and runs the original Arduino code:

Flix simulator

See instructions on running the simulation.

Components (version 1)

Type Part Image Quantity
Microcontroller board ESP32 Mini 1
IMU and barometer² board GY-91 (or other MPU-9250/MPU-6500 board) 1
Motor 8520 3.7V brushed motor (shaft 0.8mm!) 4
Propeller Hubsan 55 mm 4
MOSFET (transistor) 100N03A or analog 4
Pull-down resistor 10 kΩ 4
3.7V Li-Po battery LW 952540 (or any compatible by the size) 1
Li-Po Battery charger Any 1
Screws for IMU board mounting M3x5 2
Screws for frame assembly M1.4x5 4
Frame bottom part 3D printed:
flix-frame.stl flix-frame.step
1
Frame top part 3D printed:
esp32-holder.stl esp32-holder.step
1
Washer for IMU board mounting 3D printed:
washer-m3.stl washer-m3.step
1
RC transmitter (optional) KINGKONG TINY X8 or other³ 1
RC receiver (optional) DF500 or other³ 1
Wires 28 AWG recommended
Tape, double-sided tape

² — barometer is not used for now.
³ — you may use any transmitter-receiver pair with SBUS interface.

Tools required for assembly:

Feel free to modify the design and or code, and create your own improved versions of Flix! Send your results to the official Telegram chat, or directly to the author (E-mail, Telegram).

Schematics (version 1)

Simplified connection diagram

Flix version 1 schematics

Motor connection scheme:

MOSFET connection scheme

Complete diagram is Work-in-Progress.

Notes

⁴ — UART2 RX pin was changed to GPIO4 in Arduino ESP32 core 3.0.

Version 0

See the information on the obsolete version 0 in the corresponding article.

Materials

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

Join the official Telegram chat: https://t.me/opensourcequadcopterchat.

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