{"id":41736673,"url":"https://github.com/rtlopez/esp-fc","last_synced_at":"2026-01-25T00:06:24.819Z","repository":{"id":79556802,"uuid":"76865007","full_name":"rtlopez/esp-fc","owner":"rtlopez","description":"Flight controller software for hobbyist - build your own flight controller.","archived":false,"fork":false,"pushed_at":"2025-11-08T14:20:56.000Z","size":6511,"stargazers_count":476,"open_issues_count":24,"forks_count":107,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-11-08T16:18:49.508Z","etag":null,"topics":["drone","dshot","dynamic-notch","elrs","esp-now","esp32","flight-controller","gyro","hobby","mpu6050","mpu9250","msp","multicopter","pid-tuning","quadrocopter","rc-hobby","remote-control","rp2350","rpm-filter"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rtlopez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-12-19T13:35:14.000Z","updated_at":"2025-11-08T01:55:38.000Z","dependencies_parsed_at":"2023-11-12T01:23:16.056Z","dependency_job_id":"20d4f9b2-912f-4315-bc7f-be5876843b1e","html_url":"https://github.com/rtlopez/esp-fc","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/rtlopez/esp-fc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtlopez%2Fesp-fc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtlopez%2Fesp-fc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtlopez%2Fesp-fc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtlopez%2Fesp-fc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rtlopez","download_url":"https://codeload.github.com/rtlopez/esp-fc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtlopez%2Fesp-fc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28739338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drone","dshot","dynamic-notch","elrs","esp-now","esp32","flight-controller","gyro","hobby","mpu6050","mpu9250","msp","multicopter","pid-tuning","quadrocopter","rc-hobby","remote-control","rp2350","rpm-filter"],"created_at":"2026-01-25T00:06:23.187Z","updated_at":"2026-01-25T00:06:24.810Z","avatar_url":"https://github.com/rtlopez.png","language":"C++","readme":"# ESP-FC Flight Controller\n\nThe mini, DIY, Low cost, ESP32 based, high performance flight controller for hobbyists.\n\n# Features\n\n* Espressif targets (ESP32, ESP32-S3)\n* ESC protocols (PWM, Oneshot125/42, Multishot, Brushed, Dshot150/300/600 bidirectional)\n* PPM, SBUS, IBUS and CRSF Receivers\n* Builtin ESP-NOW receiver and WiFi configuration [read more...](/docs/wireless.md)\n* SPI and I2C gyro modules support (MPU6050, MPU9250, ICM20602, BMI160)\n* Flight modes (ACRO, ANGLE, AIRMODE)\n* Frames (Quad X)\n* Betaflight configuration tool compatible (v10.10)\n* Configurable Gyro Filters (LPF, Dynamic Notches, dTerm, RPM)\n* Blackbox recording (OpenLog/OpenLager/Flash)\n* Up to 4kHz gyro/loop on ESP32 with SPI gyro\n* MSP and CLI protocol interface\n* Resorce/Pin mapping\n* In flight PID Tuning\n* Buzzer, Led and voltage monitor\n* Failsafe mode\n\n# Documentation\n\nIn this repository you can find firmware code that allows you to build your own flight controller. For convenience it mimics Betaflight 4.2 compability, so that it can be configured using [betaflight-configurator](https://github.com/betaflight/betaflight-configurator). Also [online blackbox-log-viewer](https://blackbox.betaflight.com/) can be used to analyze blackbox logs. In most aspects it is similar to Betaflight, so that many configuration and tuning advices are helpfull here too. But you must be aware, that this software is not the same as Betaflight, there are some limitations and differences in functionality and performance.\n\n\u003e [!IMPORTANT]\n\u003e Before you begin, **read the following documentation carefully first!**.\n\n * [Setup Guide](/docs/setup.md)\n * [Wiring](/docs/wiring.md)\n * [CLI Commands](/docs/cli.md)\n * [WIFI and ESP-NOW Receiver](/docs/wireless.md)\n\nJoin our **[Discord Channel](https://discord.gg/jhyPPM5UEH)** to get help\n\n# Quick Start\n\n## Requirements\n\nHardware:\n* ESP32 or ESP32-S3 board\n* MPU9250 SPI or MPU6050 I2C gyro (GY-88, GY-91, GY-521 or similar)\n* PDB with 5V BEC\n* Buzzer and some electronic components (optional).\n\nSoftware:\n* [Betaflight Configurator](https://github.com/betaflight/betaflight-configurator/releases) (v10.10)\n* [CH340 usb-serial converter driver](https://sparks.gogo.co.nz/ch340.html)\n\n## Flashing\n\n1. Download and unpack selected firmware from [Releases Page](https://github.com/rtlopez/esp-fc/releases)\n2. Visit [ESP Tool Website](https://espressif.github.io/esptool-js/)\n3. Click \"Connect\" and choose device port in dialog\n4. Add firmware file and set Flash Address to `0x00`\n5. Click \"Program\"\n6. After success power cycle board\n\n![ESP-FC Flashing](/docs/images/esptool-js-flash-connect.png)\n\n## Setup\n\nAfter flashing you need to configure few things first:\n\n 1. Configure pinout according to your wiring, especially pin functions, you can find more information in [CLI Reference](/docs/cli.md)\n 2. Connect to [Betaflight Configurator](https://github.com/betaflight/betaflight-configurator/releases) and setup to your preferences,\n 3. Test motors without propellers\n 4. Have fun ;)\n\n\u003e [!NOTE]\n\u003e Not all functions displayed in configurator are avalable in firmware. The rule of thumb is if you cannot change specific option in Betaflight Configurator, that means it is not supported. It usually rolls back to previous value after save. It is strongly recommended to follow [setup guide](/docs/setup.md).\n\n## Wiring diagrams\n\n[![ESP-FC example wiring diagrams](/docs/images/espfc_wiring_combined.png)](/docs/wiring.md)\n\n## Supported Modules\n\n * **ESP32** - recommended\n * **ESP32-S3** - recommended\n * **ESP32-S2** - experimantal\n * **ESP32-C3** - experimantal, lack of performance, no FPU\n * **RP2350** - experimantal, partially works\n * **RP2040** - experimantal, lack of performance, no FPU\n * **ESP8266** - obsolete, no longer developed\n\n## Supported Sensors and Protocols\n\n * Gyro: MPU6050, MPU6000, MPU6500, MPU9250, ICM20602, BMI160\n * Barometers: BMP180, BMP280, SPL06\n * Magnetometers: HMC5883, QMC5883, AK8963, QMC5883P\n * Receivers: PPM, SBUS, IBUS, CRSF/ELRS\n * Esc Protocols: PWM, BRUSHED, ONESHOT125, ONESHOT42, MULTISHOT, DSHOT150, DSHOT300, DSHOT600\n * Other protocols: MSP, CLI, BLACKBOX, ESPNOW\n\n## Issues\n\nYou can report issues using Github [tracker](https://github.com/rtlopez/esp-fc/issues). \nYou can also join our [Discord Channel](https://discord.gg/jhyPPM5UEH)\n\n## Development\n\n* Visual Studio Code\n* [PlatformIO](https://platformio.org/install/ide?install=vscode) extension\n* Git\n\n## Todo\n\n* Altitude Hold\n* GPS Navigation\n* MS5611 barometer\n* Balancing robot controller\n\n## Licence\n\nThis project is distributed under MIT Licence. Bear in mind that:\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Donations\nIf you like this project and you want it to be still developed, you can support me a little.\n\n* BTC: 1Lopez7yPtbyjfLGe892JfheDFJMMt43tW\n* LTC: LV3G3sJxz9AYpDMYUp8e1LCmerFYxVY3ak\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtlopez%2Fesp-fc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frtlopez%2Fesp-fc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtlopez%2Fesp-fc/lists"}