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.
IOREF
Reset
3.3V
5V
GND
Vin
A0
to A5
SCL
SDA
AREF
D13
to D0
VCC
RX
TX
GND
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
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
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.