Open Source RoboticsRobots, software & learning

Flix

Based on published sources · Not tested by us ·

License: MIT (declared in pyflix package metadata only) · no license identified for mechanical design, electronics, firmware, documentation · Details by part

Overview

ESP32 quadcopter with a 3D-printed frame, four brushed motors switched by MOSFETs, an SPI IMU board, Arduino firmware with Wi-Fi/MAVLink control and a Gazebo simulator; no repository license file was identified. [S001] [S008]

Flix is a quadcopter built around an ESP32 board, a 3D-printed frame and four brushed motors, with Arduino firmware under 2,000 lines, Wi-Fi/MAVLink control and a Gazebo simulator. The README describes it as made for education and research. It suits builders who want to read and change a compact flight controller and who can print, solder and flash an ESP32 themselves. [S001] [S009]

Specifications

DetailDescription
TypeSmall quadcopter with four brushed motors and 55 or 65 mm propellers on a 3D-printed frame
Reported by source [S001] · Checked 2026-10-05
Intended usersBuilders and educators able to 3D print, solder, flash ESP32 Arduino firmware and configure parameters through QGroundControl
Editorial assessment [S001] [S003] · Checked 2026-10-05
AssemblyBrief photo assembly guide; the pictured early build uses an inverted motor-direction scheme, so the motor table governs wiring.
Reported by source [S004] · Checked 2026-10-05
CalibrationAccelerometer calibration via the ca console command; IMU orientation parameters; SBUS calibration via cr; joystick calibration in QGroundControl
Reported by source [S003] · Checked 2026-10-05
Operating systemWindows; Linux; macOS
Firmware build host operating systems, not drone software.
Reported by source [S003] · Checked 2026-10-05
Computer neededComputer running Arduino IDE or Arduino CLI on Windows, Linux or macOS; Ubuntu 20.04 recommended for the Gazebo 11 simulator
Reported by source [S003] [S009] · Checked 2026-10-05

3D preview

Preview not available yet. Design-source links are available. A configuration-matched assembly and its file-level reuse scope have not yet been reviewed for a hosted preview.

Assembly and use

Which configuration this profile covers

This profile pins release v1.5. The README at that release documents the Version 1.1 3D-printed frame build. The v1.5 release notes describe a first PCB attempt (the Flix2 board) whose IMU did not work, so an external MPU-6050 board was used. No PCB design files were identified in the pinned archive, so the PCB route is outside this profile. [S001] [S002] [S008]

The Version 1.1 table lists an ESP32 Mini, an IMU board (GY-91/MPU-9265, ICM-20948 or GY-521), four 8520 3.7 V brushed motors with 100N03A MOSFETs, 55 or 65 mm propellers, a 1S Li-Po rated 25C or more, and printed frame, ESP32 holder and washer parts. Two details matter when ordering. The README asks for motors rated exactly 3.7 V, not a 3.7–6 V range. It also says the frame is laid out for the GY-91, so other IMU boards need modified mounting holes. The barometer is not used. Required tools are a 3D printer, soldering iron, solder with flux, screwdrivers and a multimeter. [S001]

Firmware and setup requirements

The usage guide specifies ESP32 Arduino core 3.3.6 and MAVLink library 2.0.25, built with Arduino IDE or Arduino CLI, but asks for the latest FlixPeriph library without a fixed version, so a later rebuild may not use the same driver code. Before flight it requires setting the IMU type and orientation, calibrating the accelerometer, checking IMU status and attitude, and running motor tests with the propellers removed. The assembly guide warns that its photos show an early build with inverted motor directions, so wiring should follow the motor table rather than the photos. That table and the usage guide's motor-test commands agree: front-right and rear-left motors turn counter-clockwise, front-left and rear-right clockwise. Control can come from a smartphone app, QGroundControl with a USB controller, or an SBUS receiver. [S001] [S003] [S004]

Cost, license and remaining gaps

No upstream price or BOM total was identified, so a build budget is not stated here. The parts table gives part types and quantities but no prices. [S001]

No license file was identified in the pinned archive. Firmware and simulator files carry copyright headers without a license grant. The pyflix package metadata declares MIT, but that declaration covers only the Python package, and no MIT license text file was found. Simulator model metadata states its license as Unknown. Reuse rights for the CAD, firmware and documentation therefore remain unresolved. [S005] [S006] [S007] [S008]

The README disclaimer calls the project not easy to assemble and set up, and says it is provided without warranties. Weight, flight time and dimensions were not stated in the inspected sources. Repository activity continued after v1.5. No assembly, flashing, simulation or flight was performed for this profile. [S001] [S002]

