We always try our best and push forward the programming and electronics abilities to produce some interesting and creative robots, and as designers we usually should choose the right components for the best robot. As a matter of fact, I compare the features of the eleven GPS shields and modules compatible with Arduino boards.
The comparison chart
All the data received at the ground from each satellite are combined and allows the GPS receiver to calculate the position and time. The six important features for a GPS receiver are:
- positional accuracy
- baud rate
- update rate
In this chart, I compare all these features for eleven GPS receivers:
Before starting to flip things around, let’s do a short overview of Arduino and GPS systems, accuracy and applications, just so we know where to place the GPS technology in the area of robotics and autonomous systems.
Arduino is a development platform with a ton of code out there to help you get a good understanding of how to navigate via GPS receivers. In addition, the Arduino boards can parse NMEA data easily with the help of libraries.
How accurate are these GPS systems? Can we navigate outside or in a room without additional techniques for navigation? For indoor navigation, you need an accuracy measured in centimeters and not in meters. In theory, most receivers come with accuracy closer to 2.5 meters while in practice the accuracy decreases considerably.
In this case, the data returned by a GPS receiver related to a position is not consistently accurate to help the robot navigate for example in a room. For this reason, the GPS systems are not frequently used for indoor navigation. Even in outdoor applications, the GPS receivers are used to obtain a coarse location fix. To increase the accuracy of the navigation systems, are used several other techniques such as LIDAR, SONAR, RADAR or machine vision.
As general applications, the GPS receivers are used to guide quadcopters and planes, rovers and cars, and to combine the GPS data with Google Maps.
Arduino GPS shields
In this category, I explore four GPS shield with different features and able to stay on top of the Arduino boards and provide precise location, date and time.
1. Adafruit Ultimate GPS Breakout
The Ultimate GPS Logger Shield from Adafruit is featured with SD card socket, backup battery to keep stored the time and data in the GPS module and internal/external antenna. The internal antenna works well for indoor applications, but for improved performances, the manufacturer recommends using the external antenna.
The price of the shield is $49.95 and is compatible with Arduino UNO, Duemilanove, Diecimila and Leonardo.
2. Arduino GPS Shield
This GPS shield was designed in the labs of Dexter Industries and can receive a ton of data very quickly. The shield provides serial data to the Arduino board and has a large library of examples, tutorials, and guides so you can build an application in minutes.
The Dexter GPS shield has a price of $39.99 and is compatible with Arduino UNO, Leonardo, and Mega.
3. GPS/GPRS/GSM Shield V3.0
At a price of $89.50, the DFrobot shield allows you to combine three different data: GPS, GPRS and GSM. Once added to a robot having the Arduino UNO controller attached, the shield supports the GPS technology and can be programmed to send messages to a GSM network.
4. GPRS+GPS Quadband Module
This GPRS and GPS shield has a price of $110.85 and is compatible with Arduino, Raspberry Pi and Intel Galileo boards. This extension is expensive compared with other shields, but it is a good solution if you need real-time tracking data by combining GPRS information with GPS coordinates.
Arduino GPS modules
Like GPS shields, the GPS modules are very easy to play with in conjunction with an Arduino board. These small modules are useful to acquire location data for any Arduino robot.
In the following, I explore seven different GPS modules that can control your robot very close to a desired position.
The NavSpark-GL is a special GPS board with an on-board microcontroller attached and with GPS/GLONASS receiver on-board. It has a price of $25.00, supports the Arduino IDE and is compatible with Arduino boards.
2. PAM-7Q GPS Module (Updated)
The PAM-7Q is a Parallax GPS module based on u-Blox 7 chipset capable of multi-GNSS data including GPS/QZSS L1 C/A and SBAS. It has a price of $49.99 and a sensible antenna incorporated into the top side of the chipset.
The EM-506 is a compact GPS module with built-in voltage regulator, battery backed RAM and a small antenna. The module has a price of $39.95 and allows you to read data via UART interface.
4. Libelium GPS
The Libelium is a simple GPS module compatible with Arduino boards and able to return the position, altitude, speed, data and time according to the Universal Time Coordinated. The price of the module is $47.07 and is based on the Vincotech A1080-B chipset that uses the NMEA and SIRF III protocols.
5. Venus GPS
This small and powerful GPS module with SMA connector to attach an external antenna is perfect for a large variety of projects based on Arduino boards. The $49.95 module is engineered to support external SPI flash memory for data logging applications.
6. Copernicus II DIP
This small module board allows you to build easily your DIY GPS control application by providing an easy-to-connect interface via NMEA, TSIP and TAIP protocols.
The $74.95 module has a passive antenna and four pins on the module to interface it with the Arduino board: VCC, GND, TX-B, and RX-B.
This GPS unit is capable of SBAS (WAAS, EGNOS, MSAS) that compensate the navigational data in terms of accuracy and availability. The $59.95 module has low power consumption and a design with a built-in micro battery that preserve the system data for rapid satellite acquisition.