GPS, Adafruit ver 3.0, Serial Interface
GPS modules are great in that the moment you turn them on, they'll start spitting out data, and trying to get a 'fix' (location verification). Like pretty much every GPS in existence, the Adafruit Ultimate GPS uses TTL serial output to send data so the best way to first test the GPS is to wire it directly to the computer via the TTL serial to USB converter on an Arduino. You can also use an FTDI Friend or other TTL adapter but for this demonstration we'll use a classic Arduino.

Quick Spec
- 165 dBm sensitivity, 10 Hz updates, 66 channels
- 5V friendly design and only 20mA current draw
- Breadboard friendly + two mounting holes
- RTC battery-compatible
- Built-in datalogging
- PPS output on fix
- 25Km altitude
- Internal patch antenna + u.FL connector for external active antenna
- Fix status LED
Resources
- Adafruit GPS Library
- Tutorial from Adafruit
- Download tutorial in Pdf
- Mini GPS tool (windows only)
- Utilities and more downloads
Code Example
#include "Wire.h"
#include "SD.h"
#include "SoftwareSerial.h"
#include "TinyGPS.h"
#include "RTClib.h"
const int chipSelect = 10;
RTC_Millis RTC;
File dataFile;
TinyGPS gps;
SoftwareSerial ss(3, 4);
void setup()
{
Serial.begin(115200);
Serial.print("Initializing SD card...");
ss.begin(9600);
pinMode(chipSelect, OUTPUT);
RTC.adjust(DateTime(__DATE__, __TIME__));
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1) ;
}
Serial.println("card initialized.");
// Open up the file we're going to log to!
dataFile = SD.open("GPStest.txt", FILE_WRITE);
if (! dataFile) {
Serial.println("error opening GPStest.txt");
// Wait forever since we cant write data
while (1) ;
}
}
void loop()
{
DateTime now = RTC.now();
bool newData = false;
for (unsigned long start = millis(); millis() - start < 1000;)
{
while (ss.available())
{
char c = ss.read();
// Serial.write(c); // uncomment this line if you want to see the GPS data flowing
if (gps.encode(c)) // Did a new valid sentence come in?
newData = true;
}
}
if (newData)
{
float flat, flon;
unsigned long age;
int year;
byte month, day, hour, minute, second, hundredths;
gps.f_get_position(&flat, &flon, &age);
gps.crack_datetime(&year, &month, &day, &hour, &minute, &second, &hundredths, &age);
char sz[32];
sprintf(sz, "%02d/%02d/%02d, %02d:%02d:%02d, ",
month, day, year, hour, minute, second);
Serial.print("");
Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
Serial.print(", ");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(", ");
Serial.println(now.unixtime());
dataFile.print("");
dataFile.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
dataFile.print(", ");
dataFile.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
dataFile.print(", ");
dataFile.println(now.unixtime());
}
dataFile.flush();
delay(500);
}
Shipping List
- 1 x GPS, Adafruit ver 3.0, Serial Interface
GPS, Adafruit ver 3.0, Serial Interface
- Brand: Adafruit
- Product Code: AF746
- Product Status : Active
Stock
Warehouse | Stock Status | Location |
---|---|---|
Centurion | No Stock | |
Stellenbosch | No Stock |
We ship free of charge between branches to complete your order.
-
R635.00 (Inc Tax: R730.25)
Related Products
GPS active antenna, 5 Meter
GPS active antenna, 5 Meter Give your GPS a boost with this external active antenna. This GPS antenna draws about 10mA and will give you an additional 28 dB of gain. It's got a 5 meter long cable s..
R98.00 (Inc Tax: R112.70)
SparkFun GNSS Chip Antenna Eval Board
SparkFun GNSS Chip Antenna Eval Board What is the best chip antenna for your GNSS project? There are tons to choose from, but finding the right one might be tricky so here's a board that helps make d..
R435.00 (Inc Tax: R500.25)
Adafruit GPS - STEMMA/Qwiic Ready
Adafruit GPS - STEMMA/Qwiic Ready This miniature GPS breakout is only 25mm x 25mm but houses a complete GPS/GNSS solution with both I2C and UART interfaces. There module has an antenna on top which..
R638.00 (Inc Tax: R733.70)