When networks fail, what survives becomes islands. MeshSat connects them.

One message.
Every way out.

Open source software that carries messages between mesh radios, satellite links and mobile networks. Run it on a Linux gateway or a phone, and connect systems that cannot reach each other on their own.

Hub open. No fleet running on it yet, never used in a real emergency.

See it working

The introduction first, then two field kits on the bench passing a message from one mesh to the other, over APRS radio and then over SMS. Nothing loads from YouTube until you press play.

MeshSat-intro.mp42:02
The bench prototypes, a local send in the web dashboard, and the 3D design of the field kits being built. Watch on YouTube
MeshSat-field-kits.mp43:04
Recorded in Leiden on 12 September 2026: a message crosses from one kit's mesh to the other's over APRS on 144.800 MHz, then again over SMS. Watch on YouTube

Networks fail into islands

A disaster rarely silences every system at once. It cuts the links between them: radio keeps working inside one agency or one cell, the phone network goes, and what one team knows does not reach the team that needs it.

It has happened before

  1. Hurricane Katrina, US Gulf Coast. In many cases responders in different agencies could not talk to each other because of incompatible frequency assignments. A military helicopter had to drop a message in a bottle to warn them of a gas leak. FCC panel report

  2. Floods in the Ahr valley and the Eifel, Germany. 34 emergency radio base stations were affected. In fallback mode radio kept working only inside each station's own cell, and links beyond it were patched case by case, for example with gateway connections. Landtag Rheinland-Pfalz, Drucksache 18/1947

  3. Lahaina wildfire, Maui. The county's public safety radio system appears to have worked throughout, but police could not hear fire channels and fire could not hear police, and unreliable cell service left private water tankers uncoordinated. FSRI report for the Hawaii Attorney General

  4. Blackout in Spain and Portugal. Public phone and mobile networks failed, and Portugal's distribution operator fell back on satellite phones. Spain's grid operator could still make calls but could not reach the distribution control centre in Seville, and restoring supply in Andalusia was paused. ENTSO-E expert panel report

What joining them looks like

  • Two teams on two meshes, no internet

    mesh_0toaprs_0tomesh_0

    Run kit to kit on 12 September 2026 over APRS, then over SMS. See the field-kit film above.

  • A valley with no signal, an office far away

    mesh_0toiridium_0

    The satellite leg is verified over a real Iridium link, March 2026.

  • A volunteer radio net and a command post

    aprs_0totak_0

    Both interfaces are field tested. This route has not been run end to end yet.

Built for the people who work between those islands: search and rescue teams, civil protection and emergency management, humanitarian organisations, amateur radio emergency groups, expeditions, maritime crews and remote industry. None of them runs it yet; the field programme that starts in November 2026 is its first real test.

Every system plugs into the same router

Each one is an adapter behind the same interface, with its own MTU, cost model and transform pipeline, and a rule can route from any adapter to any other. The code on each channel says where it really stands, not what we hope: only LIVE runs on our hardware today.

  • mesh_0Meshtastic
  • aprs_0APRS
  • cellular_0SMS
  • iridium_0Iridium
  • zigbee_0ZigBee
  • tcp_0Reticulum
  • HF dataCOMING SOON
  • TETRACOMING SOON

routerrules, transform chains, failover order, cost

  • tak_0TAK
  • mqtt_0MQTT
  • webhook_0Webhooks
Bearers above, integrations below, one router between them: a rule can route from any adapter to any other. Dashed is coming soon: the hardware is on its way to the bench.
  • LIVE runs on our prototype hardware today
  • CODE in the Bridge, not running on a kit
  • BENCH on our bench, not in a kit yet
  • COMING SOON on its way to the bench, nothing tested
  • FUTURE PLAN planned, nothing bought

Multi-bearer bonding over a paid satellite link is not validated yet, and the jamming detector has only ever seen ambient noise. The repository sets out the full list of what has and has not been proven.

Use the cheapest path that still works.

An Iridium line costs tens of euros a month plus credits per message, billed in 340 byte blocks. Give one to every person in a team and the bill scales with headcount. That price shapes every routing decision.

One paid link, shared

A team carries cheap mesh radios. One gateway holds the expensive satellite line. Everyone reaches the outside through it, so cost stops scaling with the number of people.

Free bearers first

Every interface declares a cost. The router prefers the free ones, mesh, packet radio, Bluetooth and WiFi, and only reaches for satellite or SMS when nothing free is up.

Fewer bytes when it does

Anything leaving on a metered bearer is compressed first. SMAZ2 runs in under a millisecond on short text, which matters when you are billed per block rather than per byte.

Sent when the sky is right

Pass prediction from SGP4 orbital elements holds traffic for visibility windows instead of burning battery retrying against a satellite that is below the horizon.

MeshSat is free software under the GPLv3. Development is supported by SIDN fonds, and a six month field programme starts in November 2026.

