Xstatic logo

Xstatic

Networks by the people for the people, software for mankind

A native Meshtastic client for X11.
Written in C. Runs on FreeBSD, Linux and macOS.

What is it?

Meshtastic is an open-source LoRa mesh networking platform: small radios that talk to each other without any infrastructure. Xstatic is a desktop client for it: plug a node into your computer over USB serial and talk to the mesh from your own machine. A native X11 interface is on the way.

Why?

Why C?

Because C is where it all comes from. Unix was written in it, the BSD kernel is written in it, and X11 speaks it natively. It is my favourite language: no runtime, no garbage collector, no hidden magic between you and the machine. Every byte that comes off the serial port is a byte you can point at.

Parsing a binary protocol with a hand-rolled state machine, one 0x94 at a time, is exactly the kind of job C was made for. It compiles in a blink with plain cc, runs on a Raspberry Pi 3, and will still build in twenty years. No dependency hell, no toolchain of the month. Just you, the compiler and the radio.

Supported OS

Any Unix-like system with X11 and a POSIX serial port should be within reach: only the small platform/ layer is OS-specific.

Features

Messaging

Mesh and channels

Device configuration

Under the hood

Commands

list                  known nodes, with position and hardware
send                  send a message (asks for node name or number, then text)
history               received messages, numbered
reply <id>           answer a specific message
channels list         configured channels and their encryption
show config           role, region, modem preset, power, hops
show all config       full configuration summary and firmware info
help                  command list
quit                  disconnect and exit

Roadmap

Status

Current release: v0.2, an interactive terminal client. The graphical X11 interface is the next big milestone. Xstatic is young and moving fast. Issues, ideas and pull requests are welcome on GitHub.

src/platform/   serial access, per-OS
src/protocol/   framing + protobuf decoding
src/core/       mesh state, channels, message history, device config
src/ui/         terminal display (Xlib interface planned)

Get it

git clone https://github.com/Creep29257/Xstatic.git

Contributions, bug reports and ideas are welcome on GitHub.

Powered by FreeBSD