Stufin
Home Quick Cart Profile

L80 GPS Shield

Buy Now on Stufin

Frequency

L1 band (1575.42 MHz)

Sensitivity

-165 dBm

Accuracy

Horizontal accuracy of up to 2.5 meters, velocity accuracy of up to 0.1 m/s

Power consumption

20 mA (tracking mode), 1 mA (power saver mode)

Operating voltage

3.3 V to 5 V

Operating temperature

-40C to +85C

Dimensions

25 mm x 25 mm

Applications

The L80 GPS Shield is suitable for a wide range of IoT applications, including

Location tracking and monitoring

Navigation and mapping

Asset tracking and monitoring

Industrial automation and control

Autonomous vehicles and drones

Wearable devices and fitness trackers

Pin Configuration

  • L80 GPS Shield Pinout Documentation
  • The L80 GPS Shield is a compact and convenient GPS module designed for various IoT projects. It features the Quectel L80 GPS module, which provides accurate and reliable GPS, GLONASS, and Galileo satellite navigation. This documentation will guide you through the pinout of the L80 GPS Shield, explaining each pin's function and how to connect them properly.
  • Pinout Structure:
  • The L80 GPS Shield has a 12-pin interface, with pins spaced 2.54mm apart. The pinout is divided into three groups:
  • Power and Reset (Pins 1-3)
  • UART Interface (Pins 4-7)
  • Antenna and Other (Pins 8-12)
  • Pin-by-Pin Explanation:
  • Power and Reset (Pins 1-3)
  • 1. VCC (Pin 1): Power supply pin, typically connected to the 5V power rail of the microcontroller or a regulated 5V power source.
  • 2. GND (Pin 2): Ground pin, connected to the ground plane of the microcontroller or the power source.
  • 3. RST (Pin 3): Reset pin, active low. Connect to a digital output of the microcontroller to reset the GPS module.
  • UART Interface (Pins 4-7)
  • 4. RX (Pin 4): Receive data pin, connected to the TX pin of the microcontroller.
  • 5. TX (Pin 5): Transmit data pin, connected to the RX pin of the microcontroller.
  • 6. CTS (Pin 6): Clear to Send pin, active low. Used for flow control, can be left unconnected if not used.
  • 7. RTS (Pin 7): Request to Send pin, active low. Used for flow control, can be left unconnected if not used.
  • Antenna and Other (Pins 8-12)
  • 8. ANT (Pin 8): GPS antenna pin, connected to the center pin of the GPS antenna.
  • 9. ANT_GND (Pin 9): GPS antenna ground pin, connected to the shield or ground plane of the GPS antenna.
  • 10. V_BACKUP (Pin 10): Backup power pin, typically connected to a backup power source (e.g., battery) to maintain the GPS module's internal clock and memory during power failures.
  • 11. PPS (Pin 11): Pulse Per Second output pin, provides a 1-PPS (pulse per second) signal synchronized with the GPS clock.
  • 12. NC (Pin 12): Not connected, reserved for future use.
  • Connection Structure:
  • To connect the L80 GPS Shield to a microcontroller, follow this structure:
  • Connect VCC to the 5V power rail or a regulated 5V power source.
  • Connect GND to the ground plane of the microcontroller or the power source.
  • Connect RST to a digital output of the microcontroller, if reset functionality is required.
  • Connect RX to the TX pin of the microcontroller.
  • Connect TX to the RX pin of the microcontroller.
  • Connect CTS and RTS if flow control is necessary, otherwise, leave them unconnected.
  • Connect the GPS antenna to the ANT pin, and the antenna's ground to the ANT_GND pin.
  • Connect a backup power source to the V_BACKUP pin, if required.
  • Connect the PPS pin to a digital input of the microcontroller, if the 1-PPS signal is needed.
  • Remember to check the specific documentation of your microcontroller and GPS antenna for any additional connection requirements or recommendations.

Code Examples

