Global Positioning System (GPS) is a space based satellite navigation system that provides location and time information. Initially, GPS only available for military used in tracking, but now it is available to everyone. GPS is widely used in application such as military, robotics, astronomy and etc. But we can also see the application of GPS in our daily life such as navigation system in advance car or mobile phone with built in GPS. A basic GPS provides information such as location (latitude and longitude), altitude, speed, and time.

gpsa1

How GPS actually works? GPS receiver receive data from satellites and calculate the locations. To detect a location, GPS receiver requires minimum of three satellites to calculate. To obtain the altitude, minimum of four satellites are required. Try to search on GPS if you would like to understand more about GPS.

gpsa2
GPS Bee and mini antenna

The GPS module that I am going to use is GPS Bee Kit by SeeedStudio. GPS Bee Kit is compatible and comes in the packaging as XBee. Besides that, Bee Kit comes with mini embedded antenna for GPS. Like most of the GPS module available, GPS Bee Kit uses UART communication, you only need two data lines which is Transmitter (Tx) and Receiver (Rx). However, it also accepts USB, DDC and SPI interface.

DSC07113
Top View of GPS Bee Kit
DSC07115
Bottom View of GPS Bee Kit

Some of the features of GPS Bee Kit:

– 50 channel u-blox 5 engine with over 1 million effective correlators

– <1 second Time To Fix For Hot and Aided Starts

– -160dBm SuperSense acquisition and tracking sensitivity

– Accelerated startup at weak signals for modules with Kickstart feature

– Support AsssitsNow Online and AssistsNow Offline A-GPS service, OMA SUPL compliant

– High immunity to jamming

– 4Hz position update rate

– UART, USB, DDC and SPI interface

More information available at SeeedStudio wiki page, here. GPS Bee Kit requires power supply, Vcc of 3.3V. Don’t try supplying 5V to Vcc or it might cause permanent damage to your Bee Kit. However, you don’t need to worry about the data pin because it works fine with Arduino logic level.

gpsa4
GPS Bee Pinout

The Bee Kit in Bee packaging has 2.0mm pitch header. So you can’t directly plug to your breadboard and test it. There are many solution available such as using Bee shield. But this requires me to spend some extra money in order to use it. The problem here is just the pitch header, why not I try to make myself a Bee breakout board that converts the 2.0mm pitch header to 2.54mm pitch header. (Seems like I’m addicted to DIY my own stuff)

DSC07117
Top view of breakout board
DSC07118
Bottom view of breakout board
DSC07120
GPS Bee on the breakout board
bee
Schematic for breakout board

I used a Xbee on Eagle Schematic so that I can have the exact size of Bee on the Eagle Layout. The GPS Bee fits perfectly on my breakout board. Besides that, the 2.54mm male header also fits nicely on breadboard and ready to serve.

Before we try to interface GPS with Arduino, let us check on the data received through computer. In that case, you would need a USB to UART converter. I will show a simple interface between GPS Bee Kit with Arduino on my next post. Therefore, in this post, I will demonstrate a few methods which I used before to read data from GPS. Only 4 wires that need to be connected which is Vcc, GND, Tx and Rx.

gpsa3
Connection between GPS and USB to UART converter
DSC07112
USB to UART converter

bee1

To test the GPS on your computer, you need to download these software:

1. GPS Locator Utility

2. MiniGPS

3. HyperTerminal

(A) GPS Locator Utility

This is my favorite when I’m working with my previous GPS project.  In my opinion, the user interface is good and user friendly. All the data are displayed nice and clear. GPS Locator Utility requires installation before used.

glu1This is how it looks like in GPS Locator Utility when you first opened it.

glu2

Before you make the connection to your GPS, select the appopriate settings for the serial communication. Select the COM port the GPS you are connecting.

Next, select the Baud Rate for GPS. Usually standard GPS uses baud rate of 9600.

Finally, check the SV3301 under the command settings. Then click to connect GPS to your computer.

glu3Under the Terminal view, you can view the NMEA messages sent from the GPS.

Under the User setting, you can set few kinds of settings to your GPS.

Under the Channel Signal Level view, this shows the number of satellite detected.

glu4

The time information sent from GPS is UTC time. In order to get your local time from UTC time, you need to set your local time according to your time zone.

glu5

You can view all message by clicking “Show All MS” under the Terminal View.

glu6When you obtained sufficient number of satellites, then all the GPS data will be shown on Measure Navigation Message View. You can see that now the NMEA message seems to be longer, it is because all the GPS information are contained in the NMEA message.

(B) MiniGPS

minigps1For MiniGPS, first you need to select the COM port and Baud Rate before connecting the GPS.

minigps2After the GPS connected, all the informations will be displayed under the status tab.

minigps3

Under the setup tab, you can set all the NMEA message settings or change the baud rate for communication. At the bottom of setup tab, there is a textbox showing the NMEA message log.

minigps4When the required number of satellites is reached, all the GPS information will be displayed under status tab.

(C) Hyperterminal

hyp1When you first enter hyperterminal, you need to set up the serial connection. So, give a name for the connection.

hyp2Next, choose the COM Port that you are using on the “Connect Using”. Then click “OK”.

hyp3The next step is to configure the Port settings. As usual, select 9600 for the baud rate. For the data bits, parity and stop bits, set it to 8-N-1, which also means eight data bits, no parity and one stop bit.

hyp4After the Port settings, you will see all the NMEA messages sent in to your computer through serial communication.

hyp5NMEA message with GPS data when there is enough of satellites detected.

The difference between HyperTerminal and other software is that it does not filter out all the useful data for GPS. It will directly show what is received on the Serial Port.

Images of my circuit set up on breadboard.

DSC07121
Left side: USB to UART converter
Middle: LM1117 3.3V regulator
Right: GPS Bee breakout board

The LM 1117 voltage regulator is actually ease my job when I want to supply from Arduino later on. The USB to UART converter that I had actually has a jumper to select either 5V or 3.3V for the Vcc output.

DSC07122
Connections on USB to UART converter
DSC07123
Connections on GPS Bee Breakout Board

In the next post, I will include the analysis of NMEA message from GPS Bee Kit and a simple sketch on how to interface GPS Bee-Kit with Arduino. Click here for part 2.

Reference:

Cytron SKGPS 53 Tutorial – Very good website in explaining basics to GPS.

Advertisements