GeoShield


 

A lot of folks I met at Maker Faires asked me about an integrated GPS shield – not just a GPS module, but something that could be readily mounted to provide a direct location-based read-out to a computer or a handheld screen.

 

As many of these projects involved autonomous vehicles (land, sea, or air), they typically included 3-axis accelerometers and digital compasses as well.

Thus the GeoShield was born. As the name suggests, it encompasses multiple “earth-related” functions: a high-performance, 66 channel GPS module with antenna included, a low-power digital compass, and a sensitive 3-axis accelerometer. Designed to get projects going quickly, the GeoShield also comes with its own library in the Antipasto Arduino IDE that makes data output to PC (over serial) or the TouchShield Slide a cinch.

 

The GeoShield efficiently brings out the 3 sensors to different Arduino pins. The Locosys MC-1513 GPS module communicates via a UART protocol over any two pins of your choice, while the Honeywell HMC6352 uses digital pins to transmit data on an I2C protocol. The STMicro LIS302SG 3-axis accelerometer is an analog sensor, and makes use of the analog pins on the Arduino.

 

The GeoShield itself has built-in 5V tolerant I/O (to prevent chip-frying), and is a perfect drop-in solution for any variety of projects involving location-based processes. While the MC-1513 GPS contains a built-in digital compass function, the HMC6352 is included for rapid directional updating, ideal for robotic aerial vehicles. For debugging, status output, and just plain fun, there are 4 user programmable LEDs as well.

 

It comes in two flavors. For higher-performance and direction-dependent applications, the GeoShield Enhanced edition has the GPS, accelerometer, as well as a discrete digital compass module on board. The GeoShield Lite carries just the GPS module and 3-axis accelerometer, without a separate compass.

 

 

Applications

 

System Specifications

 

Accelerometer

 

Digital Compass Sensor

 

GPS Sensor

 

LEDs

 

Resources 

 

Software library

 

/****************************
 * PrintGeoShield
 *  An example sketch for the Liquidware GeoShield
 *  that demonstrates how to forward GPS, Compass,
 *  and 3-axis accelerometer data to the PC via serial @ 57600 baud
 *
 *  Learn more at: http://www.liquidware.com/category/Sensors
 *****************************/
#include <Wire.h>
#include <LibCompass.h>
#include <SoftwareSerial_NB.h>
#include <LibGeoShield.h>

LibGeoShield geo = LibGeoShield(0);
char out[100];

void setup() {
   Serial.begin(57600);  //Open a serial connection to the PC @ 57600 baud
}

void loop() {

   /* Print the GPS data */
   Serial.print(geo.readGPS());

   /* Print the Compass heading, Accel X, Accel Y, Accel Z data */
   sprintf(out, "$GEO,H%d,X%d,Y%d,Z%d\n",
                geo.readCompass(),
                geo.readAccelX(),
                geo.readAccelY(),
                geo.readAccelZ());

   Serial.print(out);
}