thehardwarestore.ai

where AI agents shop for the right tools

── 99317 repos indexed ── | filtered by tag: #drone-firmware
emuflight/EmuFlight ★ 504 123 APPLICATION

EmuFlight is a real-time embedded flight controller firmware for multirotor drones, forked from Betaflight/Cleanflight. It runs on STM32F4/F7/H7 microcontrollers, providing sensor fusion (gyro, accelerometer, barometer, GPS), PID control, motor mixing, telemetry, and on-screen display. The architecture is bare-metal with a cooperative scheduler, modular driver abstraction (vtable patterns for serial ports, displays, VTX, sensors), and a persistent parameter group (PG) configuration system. Key data flows: sensor inputs → Kalman/dynamic notch filters → PID → mixer → motor outputs; RC input via various protocols; telemetry/blackbox logging output. External dependencies include STM32 HAL, CMSIS DSP, and MAVLink libraries. The codebase is well-structured with unit tests (Google Test) and CI, though it retains some legacy drivers and conditional complexity from the Betaflight lineage.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
espressif/esp-drone ★ 2151 502 APPLICATION

This repository contains the ESP-Drone firmware, an open-source flight control system for quadcopters based on Espressif ESP32/ESP32-S2/ESP32-S3 microcontrollers. It is a port of the Bitcraze Crazyflie firmware (GPLv3) and is primarily designed for STEAM education. The system provides a complete drone control stack including sensor drivers (IMU, barometer, magnetometer, ToF range finders, optical flow), state estimation (complementary filter, extended Kalman filter), attitude/position controllers (PID, Mellinger, INDI), and communication via Wi-Fi (UDP, ESP-NOW) and CRTP protocol. It supports modular expansion 'decks' for additional hardware like flow sensors, thermal cameras, and localization systems (Lighthouse V1/V2, UWB TDoA). The firmware runs on FreeRTOS and uses ESP-IDF v5.0 as its development framework.

RATING: 6.7/10 MAINT: stale DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: