ArduPilot creates “storage backup” files on the microSD card by default (at least, it does on the Cube series of autopilots). I have no idea what’s in them, but I really want to know.

Research

Not much seems to be documented about these files.

There’s a few forum posts which mention that they may contain (sections of) mission plans, logs, and parameters:

  1. https://discuss.ardupilot.org/t/location-and-other-details-in-bak-files/94434
  2. https://discuss.px4.io/t/read-the-strgx-bak-for-diagnosis/29964
  3. https://discuss.ardupilot.org/t/read-the-strgx-bak-for-diagnosis/93785

There have been a few questions asked in the ArduPilot development Discord server, but none have any resolutions.

This might be related to ArduPilot’s StorageManager library — the layout table seems to indicate offsets to put various sections of stuff at.

  • Followup question: this table is scattered into many different #ifdef sections. If just handed a STRGx.BAK file, how do you tell what options were set for the build that generated this file?

Probing

  • file: data
  • binwalk: nothing whatsoever.
    • No ELF/DWARF/executable-of-any-kind headers no decompilers will do anything useful
  • hexdumps: just gibberish. Largely filled with zeroes with small clumps of data scattered throughout.
    • Mostly non-ASCII, no discernable patterns
  • strings: nothing useful