The 7 Best Arduino GPS Modules

Updated by Ezvid Wiki Admin · How we research

The top 5 arduino GPS modules: SparkFun NEO-M9N, HGLRC M100-5883, Teyleten ATGM336H, Beitian BN-880 and HiLetgo GY-NEO6MV2

Seven Arduino and ESP32 GPS modules compared on chip generation, satellite systems, wiring and antennas. The SparkFun NEO-M9N leads with a genuine u-blox chip. When users buy our independently chosen editorial picks, we may earn commissions to help fund the Wiki.

No GPS board at hobby prices pins a location much closer than one and a half to three meters on its own, and none finds satellites from inside a house. Centimeter work needs a correction service and a far pricier receiver. These modules suit Arduino, ESP32 and Raspberry Pi builders making trackers, clocks, rovers, weather stations and drones.

1. SparkFun NEO-M9N

2. HGLRC M100-5883

3. Teyleten ATGM336H

4. Beitian BN-880

5. HiLetgo GY-NEO6MV2

6. MakerFocus GT-U7

7. HiLetgo NEO-7M

Editor's Notes

October 23, 2026, by Ezvid Wiki Admin:

The SparkFun NEO-M9N takes over the list because it's a genuine u-blox receiver that reads four satellite systems at once, plugs in without soldering, and has the best Arduino documentation we found. The HGLRC M100-5883 is the bargain: a drone part with a newer receiver and a compass for a fraction of the price.

Six of the eight boards from 2020 are gone. You can't buy the Hobbypower, ComponentMKY and GMouse boards or the TinySine cellular shield anymore, and the Readytosky listing now covers a receiver built only for one drone flight controller. The Adafruit Ultimate GPS is still a fine board, but its listing shows no price right now, so it moved to the special honors with a link to Adafruit. The MakerFocus GT-U7 and Beitian BN-880 stay.

The tricky part of this category is fakes. A hobbyist who compared a genuine u-blox board against a cheap "M8N" found the cheap one was an older chip with a new label. So we leaned on u-blox and maker datasheets, Arduino forum threads, that clone comparison, and owner reports on fix times and dead units.

November 17, 2020:

A given user's exact intentions for their module are going to have a lot to do with which model is best for their purposes. Both the Readytosky Ublox Neo-M8N and the DIYMalls Beitian BN-880 U8 are outstanding choices for use with the Pixhawk system flight controller, but the Readytosky model comes in a protective housing, lending it additional durability when installed as part of a drone or other flying vehicle. If you aren't looking to send your GPS unit into the air, you might not need that model's infrastructure. Should you change your mind, however, you'd have to find a way to secure it on your own.

We decided to add one slightly more complex module to this list in the form of the TinySine Shield SIM5320A. This offering combines 16-channel GPS sensitivity with access to a 3G network for added precision and functionality. In the right hands, it can do a lot of things that cell phones can, like interact via SMS text and make and receive calls. Keep in mind that you'll need a SIM card for these features, though, and there are likely charges involved. That said, its configuration is surprisingly easy, making it an ideal choice for anyone who's sometimes underwhelmed by a given Arduino project's limitations.

September 03, 2019:

Putting together a reliable list of these modules required striking a balance between capabilities and usefulness. The majority of our list contains models designed with Neo-6M chipsets which aren't technically the most advanced, but that offer the easiest programming and use for the widest amount of applications.

Neo-7M offerings may be able to access GLONASS in addition to GPS, but they can't do so simultaneously, and 8M units — capable of doing both at the same time — are more complicated and often less useful, or at least not very much more useful. GPS all by itself is perfectly capable of working well for drone operation, tracking devices, and also for younger hobbyists who are just trying to get something cool up and running on their boards.

With that in mind, we didn't let the chipset necessarily sway our ranking, especially when something like the Icstation Mini Neo-7M doesn't even have an antenna. Or when something like the MakerFocus model at number two is so inexpensive, reliable, small, and effective.

Special Honors

Adafruit Ultimate GPS Breakout Adafruit's own GPS board has some of the best beginner documentation of any module, a 5-volt-safe design, a socket for an external antenna, and a built-in logger that can record hours of tracks without a microcontroller. It's sold directly by Adafruit, which also publishes a full learning guide and Arduino library for it. adafruit.com

SparkFun GPS-RTK2 Board (ZED-F9P) For surveying, precision farming or a robot mower that must stay on a path, this dual-band u-blox board can reach centimeter-level positions when paired with a correction source. It costs several times as much as the modules above and needs a second receiver or a correction service, so it's for advanced projects only. sparkfun.com

Chip Generation Matters More Than The Board

Almost every hobby GPS board is a carrier for a receiver chip, and the chip decides how fast and how well it works.

Almost every hobby GPS board is a carrier for a receiver chip, and the chip decides how fast and how well it works. The u-blox NEO-6M, found on blue GY-NEO6MV2 boards, reads only the American GPS satellites, updates up to five times a second, and is rated at about 2.5 meters. It still powers most tutorials, and an Arduino forum thread sums it up: a genuine NEO-6M is reliable, while newer u-blox chips lock on faster.

The seventh generation (NEO-7M, GT-U7) adds Russia's GLONASS, but follows one system at a time. The eighth generation (BN-880 and most "M8N" boards) tracks two or three systems at once at up to 10 updates a second. The M9 and M10 chips track four at once; SparkFun rates its NEO-M9N breakout at about 1.5 meters with a hot start near two seconds. More satellites in view means a faster fix between buildings and trees.

