---
id: meshtasticator
title: Meshtasticator
sidebar_label: Meshtasticator (Simulator)
sidebar_position: 5
description: Overview of Meshtasticator simulator for evaluating performance and scalability of the Meshtastic protocol using discrete-event and interactive simulations.
---

import ReactPlayer from "react-player";

**Meshtasticator** is a discrete-event and interactive simulator that replicates the radio section of the device software. It helps evaluate the performance of various scenarios and the scalability of the protocol. The **Meshtasticator** simulator can be found on [Github](https://github.com/meshtastic/meshtasticator).

## Discrete-Event Simulator

The discrete-event simulator models the radio section of the device software to analyze its behavior. It can assess the performance of specific scenarios and the scalability of the protocol.

### Getting Started

For step-by-step instructions on how to use the discrete-event simulator, see the [discrete-event simulator usage guide](./discrete-event-sim).

### Simulation Insights

After each simulation, the tool plots node placements and schedules the timing for overlapping messages sent during the simulation.

![Placement Schedule](/img/software/meshtasticator/placement_schedule.webp)

The simulator allows network analysis using different parameter sets. For example, below are the results of 100 simulations, each lasting 200 seconds, with varying hop limits and node counts. As expected, the average number of nodes reached per message increases with a higher hop limit.

![Reachability Hops](/img/software/meshtasticator/reachability_hops.webp)

However, this improvement comes with a trade-off in **usefulness**—the proportion of received packets containing new (non-duplicate) messages decreases as rebroadcasting increases.

![Usefulness Hops](/img/software/meshtasticator/usefulness_hops.webp)

## Interactive Simulator

The interactive simulator leverages the [Linux-native Meshtastic application](https://meshtastic.org/docs/software/linux-native), i.e., the real device software, while emulating some hardware components, including the LoRa chip. It can also run on Windows or macOS using Docker.

### Setup Instructions

To get started with the interactive simulator, see the [interactive simulator usage guide](./interactive-sim).

### Debugging and Visualization

This simulator facilitates debugging multiple communicating nodes without needing physical devices.

<div style={{ maxWidth: "800px", margin: "auto" }}>
  <ReactPlayer
    url="https://youtu.be/SwhO-WdwvrU"
    controls
    width="100%"
    height="400px"
  />
</div>

Additionally, because the simulator has an 'oracle view' of the network, it provides insights into the routes taken by messages.

![Route Plot](/img/software/meshtasticator/route_plot.webp)
