Never get lost again with the GY-NEO6MV2 GPS module

Placed on
GY-NEO6MV2 GPS module GY-NEO6MV2 GPS module

The GY-NEO6MV2 GPS module

The GY-NEO6MV2 module has become the standard solution for hobbyists to add GPS functionality to the project. This receiver can receive, decode and convert signals from 16 satellites simultaneously into GPS coordinates. These are then sent over a serial TX / RX connection in NMEA format.
GY-NEO6MV2 GPS moduleThe NEO6MV2 GPS module makes it possible to receive GPS signals. This allows a project to determine exactly where it is on earth, how fast it is moving, in which direction it is moving and how many satellites are visible. In stock € 5,90

NMEA data format

NMEA stands for "National Marine Electronics Association" and has been around since before GPS existed. Many different types of data can be sent through this protocol, the type of which is at the beginning of the message.

GPS locations are indicated with the type $xxGGA, where $GPGGA stands for GPS and $GLGGA stands for GLONASS. This module uses GPS coordinates to generate the following message:


This message can be broken down into the following data:

1Message type$GPGGA
2Timestamp (UTC)181908.00
4Latitude orientationN
6Longtitude orientationW
10Height of receiver495.144
11Height unit (Feet or Meter)M
12geoidal separation29.200
13Geoidal separation unitM
14Correction age1.0
15Correction station ID0000
NMEA data types NMEA data types

Latitude and Longtitude

The most important data in this message are latitude, longtitude and orientation.

The latitude is 0 degrees at the equator and goes to 90 degrees North and South (the orientation) to determine the horizontal of the location.

The longtitude is 0 degrees at 'greenwich' and moves to 180 degrees West and East (the orientation) to determine the vertical line of the location.

Latitude and Longtitude Latitude and Longtitude
Arduino NEO6MV2 GPS Module Arduino NEO6MV2 GPS Module

Connect to the Arduino

Because the GPS module works on 3.3V it can be harmful to communicate on 5V as this puts too much voltage on the module. For this reason it is important to place a voltage divider, as shown in the adjacent image, between TX and the I/O of the Arduino . This reduces 5V to about 3.3V (5 x 4700 / 10000).

After connecting the module, it is immediately possible to read the coordinates. If it is not desirable to filter the data yourself, a library is of course available.

This library contains all example sketches to use this module. When the GPS has determined its location, the LED will flash and the data can be retrieved.

The TinyGPS++ Library is not specifically made for this module, so the baud rate must be set correctly from 4800 to 9600.
Posted by Website I am interested in electronics, programming and especially the combination between them. For Opencircuit I write blogs in which I explain how electronics and modules work.


Webwinkelkeur Kiyoh Trustpilot Opencircuit