Overview

The NEO-M8N is a concurrent GNSS (Global Navigation Satellite System) receiver module manufactured by u-blox. Unlike older single-constellation receivers (such as the NEO-6M), the NEO-M8N can simultaneously receive and track multiple satellite constellations—including GPS, GLONASS, BeiDou, and QZSS—delivering higher positioning accuracy (2.5 m2.5\text{ m} CEP), faster Time-To-First-Fix (TTFF), and superior signal immunity in urban canyons.

It features onboard SQI flash memory for user configuration storage, an active antenna supervisor, low-noise amplifier (LNA), and supports update rates up to 10 Hz. It is widely used in flight controllers (ArduPilot, INAV, Betaflight), vehicle trackers, and outdoor IoT loggers.

Quick reference

Module VCC3.3 V to 5.0 V DC (onboard LDO)
Chip VCC2.7 V to 3.6 V DC
ConstellationsConcurrent GPS + GLONASS + BeiDou + QZSS + SBAS (WAAS/EGNOS)
Position accuracy2.5 m CEP (Autonomous) / 2.0 m CEP (SBAS augmented)
Tracking sensitivity-167 dBm
Update rateUp to 10 Hz (Concurrent GNSS)
Default UART config9600 baud (configurable up to 921600 baud), NMEA 0183 protocol
Time-To-First-Fix (TTFF)Cold start: 26 s / Hot start: 1 s

Pinout

Standard 5-Pin Breakout Header

PinNameTypeDescription
1VCCPowerSupply voltage input (+3.3 V to +5.0 V DC)
2GNDPowerGround (0 V)
3TXD / TXDigital OutputUART Transmit data line (3.3V TTL logic level)
4RXD / RXDigital InputUART Receive data line (3.3V TTL logic level)
5PPS / TPDigital OutputTime Pulse 1-PPS output (1 pulse-per-second strobe when locked)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Chip Supply VoltageVCCV_{CC}2.73.03.6VDC
Tracking CurrentItrackI_{track}6785mAConcurrent GPS + GLONASS
Max Velocity Limitvmaxv_{max}500m/s1800 km/h1800\text{ km/h}
Max Altitude Limithmaxh_{max}50000m50 km (COCOM limit)
Velocity Accuracyvaccv_{acc}0.05m/s
Heading Accuracyψacc\psi_{acc}0.3°Motion dependent

Communication NMEA Sentences & UBX Binary Protocol

The NEO-M8N transmits standard NMEA-0183 ASCII text sentences at 9600 baud by default:

  • $GNRMC / $GPRMC: Recommended Minimum Specific GNSS Data (Latitude, Longitude, Speed, Heading, Date).
  • $GNGGA / $GPGGA: Global Positioning System Fix Data (Fix quality, Number of satellites, Altitude).

It also supports u-blox's proprietary UBX binary protocol via the u-center software tool for high-throughput 10 Hz binary data streaming and custom constellation selection.

Wiring

NEO-M8N Module PinMicrocontroller (Arduino / ESP32 / Flight Controller)
VCC5V (or 3.3V)
GNDGND
TXDRX (e.g. GPIO16 / Serial2 RX)
RXDTX (e.g. GPIO17 / Serial2 TX)
PPSGPIO Pin (optional 1-PPS time synchronization input)
Note

Active Ceramic Patch Antenna Requirement: GNSS satellite signals are extremely weak indoors. Always connect the external active ceramic patch antenna via the U.FL / IPEX connector and position the antenna outdoors under a clear view of the sky for initial satellite acquisition.

Common mistakes

  • Testing indoors: Testing the module indoors behind concrete or metallic roofs prevents satellite lock. The onboard LED will flash 1 PPS only when a valid 3D position fix is acquired outdoors.
  • Inverted RX/TX lines: Connecting module TXD to microcontroller TX instead of RX.
  • Forgetting baud rate increase for 10 Hz updates: Transmitting NMEA sentences at 10 Hz requires increasing the UART baud rate to 115200 baud using UBX commands (9600 baud is limited to ~1 Hz update rate due to serial bandwidth limits).

Notes

  • The NEO-M8N contains onboard non-volatile SQI flash memory, allowing custom settings (baud rate, rate limit, UBX output) to persist across power cycles.

Assets & downloads