3.3 V
3.3 V
20 mA (typical)
UART, SPI, I2C
Up to 115200 bps
2 KB
-40C to +85C
-40C to +85C
2.5 g
15 mm x 15 mm
Certifications and Compliance
The Ublox Neo 6M GPS Module with EEPROM complies with the following regulations and certifications |
RoHS (Restriction of Hazardous Substances) compliant
CE (Conformit Europene) certified
FCC (Federal Communications Commission) certified
Ordering Information
The Ublox Neo 6M GPS Module with EEPROM is available in a variety of packaging options, including a 15 mm x 15 mm LCC (Leadless Chip Carrier) package. For ordering information, please contact the manufacturer or authorized distributor.
Ublox Neo 6M GPS Module with EEPROM Documentation
Overview
The Ublox Neo 6M GPS module is a compact and high-performance GPS receiver module that provides accurate location information. It features a built-in EEPROM for storing configuration data and comes with a variety of interfaces, including UART, SPI, and I2C. This module is suitable for a wide range of applications, including robotics, autonomous vehicles, and IoT projects.
Technical Specifications
GPS Receiver: Ublox NEO-6M
EEPROM: 2KB (512 bytes x 4 pages)
Interfaces: UART, SPI, I2C
GPS Frequencies: L1, C/A Code
Accuracy: 2.5m CEP (Circular Error Probable)
Power Consumption: 100mA (max)
Operating Temperature: -40C to 85C
Connection Diagram
The Ublox Neo 6M GPS module has the following pins:
VCC: Power supply (3.3V or 5V)
GND: Ground
TX: UART transmit pin
RX: UART receive pin
SCL: I2C clock pin
SDA: I2C data pin
SCK: SPI clock pin
MOSI: SPI master out slave in pin
MISO: SPI master in slave out pin
CS: SPI chip select pin
Example 1: Using the Ublox Neo 6M with an Arduino Uno
In this example, we will use the Ublox Neo 6M GPS module with an Arduino Uno to read GPS data.
Hardware Requirements
Arduino Uno
Ublox Neo 6M GPS module
Breadboard and jumper wires
Software Requirements
Arduino IDE (version 1.8.x or later)
Ublox NEO-6M library for Arduino (available on GitHub)
Code Example
```cpp
#include <SoftwareSerial.h>
#include <TinyGPS++.h>
// Define the UART pins for the GPS module
#define GPS_TX 3
#define GPS_RX 4
// Create a SoftwareSerial object for the GPS module
SoftwareSerial gpsSerial(GPS_TX, GPS_RX);
// Create a TinyGPS++ object
TinyGPSPlus gps;
void setup() {
Serial.begin(9600);
gpsSerial.begin(9600);
}
void loop() {
while (gpsSerial.available() > 0) {
char c = gpsSerial.read();
Serial.write(c);
if (gps.encode(c)) {
if (gps.location.isValid()) {
Serial.print("Latitude: ");
Serial.println(gps.location.lat(), 6);
Serial.print("Longitude: ");
Serial.println(gps.location.lng(), 6);
}
}
}
}
```
Example 2: Using the Ublox Neo 6M with Raspberry Pi (Python)
In this example, we will use the Ublox Neo 6M GPS module with a Raspberry Pi to read GPS data using Python.
Hardware Requirements
Raspberry Pi (any model)
Ublox Neo 6M GPS module
Breadboard and jumper wires
Software Requirements
Raspbian OS (latest version)
Python 3.x (installed on Raspbian)
Code Example
```python
import serial
import time
# Open the serial port for the GPS module
gps_serial = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
while True:
# Read data from the GPS module
data = gps_serial.readline().decode('utf-8')
# Parse the GPS data using the pynmea2 library
from pynmea2 import parse
msg = parse(data)
# Print the GPS data
if msg:
print("Latitude: ", msg.latitude)
print("Longitude: ", msg.longitude)
print("Altitude: ", msg.altitude)
print("Satellites: ", msg.num_sats)
time.sleep(1)
```
Note: Make sure to install the necessary libraries and configure the serial port according to your system's requirements.
Example 3: Reading EEPROM Data using I2C (Arduino)
In this example, we will use the Ublox Neo 6M GPS module's EEPROM to store and read data using the I2C interface.
Hardware Requirements
Arduino Uno
Ublox Neo 6M GPS module
Breadboard and jumper wires
Software Requirements
Arduino IDE (version 1.8.x or later)
Code Example
```cpp
#include <Wire.h>
// Define the I2C address of the Ublox Neo 6M's EEPROM
#define EEPROM_I2C_ADDRESS 0x50
void setup() {
Wire.begin();
Serial.begin(9600);
}
void loop() {
// Write data to the EEPROM
byte data[] = {0x01, 0x02, 0x03, 0x04};
Wire.beginTransmission(EEPROM_I2C_ADDRESS);
Wire.write(data, 4);
Wire.endTransmission();
delay(100);
// Read data from the EEPROM
byte recvData[4];
Wire.beginTransmission(EEPROM_I2C_ADDRESS);
Wire.write(0x00); // Start address
Wire.endTransmission();
Wire.requestFrom(EEPROM_I2C_ADDRESS, 4);
for (int i = 0; i < 4; i++) {
recvData[i] = Wire.read();
}
Serial.print("EEPROM Data: ");
for (int i = 0; i < 4; i++) {
Serial.print(recvData[i], HEX);
Serial.print(" ");
}
Serial.println();
}
```
These code examples demonstrate how to use the Ublox Neo 6M GPS module in various contexts, including reading GPS data, storing and reading EEPROM data, and communicating with other microcontrollers.