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/ |
The .lothal file
Section titled “The .lothal file”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. |
The flight-log CSV
Section titled “The flight-log CSV”- 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.
Settings files
Section titled “Settings files”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.