How raniahaas/tobi works
TOBI is an ESP32-S3 rocket flight computer. Its intended workflow is startup checks, Wi-Fi arming, instrument sampling, flight-event detection and deployment, then live telemetry and post-flight CSV access. The sampled firmware shows IMU sampling and event/deployment logic, but the barometer task is currently a delay-only stub, and the excerpts do not establish a complete CSV-close workflow. README capabilities such as redundancy and a future pyrotechnic system are not represented as implemented runtime components.
Main entry points: main.cpp Firmware tasks · wifiSetup.h Wi-Fi server · fileLogging.cpp CSV logger · globals.cpp Shared flight state
Components 17
Startup & State
- Firmware tasks
tobiru/src/main.cpp - Startup sequence
tobiru/src/startup/startupSeq.cpp - IMU setup
tobiru/src/startup/imu_init.cpp - Shared flight state
tobiru/src/globals.cpp
Flight Runtime
- IMU sampling task
tobiru/src/main.cpp - Barometer task
tobiru/src/main.cpp - Event & landing logic
tobiru/src/main.cpp
Logging & Data
- CSV logger
tobiru/src/fileLogging.cpp - LittleFS files
Wi-Fi Interface
- Wi-Fi server
tobiru/src/wifiSetup.h - Telemetry dashboard
tobiru/src/wifiSetup.h
Other components
- Rocket operator
- IMU sensor
- Barometer
- Battery monitor
- Deployment outputs
- Operator browser
Connections 23
- Firmware tasks → Startup sequence: runs startup
- Startup sequence → Battery monitor: checks voltage
- Startup sequence → IMU setup: initializes IMU
- IMU setup → IMU sensor: configures
- Firmware tasks → Wi-Fi server: starts server
- Firmware tasks → CSV logger: initializes logger
- Firmware tasks → IMU sampling task: creates task
- Firmware tasks → Barometer task: creates task
- Firmware tasks → Event & landing logic: creates task
- IMU sampling task → IMU sensor: reads samples
- IMU sampling task → Shared flight state: updates readings
- IMU sampling task → CSV logger: logs samples
- Barometer task → Shared flight state: intended update
- Event & landing logic → Shared flight state: reads readings
- Event & landing logic → CSV logger: records events
- Event & landing logic → Deployment outputs: fires channels
- CSV logger → LittleFS files: writes CSV
- Wi-Fi server → Shared flight state: reads and updates
- Wi-Fi server → CSV logger: arms logging
- Wi-Fi server → LittleFS files: serves CSV
- Operator browser → Telemetry dashboard: opens dashboard
- Telemetry dashboard → Wi-Fi server: polls and controls
- Wi-Fi server → Telemetry dashboard: returns telemetry