Meshtastic is open-source firmware that turns a cheap ESP32-plus-LoRa board into a long-range, off-grid text messenger — no phone signal, no Wi-Fi, no SIM card, just LoRa radio hopping messages from device to device across a self-forming mesh. I picked up a SX1262 LoRa ESP32 board to try it, and the whole thing was up and passing messages to a phone within about twenty minutes — the setup is genuinely more approachable than it sounds.

What board you actually need

Meshtastic needs two things on one board: an ESP32 (or nRF52) microcontroller, and a LoRa radio chip — most commonly Semtech’s SX1262 or SX1276. Boards sold under a dozen different reseller names on marketplaces are frequently the same handful of reference designs underneath. Mine is listed as a generic “Diymore SX1262 LoRa V3,” but the silkscreen on the board itself reads “Designed & Produced by HelTec AutoMation” — it’s a genuine Heltec WiFi LoRa 32 V3, just resold under an unrelated storefront name. Worth checking the actual board photos and silkscreen before buying, since the region/frequency variant matters (more on that below) and “generic-sounding Amazon listing” doesn’t tell you which reference design you’re getting.

The board also needs an antenna connected — mine came with both a small spring antenna and a proper external whip antenna on an IPEX connector. Never power a LoRa board with no antenna attached; transmitting into an open connector with nothing to radiate the RF can damage the radio’s output stage.

Picking the right firmware region

Meshtastic firmware is built per-region, because LoRa’s usable frequency band and allowed transmit power are set by local radio regulations, not by Meshtastic itself. In the UK, that’s the EU_868 build (868MHz). Flashing an EU_868 board with a US firmware build (915MHz) means it transmits outside the frequency range your antenna and local regulations are designed for — it may still power on and look like it’s working, but it won’t talk to other properly-configured devices nearby, and it’s not something to do on the actual airwaves even if it seemed to work on the bench.

Flashing the firmware

The easiest path is the browser-based flasher at Meshtastic’s own site — it uses WebSerial, so it needs Chrome or Edge (Firefox and Safari don’t support WebSerial):

  1. Plug the board in via USB-C.
  2. Open the Meshtastic web flasher, select the correct device model (mine needed “Heltec WiFi LoRa 32 V3” specifically — picking the wrong variant from a long dropdown of similar-sounding Heltec boards is an easy mistake, and it flashes but the OLED and buttons behave wrong afterwards) and the correct region (EU_868 for the UK).
  3. Let it flash — the board reboots on its own once done, and the little onboard OLED lights up with a Meshtastic boot screen if it worked.

If the board doesn’t show up as a serial device at all, that’s a driver problem rather than a Meshtastic one — see why won’t my ESP32 upload for the usual causes (most often a charge-only USB cable, or a missing CP210x/CH340 driver depending which USB-serial chip the specific board uses).

Pairing with the phone app

Install the Meshtastic app (iOS or Android), and connect to the board over Bluetooth, not Wi-Fi — this trips people up because the board has Wi-Fi hardware (it’s an ESP32) but Meshtastic’s primary phone link is BLE by default. The app walks through a first-time setup: naming the node, confirming the region again on the phone side, and setting a short/long name that shows up to other mesh members.

Once paired, the app is where actual usage happens — sending text messages, checking node distance/signal, and seeing every other Meshtastic node currently in radio range on a map. The board itself keeps working and relaying mesh traffic even with the phone disconnected; the phone is just the interface, not something the mesh depends on staying connected.

First mesh contact and the one gotcha that had me confused

With just one board, there’s nothing to talk to yet — Meshtastic needs at least two nodes in radio range to do anything. The genuinely surprising part, coming from Wi-Fi-router thinking, is that there’s no access point or gateway involved at all: two Meshtastic nodes anywhere within LoRa range of each other just start seeing one another and relaying messages automatically, no pairing step between the boards themselves. The thing that had me confused for a few minutes on first contact was assuming a “primary channel” needed to match some invisible network name — it does, but it defaults to a shared public channel called LongFast on a fresh flash, which is exactly why two out-of-the-box boards near each other find each other with zero configuration.

Range depends heavily on antenna and terrain, but LoRa’s whole reason for existing is trading bandwidth (Meshtastic messages are short text, not media) for range — a couple of kilometres between line-of-sight nodes isn’t unusual even on modest antennas, which is a genuinely different proposition from Bluetooth or Wi-Fi range.

Where this goes next

A single node is a curiosity; two or more is when it becomes useful — hiking groups, site-to-site comms with no phone signal, or just a standing mesh between home and a nearby friend’s house. If you’re shopping for a second board rather than starting from scratch, the ESP32 DevKit pinout guide covers the underlying chip this board is built around, and is worth a read if you end up wiring anything extra to the board’s exposed GPIO later.