Files
MeshTerm/docs
Jean-Pierre MartineauandClaude Opus 5.5 49d3eff212 The Cap's GPS moves the node, and is no longer offered as a companion
The Cardputer Zero's Cap carries a GPS on the header's UART, which the
device screen listed as "~ n/a" (pyserial's name for a port with no USB
identity): a companion to connect to, and with nothing remembered, the
lone port a command-line connect would pick. A wiring now names its
board's GPS (`gps_port`, `gps_baud`; the Cap's is /dev/serial0 at
115200), and wherever that radio is listed, its GPS port is not: the
device screen, `meshterm devices`, and autodetect.

The radio node reads it the way MeshCore companion firmware reads a
board's GPS: `gps` (off until switched on, remembered in prefs.json)
and `gps_interval` (0, every fix, once a second), reported and set as
custom variables, which is where Device config already shows them. A
valid RMC or GGA fix becomes the node's position, the one its
self-info reports and, with Share location on, its adverts carry. The
last fix is saved as the node shuts down. Standard library only, as
the node's contract asks; NMEA checksums are checked.

On MeshTerm's side, our own self-info is now refreshed behind the
answer after a minute, like the contacts, so screens opened after the
node moves show where it is; and the connect-time settings offer no
longer flags a position the running GPS moved.

Checked on the Cardputer: the ttyS0 row is gone from `meshterm
devices`; `config custom gps 1` opens the port, is saved, and reads
back on; the real-terminal test passes there.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 22:02:05 -04:00
..

MeshTerm documentation

Everything that didn't belong on the front page. The README is the front door — what MeshTerm is, how to install it, and enough to get a first session running. This folder is the rest, in four parts:

Folder What's in it
guide/ Using MeshTerm: what each screen does, configuring it, connecting a companion, terminals.
cli/ The command line manual, and a cookbook of one-liners.
devices/ Running MeshTerm on a handheld's own screen, one manual per device.
development/ How the code is laid out, and a historical survey.

Using MeshTerm

Read For
What MeshTerm does Every screen the menu offers, grouped the way the menu groups them, with the command that does the same job without it.
Configuring MeshTerm Preferences versus config, device profiles, and everything kept under ~/.meshterm.
When a companion won't connect Bluetooth pairing on each system, finding the PIN, and every connection error MeshTerm reports, with what to do about it.
Terminals, icons, and the Windows console Why the icons and charts draw on some terminals and not others, and what MeshTerm does about it on Windows.

The command line

Read For
The command line The manual. Every subcommand and option, what each prints on the plain and JSON faces, the exit statuses, and recipes built on jq.
The CLI cookbook Common one-liners by task, for when you want the shape of a command rather than its specification.

Running it on a handheld

Only if you want MeshTerm running on a handheld's own screen. A MeshCore companion on USB, Bluetooth, or Wi-Fi needs none of this.

Read For
MeshTerm on hardware Start here — which manual below is yours, and what the device-side scripts do.
MeshTerm on the PicoCalc A stock ClockworkPi PicoCalc to a Linux handheld with a LoRa radio soldered inside: the shopping list, the swap to a Luckfox Lyra core, Calculinux, and the radio.
MeshTerm on the uConsole A uConsole (CM4 or CM5) with the hackergadgets AIO LoRa board, whose SX1262 sits on the computer's own SPI bus — MeshTerm drives it directly with --spi, or a small bridge fronts it as a companion for an always-on node.
MeshTerm on the Cardputer Zero ⚠️ Not supported yet. What exists for M5Stack's Linux Cardputer, and how to try it in the desktop emulator.

Reading the code

Read For
How the code is laid out The layering, and where a new feature goes.
CLAUDE.md The actual style guide — terminology, UX standards, and the reusable building blocks. Written for AI assistants, and the house rules for everyone.
CONTRIBUTING.md How to propose a change, the rules on AI use, the dev install, the three checks a change must pass, and what happens to your contribution's licensing.

Historical record

A survey of the code, kept because a project that writes down its own problems is easier to trust than one that doesn't — but it is a snapshot of a date, not a to-do list. Some of what it describes has been fixed since, and it does not mark which.

Read For
UI consistency survey Everything else in the CLAUDE.md UX standard — six sweeps found nothing, which is the useful part.

Also here

screenshots/ holds the captures the README shows and the ones meshterm.net builds its landing page from, so a file in there is referenced from more than one place.