Your first simulation

Fifteen minutes from an empty workbench to a real 378-node network relaying real packets through real firmware. You will load a shipped snapshot of ScotMesh, the Scottish community mesh, boot MeshCore on every node, and watch a message flood across Scotland.

Run it#

  1. Load a shipped network. File, then Open a saved network, and choose fixture-fife-strict to see it moving in seconds (58 nodes), or fixture-scotland-ireland-strict for the full map (378 nodes, about a minute to boot).

> The first run asks about terrain, and waits for your answer. Measuring > the links needs ground elevation this machine has not downloaded yet, so > the measurement stops and says so rather than quietly assuming flat earth. > Until you answer, the map shows no links. Allow it in Configuration, > System, and the measurement finishes on its own. Refusing is a real > answer too: the run continues over whatever terrain is already cached, and > every study afterwards reports which ground it used, so a result can never > silently be the optimistic one.

  1. Start the firmware. Simulation, then Start firmware on every node. Each node launches a real MeshCore build and is told its name, position, clock and regions. Watch the count in the status bar reach the node total; the big fixture takes about a minute and 4 GB.
  2. Press play. The transport control on the toolbar, or the space bar. Simulated time starts moving.
  3. Make something happen. Double-click any repeater to open its own window on the Console tab, type advert, and press Enter. That is the node's real command line, and the reply is the firmware's own. An advert is MeshCore's announcement packet, the thing nodes flood through the mesh: watch it spread.

A repeater's console: a typed command, and the node's own answer Watch the flood spread: the Events panel lists every transmission, reception and miss with a cause.

The Run view playing. The mark: the scoreboard counting what each node sent and heard

If the mesh looks dead, the usual cause is regions rather than radio. A repeater only forwards flood traffic for regions it has been told about, and reports no error when it declines. The -strict fixtures carry the real regions, so they relay. See Shipped networks.

What you are looking at#

Where things are#

The view switcher along the top is the main navigation. Each view is a saved arrangement of panels for one kind of work:

The menu bar, and the view switcher under it

viewfor
Planbuild and site: import, place, drag, boundary, coverage
Runexercise it and watch: play, schedule traffic, consoles, live feed
Debugask why one thing happened: packet timelines, the waterfall (spectrum over time), consoles, link budgets
Validatecheck the model against what a real network heard
Benchcompare configurations: sweep a parameter, read what differed
Appwrite a client against it: an endpoint, the protocol, faults

Panels can be dragged out, docked elsewhere, or popped into their own window on a second monitor. Each view remembers its own arrangement.

What to try next#

MeshBench documentation. Built from the running application, not from mock-ups. Screenshots are window-only captures; see CLAUDE.md for the rule that keeps them current. Edit this page.