๐Ÿ“ก

Extend your Meshtastic range by 4ร—

MeshXT adds compression and error correction to Meshtastic LoRa networks. Zero dependencies. Drop-in compatible. Open source.

~200km
Extended Range
50%
Compression
32 byte
Error Correction
70/70
Tests Passing

What is Meshtastic?

Meshtastic is an open-source project that turns affordable LoRa radios into a long-range, off-grid mesh communication network. No cellular towers, no internet, no subscriptions โ€” just radio waves bouncing between nodes up to 50km apart.

It's used by hikers, emergency responders, off-grid communities, and anyone who needs communication when infrastructure fails. Messages hop from node to node across the mesh, extending far beyond any single radio's range.

The hardware is cheap (ยฃ15-30 per node), the firmware is open source, and the community is growing fast โ€” with over 50,000 nodes deployed worldwide.

LoRa has limits

Meshtastic uses LoRa (Long Range) radio, which is brilliant at low-power communication over distance. But there's a fundamental trade-off: longer range means lower data rates. At maximum range, you're sending just a few bytes per second.

Every wasted byte is a wasted opportunity. Stock Meshtastic sends messages in plain text with no compression and no error protection beyond basic LoRa modulation. If a bit flips in transit, the message is lost. If the message is 200 bytes but could be 100, you've halved your effective range for no reason.

What MeshXT does

MeshXT is a Node.js library (and C/C++ firmware) that sits between your application and the Meshtastic radio. It does two things:

๐Ÿ—œ๏ธ

Smaz Compression

Compresses short messages by 15-50% using a human-language-optimised dictionary. "SOS" becomes 1 byte. Common phrases shrink dramatically. Smaller packets = longer range at the same power.

๐Ÿ›ก๏ธ

Reed-Solomon FEC

Adds forward error correction that can repair up to 32 corrupted bytes per message โ€” without retransmission. Messages that would have been lost now arrive intact, even through interference.

๐Ÿ“Š

Adaptive SF Selection

Automatically selects the optimal LoRa spreading factor based on message size after compression. Shorter messages can use faster spreading factors, improving throughput without sacrificing reliability.

Stock vs MeshXT

Stock Meshtastic
~50km
โ†’
With MeshXT
~200km / 125mi

Combined effect of compression (fewer bytes to transmit) + FEC (messages survive interference at the edge of range) + adaptive SF (optimised modulation per message).

Install in 30 seconds

# Install from npm
npm install meshxt

# Or use the CLI
npx meshxt compress "Help needed at grid ref SO 629 941"
# โ†’ 52% smaller, Reed-Solomon protected

# In your code
import { compress, decompress, encode, decode } from 'meshxt';

const packet = encode('SOS need evacuation at summit');
// โ†’ 47 bytes (was 29 chars + overhead = ~35 bytes โ†’ now FEC-protected)

const original = decode(packet);
// โ†’ 'SOS need evacuation at summit' (survives up to 32 byte errors)

What's in the box

Who is this for?

๐Ÿ”๏ธ

Backcountry & Hiking

Send SOS or coordinate with your group when you're days from cell coverage. MeshXT means your messages reach further and survive interference from terrain.

๐Ÿšจ

Emergency Response

When infrastructure is down, mesh networks are the last line of communication. FEC means critical messages don't get lost in noisy RF environments.

๐Ÿก

Rural & Off-Grid

Connect remote properties, farms, or community nodes across distances that stock Meshtastic can't reach. No internet required, no monthly fees.

Built in the open

MeshXT is Apache 2.0 licensed and built by Mikoshi Ltd. The code is on GitHub, the package is on npm. Contributions, issues, and forks are welcome.

We believe communication infrastructure should be open. Meshtastic started that way, and MeshXT continues it.