

The DfRobot Gravity: GNSS GPS module is a high-precision positioning device designed to provide accurate location data by utilizing multiple satellite systems, including GPS, GLONASS, Galileo, and BeiDou. This module is part of DfRobot's Gravity series, which emphasizes ease of use and compatibility with a wide range of microcontrollers, including Arduino and Raspberry Pi. Its compact design and high sensitivity make it ideal for robotics, outdoor navigation, and geolocation-based projects.








The following table outlines the key technical details of the DfRobot Gravity: GNSS GPS module:
| Parameter | Specification |
|---|---|
| Satellite Systems | GPS, GLONASS, Galileo, BeiDou |
| Positioning Accuracy | 2.5 meters (CEP) |
| Update Rate | 1 Hz (default), configurable up to 10 Hz |
| Operating Voltage | 3.3V to 5.5V |
| Operating Current | 30 mA (typical) |
| Communication Interface | UART (default baud rate: 9600 bps) |
| Antenna | External active antenna (included) |
| Dimensions | 30 mm x 20 mm |
| Weight | 10 g |
The module features a 4-pin Gravity interface for easy connection. The pinout is as follows:
| Pin | Label | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V to 5.5V) |
| 2 | GND | Ground |
| 3 | TX | UART Transmit (data output from the module) |
| 4 | RX | UART Receive (data input to the module) |
Connect the Module to a Microcontroller:
Power the Module:
Read Data:
Below is an example of how to use the DfRobot Gravity: GNSS GPS module with an Arduino UNO to read and display GPS data:
#include <SoftwareSerial.h>
// Define the RX and TX pins for the GPS module
SoftwareSerial gpsSerial(4, 3); // RX = Pin 4, TX = Pin 3
void setup() {
Serial.begin(9600); // Initialize Serial Monitor at 9600 bps
gpsSerial.begin(9600); // Initialize GPS module at 9600 bps
Serial.println("Initializing GPS module...");
}
void loop() {
// Check if data is available from the GPS module
while (gpsSerial.available()) {
char gpsData = gpsSerial.read(); // Read one character at a time
Serial.print(gpsData); // Print the character to the Serial Monitor
// Note: The GPS module outputs NMEA sentences. Use a GPS library
// like TinyGPS++ to parse and extract specific data fields.
}
}
No GPS Data Received:
Incorrect or Inconsistent Data:
Module Not Responding:
Slow Position Fix:
Q: Can the module work indoors?
A: The module may work indoors near windows, but performance will be significantly reduced compared to outdoor use.
Q: How can I increase the update rate?
A: You can send specific configuration commands to the module to increase the update rate up to 10 Hz. Refer to the module's datasheet for details.
Q: Is the module compatible with 3.3V logic microcontrollers?
A: Yes, the module supports both 3.3V and 5V logic levels, making it compatible with a wide range of microcontrollers.
Q: What is the default output format of the module?
A: The module outputs data in NMEA sentence format by default, which is a standard format for GPS data.
By following this documentation, you can effectively integrate the DfRobot Gravity: GNSS GPS module into your projects and troubleshoot common issues with ease.