Get Started

Install MeshDash

From a fresh Raspberry Pi to a running dashboard in under 5 minutes. The Setup Wizard is the recommended path — it generates a personalised install command tailored to your hardware and radio. Or follow the complete manual walkthrough below.

R2.2.3 LATEST STABLE Released 2026-03-19
mesh-dash.zip install.sh
Hardware

Raspberry Pi 2B+ or any ARM/x86 Linux. 512 MB RAM minimum, 1 GB recommended.

OS

Raspberry Pi OS, Ubuntu 20.04+, Debian 11+, or any Linux with Python 3.9+. WSL2 supported.

Python

3.9 or higher. pip3 + venv. The installer auto-installs missing Python packages on Debian/Ubuntu.

Radio

Any Meshtastic device via USB Serial, TCP/WiFi, Bluetooth BLE, or Web Serial (browser).

The Setup Wizard — Fastest Path

The Setup Wizard at meshdash.co.uk/c2_setup.php asks you a few questions and generates a single personalised curl | bash command. The command is pre-configured with your API key, version selection, and radio connection type. Paste it into your terminal and it handles everything.

Why the Wizard generates your command

The installer script has three template placeholders — {VERSION}, {API_KEY}, and {BASE_URL} — that must be populated before it will run. The Wizard fills these in and generates your personalised command. Running the raw install.sh without these filled in will immediately exit with an error explaining this.

1

Select your hardware

Choose Raspberry Pi, Ubuntu server, Docker, or WSL2. The generated command adapts slightly per platform.

2

Choose radio connection

USB Serial (auto-detects port), TCP/WiFi, Bluetooth BLE, or Web Serial. Sets MESHTASTIC_CONNECTION_TYPE in your config.

3

Remote access tier

Optional. Off by default. Choose heartbeat-only (community map) up to full operator remote access.

4

Copy and run one command

The Wizard outputs a single curl | bash command with your API key, version, and settings pre-baked. Paste it, run it, done.

Open Setup Wizard
meshdash.co.uk/c2_setup.php
⬡ MESHDASH SETUP WIZARD — R2.2.3
COPY
curl -sSL https://meshdash.co.uk/versions/R2.2.3/install.sh \
  -o install.sh && bash install.sh
↑ Personalised with your API key & settings
Why curl | bash is safe here

The installer validates its template placeholders on startup. A raw script without your API key filled in will refuse to run and print a clear error. You can always download and inspect install.sh before running.

Connecting Your Meshtastic Radio

USB Serial

acc

  • Raspberry Pi: /dev/ttyUSB0 or /dev/ttyACM0
  • Run dmesg
  • grep tty after plugging in
  • May need: sudo usermod -aG dialout $USER
  • Baud 115200 default
MESHTASTIC_CONNECTION_TYPE=SERIAL\nMESTASHTIC_SERIAL_PORT=/dev/ttyACM0

TCP / WiFi

ok

  • Enable WiFi in the Meshtastic app
  • Default port is 4403
  • Best for Docker (no USB passthrough needed)
  • Works across VLANs if routing is configured
MESHTASTIC_CONNECTION_TYPE=TCP\nMESTASHTIC_HOST=192.168.1.50\nMESTASHTIC_PORT=4403

Bluetooth BLE

pur

  • Install: pip install bleak
  • Scan: meshtastic --ble-scan
  • Use MAC address in config
  • Less stable than serial
MESHTASTIC_CONNECTION_TYPE=BLE\nMESTASHTIC_BLE_MAC=AA:BB:CC:DD:EE:FF

Web Serial (Browser)

warn

  • Open MeshDash in Chrome or Edge
  • Click USB icon in the topbar
  • Select your device in the browser picker
  • Streams to server via WebSocket
Set in UI — no config key needed

Tested Hardware

LILYGO T-Beam v1.1
CP2102 USB · ESP32
All features
Most popular choice. GPS + LoRa.
LILYGO T-Beam S3
Native USB · ESP32-S3
All features
Latest T-Beam. USB-C. Native USB.
Heltec WiFi LoRa v3
CH340 USB · ESP32
All features
Compact. Built-in OLED.
LILYGO T-LoRa32 v2
CP2102 USB · ESP32
All features
Good value. No GPS built-in.
Seeed XIAO S3
Native USB · ESP32-S3
All features
Smallest. USB-C native.
RAK WisBlock 4631
USB-C · nRF52840
Most features
Low power. BLE primary mode.
T-Deck
Native USB · ESP32-S3
All features
Keyboard + screen form factor.
Any Meshtastic device
Varies
If it runs Meshtastic firmware it works.

Something not working?

The documentation covers every common issue — serial permissions, Python version conflicts, radio connection timeouts, and browser WebSerial requirements.

Troubleshooting Guide Full Install Docs Try the Setup Wizard