Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino UNO with GPS NEO 6M Data Logger

Image of Arduino UNO with GPS NEO 6M Data Logger

Circuit Documentation

Summary of the Circuit

This circuit integrates an Arduino UNO microcontroller with a GPS NEO 6M module. The Arduino UNO is responsible for interfacing with the GPS module, reading the NMEA sentences provided by the GPS module, and outputting the data through its serial interface. The GPS module receives power from the Arduino and communicates with it using a serial connection. The Arduino's digital pins D0 and D1 are used for this serial communication, facilitated by a software serial port in the embedded code.

Component List

Arduino UNO

  • Description: A microcontroller board based on the ATmega328P.
  • Pins Used:
    • IOREF
    • Reset
    • 3.3V
    • 5V
    • GND
    • Vin
    • A0 to A5
    • SCL
    • SDA
    • AREF
    • D13 to D0

GPS NEO 6M

  • Description: A compact GPS module with an onboard antenna.
  • Pins Used:
    • VCC
    • RX
    • TX
    • GND

Wiring Details

Arduino UNO

  • 3.3V connected to GPS NEO 6M VCC
  • GND connected to GPS NEO 6M GND
  • D1 (TX) connected to GPS NEO 6M RX
  • D0 (RX) connected to GPS NEO 6M TX

GPS NEO 6M

  • VCC connected to Arduino UNO 3.3V
  • GND connected to Arduino UNO GND
  • TX connected to Arduino UNO D1
  • RX connected to Arduino UNO D0

Documented Code

The following code is written for the Arduino UNO to interface with the GPS NEO 6M module:

#include <SoftwareSerial.h>

// Choose two Arduino pins to use for software serial
int RXPin = 0;
int TXPin = 1;

// Default baud of NEO-6M is 9600
int GPSBaud = 9600;

// Create a software serial port called "gpsSerial"
SoftwareSerial gpsSerial(RXPin, TXPin);

void setup()
{
  // Start the Arduino hardware serial port at 9600 baud
  Serial.begin(9600);

  // Start the software serial port at the GPS's default baud
  gpsSerial.begin(GPSBaud);
}

void loop()
{
  // Displays information when new sentence is available.
  while (gpsSerial.available() > 0)
    Serial.write(gpsSerial.read());
}

This code sets up a software serial connection on pins D0 and D1 of the Arduino UNO to communicate with the GPS module. It reads the data from the GPS module and outputs it to the Arduino's hardware serial port for monitoring. The GPS module operates at a default baud rate of 9600 bps, which is set for both the software and hardware serial ports.