Cost

No current, complete configuration-specific build cost has been established for this profile.

Source files and licenses

Firmware, CAD and documentation are public, but no repository license file was identified; covered as source-available with reuse rights unresolved.

LayerAvailability / license
mechanical designavailable · No license identified
STL and STEP files for frame v1.1, ESP32 holder and washer. No license file identified in the inspected sources; copyright headers do not grant reuse permission. [S001] [S008]
electronicsavailable · No license identified
Simplified connection diagram and pin tables only; no PCB design files identified in the pinned archive (v1.5 release notes mention a Flix2 PCB). No license file identified in the inspected sources; copyright headers do not grant reuse permission. [S001] [S002] [S008]
firmwareavailable · No license identified
Arduino firmware with copyright headers by Oleg Kalachev. No license file identified in the inspected sources; copyright headers do not grant reuse permission. [S006] [S008]
softwareavailable · MIT (declared in pyflix package metadata only)
tools/pyproject.toml declares MIT for pyflix, but no MIT license text file was identified. Gazebo simulator sources carry copyright headers; model.config files state license Unknown. [S005] [S007] [S008] [S009]
documentationavailable · No license identified
No license file identified in the inspected sources; copyright headers do not grant reuse permission. [S001] [S003] [S008]

Flight control does not use learned weights.

No dataset is part of the selected build.

References

Links identify the documentation and revisions used in this profile. Access dates record when each source was retrieved.

  1. S001 · Oleg Kalachev / Flix project contributors
    Flix README (components, schematics notes, disclaimer)
    Accessed 2026-10-05 · README.md at 4530c05b5c2a297b6a054c694bedbcbcb117a9cc (release v1.5)
    Source notes

    Purpose, Version 1.1 component table, required tools, wiring notes, disclaimer.

  2. S002 · Oleg Kalachev / Flix project contributors
    Repository revision and v1.5 release metadata
    Accessed 2026-10-05 · Release v1.5 -> commit 4530c05b5c2a297b6a054c694bedbcbcb117a9cc; GitHub repository and release API fields
    Source notes

    Selected release, dates, popularity signals and release notes describing the Flix2 PCB attempt.

  3. S003 · Oleg Kalachev / Flix project contributors
    Usage: build, setup and flight
    Accessed 2026-10-05 · docs/usage.md
    Source notes

    Firmware toolchain versions, setup parameters, calibration, motor test cautions and control routes.

  4. S004 · Oleg Kalachev / Flix project contributors
    Brief assembly guide
    Accessed 2026-10-05 · docs/assembly.md
    Source notes

    Assembly photo sequence and warning that pictured early build uses inverted motor directions.

  5. S005 · Oleg Kalachev / Flix project contributors
    pyflix package metadata
    Accessed 2026-10-05 · tools/pyproject.toml
    Source notes

    Python package metadata declaring license = "MIT" for pyflix; not a license text file.

  6. S006 · Oleg Kalachev / Flix project contributors
    Firmware and simulator source headers
    Accessed 2026-10-05 · flix/flix.ino lines 1-2 and gazebo/simulator.cpp line 1
    Source notes

    Copyright headers without a license grant.

  7. S007 · Oleg Kalachev / Flix project contributors
    Simulator model metadata
    Accessed 2026-10-05 · gazebo/models/flix/model.config
    Source notes

    Simulator model metadata states license Unknown.

  8. S008 · Oleg Kalachev / Flix project contributors
    Pinned archive file inventory
    Accessed 2026-10-05 · Archive member list for 4530c05b5c2a297b6a054c694bedbcbcb117a9cc, image files omitted; not a completeness test
    Source notes

    Shows CAD, firmware, simulator and tool files and no LICENSE file in the pinned archive.

  9. S009 · Oleg Kalachev / Flix project contributors
    Simulation README
    Accessed 2026-10-05 · gazebo/README.md
    Source notes

    Gazebo 11 simulator and Ubuntu 20.04 recommendation.

Research and review details

Source research only; no installation, physical build, flashing or flight test performed. No affiliate links added.

Profile edited 2026-10-05 · Sources checked 2026-10-05 · Next review target 2026-11-05

Revision: 4530c05b5c2a297b6a054c694bedbcbcb117a9cc (release v1.5, published 2026-05-17); README hardware table describes the Version 1.1 3D-printed frame build. Combined hardware and software repository activity recorded 2026-09-30 [S002]

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history

2026-10-05 — Initial intake from pinned release v1.5 (Growbotics comparison lead verified against upstream).