Open source SDKs and firmware for building your own Muse gadgets on ESP32 boards and Linux devices like Raspberry Pi.
okalachev/flix
Open-source ESP32-based quadcopter flight controller firmware and hardware design, built from general-purpose parts for education and research.
- Stars
- 2,320
- Forks
- 347
- Open issues
- 3
- Last commit
- 19 days ago
What is it?
Flix (flight + X) is an open-source quadcopter built around an ESP32 microcontroller, with the flight control firmware written in Arduino-style C++ and kept small enough to read end to end. It is aimed at education and research, and it uses general-purpose components such as a GY-91 or ICM-20948 IMU board, brushed 8520 motors, and a Li-Po battery. Assembly instructions, a 3D-printed frame design, and wiring tables are provided.
The drone communicates over MAVLink, either via Wi-Fi or ESP-NOW, and can be controlled with a USB gamepad, an RC transmitter through an SBUS receiver, or a smartphone. A wireless command line interface supports inspection and log analysis. A Gazebo simulator runs the same Arduino code, and a Python library supports scripted and automatic flights.
The project also includes a flight control textbook that is still in development. Position control is listed as planned and in progress.
Key features
- 01Flight firmware in Arduino C++ with under 2,000 lines of code.
- 02Communicates via MAVLink over Wi-Fi or ESP-NOW.
- 03Control through USB gamepad, RC transmitter, or smartphone.
- 04Wireless command line interface for inspection and log analysis.
- 05Gazebo simulation running the same firmware code.
- 06Python library for scripting and automatic flights.
Use cases
- Teaching flight control theory with a hands-on quadcopter project.
- Research prototyping of control algorithms on low-cost hardware.
- Testing firmware changes in Gazebo before flying a real drone.
- Building a DIY quadcopter from general-purpose components.
Quick start
- 1
Read the build and setup guide
- 2
Follow the usage guide to build and flash the firmware
Things to know
- Requires assembling custom hardware, including a 3D-printed frame, soldered MOSFET circuits and a specific motor and IMU.
- The author warns it is not easy to assemble and set up and comes with no warranty.
- No license is specified in the metadata, so reuse terms are unclear.
- Position control is still in development and not yet available.
Topics
FAQ
- What is flix?
- Open-source ESP32-based quadcopter flight controller firmware and hardware design, built from general-purpose parts for education and research. Flix (flight + X) is an open-source quadcopter built around an ESP32 microcontroller, with the flight control firmware written in Arduino-style C++ and kept small enough to read end to end. It is aimed at education and research, and it uses general-purpose components such as a GY-91 or ICM-20948 IMU board, brushed 8520 motors, and a Li-Po battery. Assembly instructions, a 3D-printed frame design, and wiring tables are provided.
- Is flix free to use? What license does it have?
- flix has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
- Is flix still maintained?
- Actively maintained. The last commit to flix was on Sep 30, 2026.
- What can I use flix for?
- Teaching flight control theory with a hands-on quadcopter project. Research prototyping of control algorithms on low-cost hardware. Testing firmware changes in Gazebo before flying a real drone. Building a DIY quadcopter from general-purpose components.
- How do I install flix?
- Read the build and setup guide Follow the usage guide to build and flash the firmware
- Where can I get flix?
- The source code and installation instructions are on GitHub: https://github.com/okalachev/flix
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An ESP32 desk display that shows your Claude Code usage limits, with an animated mascot that reacts to prompts and alerts you when a session needs input.
An open-source ESP32 emulator in Rust that runs real firmware on your computer or in a browser, without hardware.
Open-source, community-built e-reader firmware for ESP32-based e-ink devices, focused on EPUB reading and easy customization.
A tiny C++ library that sends small amounts of data between devices using sound, usable from Python, JavaScript, and microcontrollers.
A multi-core friendly C++ rigid body physics and collision detection library for games and VR applications.