L80 GPS Shield Documentation
Overview
The L80 GPS Shield is a compact and high-performance GPS module designed for robotic, automotive, and IoT applications. It is based on the Quectel L80 GPS module, which provides a high-sensitivity receiver with a built-in antenna and supports multiple satellite systems including GPS, GLONASS, and Galileo. This shield is compatible with most microcontrollers and single-board computers, making it an ideal choice for GPS-enabled projects.
Technical Specifications
GPS Module: Quectel L80
 Frequency: L1 band (1575.42 MHz)
 Sensitivity: -148 dBm
 Cold Start: 32 seconds
 Hot Start: 1 second
 Accuracy: 2.5 meters
 Interface: UART, I2C, and SPI
 Power Supply: 3.3V to 5V
 Operating Temperature: -40C to 85C
Connecting the L80 GPS Shield
The L80 GPS Shield can be connected to most microcontrollers and single-board computers using the following pins:
VCC: Power supply (3.3V to 5V)
 GND: Ground
 TX/RX: UART communication pins
 SCL/SDA: I2C communication pins
 SCK/MISO/MOSI: SPI communication pins
Code Examples
### Example 1: Getting GPS Data using Arduino (UART)
In this example, we will use the L80 GPS Shield with an Arduino Board to read GPS data using the UART interface.
```cpp
#include <SoftwareSerial.h>
#define GPS_RX 2
#define GPS_TX 3
SoftwareSerial gpsSerial(GPS_RX, GPS_TX);
void setup() {
  Serial.begin(9600);
  gpsSerial.begin(9600);
}
void loop() {
  while (gpsSerial.available()) {
    char c = gpsSerial.read();
    Serial.print(c);
  }
  delay(1000);
}
```
This code initializes the SoftwareSerial library to communicate with the GPS shield using the UART interface. It then reads the GPS data and prints it to the serial monitor.
### Example 2: Parsing NMEA Sentences using Python (I2C)
In this example, we will use the L80 GPS Shield with a Raspberry Pi to read and parse NMEA sentences using the I2C interface.
```python
import smbus
import time
I2C_BUS = 1
GPS_ADDRESS = 0x10
bus = smbus.SMBus(I2C_BUS)
def read_nmea_sentence():
    data = bus.read_i2c_block_data(GPS_ADDRESS, 0x00, 64)
    sentence = ''.join([chr(x) for x in data])
    return sentence
while True:
    sentence = read_nmea_sentence()
    if sentence.startswith("$GPGGA"):
        print("GPS Data:", sentence)
    time.sleep(1)
```
This code initializes the I2C bus and reads NMEA sentences from the GPS shield. It then parses the sentences and prints the GPS data to the console.
### Example 3: Using GPS Data for Location-Based Services (SPI)
In this example, we will use the L80 GPS Shield with an ESP32 Board to read GPS data and use it for location-based services.
```cpp
#include <WiFi.h>
#include <HTTPClient.h>
WiFiClient client;
HTTPClient http;
#define SPI_CLK 18
#define SPI_MISO 19
#define SPI_MOSI 23
void setup() {
  Serial.begin(115200);
  SPI.begin(SPI_CLK, SPI_MISO, SPI_MOSI, -1);
  WiFi.begin("your_wifi_ssid", "your_wifi_password");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
}
void loop() {
  uint8_t gps_data[64];
  SPI.transfer(0x00, gps_data, 64);
  String sentence = (char)gps_data;
  
  if (sentence.startsWith("$GPGGA")) {
    int idx = sentence.indexOf(",");
    String latitude = sentence.substring(idx + 1, idx + 10);
    idx = sentence.indexOf(",", idx + 1);
    String longitude = sentence.substring(idx + 1, idx + 12);
    
    http.begin("http://example.com/locate");
    http.addHeader("Content-Type", "application/x-www-form-urlencoded");
    http.POST("lat=" + latitude + "&lon=" + longitude);
    int statusCode = http.responseStatusCode();
    http.end();
  }
  delay(10000);
}
```
This code initializes the SPI interface and reads GPS data from the shield. It then parses the latitude and longitude from the NMEA sentence and sends a POST request to a server with the location data.