Flight states
AstroNav Nano uses a controlled state machine throughout startup and flight.
State overview
Section titled “State overview”flowchart TD
boot[Booting] -->|USB power| usb[USB Mode]
boot -->|Flight startup| calibration[Calibrating]
usb -->|Leave USB storage mode| calibration
calibration --> idle[Idle]
idle -->|Launch confirmed| boost[Boost]
boost --> coast[Coast]
coast -->|Apogee confirmed| descent[Descent]
descent -->|Settled| landed[Landed]
boost & coast -.->|Bump, no real climb| idle
boot & calibration & idle & boost & coast & descent -.->|Critical fault latched| fault[Fault]
class fault danger-node
Descent is always entered at apogee. Whether the pyro fired depends on FIRE_PYRO_APOGEE and the safety conditions in Flight operation. A latched critical fault disables the pyro output; investigate its cause before continuing.
Booting
Section titled “Booting”The board initializes:
- Hardware
- Sensors
- Storage
- Status systems
Outputs are kept in a safe startup state.
USB Mode
Section titled “USB Mode”When the board detects USB power, it exposes its storage to the connected computer.
This allows access to:
Settings.iniHowto.txt- Flight logs
- Diagnostic information
Calibrating
Section titled “Calibrating”Before flight, AstroNav Nano establishes:
- Gravity reference
- Gyroscope bias
- Baseline pressure
The board must remain stationary during this process.
Calibration has completed and the board is waiting for launch conditions.
Sustained acceleration has confirmed launch and powered ascent.
Powered ascent has ended while the vehicle remains in flight.
Descent
Section titled “Descent”Apogee has been confirmed. This state is entered at every apogee, also when the pyro is disabled or blocked.
The pyro fires at most once per flight. Whether it fired, and if not why, is recorded in the flight log.
Landed
Section titled “Landed”The vehicle has remained stable long enough for the firmware to confirm landing.
The firmware then finalizes the mission log and updates flight records.
A critical problem has been detected.
When a critical fault is latched:
- The system enters a safe state.
- The pyro output is disabled.
- The cause must be investigated before continuing.
Status LED
Section titled “Status LED”Each state has its own colour. Breathing = waiting on the ground, solid = in flight, blinking = needs your attention.
| State | LED |
|---|---|
| Booting | White, breathing |
| USB Mode | Blue, breathing |
| Calibrating | Yellow, blinking: keep the board still |
| Idle | Green, breathing: ready for launch |
| Boost | Orange, solid |
| Coast | Purple, solid |
| Descent | Cyan, solid |
| Landed | Magenta, blinking |
| Fault, low battery or sensor fault | Red, fast blinking |
What you will typically see
Section titled “What you will typically see”| Situation | Sequence |
|---|---|
| Power-up on battery | White → yellow → green |
| Power-up on USB | White → blue (after eject: yellow → green) |
| Flight | Green → orange → purple → cyan → magenta |
| Bump on the pad | Green → orange → purple → green |
Do not use the LED alone for detailed diagnostics.
Use the USB debug information and serial output to investigate warnings and faults.