Backup & Restore¶
Your OnSpeed configuration is stored as an XML file (onspeed2.cfg) on the SD card and in flash memory. You can download, upload, and manually edit this file.
Downloading a Backup¶
- Connect to OnSpeed WiFi
- Navigate to the configuration page
- Click the Download Config button
- Save the XML file to your computer
Save a backup after initial setup
Always download a backup after completing first-time setup and after a successful calibration. This lets you restore if anything goes wrong.
Uploading a Configuration¶
- Navigate to the configuration page
- Click the Upload Config button
- Select a previously saved config XML file
- The system will load the new configuration
- Reboot for all settings to take effect
Config File Format¶
The configuration is stored as XML with the root element CONFIG2. Example structure (the per-flap values below are illustrative, showing what a calibrated aircraft's config looks like — they are not the firmware defaults, which ship with all per-aircraft setpoints zeroed until you run the calibration wizard):
<CONFIG2>
<AOA_SMOOTHING>10</AOA_SMOOTHING>
<PRESSURE_SMOOTHING>15</PRESSURE_SMOOTHING>
<DATASOURCE>SENSORS</DATASOURCE>
<EFISTYPE>ADVANCED</EFISTYPE>
<ORIENTATION>
<PORTS>FORWARD</PORTS>
<BOX_TOP>UP</BOX_TOP>
</ORIENTATION>
<FLAP_POSITION>
<DEGREES>0</DEGREES>
<POT_VALUE>129</POT_VALUE>
<LDMAXAOA>8.03</LDMAXAOA> <!-- per-aircraft; 0.0 on a fresh config -->
<!-- ... more setpoints and curves ... -->
</FLAP_POSITION>
<!-- ... more flap positions ... -->
<VOLUME>
<DEFAULT>100</DEFAULT>
<MUTE_UNDER_IAS>25</MUTE_UNDER_IAS>
<!-- ... -->
</VOLUME>
<BIAS>
<PFWD>8192</PFWD>
<P45>8192</P45>
<!-- ... -->
</BIAS>
</CONFIG2>
Manual Editing¶
You can edit the config file with any text editor. This is useful for:
- Copying calibration data between identically-equipped aircraft
- Bulk-editing setpoints
- Debugging configuration issues
Be careful with manual edits
An invalid XML file or out-of-range values can cause the system to behave incorrectly. Always keep a known-good backup before making manual changes.
Config Load Order¶
On startup, the firmware loads configuration in this order:
- Compiled defaults (from
OnSpeedConfig::LoadDefaults()inonspeed_core) - SD card (
onspeed2.cfg) — if present and load succeeds, becomes the active config - Flash memory (LittleFS backup) — only consulted if the SD card has no config file (or the SD load failed)
The SD card is the authoritative source. The flash copy is a backup that the firmware writes after every successful SD save, so the two are normally identical. The flash copy only matters if the SD card has no onspeed2.cfg (fresh card, post-format, or card swapped in from another box) — in that case the firmware boots from the flash backup so you keep your last saved settings.
If the SD has a config file but loading it fails (a rare transient at boot), the firmware emits a loud warning on the serial console and falls back to the flash backup rather than failing silent. Re-save from the web UI to refresh the SD copy.
If you need to factory-reset:
- Use the Load Defaults button on the web interface (resets to compiled defaults)
- Delete the
onspeed2.cfgfile from the SD card (next boot loads from flash backup, or compiled defaults if flash is also empty)
Config save can fail visibly
The web UI's config save retries up to 4 times if the SD writer is busy. If all retries fail, the page shows a red WARNING banner saying the change was applied in memory but did NOT persist to SD. Wait a few seconds and click Save again; the writer's hot moment will have passed. Previous firmware silently dropped the SD write without telling the pilot.