# Device settings

Settings are read from the connected device's `Settings.ini`. The page is unavailable without a selected device or when the file cannot be read.

:::caution[Configure before connecting deployment hardware]
Keep **Fire apogee pyro** disabled unless the recovery system is connected and configured for the output. Enabling it can activate the device's apogee pyro output during flight. Review [Pyro output safety](/safety/#pyro-output) before connecting hazardous hardware.
:::

## Supported settings

| Field | Meaning | Allowed value |
| --- | --- | --- |
| Estimated altitude | Expected flight altitude | 0 or greater, in m |
| Altitude margin | Extra allowance around the altitude estimate | 0 to 1000, in m |
| Estimated speed | Expected vertical speed | 0 or greater, in m/s |
| Speed margin | Extra allowance around the speed estimate | 0 to 1000, in m/s |
| Launch threshold | Acceleration threshold used to detect launch | 1.15 to 4.00, in g |
| Fire apogee pyro | Enables the apogee pyro output | Enabled or disabled |
| Minimum pyro height | The pyro never fires unless the rocket climbed at least this high above the launch point | 0 to 10000, in m (default 5) |

The settings are grouped into **Flight estimation**, **Launch detection** and **Recovery**. Each group has a **What these settings do** link to the matching wiki section.

![Settings page showing the Flight estimation group with the allowed range under each field, and the Device values loaded badge in the header](../../../assets/mc-settings-flight-estimation.png)
:::danger[Minimum pyro height is a dangerous setting]
It protects people handling an armed rocket: if a bump is mistaken for a launch, the pyro still cannot fire close to the ground. `0` disables this protection. AstroNav MC shows a warning for `0` and for values below the 5 m default. The field only appears when the Nano runs firmware v1.2.2 or later. See [MIN_PYRO_FIRE_HEIGHT_M](/configuration/#min_pyro_fire_height_m).
:::

The header shows **Device values loaded** when the form matches the device and **Unsaved changes** when a value differs.

## Flight estimator

Not sure what to enter for the four flight-estimation values? Select **Help me estimate** in the **Flight estimation** group.

1. Enter the **Liftoff weight** (the rocket ready to fly, with the motor installed) and the motor's **Total impulse** (on the shop page or the motor's data sheet).
2. Optionally open **More accuracy (optional)** and add the average thrust, body diameter, propellant weight and drag. **Where do I find this?** explains motor codes such as `C6-5`.
3. Check the expected apogee and top speed, and any warnings.
4. Select **Use these values**. This only fills in the form: select **Save changes** and eject the Nano to apply them.

The estimate is rough, with a 30% margin on each value. The speed is always rounded up, because a speed estimate that is too low is the one risky direction. After a flight, [Mission replay](/software/mission-replay/#flight-estimates) shows how good the estimate was and suggests values for the next flight.

## Edit and save settings

1. Confirm the selected device and serial number.
2. Review the allowed range for each value.
3. Change only the required values.
4. Confirm that no validation errors are shown.
5. Select **Save changes**.
6. Verify that the header returns to **Device values loaded**.

Numeric input accepts either a period or a comma for decimals. Blank, non-finite, and out-of-range values are invalid and disable **Save changes**.

:::caution[Eject the USB device after saving]
After saving, select **Eject** in the top bar (see [Apply settings: eject the device](#apply-settings-eject-the-device)) or use your laptop or PC's **Eject** or **Safely remove** function before disconnecting the Nano. The device only flashes the new settings when it receives the USB eject command. If you unplug the Nano without ejecting it, the saved settings will not be applied to the device.
:::

- **Save changes** writes the edited values to the device.
- **Reset changes** restores the values last read from the device.
- Saving is disabled while values are invalid, unchanged, or another save is in progress.

AstroNav MC preserves the configuration document, writes a local recovery copy, replaces the device settings, flushes the write, and verifies the result by reading it back.

## Apply settings: eject the device

The Nano applies saved settings only after the drive is ejected. AstroNav MC has an **Eject** button next to the device name in the top bar:

1. Save your changes.
2. Select **Eject**.
3. Wait until the top bar shows **Ejected · safe to unplug**. The Nano has now left USB storage mode and applied the settings.
4. Unplug the Nano, or reconnect it if you want to check the values again.

AstroNav MC finishes all writes, releases the drive and sends the eject command, the same as **Eject** in the file manager. It never forces the drive off:

- If another program still has a file open on the drive, nothing is ejected and a message asks you to close it, for example a File Explorer window showing the Nano.
- **Eject** waits until nothing else runs. Finish a settings save, flight import, video export or firmware update first.
- On Linux, ejecting uses udisks (`udisksctl` and `gdbus`), which desktop distributions include.

## Settings conflicts

If another process changes `Settings.ini` after the page loaded it, saving can fail with a settings conflict. Select **Reload device values**, review the current values, reapply the intended edits, and save again. Do not continue using stale values after a conflict.

## Device information and diagnostics

**Advanced device info** contains read-only profile data: serial number, software/version, checksum, flash stamp, flight count, log count, maximum flight altitude and speed, and last-flight altitude and speed.

**Diagnostics** contains fault reason, runtime mode, device state, power mode, input voltage, health bits, health flags, and individual component checks. Each check is marked **Pass**, **Fail**, or **Unknown**.

:::tip[Need configuration context?]
See [Configuration](/configuration/) for the mission setup workflow and [Pre-flight](/pre-flight/) for final power, calibration, and recovery checks.
:::