Click a node to inspect it, take it offline, or make it rogue. Drag empty space to pan, scroll to zoom, or click the minimap. Drag nodes to move them. Dashed links are asymmetric: one direction is much weaker than the other. Thick teal-to-red links are where traffic has flowed in the last minute or two, and the heatmap shows where airtime is being used. Coloured lines are every stored path between end devices, one colour per pair: solid from the lower-numbered device, dashed for the way back. The thick highlight is the selected pair. The label under each sender shows messages it sent that never arrived, out of those finished. Settings are saved in this browser.
Stored paths vs. flooding
1 msg / min 2 msg / min 5 msg / min 10 msg / min
Run comparison
Sends 100 messages between 6 fixed sender–recipient pairs at the rate you pick, on the current layout and settings, including the airtime budget. Runs instantly in the background. The "failure" rows take the busiest repeater offline at message 50. Rogue nodes and security settings apply here too, so you can compare runs with a rogue on and off.
Send a message
→
Send
Send 10 random
Random traffic
Keeps sending messages between random online end devices at this average rate, in simulated time. The gaps are random, the way real traffic arrives.
Growth
Grow the network from 2 meshes
Growth speed
Devices join a mesh faster the more users it already has (word of mouth), up to a limit set by its coverage: more relays attract more users. A repeater goes up when there are more than about 3.5 devices per relay. A mesh opens a post office at critical mass (6 devices, 2 relays) and closes it if it drops below 3. Packhorses appear as post offices do, about 1.3 per link needed. Most are commuters between towns within about 60 km real, and bigger towns attract more of them. About 1 in 8 is a long-distance traveller between big towns, and sea crossings are rarer. Both join up parts of the network that aren't yet connected first. Devices leave (after about 3 hours on average), hardware fails and packhorses retire, so each count levels off rather than growing forever. New meshes start near existing ones until the Meshes setting is reached. Now and then a mesh starts far from everyone (a pocket) or in the gap between clusters (a bridge town). Distant clusters stay separate until a commuter chain or a long-distance traveller links them. Time is compressed: a simulated minute stands in for weeks. Up to 150, 350 or 500 nodes, depending on map size.
Postal service
Meshes
Packhorses
Post offices each
Trip time
Stop time
Copies per letter
Letter lifetime
Reliability
Bag capacity
Cross-mesh traffic
Packhorse rounds
Back and forth Fixed round of several meshes Habits (regular places, varied order)
Device moves
To another mesh
Send delivery receipts back
Try the postal demo
With 2 or more meshes, each mesh is a separate radio island with dedicated post offices (envelope squares). Packhorses (purple dots) travel between post offices. Time is compressed, so a 60 s trip stands in for hours. A letter to another mesh goes to the local post office by normal mesh routing. It waits there for a packhorse heading the right way, rides across, and is delivered locally at the other end. Handovers use SF7 and count against both sides' airtime budgets. Reliability is the chance a packhorse actually stops on each visit. A rogue packhorse discards the mail it collects. Each packhorse has 2–5 neighbouring meshes it visits regularly, and Packhorse rounds sets the order. Devices that travel to another mesh register with its post office. That news spreads with the packhorses, so post offices can hold or forward mail for devices that have left.
Routing
Strategy
Stored paths + flood fallback Flood every message
Direct retries
Hop retries
Flood retries
Max hops
Path return
Reverse path (direct) Flood the ack
Learn paths from overheard floods
Hop retries: a repeater listens for the next hop to retransmit. If it doesn't hear it, it resends that hop. Flooding the ack costs more airtime but still works over one-way links.
Network
Map size
10 × 6.4 km 20 × 12.8 km 30 × 19.2 km UK & NW Europe (towns, 1:10)
Repeaters
End devices
Radio range
Extra loss
Asymmetry
Up to 100 nodes on a 10 × 6.4 km area, post offices and packhorses included. Reception falls off toward the edge of range. Asymmetry weakens each direction of a link by a random amount.
Radio
Spreading factor
7 8 9 10 11 12
Model collisions
Listen before talk (CAD)
Weak-signal repeaters rebroadcast first
Airtime budget
Duty-cycle limit
No limit 1% (868.0–868.6 MHz) 10% (869.4–869.65 MHz)
Measured over
Last 10 min Last hour (regulatory)
Hold up to
Queue size
Keep held packets while offline
Each node tracks its own airtime over the window. If sending a packet would take it over the limit, the packet waits in a queue: acks first, then direct packets, then floods. It goes out once older airtime drops out of the window, or is discarded if it waits longer than the hold time. Senders wait longer after each retry, so held packets cause fewer duplicate resends.
Security
Per-hop authentication (+12 B per packet)
End-to-end message tags (+16 B per packet)
Rogues hold a valid certificate
Rogues send a fake message every 15 s
Rogue repeaters
Add rogue repeater Remove rogues
A rogue repeater rebroadcasts floods instantly, so it ends up in discovered paths. Then it silently drops every direct packet and ack sent through it. It also floods fake messages that claim to come from other end devices. With per-hop authentication, honest nodes ignore any transmitter without a certificate. With end-to-end tags, recipients reject fakes even if the rogue has a stolen certificate.