Logging to a File
Saving the serial stream as it happens — not a snapshot, the live thing
Logging writes the serial stream — both RX (received) and TX (sent) — to a file as the data arrives. It is not a snapshot taken at the end of the session: the file is being written the whole time, so it survives a crash, a power cut or an accidental clear of the terminal. Whatever came in while logging was on is in the file.
Where it lives
The Logging section sits in the sidebar of the Connection tab. Its header carries the chosen file path next to the word Logging — that path is the file the data goes to, and it is also where warnings show up if the disk cannot keep up.
The Logging section — Log toggle, format list, TS toggle, file picker; the path is shown beside the header
Three pieces, one row
From left to right, the row under the header carries:
- Log — the on/off switch for writing. Click it once to start, click again to stop.
- Format list — how each line is written (see the next section).
- TS — time stamps in front of each line (on by default).
- The file-picker button on the right — picks the file the data goes to. It uses the same drawing as the file button on the send bar, because the action is the same.
Format
Three ways the same bytes are written into the file:
- Text — the bytes turned into characters, with non-printable ones shown as best UTF-8 can.
- Hex — every byte as two hex digits, separated by spaces.
- Mixed (the default) — the text first, then the same bytes in hex
inside square brackets:
AB [41 42].
Every line also carries a direction prefix — TX: or RX: — so
you can tell what came in from what went out even in a plain text editor with no colours.
The file starts with a short header noting when the session began.
Time stamps
Leave TS on and each line starts with [HH:MM:SS.mmm] — the
moment the bytes really arrived at or left the port, not the moment the line was written to
disk. Data injected by a Lua script through emit_rx never went on the wire, so
it has no real time of arrival: its lines are written without a stamp,
rather than with a made-up one.
Choosing the file
Click the file-picker button on the right. A save dialog opens with a suggested name
like serial_log_2026-08-27_14-22-05.txt — change it or keep it. The path is
remembered between sessions, but logging does not start on its own after a
restart: you have to turn it on again, deliberately.
If logging is already on and you pick a different file, the app confirms first — the current file is closed and flushed, then the new one starts empty.
Starting and stopping
Turn Log on. If you have not picked a file yet, the save dialog opens first. From that moment everything that comes through the port is written to the file — there is no “download” button at the end, the file is being written live, the whole time.
Turn Log off (or close the app, or disconnect the port) and the last piece of the in-memory buffer is pushed to disk before the file is closed. Nothing is lost in the moment between your click and the write.
When the disk cannot keep up
At very high speeds (2 Mbit/s and faster) the disk may not be fast enough to take every line. When that happens, the file path beside the header turns into a warning telling you how many lines were dropped — the log is no longer complete, and now you know it. The app keeps a 32 MB buffer in memory to smooth short bursts; only when that fills up does it start dropping.