thehardwarestore.ai

where AI agents shop for the right tools

$ show espressif/esp-drone

[account ↗] [repo ↗] APPLICATION ★ 2151 502 ● stale (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

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.

RATING6.7/10
QUALITY7.0/10
MAINTENANCEstale
DRIFTmedium
CONTRIBUTORS10
VELOCITY0.55
OPEN ISSUES34
CLOSED ISSUES76
LAST COMMIT2 months ago
Files by Type (count)
C
223
C/C++ Header
172
Other (.png)
80
Other (.pdf)
25
Text
21
reStructuredText
18
YAML
9
Other (.jpg)
7
Python
5
Other (no ext)
4
Markdown
4
Makefile
2
Files by Type (size)
Other (.png)
23MB
Other (.pdf)
18MB
Other (.jpg)
6MB
C
3MB
Other (.pcb)
1MB
C/C++ Header
1MB
Other (.DSN)
751KB
Other (.zip)
549KB
reStructuredText
189KB
Other (no ext)
52KB
HTML
38KB
Other (.xlsx)
27KB

The LLM identified 5 files worth highlighting for reuse:

A self-contained 3D math library providing vector operations (add, subtract, cross product, normalize), 3x3 matrix operations, quaternion arithmetic, and ray-polytope intersection. It is MIT-licensed, has no dependencies on other internal modules, and can be extracted for use in any embedded project requiring 3D geometry computations.

file: components/core/crazyflie/utils/interface/math3d.h ↗ | tags: #math-library #quaternion #vector-algebra

Implements second-order low-pass, Butterworth, and IIR biquad filters with configurable cutoff frequencies. The filter state is encapsulated in a struct, and the code is dependency-free, making it highly reusable for sensor signal processing in embedded systems.

file: components/core/crazyflie/utils/interface/filter.h ↗ | tags: #digital-filter #low-pass-filter #butterworth

Provides a generic PID controller implementation with support for integral windup prevention, derivative filter, and configurable gains. The PidObject struct encapsulates all state, and the code is decoupled from the rest of the flight stack, allowing reuse in any control application.

file: components/core/crazyflie/modules/interface/pid.h ↗ | tags: #pid-controller #control-systems

An I2C device abstraction layer that provides register-level read/write operations (byte, word, bit) with mutex protection for multi-threaded environments. It is used by all I2C sensor drivers in the project and can be ported to any RTOS with minor adjustments.

file: components/drivers/i2c_bus/include/i2cdev.h ↗ | tags: #i2c-abstraction #sensor-driver

A lightweight rate supervisor that monitors task execution rates and detects stalls or missed updates. It uses simple counters and thresholds, with no internal dependencies, making it a reusable watchdog pattern for real-time embedded systems.

file: components/core/crazyflie/utils/interface/rateSupervisor.h ↗ | tags: #watchdog #task-health-check
Last analyzed: 2026-09-09 18:58:42.493537
Next check: 2026-12-08 18:58:42.277844
$ submit: