Easy Raspberry basics: Project 21a Raspberry PI Zero W board - NEO6MV2 GPS Module using USB connection

of Acoptex.com in Raspberry Pi Zero W

Raspberry basics: Project 21a

Project name: Raspberry PI Zero W board - NEO6MV2 GPS Module using USB connection

Tags: Raspberry, Raspberry PI Zero W board, vers 1.1, v 1.1, NEO6MV2, GPS Module, GPS, NEO-6M GPS module, GY-NEO6MV2 GPS Module, GY-GPS6MV2, NEO6MV2, USB to TTL, UART


Raspberry Pi
Monitor or TV
HDMI cable
USB keyboard
USB mouse
Power supply
8GB SD card

In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):

1. Raspberry PI Zero W board 1 pc

2. Micro SD card with NOOBS and SD card adapter 1 pc

3. Micro USB power supply (2 A 5V or 5V 3A) 1 pc

4. USB keyboard 1 pc

5. USB mouse 1 pc

6. TV or PC monitor 1 pc

7. HDMI cable 1 pc

8. T-Cobbler Breakout and GPIO Cable 1 pc

9. Micro USB 2.0 OTG Cable 1 pc

10. Mini HDMI to HDMI Adapter (HDMI to Mini HDMI Adapter) 1 pc

11. 4-Port USB 2.0 Hub 1 pc

12. Jumper cables F-F

13. NEO-6M GY-GPS6MV2 GPS module (it comes with an external antenna, and does’t come with header pins. So, you’ll need to get and solder some) 1pc

14. USB to TTL/Serial adaptor/converter 1 pc


We will learn how to use NEO6MV2 GPS Module with Raspberry PI Zero W board using USB connection. 

Understanding the USB to TTL converter

You can read more about them here.

Understanding the NEO6MV2 GPS Module

You can read more about it here.

Handling GPS Data

Once the GPS receiver has transmitted the NMEA sentences to the Raspberry Pi, and they have been properly read and stored in nice and "simple format", then what follows?

There are several options to convert the "simple format" data into more general format (GPX, KMZ, etc.). For instance:

  1. GPS Visualizer is a free online utility "that creates maps and profiles from geographic data". You can input a CSV or tabbed file, a spreadsheet, or drag and drop the data. The appearance of the page is a bit odd but the content is good.
  2. GPS Prune is intended to view, edit and convert GPS data. It allows to load text files as well as NMEA files, among quite a number of other options.
  3. GPS Babel seems to be the most known GPS data converter. It reads text files with NMEA sentences.

U‑center GNSS evaluation software for Windows

The u‑center GNSS evaluation software for automotive, mobile terminal and infrastructure applications provides a powerful tool for evaluation, performance analysis and configuration of u‑blox GNSS receivers. Its unique flexibility makes the u‑center GNSS evaluation software an invaluable tool for evaluation, analysis and configuration of u‑blox GNSS receivers. u‑blox GNSS receivers can be configured using the u‑center evaluation software.

  • Highly interactive and easy to use
  • Full support of all u‑blox GNSS receivers
  • Extensive configuration and control features 
  • Real‑time display from a GNSS receiver via RS232 and USB interface

See more details here.

Understanding the Raspberry PI Zero W board

You can read more about it here.

Signals and connections of the NEO6MV2 GPS Module

The NEO6MV2 GPS module comes with 4 connections: RX, TX, VCC and GND, which is quite easy to incorporate with using SoftwareSerial on an Arduino Uno or a serial interface on an Arduino Mega. The power supply of the NEO6M should be 3.6V at max according to the datasheet. The typical China-produced breakout-boards contain a voltage regulator so that 3-5V VCC so it does not harm the board. 

RX (or RXD) - receive pin. 

TX (or TXD) - transmit pin. 

VCC - power supply pin 3 - 5 VDC.

GND - ground pin.

PPS - Pulse per second. This is an output pin on some GPS modules. Generally, when this pin toggles, once a second, you can synchronize your system clock to the GPS clock.

Signals and connections of the Raspberry PI Zero W board


1. Using USB to TTL converter

2. Using Serial

NEO6MV2 GPS Module | Raspberry Pi Zero W board

