Skip to main content

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). Nodes without GPS and without WiFi may have clock drift over time, which can affect message timestamps and channel timing.
  • 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 M10 (UBX-M10050) 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 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 M8030 UART $12 - $18 GPS + GLONASS; compact; popular in FPV community
Beitian BN-880 u-blox M8030 + HMC5883L compass 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 M10 (T-Beam Supreme) ~18 mA ~12 mA ~8 µA (deep sleep)
Quectel L76K (T-Echo) ~25 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 2.5 mA 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 includes a software-controllable power switch for the GPS module via a GPIO pin. When GPS is disabled in Meshtastic firmware, this switch cuts power to the GPS entirely - achieving the 8 µA deep sleep current of the M10 rather than wasting its standby current. 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 u-blox M10 on the T-Beam Supreme supports an external active patch antenna. Active antennas include a built-in LNA and provide better sensitivity in marginal conditions. The T-Beam's included antenna is passive - an active upgrade (check connector compatibility) can improve indoor fix times.
  • AGPS (Assisted GPS): Some modules support AGPS, where the firmware downloads almanac and ephemeris data over WiFi to dramatically reduce cold start time to under 5 seconds. Meshtastic supports this on ESP32 boards with WiFi.
  • Backup battery: GPS modules with a small backup coin cell retain almanac data between power cycles, reducing cold start from 45 - 90 seconds to a "warm start" of 5 - 15 seconds. The T-Beam Supreme includes this backup battery circuit.