Skip to content
MCU Atlas
ESP32NRF52ESP32ESP32-S3NRF52840Draft

Meshtastic: off-grid LoRa mesh messaging on ESP32 and nRF52

Open firmware that makes cheap LoRa boards into an off-grid encrypted text mesh, paired with your phone.

Difficulty:BeginnerCost:Source available

Key Facts

  • Chips: ESP32 / ESP32-S3 / nRF52840 / RP2040
  • Radio: LoRa SX1262/SX127x
  • Phone: BLE app
  • Range: km-scale per hop

About This Project

Meshtastic turns inexpensive LoRa boards into nodes in a long-range, decentralised mesh network. Phones pair over BLE to send text messages and GPS positions with no cell coverage. Firmware runs on ESP32 boards like the Heltec V3 and LilyGO T-Beam, and on nRF52840 boards like RAK WisBlock for lower power. A big community runs city-wide meshes, and the web flasher makes setup easy.

Source & Attribution

Source: GitHub
License: GPL-3.0
Last verified: 10/16/2026
How to Build It
Meshtastic turns cheap LoRa boards into an off-grid mesh network for text messages and location sharing. There's no cell signal or internet involved: each node relays packets over kilometres, and you send and receive from a phone app over Bluetooth.
Draft: steps not yet verified

Parts Needed

  • A supported LoRa board, e.g. Heltec WiFi LoRa 32 V3, LilyGO T-Beam (with GPS), or RAK WisBlock RAK4631
  • LoRa antenna for your region's band (attach it before powering on)
  • Optional battery/solar and enclosure
  • Phone with the Meshtastic app

Steps

  1. 1

    Pick a board and band

    Choose a supported device and the frequency band that's legal where you live (for example 915MHz in the US, 868MHz in the EU). Always fit the antenna first, as transmitting without one can damage the radio.

  2. 2

    Flash the firmware

    Open flasher.meshtastic.org in Chrome or Edge, pick your device, and flash the latest stable release over USB. nRF52 boards such as the RAK4631 update by dragging a UF2 file onto their USB drive.

  3. 3

    Pair with the app

    Install the Meshtastic app on Android or iOS (or use the web client), then pair with the node over Bluetooth using the PIN shown on its screen or in the serial log.

  4. 4

    Set the region

    In the app's LoRa settings, set your region. The radio won't transmit until you do. Also choose a modem preset and a node name.

  5. 5

    Join or make channels

    Use the default channel or share a custom channel QR code with friends, which encrypts your messages.

  6. 6

    Tips

    Height matters most for range. A node on a roof or hilltop dramatically extends the mesh. The building and flashing guides on meshtastic.org cover advanced setups.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
1node$18–$25View
1alternative$30–$45View
1alternative$25–$35View
LoRa antenna for your region band
Never power on without antenna
1antenna——
Estimated Total$18–$25 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32Draft
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32Draft
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3Draft
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed