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
| Detail | Description |
|---|---|
| Type | Small 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 users | Builders and educators able to 3D print, solder, flash ESP32 Arduino firmware and configure parameters through QGroundControl Editorial assessment [S001] [S003] · Checked 2026-10-05 |
| Assembly | Brief 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 |
| Calibration | Accelerometer 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 system | Windows; Linux; macOS Firmware build host operating systems, not drone software. Reported by source [S003] · Checked 2026-10-05 |
| Computer needed | Computer 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.
Model sources
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.
| Layer | Availability / license |
|---|---|
| mechanical design | available · 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] |
| electronics | available · 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] |
| firmware | available · 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] |
| software | available · 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] |
| documentation | available · 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.
- 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.
- 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 fieldsSource notes
Selected release, dates, popularity signals and release notes describing the Flix2 PCB attempt.
- S003 · Oleg Kalachev / Flix project contributors
Usage: build, setup and flight
Accessed 2026-10-05 · docs/usage.mdSource notes
Firmware toolchain versions, setup parameters, calibration, motor test cautions and control routes.
- S004 · Oleg Kalachev / Flix project contributors
Brief assembly guide
Accessed 2026-10-05 · docs/assembly.mdSource notes
Assembly photo sequence and warning that pictured early build uses inverted motor directions.
- S005 · Oleg Kalachev / Flix project contributors
pyflix package metadata
Accessed 2026-10-05 · tools/pyproject.tomlSource notes
Python package metadata declaring license = "MIT" for pyflix; not a license text file.
- 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 1Source notes
Copyright headers without a license grant.
- S007 · Oleg Kalachev / Flix project contributors
Simulator model metadata
Accessed 2026-10-05 · gazebo/models/flix/model.configSource notes
Simulator model metadata states license Unknown.
- 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 testSource notes
Shows CAD, firmware, simulator and tool files and no LICENSE file in the pinned archive.
- S009 · Oleg Kalachev / Flix project contributors
Simulation README
Accessed 2026-10-05 · gazebo/README.mdSource notes
Gazebo 11 simulator and Ubuntu 20.04 recommendation.
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).