MeshCore sim v2
A high-fidelity, single-process network simulator for MeshCore mesh radio networks. Built to model real-world LoRa deployments with physically accurate radio propagation — without needing real hardware.
This simulator:
- Uses real MeshCore firmware (simple repeater, companion radio)
- Allows testing changes in the firmware
- Allows testing different topologies, scenarios, injecting commands, and changing settings during simulation
- And much more...
Key Features
- Multi-node orchestration — Simulate entire networks of repeaters and companions in a single process, with per-node virtual clocks and staggered timers for realistic behavior. All running as native code — fast!
- Realistic radio physics model — Half-duplex constraints, Listen-Before-Talk (LBT), collision detection with timing-dependent capture effect, SNR-based link quality, correlated Ornstein-Uhlenbeck fading, and stochastic packet loss.
- Hot-start initialization — Collision-free advert exchange with automatic quiescence-based settling, so nodes discover each other naturally — just like real hardware boot-up, but fast. Simulates a stable network state.
- Adversarial testing — Per-node drop, corrupt, and replay attack modes to stress-test protocol resilience.
- Message fate tracking — Follow every packet from source to destination through the relay chain.
- Lua scripting — Drive simulations programmatically with Lua scripts, define custom scenarios, react to events in real time, and collect structured statistics.
- Web UI — Browser-based scenario editor, simulation runner with SSE progress, swim-lane visualization, and topology map view.
- Real topology import — Convert real-world MeshCore network data into simulation configs.