GPS parsing with PA1010D and Arduino UNO with I2C

GPS PA1010D Arduino UNO I2C

Use Adafruit GPS module PA1010D with Arduino UNO raw NMEA sentences via the I2C protocol.

Code

Download code
#include <Adafruit_GPS.h>

Adafruit_GPS GPS(&Wire);

void setup() {
  while (!Serial) {}
  Serial.begin(115200);
  Serial.println("Adafruit GPS library basic I2C test!");
  GPS.begin(0x10);  // The I2C address to use is 0x10
}

void loop() {
  if (Serial.available()) {
    char c = Serial.read();
    GPS.write(c);
  }
  if (GPS.available()) {
    char c = GPS.read();
    Serial.write(c);
  }
}

Makefile

BOARD?=arduino:avr:uno
PORT := $(shell ls /dev/cu.usbmodem*)

.PHONY: default lint all flash clean

default: lint all flash clean

lint:
	cpplint --extensions=ino --filter=-legal/copyright,-readability/casting *.ino

all:
	arduino-cli compile --fqbn $(BOARD) ./

flash:
	arduino-cli upload -p $(PORT) --fqbn $(BOARD) ./

clean:
	rm -f .*.bin
	rm -f .*.elf
	rm -f .*.hex

Serial console

Serial output from the firmware.

GPS parsing with PA1010D and Arduino UNO with I2C serial console

Prototype

A photo of the actual setup.

GPS parsing with PA1010D and Arduino UNO with I2C prototype

Schematic

Wire up the hardware accordingly

GPS parsing with PA1010D and Arduino UNO with I2C schematic

References