What it runs on

Start with a Linux host and one USB mesh radio. Add satellite, SMS or sensors when you need them; configure a route for each link.

Minimum setup, optional additions and build guides

PartRole
Raspberry Pi 5 (8 GB)Host. ARM64, or any x86_64 Linux with Docker and USB serial.
LILYGO T-Echo / Heltec LoRa V4Meshtastic mesh radio at 868 or 915 MHz.
RockBLOCK 9603 or 9704Iridium satellite. SBD at 340 bytes, or IMT at 100 KB.
LILYGO T-Call A7670E4G and 2G cellular, for SMS and data.
CC2652P dongleZigBee coordinator.
UPS and batteryBecause the interesting cases are the ones where mains power has gone too.
Spectrum per band, links and every bearer's health, served by the device itself
Pass prediction, so the queue waits for a satellite that is actually up
Six hours of the 868 MHz LoRa band. The jamming detector has only ever seen ambient noise.
A ZigBee temperature and humidity sensor and its last 24 hours
Open at full size

The dashboard is embedded in the binary and served from the device. No cloud dependency, no account.

The hardware has its own repository, meshsat-fieldkit: build guides for the two V1 kits, and the unbuilt V2 design for a Peli 1450 case. V2 is still under engineering review, not ready to order.

What it is not

Starlink is connectivity, Meshtastic a local mesh, Reticulum a network that runs over any bearer, TAK a shared map of the situation. MeshSat replaces none of them. It carries messages between them.

Not a Starlink replacement

MeshSat moves text, positions and telemetry. If you need video calls or the web, use Starlink. This is for the cases a dish cannot serve: battery powered, pocket sized, no mains.

Not voice or video

Satellite and mesh links are high latency and low throughput. This is store and forward messaging. Think SMS, not a phone call.

Not a LoRaWAN network server

The mesh side speaks Meshtastic, which is its own protocol over LoRa. For LoRaWAN, run ChirpStack and bridge it in over MQTT.

Not an emergency service

A research prototype, not a replacement for 112, 911 or any national emergency number. Nothing here is certified and nothing here has been used in a real emergency.

Try it

One command on a Linux machine with a radio plugged into it. A single device is enough to start, and anything missing is logged as a warning rather than an error.

get.meshsat.netbash
curl -fsSL https://get.meshsat.net | sudo bash
[OK]    Running as root
[OK]    Architecture: aarch64
[OK]    Created /meshsat/data
[OK]    Generated /meshsat/docker-compose.yml
[OK]    Image pulled
[OK]    MeshSat Bridge started

  Dashboard:  http://192.168.4.20:6050
  Data dir:   /meshsat/data

  USB devices will be auto-detected.
  Plug in your Meshtastic radio or satellite modem.

Bug reports from people running hardware we have not tried are the most useful thing you can send. The supported-device list is short because it only names what we have physically run.

MeshSat Android

An ordinary Android phone becomes the gateway, with no Pi. Paired with a pocket MeshSat node, one Bluetooth link reaches both the mesh radio and the Iridium modem, and the full APK edition adds SMS through the phone's own SIM. Satellite messages wait in a queue for the next pass, which the phone predicts with no internet.

Home on a Pixel 9a: every way out, and three messages waiting for a satellite

On Google Play the app comes without SMS, because Google's policy does not allow it there. The APK is the full app. The two cannot update each other.

Run the Hub on your own servers, or try it on ours

The control room for every kit, phone and pocket node you run: one map, every message, the routes between networks, and who gets called when someone presses SOS. The kits never need it to pass a message. The code is the same either way; what changes is who runs it and how many devices you can register.

Overview: the paths each kit can use right now, the last day's traffic, and anything that needs you (nothing, here)
Messages over every bearer: kit-to-kit satellite traffic stays encrypted end to end, and a reply goes out from the panel beside it
Routing in plain words: a satellite message goes on to another kit, to APRS, MQTT and TAK, to webhooks and to notifications

The same screens on your server or on ours. Captured on hub.meshsat.net on 21 September 2026, with phone numbers, IMEIs and kit hostnames blurred.

meshsat-hubApache 2.0

On your own servers

The same code that runs hub.meshsat.net, on hardware you control.

Devices and bridges
as many as you set
Cost
free
Account with us
none
Runs as
one server or Kubernetes
Backups, upgrades, security
yours to run
hub.meshsat.netOpen

On our servers

The Hub is open. Create an account and we review it before it goes live.

Plans on hub.meshsat.net
Plandevices and bridgesCost
Free4included
Crew249 euro a month
Fleet10029 euro a month
More100+talk to us

A device you have registered keeps working on any plan. A smaller plan only stops you adding more, and an SOS is never affected.

Your airtime stays yours. Connect your own Cloudloop, Twilio and Rock7 accounts; we never resell satellite or SMS minutes.