Skip to content

File formats

Folder names below are inside Lothal’s data folder. Where files live gives its location on each operating system.

File What writes it What reads it Where
.lothal Lothal, automatically, as you work Lothal (Projects screen, Open…) builds/ (deleted drones in builds/trash/), or wherever you opened it from
.frame.json The frame designer’s Save The frame designer (shelf, Open) frames/
.blade.json The blade designer’s Save The blade designer (shelf) blades/
flight-YYYYMMDD-HHMMSS.csv Sim, when you record with R Studio, and the tools/ scripts logs/
YYYY-MM-DD-<drone>.md Config → Sheet → Export sheet Any Markdown or text viewer sheets/
.svg The frame designer’s print and cut sheets Browsers, vector editors, printers; the frame designer’s Import exports/
.dxf The frame designer’s cut file CAD and CAM programs, cutting services; the frame designer’s Import exports/
.stl Frame assembly, motor mount stack, prop guard, printed parts Slicers and 3D programs exports/, and printed parts also inside the .lothal file
.html The frame designer’s build sheet Browsers (open and print) exports/

A .lothal file is a zip, so you can rename a copy to .zip and look inside:

Inside What it is
MANIFEST.json What kind of file this is and which Lothal wrote it.
project.json The drone: its name, its parts and its settings.
parts/custom_parts.json Copies of the custom parts this drone uses.
printed/ One STL per printed-part export, each matching a print record in project.json.
  • Line 1 is # followed by a JSON header: the aircraft that flew, the tune, the gyro, the sample rate, the duration, the number of crash restarts, the column list and their units.
  • Line 2 is the column names.
  • Then one row per physics step: time; for each motor its RPM, thrust, torque, current and blade-pass frequency; total thrust, current, live voltage and charge used; position, velocity and orientation; the true rotation rate (omega_*) and the gyro’s reading (gyro_*); body acceleration, airspeed and g-force; each motor’s electrical frequency and tip speed; and weight.

Readers should select columns by name, not by position: new columns are added at the end.

Lothal also keeps these JSON files in its data folder. You do not normally edit them.

File Holds
custom_parts.json Your custom parts.
assembly_tweaks.json The fit settings (shims, standoffs, pack position, GPS mast, camera uptilt), for all drones.
pack_charge.json How much charge each pack has, and the charging speed.
pid_tunes.json Tunes you have changed by hand.
sites.json, courses.json, conditions.json Field sites, courses and conditions.
best_laps.json Best lap times.
app_settings.json App settings, such as recent drones.

A damaged settings file does not stop Lothal starting.

Documentation licensed underCC BY 4.0. Lothal itself is GPL-3.0-or-later.Report a problem.Roadmap.