VCC      Pin 1 - 3.3v

TX        Pin 10 - RX (GPIO15)

RX        Pin 8 - TX (GPIO14)

Gnd      Pin 6 - Gnd

Step by Step instruction

We recommend using a high-performance SD card for increased stability as well as plugging your device into an external display to see the default application booting up.

1. Setup and preparation

We assume that you have Windows 10 installed on your PC and Raspbian OS installed on your Raspberry Pi Zero W board. 

  1. Do wiring for using the USB to TTL converter.
  2. Insert your micro SD card with Raspbian OS into the TF card slot on the Raspberry Pi Zero W board. It will only fit one way.
  3. Connect Raspberry PI Zero W board mini HDMI port to your TV or Monitor HDMI (DVI) port (use HDMI cable and mini HDMI to HDMI adapter and/or HDMI to DVI adapter).
  4. Make sure that your monitor or TV is turned on, and that you have selected the right input (e.g. HDMI/DVI,  etc).
  5. Plug in micro USB 2.0 OTG Cable to USB data port of Pi Zero and 4-Port USB 2.0 Hub to micro USB 2.0 OTG Cable. 
  6. Plug in your USB mouse and USB keyboard to 4-Port USB 2.0 Hub.
  7. Plug in the USB to TTL converter to 4-Port USB 2.0 Hub.
  8. If you intend to connect your Raspberry Pi Zero vers 1.2 or vers 1.3 to the internet, connect a WiFi dongle to one of the 4-Port USB 2.0 Hub ports.
  9. Connect Micro USB power supply to Raspberry PI Zero board micro USB input.
  10. The Raspberry PI desktop will start up.
  11. Open Terminal window and type the command: sudo apt-get update
  12. Then type the command: sudo apt-get install 
  13. Open the Raspberry Pi Configuration tool from the main menu. Go to Raspberry icon-> Preferences -> Raspberry PI configuration

  14. Select Interfaces and make sure that everything isenabled. 
  15. Reboot the Raspberry Pi. Type the command: sudo reboot 

2. Installing the gpsd — a GPS service daemon

  1. gpsd is a service daemon that monitors one or more GPSes or AIS receivers attached to a host computer through serial or USB ports, making all data on the location/course/velocity of the sensors available to the host computer. You can read more about it here.
  2. To install apsd type the command in the Terminal: sudo apt-get install gpsd gpsd-clients

  3. Type the command to install additional packages: sudo apt-get install scons libncurses5-dev python-dev pps-tools
  4. Type this command to install git-core package: sudo apt-get install git-core . Git-core is only required to build from a git repository. pps-tools is for testing PPS inputs.

3. Testing the NEO6MV2 GPS Module

  1. You need to run the NEO6MV2 GPS Module for up to 30 minutes before proceding to next step.
  2. After reboot of Raspberry Pi go to Terminal. Type the following commands to find the current USB devices connected to the Raspberry Pi: lsusb
  3. ls /dev/ttyUSB*
  4. The NEO6MV2 GPS Module connected to device /dev/ttyUSB0.
  5. Type the command in the Terminal: sudo cat /dev/ttyUSB0 . You will see the output of the NEO6MV2 GPS Module.
  6. You have now verified the connection to the NEO6MV2 GPS Module has been established.
  7. We are using remote Wi Fi connection through the VNC Viewer with our Raspberry Pi so we do not need the 4-Port USB 2.0 Hub:


We have learnt how to use NEO6MV2 GPS Module with Raspberry PI Zero W board. 

Libraries in use

  • No packages used in this project


  • Look for attached code on the begining of this project

Other projects of Acoptex.com
Medium Basics: Project 083w Sipeed Maixduino board - Using PlatformIO IDE of Acoptex.com in Sipeed Maixduino 08-08-2019
Medium Basics: Project 083e Sipeed Maixduino board - Uploading MaixPy of Acoptex.com in Sipeed Maixduino 04-08-2019
Medium Basics: Project 083f Sipeed Maixduino board - Using MycroPython of Acoptex.com in Sipeed Maixduino 04-08-2019

Published at 01-01-2019
Viewed: 5609 times