GPS Mouse - GP-808G Hookup Guide a learn.sparkfun.com tutorial

Available online at: http://sfe.io/t571

Contents

Introduction

The GPS Mouse is a combination GPS and compass in a self contained module perfect for UAV and autonomous vehicle enthusiasts. The GP-808G housed inside is a highly sensitive GPS module that can accurately provide position, velocity, and time readings. This module is highly accurate, easy to use, requires almost no set-up time, and is very easy to embed into your projects!

GPS Mouse - GP-808G (72 Channel)

GPS-14198
Retired

This 72-channel GPS receiver, that supports a standard NMEA-0183 and uBlox 8 protocol, has low power consumption of 40mA @ 3.3V-5.0V, GPS/QZSS/GLONASS support, and -167dBm tracking sensitivity. The GP-808G has been terminated with two JST connectors (one 4-pin and one 2-pin) and includes their mating counterparts. The GPS Mouse has been a popular go-to GPS option for many of the entrants in our annual Autonomous Vehicle Competition (AVC) with great results!

Required Materials

To follow along with this guide all you need is an Arduino compatible microcontroller, such as an Arduino Uno or SparkFun Redboard, a breadboard, and some jumper wires. This example uses a SparkFun RedBoard.

Arduino Uno - R3

Arduino Uno - R3

DEV-11021
$27.60
138
SparkFun RedBoard - Programmed with Arduino

SparkFun RedBoard - Programmed with Arduino

DEV-13975
$21.50
49
Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Jumper Wires Standard 7" M/M - 30 AWG (30 Pack)

Jumper Wires Standard 7" M/M - 30 AWG (30 Pack)

PRT-11026
$2.45
20

Suggested Reading

If you have never worked with GPS before, have a look at our GPS Basics tutorial.

GPS Basics

December 14, 2012

The Global Positioning System (GPS) is an engineering marvel that we all have access to for a relatively low cost and no subscription fee. With the correct hardware and minimal effort, you can determine your position and time almost anywhere on the globe.

Hardware Overview

Let's go over the GPS Mouse in detail.

Inside the enclosure, you'll find a normal looking GPS module with a few extra bits. On the underside, you'll find a backup battery for warm and hot starts as well as the onboard QMC-5883 Magnetometer.

GPS Mouse insides

The pin out for the GPS connectors are as follows:

GPS_Mouse_Pinout

GPS pin diagram via the GP-808G datasheet.

The I2C lines are for factory programming of the module. No register data is available in the device's datasheet. All communication with the device in this guide occurs over serial.

Hardware Hookup

This GPS module is designed for pro makers who wish to have a GPS module attach to their custom PCB or hand-built prototype. However, you can easily connect the GPS unit to a breadboard with the included connectors and wire it up to a microcontroller of your choice. For a secure connection, you can also solder the wires to a custom PCB.

To connect the module to a breadboard, insert the 4-pin and 2-pin female JST connectors.

GPS Mouse Hookup 1

Connect the GPS male JST connectors into the female connectors. You can now wire the GPS Mouse to the microcontroller using jumper wires.

GPS Mouse and RedBoard

For a more robust connection, you can also snip the JST connectors off and solder the bare wire ends to straight male headers or any other connector of your choosing.

The connections from the GPS Mouse to the SparkFun RedBoard used for this example are as follows:

GPS Mouse PinSparkFun RedBoard Pin
TX (White)Digital Pin 4
RX (Green)Digital Pin 3
GND (Black)Ground (GND)
VCC (Red)Power (5V)

Arduino Example

Now that we have everything connected, lets get started with some code. Before we start writing code though, we do need to install a library to parse the GPS messages. If you haven't downloaded Arduino libraries before or you just need a quick refresh, check out our tutorial on installing Arduino libraries. The library we need is called TinyGPSPlus from Mikal Hart. You can download and install the library from the link below.

TinyGPS++ Library

Now that we have the library installed, let's look at the code. In Arduino, open the example sketch by clicking File -> Examples -> TinyGPSPlus-version -> DeviceExample.

In the example, you will need to change one line of code. Change the variable GPSBaud to 9600 with the following line:

language:c
static const uint32_t GPSBaud = 9600;

The rest of the example sketch should work as is. Upload the sketch to your Arduino board. Once uploaded, open the Serial Monitor set to 115200 baud. You should see GPS serial data streaming by. If the location says INVALID, wait several minutes for the GPS unit to get a lock. If you do not see GPS data after several minutes, see the troubleshooting section below.

GPS data out

Note: While the GPS uses 9600 baud on the software serial pins, the serial UART for the serial monitor is set to 115200 baud.

Troubleshooting Tips

Resources and Going Further

For more information about the GPS Mouse, check out the links below:

Now that you've got the GPS Mouse up and running, what project are you going to use it for? Need a little inspiration? Check out some of these tutorials!

Alphanumeric GPS Wall Clock

This is a GPS controlled clock - a clock you truly never have to set! Using GPS and some formulas, we figure out what day of the week and if we are in or out of daylight savings time.

Mini GPS Shield Hookup Guide

A hookup guide for the SparkFun Mini GPS Shield.

Building an Autonomous Vehicle: The Batmobile

Documenting a six-month project to race autonomous Power Wheels at the SparkFun Autonomous Vehicle Competition (AVC) in 2016.

Getting Started with the GeoFence

How to get started using the GeoFence GPS Boundary Widget and GeoFence Software.

learn.sparkfun.com | CC BY-SA 3.0 | SparkFun Electronics | Niwot, Colorado