Understanding LoRa Hardware
Deep-dive technical reference on MCU platforms, frequency bands, antenna types, and GPS integration for LoRa mesh nodes.
- ESP32 vs nRF52840: Which Platform?
- Frequency Bands Explained
- PCB Trace vs External Antenna
- GPS Integration in LoRa Nodes
- SX1262 vs SX1276: Why It Matters
- T114 and T3-S3: New Hardware for 2025-2026
ESP32 vs nRF52840: Which Platform?
Two microcontroller platforms dominate the LoRa mesh hardware landscape: Espressif's ESP32 family and Nordic Semiconductor's nRF52840. Both are capable, both are well-supported by Meshtastic and MeshCore firmware, and both commonly pair with the SX1262 (and related Semtech LoRa transceivers such as the SX1276/SX1268/LLCC68). But they are optimized for fundamentally different use cases, and choosing the wrong one has real consequences.
Platform Comparison at a Glance
| Feature | ESP32 / ESP32-S3 | nRF52840 |
|---|---|---|
| Manufacturer | Espressif Systems | Nordic Semiconductor |
| CPU cores | Dual-core Xtensa LX6/LX7 (ESP32-S3) | Single-core ARM Cortex-M4F |
| CPU speed | 240 MHz | 64 MHz |
| RAM | 512 KB SRAM on ESP32-S3 (classic ESP32 has 520 KB); + external PSRAM on some boards | 256 KB SRAM |
| Flash | Typically 4 - 16 MB (external) | 1 MB internal (+ optional external) |
| WiFi | Yes (2.4 GHz 802.11 b/g/n) | No |
| Bluetooth | BLE 5.0 | BLE 5.0 + Bluetooth Mesh |
| Active current (typical, approximate) | 80 - 240 mA | 10 - 20 mA |
| Deep sleep current | 10 - 150 µA (varies by variant) | ~0.4 µA (System OFF, no RAM retention) up to ~8 µA (with RAM retention / wake sources) |
| Supply voltage | 3.0 - 3.6V | 1.7 - 5.5V (natively tolerant) |
| Operating temp range | -40°C to +85°C | -40°C to +85°C |
| Hardware crypto | AES accelerator, SHA accelerator | CryptoCell-310 crypto accelerator (not Cortex-M33 TrustZone-M) |
| USB native | Yes (ESP32-S3, -S2, -C3) | Yes |
Figures above are approximate typical ranges, not single datasheet values; cite per-mode datasheet figures where precision matters. Per Nordic, the nRF52840 draws ~4.8 mA peak in TX (0 dBm), ~4.6 mA peak in RX, and ~52 µA/MHz running from flash; its System OFF floor is ~0.4 µA (no RAM retention) and ~1.5 µA in System ON with wake-on-RTC. The ESP32-S3 and nRF52840 are both rated -40 to +85 °C per their respective datasheets.
Power Consumption: The Real Numbers
For battery-powered mesh nodes, power consumption is frequently the deciding factor. Here are approximate figures for a LoRa mesh node in active listening mode (radio on, MCU active, no WiFi). Exact values depend heavily on board design and firmware sleep strategy:
| Condition | ESP32-S3 | nRF52840 | Factor Difference |
|---|---|---|---|
| Active (CPU + radio RX) | 80 - 120 mA | 15 - 20 mA | nRF52840 uses ~5 - 6x less |
| Light sleep (radio on) | 2 - 5 mA (approx., firmware-dependent) | 0.5 - 1 mA (approx., firmware-dependent) | nRF52840 uses ~4x less |
| Deep sleep (radio off) | 10 - 100 µA | ~0.4 - 8 µA | nRF52840 uses ~10 - 50x less |
| Transmit (100 mW / +20 dBm) | ~120 - 160 mA peak | ~120 - 150 mA peak | Similar (dominated by SX1262 PA current) |
Note on transmit current: LoRa TX draw is dominated by the SX1262 power amplifier, which draws ~118 mA at +22 dBm and ~45 mA at +14 dBm per the Semtech datasheet (the RAK4631 module measures ~125 mA at +20 dBm). With MCU overhead, a node transmitting at +20-22 dBm draws roughly 120-160 mA total — not the 350-500 mA sometimes quoted, which reflect WiFi TX bursts rather than LoRa.
Practical implication (illustrative estimate): A node that spends 95% of its time in light sleep will consume roughly 3 - 5 mA on ESP32-S3 vs 0.6 - 1 mA on nRF52840. On a 2000 mAh 18650 cell, that is approximately:
- ESP32-S3: ~400 - 650 hours (~17 - 27 days)
- nRF52840: ~2000 - 3300 hours (~83 - 137 days)
This 4 - 5x difference is why nRF52840 is the correct choice for battery-powered or solar nodes, and the ESP32 is acceptable only when AC power is available.
Sleep Modes Explained
ESP32 Sleep Modes
- Active: Full operation, both cores running, radio on
- Modem sleep: WiFi/BT radio off, CPU running - not useful for mesh nodes since the LoRa radio is external
- Light sleep: CPUs paused, memory retained, peripheral clocks gated. ~0.8 mA total system is achievable (board/firmware dependent) for an ESP32-S3 with the LoRa radio in sleep
- Deep sleep: Most of chip off, only RTC domain active. ~10 - 150 µA depending on which RTC peripherals/ULP are enabled
- Minimal deep sleep (RTC timer only): ~5 µA but loses non-RTC GPIO state. This is the lowest-current deep-sleep configuration rather than a separately named mode
Key limitation: the ESP32's sleep modes interact poorly with external peripherals. Bringing WiFi up from deep sleep takes 200 - 400 ms - during which messages can be missed.
nRF52840 Sleep Modes
- System On (active): Full operation, up to 64 MHz CPU
- System On (idle): CPU halted, peripherals running - ~1 - 3 mA (config-dependent)
- System On (low power): Aggressive clock gating via automated low-current modes - ~0.5 - 1 mA (config-dependent)
- System Off: Only GPIO wakeup retained - ~0.4 µA with no RAM retention, rising to ~1.5 - 2 µA with RAM retention / wake sources enabled
The nRF52840's architecture allows the BLE radio and application code to be active simultaneously in time-division, with very efficient power management built into the SoftDevice BLE stack.
WiFi: ESP32's Biggest Advantage
The ESP32's integrated 802.11 WiFi is a genuine capability that the nRF52840 lacks entirely. This matters for:
- MQTT bridging: An ESP32 node can connect directly to a WiFi network and forward mesh messages to an MQTT broker without any additional hardware
- OTA firmware updates: WiFi-based OTA is reliable and convenient; no cable required
- Web configuration interface: Meshtastic's web UI is served over WiFi from the node itself
- NTP time sync: WiFi-enabled nodes can sync accurate time without GPS
If your deployment scenario requires WiFi connectivity from the node itself - for example, a Meshtastic MQTT gateway or a node that serves as both a mesh device and a WiFi access point - the ESP32 is the better choice.
BLE Capabilities
Both platforms support BLE 5.0 and use it for phone-to-node configuration and message viewing via the Meshtastic and MeshCore apps. In practice, BLE performance is similar between the platforms. The nRF52840 additionally supports Bluetooth Mesh natively, but this is not used in current Meshtastic/MeshCore deployments.
Community and Software Support
| Criterion | ESP32 | nRF52840 |
|---|---|---|
| Meshtastic support | Excellent - most boards are ESP32 | Excellent - RAK4631, T-Echo, Station G2 all supported |
| MeshCore support | Good - T-Beam Supreme, Heltec V3 supported | Excellent - RAK4631 is the primary MeshCore platform |
| Community size | Larger overall (ESP32 dominates maker ecosystem) | Smaller but highly technical |
| Documentation quality | Extensive (Arduino, ESP-IDF, PlatformIO) | Good (Zephyr RTOS, Nordic SDK, Arduino) |
| Custom firmware development | Easier (Arduino IDE widely used) | Requires more expertise (Zephyr preferred) |
Decision Guide
| Use Case | Recommended Platform | Reason |
|---|---|---|
| Solar or battery repeater | nRF52840 | 4 - 5x better battery life is decisive |
| Portable handheld (multi-day) | nRF52840 | Extended field battery life |
| WiFi-connected gateway | ESP32 | Only platform with integrated WiFi |
| Mains-powered room server | ESP32 or Pi | Power draw irrelevant; WiFi useful |
| First node / beginner | ESP32 | More tutorials, more community support, cheaper |
| Secure or production mesh | nRF52840 | Stronger dedicated security hardware (CryptoCell-310 accelerator, secure boot). Note: current Meshtastic/MeshCore firmware use software crypto and do not yet leverage the CryptoCell, so this is a potential rather than currently-realized advantage |
Frequency Bands Explained
Frequency Bands Explained: 915 MHz vs 868 MHz vs 433 MHz
The single most common source of frustration for new LoRa mesh users - and the most easily avoided - is buying hardware on the wrong frequency band. A 868 MHz device purchased on AliExpress will not communicate with any 915 MHz nodes in a North American mesh network. This page explains the regulatory framework, how to identify what band your hardware is on, and why the problem occurs so frequently.
Regional Frequency Band Reference
Note on the power column: for the US/Canada 902-928 MHz band the figures are conducted output power (referenced to an antenna of ≤6 dBi gain), not EIRP. For the EU/UK they are ERP. These are not the same as EIRP. See the notes below the table for the antenna-gain rules.
| Region | Correct Band | Frequency Range | Regulatory Body | Max Power (conducted / ERP - see notes) |
|---|---|---|---|---|
| United States | 915 MHz | 902 - 928 MHz | FCC (Part 15, Subpart C) | 30 dBm (1 W) conducted, ref. ≤6 dBi antenna |
| Canada | 915 MHz | 902 - 928 MHz | ISED (RSS-210) | 30 dBm conducted, ref. ≤6 dBi antenna |
| Mexico | 915 MHz | 902 - 928 MHz | IFT | 30 dBm conducted, ref. ≤6 dBi antenna |
| Brazil | 915 MHz | 902 - 907.5 MHz (Meshtastic BR_902) | ANATEL | 30 dBm conducted, ref. ≤6 dBi antenna |
| Australia / New Zealand | 915 MHz | 915 - 928 MHz | ACMA / RSM | 30 dBm conducted, ref. ≤6 dBi antenna |
| European Union | 868 MHz | 863 - 870 MHz | ETSI (EN 300 220) | Most of band: 25 mW (14 dBm) ERP with duty-cycle limits. 500 mW (27 dBm) ERP only in the 869.4 - 869.65 MHz sub-band (10% duty cycle) |
| United Kingdom | 868 MHz | 863 - 870 MHz | Ofcom (IR 2030) | Mirrors ETSI: mostly 25 mW (14 dBm) ERP, duty-cycle limited; 500 mW (27 dBm) only in the 869.4 - 869.65 MHz sub-band |
| India | 865 MHz | 865 - 867 MHz | DoT / WPC | License-exempt SRD band (WPC GSR notification); up to ~1 W ERP with a spectral-density cap - verify the current WPC limit before deploying |
| China (mainland) | 470 MHz or 779 MHz | 470 - 510 MHz / 779 - 787 MHz | MIIT | Micro-power SRD limits per MIIT (Meshtastic CN uses ~19 dBm / ~79 mW) - verify against the current MIIT regulation |
| Japan | 920 MHz | ~920.8 - 927.8 MHz (AS923 / ARIB STD-T108) | MIC | Per ARIB STD-T108 (Meshtastic JP uses 16 dBm / ~40 mW) - verify the channel-specific limit |
| Korea | 920 MHz | 920 - 923 MHz | KCC / RRA | 10 mW (verify against the current Korean RF-device standard) |
Conducted power vs EIRP (US/Canada): Under 47 CFR 15.247, the 902-928 MHz limit is 1 W (30 dBm) peak conducted output power, referenced to an antenna with directional gain of ≤6 dBi. With a ≤6 dBi antenna this yields roughly a 36 dBm EIRP ceiling, but 36 dBm is a derived figure, not a flat standalone limit. If the antenna gain exceeds 6 dBi, the conducted output power must be reduced dB-for-dB above 6 dBi. So a high-gain directional antenna (e.g. a 10-15 dBi Yagi) does not let you radiate more - it requires you to turn the transmitter down accordingly. The EU/UK figures above are ERP, which is a different reference again. 868 MHz is an EU band and is not a US unlicensed ISM band.
Why You CANNOT Use EU Hardware on a US Network
This is not a software restriction - it is a physical hardware limitation. Here is what happens:
- The SX1262 radio chip itself can technically tune to a very wide frequency range. However, the matching network (a set of inductors and capacitors) on the PCB between the chip and the antenna is designed and tuned at manufacture for a specific frequency band.
- A board built for 868 MHz has its antenna matching network optimized for 868 MHz. If you configure the firmware to transmit at 915 MHz, the mismatch between the matching network and the actual operating frequency results in:
- Reduced transmit power (some energy is reflected back rather than radiated because of the impedance mismatch)
- Reduced receiver sensitivity, because the front-end matching (and filtering, on boards that have it) is tuned for 868 MHz and attenuates the wanted 915 MHz signal
- At these sub-watt power levels, a band offset of this size is far more likely to reduce performance than to damage the radio. A severe mismatch (e.g. transmitting with no antenna at all) can stress the PA, but the modest VSWR from a ~5% frequency offset is generally within the SX1262's load tolerance
- In practice, a 868 MHz board configured for 915 MHz operation transmits at reduced power and receives with reduced sensitivity. The exact degradation depends on the board's matching network (often a few dB to several dB, dominated by the antenna mismatch), and in a real mesh it typically will not communicate reliably with other nodes.
Additionally: Transmitting on a frequency outside your regional allocation is a regulatory violation. US unlicensed sub-GHz ISM operation under Part 15.247 is the 902-928 MHz band; 868 MHz is not an unlicensed ISM band in the US, so operating a standard LoRa node on 868 MHz there is not authorized. Conversely, reconfiguring a CE-marked 868 MHz device to 915 MHz operates it outside the band its CE/RED conformity (Directive 2014/53/EU) was declared for, voiding that conformity.
Why AliExpress Listings Default to 868 MHz
Most LoRa hardware manufacturers are based in China. 868 MHz is the standard band for the large EU/UK market. When a generic AliExpress seller lists "LoRa32 development board" without a clear frequency specification, it is very often 868 MHz because:
- 868 MHz is a common export configuration for the European market
- Many sellers do not understand the regional band requirements and list boards without specifying frequency
- Products are often labeled simply "LoRa" with no frequency mentioned - defaulting to whatever batch was ordered (often 868 MHz)
- The price difference between 868 and 915 MHz versions is typically zero, so sellers don't bother distinguishing (as of 2026-06-08; pricing varies by vendor and is not guaranteed)
The rule: If the listing does not explicitly say "915MHz" or "915M", assume it is 868 MHz and do not buy it for North American use.
How to Identify Your Hardware's Frequency Band
Before Buying
- Check the product title for "915MHz", "915M", "US915", or "AU915"
- Check the product description for frequency specification
- Look at photos of the PCB - many boards have the frequency printed on the silkscreen near the antenna connector
- Check the seller's other listings - if they sell both 868 and 915 versions, make sure you selected the right one
After Receiving
- PCB silkscreen: Look near the SMA/U.FL connector or on the module itself. Common markings: "915", "868", "433", or a product code like "SX1262-915".
- Module label / SKU: On RAK WisBlock modules, frequency is set by the region-specific variant ordered (e.g. a US915 SKU), not by a letter suffix. Note that the "-R" suffix (as in RAK4631-R) denotes the RUI3 firmware build - it does not indicate a frequency band. Always check the SKU/listing for the band.
- Firmware frequency: If the device has already been flashed, connect via serial or BLE and check the configured region. In Meshtastic: Radio Config → LoRa → Region. The configured region should be US (or AU for Australia) for 915 MHz operation.
- RF spectrum verification (advanced): Using an RTL-SDR or similar receiver, you can observe the actual transmit frequency when the node sends a packet. This is the definitive test.
The 433 MHz Band
A third band - 433 MHz - is a defined, legitimate region option in several jurisdictions (Meshtastic has EU_433, ANZ_433, UA_433, MY_433, PH_433, and others), where it is a valid if lower-bandwidth mesh band. For North American community mesh networking, 433 MHz is not used. If you accidentally purchase a 433 MHz board for a 915 MHz network, it is completely unusable in that network - not just degraded, but transmitting and receiving on an entirely different part of the spectrum. Additionally, 433 MHz requires a physically larger antenna (a quarter-wave whip is approximately 17 cm at 433 MHz vs about 8 cm at 915 MHz).
Frequency Band Identification Quick Reference
| What You See | Interpretation | US/Canada Compatible? |
|---|---|---|
| "915MHz", "915M", "US915", "AU915" | Correct band for North America/Australia | Yes |
| "868MHz", "868M", "EU868" | European 863-870 MHz band - wrong for North America | No |
| "IN865" | India's 865-867 MHz band - a separate allocation from EU868, also wrong for North America | No |
| "433MHz", "433M" | 433 MHz - a valid band in some regions (EU_433, ANZ_433, etc.) but not used for North American mesh | No |
| No frequency mentioned | Assume 868 MHz unless confirmed otherwise | Assume No - verify first |
| RAK4631-R | The "-R" suffix means the RUI3 firmware build, NOT a frequency. Band is set by the region SKU - check the listing | Depends on SKU - verify |
| RAK4631 (no suffix) | No suffix does not imply a band. The RAK4631 ships in region-specific SKUs (US915, EU868, etc.) - check the listing | Depends on SKU - verify |
PCB Trace vs External Antenna
The antenna is one of the most important factors in the range and reliability of a LoRa mesh node, alongside spreading factor and transmit power. (Spreading factor in particular changes the link budget by 15-20+ dB across SF7-SF12, which often outweighs the few-dB difference between a poor and a good antenna.) Even so, the antenna is the most commonly overlooked hardware detail, especially by beginners who assume the built-in PCB trace antenna is adequate for outdoor use.
PCB Trace Antennas: What They Are
A PCB trace antenna (also called a PCB antenna or on-board antenna) is a specific pattern etched directly into the copper layers of the circuit board. No separate component - it is part of the PCB itself. You can identify one by looking at a corner of the board where the copper traces form a meandered or serpentine pattern, often with a small keepout area around it where no other copper is present.
PCB trace antennas are used because they cost essentially nothing to add during PCB manufacturing, they take up minimal volume, and they eliminate the need for an SMA/U.FL connector and cable. For products designed to be small and cheap - like many ESP32 dev boards - they make sense as a baseline.
Why PCB Antennas Are Inadequate for Outdoor Use
A well-designed, well-matched PCB trace antenna at 915 MHz can reach roughly 0 - 2 dBi, but the small or detuned implementations found on typical dev boards are frequently negative-gain (commonly -3 to -6 dBi, sometimes worse) once electrical size, lossy FR4, ground-plane coupling, and proximity to a hand or case are accounted for. Treat a dev-board PCB antenna as significantly worse than a quarter-wave whip. In practice, PCB antennas on development boards suffer from several additional problems:
- Proximity effects: A PCB trace antenna's tuning is affected by everything near it - your hand, a battery, the case material, the board itself. Moving the device changes the antenna's effective frequency and radiation pattern.
- Orientation sensitivity: PCB trace antennas are non-omnidirectional, with pronounced nulls in their radiation pattern. In a pocket or on a table, a null direction may be exactly toward the nodes you want to reach.
- No replaceable component: If the PCB trace antenna design is suboptimal (common on cheap dev boards), there is nothing to improve without adding an external connector.
- Body shielding: When carried in a pocket, the human body absorbs several dB of the already-weak signal from a PCB antenna. An external antenna on a cable can be positioned to avoid this.
Gain Comparison
| Antenna Type | Typical Gain | Effective Range vs PCB | Notes |
|---|---|---|---|
| PCB trace antenna (dev board) | -4 to +2 dBi (often negative when detuned) | Baseline | Subject to proximity detuning |
| Small rubber duck (included) | 1 - 2 dBi | ~1.1 - 1.3x | Better than PCB in most orientations |
| Quality 915 MHz rubber duck | 2 - 3 dBi | ~1.3 - 1.5x | Taoglas, Linx brand options |
| Quarter-wave whip + ground plane | ~5.15 dBi (ideal ground plane; ~2-5 dBi on a small/finite ground plane) | ~1.3 - 2x | Omnidirectional; DIY-constructable. Note 2.15 dBi is the half-wave dipole figure, not the monopole's |
| Fiberglass 3 dBi (915 MHz) | 3 dBi | ~1.5 - 2x | Best for outdoor fixed nodes |
| Fiberglass 5 dBi | 5 dBi | ~2.5 - 3x | Narrower beam; use at elevation |
| Fiberglass 8 dBi | 8 dBi | ~4 - 5x | Very narrow beam; hilltop/tower only. Can shoot over nearby/low nodes |
| Yagi 10 dBi | 10 dBi | ~6 - 8x | Highly directional; point-to-point only. Gain depends on element count |
Range multipliers are approximate in ideal line-of-sight conditions. Real-world gains depend on terrain, obstruction, and link margin. Antenna gain figures for commercial products are nominal/marketing values and vary by sample.
Connector Types: SMA vs U.FL
SMA (SubMiniature version A)
SMA is a threaded RF connector found on most external antennas. Boards with an SMA connector (T-Beam, RAK WisBlock base boards) can directly accept standard SMA-terminated antennas. There are two variants:
- SMA: Female connector on the antenna (outer thread, inner pin) plugs into the board's male SMA jack (inner socket, outer thread)
- RP-SMA (Reverse Polarity SMA): Used on WiFi routers and many US-market devices. The genders of the center conductor are swapped. A standard SMA antenna will NOT fit an RP-SMA connector without an adapter. Make sure your antenna matches your board's connector type.
U.FL (also called IPEX or MHF1)
U.FL is a tiny snap-fit coaxial connector used internally on boards when the antenna connector needs to be on a cable or module rather than soldered to the main PCB. The Heltec V3 LoRa output, some WisBlock modules, and many radio modules use U.FL.
A U.FL connector board requires a U.FL to SMA pigtail cable (typically 10 - 15 cm) to adapt to a standard SMA antenna. Over such a short run of thin (1.13 mm / RG-178-class) coax, this cable introduces only a small fractional-dB insertion loss at 915 MHz (on the order of 0.3 - 0.5 dB), which is a worthwhile tradeoff for a proper external antenna.
When Is a PCB Antenna Acceptable?
PCB antennas are adequate in these specific scenarios:
- Indoor testing at short range: Verifying that firmware flashed correctly, testing basic connectivity between nodes in the same room
- High-density indoor mesh: In a building with many nodes at close range (under 50 meters), PCB antenna limitations are less relevant
- Ultra-compact wearable or embedded device: If physical size constraints prevent any external component, a PCB antenna may be the only option - but accept the range limitation
For any outdoor deployment, fixed repeater, or range-critical use, an external antenna is non-negotiable.
Antenna Selection for Common Boards
| Board | Built-in Antenna | External Connector | Recommended Upgrade |
|---|---|---|---|
| Heltec WiFi LoRa 32 V3 | U.FL LoRa output with included external antenna (the on-board metal spring antenna is for WiFi/BT only, not LoRa) | U.FL / IPEX (LoRa) | U.FL - SMA pigtail + 3 dBi rubber duck |
| LilyGO T-Beam Supreme | None (SMA only) | SMA male | Quality 915 MHz 3 dBi rubber duck; fiberglass for fixed |
| LilyGO T-Echo | None | U.FL / IPEX (verify; sources conflict SMA vs U.FL) | Included rubber duck is adequate; upgrade for repeater use |
| RAK4631 (WisBlock) | None | IPEX (U.FL) on module | RAK base board provides SMA passthrough; use 3 - 5 dBi fiberglass for fixed nodes |
| Station G2 | None | SMA male | 3 dBi stubby for portable; fiberglass for fixed |
Cable Loss Warning
If your antenna requires a coaxial cable run (for example, mounting an antenna on a roof while the radio is indoors), cable loss must be accounted for. At 915 MHz:
- RG-58: approximately 0.7 - 0.8 dB/meter - avoid runs over 3 meters
- RG-8X: approximately 0.27 - 0.30 dB/meter - usable up to ~10 meters
- LMR-400: approximately 0.13 dB/meter (~3.9 dB per 100 ft) - suitable for long runs
- LMR-200: approximately 0.23 - 0.25 dB/meter - good for medium runs
A 10-meter run of RG-58 costs you roughly 7 - 8 dB at 915 MHz - more than a 5x reduction in power, completely erasing any gain advantage from a high-gain antenna. Use the lowest-loss cable practical for your installation.
GPS Integration in LoRa Nodes
GPS in a LoRa mesh node serves two primary purposes: precise location sharing with other mesh users (visible on the Meshtastic map or MeshCore position view), and network topology visualization. Whether you need GPS depends heavily on your use case - and whether you have it, you need to manage its substantial power draw carefully.
Why GPS Matters for Mesh Networking
- Position sharing: Nodes with GPS broadcast their coordinates at regular intervals. Other mesh users can see your location on the map, which is critical for field teams, SAR operations, and event coordination.
- Network mapping: Community mesh maps (like Meshmap.net for Meshtastic) aggregate node positions to show coverage areas and network topology. GPS-equipped nodes contribute to this.
- Time synchronization: GPS provides a highly accurate time signal (UTC). Meshtastic uses a listen-before-talk (CSMA-style) channel access scheme, not strict time-slotting/TDMA, so a node does not need network-wide time sync to communicate. Clock drift on a node without GPS (and without a phone/RTC time source) mainly affects message timestamps and position freshness, not the ability to send and receive messages.
- Range testing: Knowing the exact GPS coordinates of both ends of a link allows accurate range measurement for antenna and placement experiments.
Boards with Integrated GPS
| Board | GPS Module | Constellations | Cold Start | GPS Antenna | Notes |
|---|---|---|---|---|---|
| LilyGO T-Beam Supreme | u-blox NEO-M10S / MAX-M10S (Quectel L76K option) | GPS, GLONASS, Galileo, BeiDou | ~30 - 45s (open sky) | External patch antenna included | Best GPS performance of common boards |
| LilyGO T-Echo | Quectel L76K | GPS, GLONASS, BeiDou | ~45 - 90s (open sky) | Integrated ceramic patch | Compact, adequate for field use |
| LilyGO T-Beam v1.1 (older) | NEO-6M / NEO-M8N | GPS only (NEO-6M) or GPS+GLONASS (M8N) | 45 - 120s | External patch antenna | Older; M8N variant is better |
| RAK WisBlock + RAK1910 | u-blox MAX-7Q | GPS, GLONASS | ~60s | Requires external patch antenna | Module adds GPS to any WisBlock base |
| RAK WisBlock + RAK12500 | u-blox ZOE-M8Q | GPS, GLONASS, Galileo, BeiDou | ~26s | Integrated ceramic patch | Better performance than RAK1910 |
Adding GPS to Boards Without
Boards like the Heltec WiFi LoRa 32 V3, Station G2, or basic ESP32 LoRa boards do not include GPS. You can add it via UART:
Common Add-On GPS Modules
| Module | Chip | Interface | Cost (as of 2026-06-08) | Notes |
|---|---|---|---|---|
| GT-U7 / Neo-6M clone | u-blox NEO-6M (often clone) | UART (9600 baud default) | $4 - $8 | Ubiquitous, adequate for basic use; GPS only, no GLONASS |
| Beitian BN-220 | u-blox UBX-M8030 | UART | $12 - $18 | Concurrent GPS + GLONASS (or GPS + BeiDou); compact; popular in FPV community |
| Beitian BN-880 | u-blox UBX-M8030 + compass (HMC5883L or QMC5883L depending on revision) | UART + I2C | $15 - $22 | GPS + GLONASS + compass |
| Grove GPS (Seeed) | Air530 or u-blox | UART via Grove connector | $10 - $15 | Plug-and-play with Grove system boards |
| PA1010D (Adafruit) | MediaTek MT3333 | UART or I2C | $14 - $20 | Very small (25×25mm); good sensitivity |
UART Wiring for External GPS
Connecting an external GPS module via UART to an ESP32 or nRF52840 board requires four wires:
| GPS Module Pin | Connects To (MCU) | Notes |
|---|---|---|
| VCC | 3.3V or 5V (check module specs) | Most modern GPS modules are 3.3V; some accept 5V |
| GND | GND | Common ground reference |
| TX (GPS transmits) | RX pin on MCU (e.g., GPIO 34 on T-Beam) | GPS sends NMEA sentences to MCU |
| RX (GPS receives) | TX pin on MCU | MCU sends configuration commands to GPS; not strictly required for basic operation |
In Meshtastic firmware, configure the GPS UART pins via the serial module settings or by editing the platformio.ini defines for your board variant. The default baud rate for most GPS modules is 9600; some support higher speeds (38400, 115200) for reduced latency.
GPS Power Consumption
GPS is one of the highest-power peripherals in a LoRa mesh node. Understanding its power draw is essential for battery life calculations:
| GPS Module | Acquisition Current | Tracking Current | Standby / Sleep |
|---|---|---|---|
| u-blox NEO-6M (clone) | ~50 mA | ~45 mA | ~4 mA (power save mode) |
| u-blox MAX-M10S (T-Beam Supreme) | ~18 mA | ~12 mA | ~28 µA (hardware backup mode) |
| Quectel L76K (T-Echo) | ~29 mA | ~20 mA | ~0.5 mA (standby) |
| u-blox ZOE-M8Q (RAK12500) | ~22 mA | ~18 mA | ~15 µA (backup) |
| Beitian BN-220 | ~40 mA | ~35 mA | ~1 mA |
A GPS module drawing 20 mA continuously on an nRF52840 node that otherwise draws only a few milliamps (depending on sleep and BLE settings) completely changes the power budget. With GPS always on, the effective battery life drops by an order of magnitude on an already efficient node.
Disabling GPS to Save Power
For nodes where GPS is not needed - fixed repeaters, indoor nodes, nodes operated by users who are not location-sharing - GPS should be disabled:
In Meshtastic
- Open Meshtastic app → Radio Config → Position
- Set GPS Mode to "Disabled" or "Not Present"
- Set Position Broadcast Interval to 0 (disable position broadcasting)
- The firmware will stop initializing the GPS UART and power-gate the GPS module if the board supports it
In MeshCore
- GPS can be disabled in the node configuration. Boards without GPS will automatically operate without position features.
Hardware Power Gating
The T-Beam Supreme provides software-controllable GPS power - on the Supreme, GPS power is gated through the AXP2101 PMIC. When GPS is disabled in Meshtastic firmware, cutting power to the GPS eliminates its standby draw entirely (the MAX-M10S otherwise draws ~28 µA in hardware backup mode). This is the correct way to save GPS power on the T-Beam.
On boards without hardware GPS power gating (many DIY builds), you may need to add a P-channel MOSFET or a load switch IC between the 3.3V rail and the GPS module's VCC to enable software-controlled power off.
GPS Accuracy and Placement Tips
- Sky view is everything: GPS requires line-of-sight to satellites. A node in a metal enclosure, inside a building, or under a dense tree canopy will have poor GPS accuracy or fail to acquire a fix. For outdoor fixed nodes, ensure the GPS antenna has clear sky view.
- Active vs passive antenna: The MAX-M10S on the T-Beam Supreme supports active antennas (it includes an antenna supervisor / LNA_EN for active-antenna control), and the T-Beam Supreme exposes an external GPS antenna connector. Active antennas include a built-in LNA and provide better sensitivity in marginal conditions. The T-Beam's included antenna is typically a passive ceramic patch - an active upgrade (check connector compatibility) can improve indoor fix times.
- Almanac reuse (warm start): Meshtastic saves almanac data received from satellites to flash and reloads it on boot, enabling a faster warm start. It does not download AGPS almanac/ephemeris data over WiFi or the internet. (General-purpose u-blox AssistNow AGPS, where supported by a host application, can reduce cold-start time to roughly 1 - 5 seconds under good sky-view conditions, but Meshtastic's mechanism is local flash reuse, not an online download.)
- Backup battery: GPS modules with a small backup coin cell retain almanac data between power cycles, reducing cold start to a faster "warm start" (older modules typically 5 - 15 seconds; the MAX-M10S hot start is ~1 s). The T-Beam Supreme includes this backup battery circuit.
SX1262 vs SX1276: Why It Matters
SX1262 vs SX1276: Why It Matters
The two most common LoRa radio ICs from Semtech in mesh nodes today are the older SX1276 (SX127x family) and the newer SX1262, though newer boards may instead use the LR1110/LR1121 or the 2.4 GHz SX1280. Both the SX1276 and SX1262 implement LoRa spread-spectrum modulation and are outwardly similar, but their performance characteristics and firmware support differ in ways that matter to operators making purchasing decisions.
SX1276 -- The Legacy Chip
The SX1276 was Semtech's main LoRa transceiver through most of the 2010s and became the default radio in the first wave of Meshtastic hardware. It supports 433, 868, and 915 MHz bands via separate variants. Key specs:
- Receive sensitivity: ~-137 dBm at SF12, BW125 (the headline ~-148 dBm figure applies only at the narrowest bandwidth)
- Max output power: +20 dBm via the PA_BOOST path (+17 dBm on the RFO path); most 868/915 MHz Meshtastic boards use the +20 dBm PA_BOOST output
- No dedicated hardware Channel Activity Detection (CAD) of the kind the SX126x family added
- Wider support across early Meshtastic board designs
Boards using SX1276: T-Beam v0.7, v1.0, v1.1; Heltec LoRa 32 V1 and V2; original TTGO LoRa boards.
SX1262 -- The Current Standard
The SX1262 is Semtech's second-generation LoRa transceiver and is now the standard chip in nearly all modern mesh hardware. Improvements over SX1276:
- Receive sensitivity: ~-137 dBm at SF12, BW125 -- essentially the same as the SX1276 at the same SF/BW (both datasheets quote ~-148 dBm only at their narrowest bandwidth). At a given SF/BW the two chips are within roughly 1-3 dB of each other
- Max output power: +22 dBm (vs +20 dBm)
- Hardware Channel Activity Detection (CAD) -- the chip can listen for LoRa preambles and avoid transmitting when the channel is busy, reducing packet collisions
- Lower RX current draw and TCXO-based frequency stability, giving a slightly better overall link budget
Boards using SX1262: T-Beam v1.2 and Supreme; RAK4631 WisBlock (all variants); Heltec LoRa 32 V3; LILYGO T-Deck; Heltec Mesh Node T114; T3-S3.
MeshCore Chip Support
In practice, MeshCore targets SX126x-class radios and the great majority of MeshCore hardware uses the SX1262. MeshCore does, however, support SX1276/SX127x variants as well, so an SX1262 is not a hard requirement. If you are buying hardware specifically for MeshCore, SX1262-equipped boards are the most widely supported choice; check the MeshCore supported-hardware list for the specific board you intend to use.
Meshtastic supports both chips, though official guidance now flags the older SX127x boards as phased out and not recommended for new purchases.
Practical Range Impact
At the same spreading factor and bandwidth, the SX1262 and SX1276 have very similar receive sensitivity (within about 1-3 dB), so swapping chips does not by itself produce a large range increase. The SX1262's real advantages are its lower RX current draw, TCXO stability, hardware CAD, and a slightly better overall link budget. Real-world range in any deployment is dominated by antenna gain, height, line of sight, and local noise -- not by the choice between these two chips.
Quick Reference: Which Board Has Which Chip
| Board | Chip | MeshCore Compatible |
|---|---|---|
| T-Beam v0.7 / 1.0 / 1.1 | SX1276 | Yes (SX127x supported) |
| T-Beam v1.2 / Supreme | SX1262 | Yes |
| RAK4631 (all) | SX1262 | Yes |
| Heltec V1 / V2 | SX1276 | Yes (SX127x supported) |
| Heltec V3 | SX1262 | Yes |
| T-Deck | SX1262 | Yes |
| T114 | SX1262 | Yes |
| T3-S3 | SX1262 variant (also sold with SX1276 / LR1121 / SX1280) | Yes |
When purchasing used or surplus hardware, always verify the board version before assuming SX1262. Many T-Beams sold on secondary markets are pre-v1.2 and carry the SX1276. Check the silkscreen on the radio module or the board revision printed near the USB port.
T114 and T3-S3: New Hardware for 2025-2026
T114 and T3-S3: New Hardware for 2025-2026
The 2024-2025 product refresh introduced two boards that are quickly becoming community favourites: the Heltec Mesh Node T114 and the LILYGO T3-S3. (Note: the T114 is a Heltec board, not a LILYGO board.) Both pair an SX1262 LoRa radio with a modern microcontroller, but they target distinctly different use cases and operator needs.
T114 -- Compact Infrastructure Node
The Heltec Mesh Node T114 combines Nordic Semiconductor's nRF52840 with the SX1262 in a compact form factor with a small 1.14″ TFT. It is well suited to infrastructure deployments as well as light handheld use:
- MCU: nRF52840 (ARM Cortex-M4F at 64 MHz)
- Radio: SX1262 -- MeshCore and Meshtastic compatible; ~21±1 dBm TX (bare SX1262, no external PA)
- Display: 1.14″ TFT
- Connectivity: USB-C for power and programming; BLE for phone pairing
- Power: Leverages the nRF52840's exceptional sleep current (sub-25 µA) -- suitable for solar deployments on very small panels; includes a solar charge connector
- Form factor: Smaller than a T-Beam; easy to fit in weatherproof enclosures
The T114 is a strong choice for infrastructure roles thanks to its low sleep current and small footprint. For a repeater node on a rooftop or inside a pelican case, the compact board fits easily. Community feedback has been overwhelmingly positive: operators report clean BLE pairing, reliable SX1262 performance, and excellent battery life. Firmware is entered via a DFU double-tap reset. The one common complaint is that the small PCB can be finicky to solder antenna connectors to, so purchasing the version with a pre-soldered U.FL connector is recommended.
Firmware support: Meshtastic ships official T114 firmware. MeshCore also supports the T114 with its nRF52840 build.
T3-S3 -- The WiFi-Capable LoRa Node
The LILYGO T3-S3 pairs Espressif's ESP32-S3 with an SX1262 and is positioned as a direct competitor to the T-Beam Supreme in the WiFi-capable segment:
- MCU: ESP32-S3 (ESP32-S3FH4R2) dual-core at 240 MHz, 4 MB flash, 2 MB PSRAM
- Radio: SX1262
- GPS: No onboard GPS; optional external GPS module via header (Meshtastic docs list the T3-S3 as "No GPS")
- WiFi: 802.11 b/g/n via ESP32-S3 -- enables MQTT bridging and web config
- USB-C: Yes, with native USB on ESP32-S3 (faster flashing, serial CDC without external chip)
- Form factor: Slightly more compact than T-Beam Supreme; no integrated keyboard
The T3-S3 is a useful WiFi MQTT gateway option for existing T-Beam deployments. Where the original T-Beam uses an older ESP32, the T3-S3's ESP32-S3 offers native USB and handles concurrent WiFi and LoRa tasks more reliably. With 4 MB flash and 2 MB PSRAM it has enough headroom for Meshtastic's typical WiFi/MQTT workload, though it is not a large-memory board (2 MB PSRAM, not the 8 MB found on the T-Deck), so running every feature simultaneously should not be assumed.
Availability and Pricing (as of 2026-06-08)
- The T3-S3 is available directly from lilygo.cc; the T114 from Heltec and resellers, typically with 2-3 week shipping from Shenzhen
- Amazon listings exist for both boards (US warehouse stock, faster shipping, approximately 15-20% price premium)
- AliExpress offers the lowest prices but longest lead times
- T114: approximately $18-34 USD depending on variant/GPS option (as of 2026-06-08) -- prices are volatile; see the Mid-Range Devices page for the same board
- T3-S3: approximately $25-32 USD without GPS module (as of 2026-06-08) -- verify against the lilygo.cc listing
Community Verdict
Both boards have earned strong reputations in the mesh community since their wider availability in mid-2024. The T114 is now a popular recommendation for solar repeater builds in the RAK4631's price range, particularly where MeshCore compatibility is required. The T3-S3 is a recommended ESP32 platform for new WiFi gateway deployments, preferred over the ageing T-Beam for its updated silicon and USB-C convenience. Operators upgrading from T-Beam v1.1 hardware should consider the T3-S3 as a modern replacement.