The ATGM336H is the odd one out. It uses a Chinese AT6558 chip that reads GPS and BeiDou, costs very little, and sends the same NMEA sentences, but it uses its own command set, so u-blox's configuration software can't change its settings (microcontrollerslab).

Wiring One To An Arduino Or ESP32

Every module here talks over a serial line. Connect the module's TX pin to the board's RX pin and RX to TX, power it, and read it at 9600 baud, the usual default. On an Uno, use SoftwareSerial on two spare pins so the USB port stays free; on an ESP32 or a Mega, use a spare hardware serial port. The TinyGPSPlus library turns the stream of NMEA sentences into latitude, longitude, speed, altitude and time, and Random Nerd Tutorials walks through a full example.

Watch the voltage. Most breakouts have a regulator, so 5 volts on the power pin is fine, but the receiver chip itself runs at 3.3 volts. An ESP32 or a 3.3-volt board can connect directly. A 5-volt Uno should feed the module's RX pin through a simple resistor divider, and SparkFun's breakouts are 3.3 volts only. Compass boards like the BN-880 add two I2C wires; the compass may be an HMC5883L at address 0x1E or a QMC5883L at 0x0D, and each needs its own library.

If nothing shows up, swap TX and RX first, then check the baud rate. A module that prints sentences full of empty fields is working but hasn't found satellites yet.

Antennas, Accuracy And Look-Alike Chips

No GPS module gets a fix indoors, and the first fix after a long power-off can take 30 seconds to several minutes, even outdoors. The small backup cell on most boards keeps satellite data so the next start takes a few seconds. Mount the antenna flat, facing the sky, and away from Wi-Fi radios and switching regulators. Boards with a u.FL or SMA socket accept a powered active antenna, which helps inside a car or a box (SparkFun GPS guide).

Accuracy figures are datasheet numbers taken under open sky. Getting to centimeters takes RTK, which needs a pricier dual-band receiver plus a base station or a correction service. For a weather balloon or rocket, know that u-blox receivers stop reporting above 18 kilometers when moving faster than 515 meters per second, and need the airborne setting (UKHAS).

Cheap boards labeled NEO-6M or NEO-M8N often carry copies or relabeled older chips. A side-by-side check found a bargain "M8N" was really a seventh-generation part. Most copies still work for hobby use; u-blox's free u-center software shows the real chip and firmware version.

How we researched this

We compared about 20 GPS modules sold for Arduino-type boards, read the makers' datasheets and spec pages for the seven finalists, worked through Arduino forum threads, maker guides and a hobbyist's comparison of genuine and relabeled receivers, analyzed owner feedback on fix times and failures, and checked every brand against U.S. Consumer Product Safety Commission recalls. Accuracy figures are the makers' ratings; no independent lab tests of these boards exist.

Sources (13)
  1. SparkFun: GPS Breakout NEO-M9N (GPS-15712)
  2. SparkFun: GPS buying guide
  3. HGLRC: M100-5883 GPS
  4. Adafruit: Ultimate GPS Breakout (746)
  5. Adafruit Learning System: Ultimate GPS
  6. Microcontrollerslab: best GPS modules for Arduino and ESP32
  7. Random Nerd Tutorials: NEO-M8N with Arduino
  8. DroneBot Workshop: using GPS modules
  9. Arduino forum: looking for a reliable GPS module
  10. hagensieker.com: beware the fake GPS modules
  11. UKHAS wiki: GPS modules
  12. TinyGPSPlus library (Mikal Hart)
  13. U.S. CPSC recalls search

Frequently asked questions

How accurate is an Arduino GPS module?

On its own, about 1.5 to 2.5 meters under open sky, according to u-blox and SparkFun ratings. In town or under trees, expect several meters. Centimeter accuracy needs an RTK receiver and a correction source.

Why won't my GPS module get a fix?

Take it outside with a clear view of the sky and give it a few minutes the first time. Indoors it will rarely work. If no data appears at all, swap the TX and RX wires and check that the baud rate is 9600.

Can I connect a GPS module to a 5-volt Arduino Uno?

Most breakouts accept 5 volts on the power pin, but the data pins are 3.3-volt logic. Put a resistor divider on the wire from the Uno's TX pin to the module's RX pin. SparkFun's boards need 3.3 volts on the power pin too.

What is the best GPS module for an ESP32?

Any of these works, since the ESP32 runs at 3.3 volts and has spare hardware serial ports. A newer multi-system receiver like the SparkFun NEO-M9N or HGLRC M100-5883 gets the quickest fixes.

How can I tell if my NEO-6M or NEO-M8N is fake?

Connect it to a computer and open u-blox's free u-center software, which reports the chip generation and firmware. Many copies still work fine for hobby projects, but they may be older chips than the label says.

Which GPS module is best for a drone?

Pick one with a compass and a fast update rate, such as the HGLRC M100-5883 or Beitian BN-880. Mount it away from motors and power wires, which throw off the compass.


Updated by Ezvid Wiki Admin

Originally written by Daniel Imperiale.


Thanks for reading the fine print. About the Wiki: We don't accept sponsorships, free goods, samples, promotional products, or other benefits from any of the product brands featured on this page, except in cases where those brands are manufactured by the retailer to which we are linking. For more information on our rankings, please read about us, linked below. The Wiki is a participant in associate programs from Amazon, Walmart, Ebay, Target, and others, and may earn advertising fees when you use our links to these websites. These fees will not increase your purchase price, which will be the same as any direct visitor to the merchant’s website. If you believe that your product should be included in this review, you may contact us, but we cannot guarantee a response, even if you send us flowers.