Repository Structure
Where the main Firmware v1.0.0 responsibilities live.
ESPFlight Docs · v1 • Validated v1 documentation path
# File responsibilities and change entry points
Start with the file that owns the subsystem you want to change; a focused modification should not require reading the entire repository line by line first.
Swipe horizontally to see all columns.
| File / area | Primary responsibility | Start here when… |
|---|---|---|
espflight.ino | Arduino entry point | You need to understand sketch startup/execution. |
config.h | User and hardware configuration | You are changing Wi‑Fi, release identity, or supported hardware configuration. |
firmware.cpp/.h | Firmware core | You are tracing high-level runtime behavior and subsystem integration. |
flight_control.cpp/.h | Flight-control loop | You are changing Roll/Pitch/Yaw control flow or control outputs. |
imu.cpp/.h | IMU handling | You are working on MPU-6050 data, IMU state, or orientation behavior. |
pid.cpp/.h | PID control | You are changing PID calculations or controller behavior. |
failsafe.cpp/.h | Safety and failsafe logic | You are changing link-loss, safety conditions, or failsafe responses. |
network.cpp/.h | Wi‑Fi and communication | You are changing discovery, WebSocket commands, or network telemetry. |
altitude.cpp/.h | Altitude-assisted flight | You are changing optional VL53L0X, Takeoff/Landing, or altitude behavior. |
indicators.cpp/.h | Status indicators | You are changing LED/buzzer status feedback. |
RUNTIME MENTAL MODEL
Read System Architecture and Stabilization & Control Loop for the overall flow, then Protocol 2 for the public communication boundary. The table above identifies code-reading entry points; it does not make every internal file a public API.