IoT flight logger prototype for the AMS automated CAMO/CAO service.
- Board: Lilygo TTGO T-SIM7000G (ESP32, 4MB Flash, 8MB PSRAM)
- Cellular: SIM7000G — LTE Cat-M1 / NB-IoT / 2G (1NCE SIM)
- GPS: SIM7000G integrated GNSS (UART1)
- IMU: MPU-6050 via I2C (SDA=21, SCL=22)
- Storage: microSD (SPI, CS=13) — built-in on T-SIM7000G
- Power: 18650 LiPo via on-board charger
pip install platformio
pio run -e t-sim7000g # production build
pio run -e t-sim7000g-debug # simulated GPS/IMU (no hardware needed)
pio run -e t-sim7000g --target upload
pio device monitor --baud 115200Per-flight JSON (/flights/<id>.json):
{
"flight_id": "1745230800",
"engine_on_utc": 1745230800,
"engine_off_utc": 1745234400,
"takeoff_utc": 1745230980,
"landing_utc": 1745234100,
"engine_time_s": 3600,
"flight_time_s": 3120,
"vibration_anomaly": false,
"track_file": "/tracks/1745230800.csv"
}GPS track CSV (/tracks/<id>.csv):
utc_epoch,lat,lng,alt_m,speed_kn
1745230980,50.061389,19.938333,215.0,95.3
...
GROUND → [engine RMS > threshold] → ENGINE_ON
ENGINE_ON → [GPS speed > 30kn for 5s] → AIRBORNE
AIRBORNE → [GPS speed < 20kn] → LANDING
LANDING → [engine RMS < threshold] → GROUND