Module GPS



GPS is build with u-blox M8 NEO-M8N module with an integrated built in active antenna.

The NEO-M8 series provides high sensitivity and minimal acquisition times while maintaining low power usage.

The NEO-M8N integrates a 72-channel u-blox M8 GNSS engine that supports multiple GNSS systems ( Beidou, Galileo, GLONASS, GPS / QZSS ) and able to receive 3 GNSS systems simultaneously.

The series communicate protocol between M5Core and GPS is UART, physically connected via UART2 (GPIO16, GPIO17)

If you want to change the UART baud-rate, please check here ( u-center-just-for-Windows )

Notice: GPS signal can only be found outdoors

UART protocol: baud rate (default is 9600bps), data bit (8 bits), start bit (1 bit), stop bit (1 bit), Parity (none)

Product Features

  • Operating temperature: -40 ~ 80 °C
  • Antenna type: built-in ceramic antenna and external antenna
  • external Antenna port: SMA
  • Can receive data from 3 GNSS systems concurrently
  • Horizontal position accuracy: minimum 2.5m
  • GPS module (NEO-M8N) Built-in Flash, so that you can upgrade firmware via u-center-just-for-Windows
  • Supported protocols: NMEA, UBX, RTCM
  • Industry leading -167dBm sensitivity
  • Backward compatibility with NEO‐7 and NEO‐6 series


  • 1x GPS Module
  • 1x external Antenna(cable length : 1 meter)


  • GPS-based logistics tracking management
  • Driverless car positioning


Resources Parameter
Net weight 43g
Gross weight 73g
Product Size 54*54*13mm
Package Size 125*68*23mm

M5Stack Fire has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of GPS module. Therefore, when using the GPS module with the M5Stack Fire, you might have to cut the TXD and RXD from GPS module and wire fly to another set of UART pin


download EasyLoader

1.EasyLoader is a simple and fast program burner. Every product page in EasyLoader provides a product-related case program. It can be burned to the master through simple steps, and a series of function verification can be performed.

2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click "Burn" to start burning.

3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. Click here to download driver




Simple GPS tracker for M5Stack with informative display and several display options using the Tiny GPS ++ library.
An attempt to create a realtime "Artificial Horizon" on the M5.
Use MicroPython to connect your M5Stack to Wi-Fi or a device to AP and create a simple web page to control some functions of the M5Stack.
As part of M5Stack COVID-19 Contest, I came up with fun idea to use blockchain and IoT to track people who checking in any places.


Arduino IDE

To the complete code GPSRaw.ino, please click here

Note: The GPS module needs placed outdoors to be able to receive GPS signal

Protocol Specification:

Please refer to the u-blox 8 / u-blox M8 Receiver Description - Manual , The following table is a description of the xxRMC message in the NMEA protocol as an example.