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

How to Use Adafruit GPS FeatherWing: Examples, Pinouts, and Specs

Image of Adafruit GPS FeatherWing
Cirkit Designer LogoDesign with Adafruit GPS FeatherWing in Cirkit Designer

Introduction

The Adafruit GPS FeatherWing (Part ID: 3133) is a compact GPS module designed to seamlessly integrate with Adafruit Feather boards. It provides precise location data (latitude, longitude, altitude) and time information using UART communication. This module is based on the MTK3339 chipset, known for its high sensitivity and low power consumption, making it ideal for portable and IoT applications.

Explore Projects Built with Adafruit GPS FeatherWing

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit GPS FeatherWing in a practical application
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO-Based Motion Sensor with OLED Display
Image of Acelerometer(1): A project utilizing Adafruit GPS FeatherWing in a practical application
This circuit uses an Arduino UNO to read data from an MPU-6050 accelerometer and gyroscope sensor and display the readings on an Adafruit 128x64 OLED FeatherWing. The Arduino communicates with both the sensor and the display via the I2C protocol, and the code initializes the devices, reads sensor data, and updates the display every 500 milliseconds.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
Image of EC444 - Quest 3: A project utilizing Adafruit GPS FeatherWing in a practical application
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and OLED FeatherWing Display: Battery-Powered Hello World Project
Image of ARDUINO_SSD1306: A project utilizing Adafruit GPS FeatherWing in a practical application
This circuit consists of an Arduino UNO connected to an Adafruit OLED FeatherWing display via I2C communication (SDA and SCL lines). The Arduino is powered through a Vcc source and provides 3.3V and GND connections to the OLED display. The Arduino runs a program to display 'Hello, World!' on the OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit GPS FeatherWing

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit GPS FeatherWing in a practical application
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Acelerometer(1): A project utilizing Adafruit GPS FeatherWing in a practical application
Arduino UNO-Based Motion Sensor with OLED Display
This circuit uses an Arduino UNO to read data from an MPU-6050 accelerometer and gyroscope sensor and display the readings on an Adafruit 128x64 OLED FeatherWing. The Arduino communicates with both the sensor and the display via the I2C protocol, and the code initializes the devices, reads sensor data, and updates the display every 500 milliseconds.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of EC444 - Quest 3: A project utilizing Adafruit GPS FeatherWing in a practical application
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ARDUINO_SSD1306: A project utilizing Adafruit GPS FeatherWing in a practical application
Arduino UNO and OLED FeatherWing Display: Battery-Powered Hello World Project
This circuit consists of an Arduino UNO connected to an Adafruit OLED FeatherWing display via I2C communication (SDA and SCL lines). The Arduino is powered through a Vcc source and provides 3.3V and GND connections to the OLED display. The Arduino runs a program to display 'Hello, World!' on the OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • GPS tracking for drones, robots, and vehicles
  • Time synchronization for IoT devices
  • Geolocation-based projects
  • Outdoor navigation systems
  • Data logging for environmental monitoring

Technical Specifications

The Adafruit GPS FeatherWing is built for ease of use and reliable performance. Below are its key technical details:

Key Technical Details

Parameter Specification
Chipset MTK3339
Communication Interface UART (9600 baud default)
Input Voltage 3.3V (Feather-compatible)
Current Consumption ~20mA (tracking mode)
Position Accuracy < 3 meters (CEP)
Time to First Fix (TTFF) Cold Start: ~35 seconds, Hot Start: 1 second
Antenna Built-in patch antenna + u.FL connector for external antenna
Dimensions 50.8mm x 22.8mm x 8mm

Pin Configuration and Descriptions

The Adafruit GPS FeatherWing has the following pin layout:

Pin Name Description
VIN Power input (3.3V from Feather board)
GND Ground connection
RX UART Receive pin (connect to Feather TX)
TX UART Transmit pin (connect to Feather RX)
PPS Pulse-per-second output for precise timing (optional)
EN Enable pin to turn the GPS module on/off (active high)
u.FL Connector for an external GPS antenna (optional, for improved reception)

Usage Instructions

How to Use the Adafruit GPS FeatherWing in a Circuit

  1. Hardware Setup:

    • Stack the GPS FeatherWing onto a compatible Adafruit Feather board.
    • Ensure the VIN and GND pins are properly connected to the Feather board's power and ground.
    • Connect the RX and TX pins of the GPS module to the TX and RX pins of the Feather board, respectively.
    • If needed, attach an external GPS antenna to the u.FL connector for better reception.
  2. Software Setup:

    • Install the Adafruit GPS library in your Arduino IDE:
      1. Open the Arduino IDE.
      2. Go to Sketch > Include Library > Manage Libraries.
      3. Search for "Adafruit GPS" and install the library.
    • Load the example sketch provided by the library to test the GPS module.
  3. Powering the Module:

    • The GPS FeatherWing is powered directly from the Feather board's 3.3V supply. Ensure the Feather board is powered via USB or a battery.

Important Considerations and Best Practices

  • Antenna Placement: For optimal GPS signal reception, ensure the module or external antenna has a clear view of the sky.
  • UART Configuration: The default baud rate is 9600. Ensure your Feather board's UART settings match this.
  • Power Consumption: The module consumes ~20mA during operation. If using a battery, ensure it has sufficient capacity for your application.
  • PPS Pin: Use the PPS pin for applications requiring precise timing, such as time synchronization.

Example Code for Arduino UNO

Below is an example sketch to read GPS data using the Adafruit GPS FeatherWing:

#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>

// Create a SoftwareSerial connection for the GPS module
SoftwareSerial mySerial(8, 7); // RX, TX pins for Arduino UNO

// Initialize the GPS object
Adafruit_GPS GPS(&mySerial);

void setup() {
  Serial.begin(115200); // Start serial monitor for debugging
  mySerial.begin(9600); // Start GPS communication at 9600 baud

  // Initialize GPS module
  GPS.begin(9600);
  Serial.println("Adafruit GPS FeatherWing Test");

  // Configure GPS to output RMC (Recommended Minimum) and GGA (Fix Data) sentences
  GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
  // Set update rate to 1 Hz (1 update per second)
  GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
}

void loop() {
  // Read data from the GPS module
  char c = GPS.read();
  if (c) {
    Serial.print(c); // Print raw GPS data to the serial monitor
  }

  // Check if a new NMEA sentence is available
  if (GPS.newNMEAreceived()) {
    if (!GPS.parse(GPS.lastNMEA())) {
      // If parsing fails, skip to the next loop iteration
      return;
    }
  }

  // Print parsed GPS data
  if (GPS.fix) {
    Serial.print("Location: ");
    Serial.print(GPS.latitude, 4);
    Serial.print(GPS.lat);
    Serial.print(", ");
    Serial.print(GPS.longitude, 4);
    Serial.println(GPS.lon);
  } else {
    Serial.println("Waiting for GPS fix...");
  }
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No GPS Fix:

    • Cause: Poor signal reception.
    • Solution: Ensure the module or external antenna has a clear view of the sky. Avoid indoor use or areas with heavy obstructions.
  2. No Data Output:

    • Cause: Incorrect UART connections or baud rate mismatch.
    • Solution: Verify that the RX and TX pins are correctly connected. Ensure the baud rate is set to 9600 in both hardware and software.
  3. Intermittent Data:

    • Cause: Insufficient power supply.
    • Solution: Ensure the Feather board provides a stable 3.3V supply. If using a battery, check its charge level.
  4. External Antenna Not Working:

    • Cause: Improper connection or damaged antenna.
    • Solution: Verify the u.FL connector is securely attached. Test with a known working antenna.

FAQs

  • Can I use this module with boards other than Adafruit Feather? Yes, but you may need to manually connect the pins and ensure compatibility with the 3.3V logic level.

  • What is the maximum update rate of the GPS module? The module supports up to 10 Hz update rate, but the default is 1 Hz.

  • Does the module work indoors? GPS signals are weak indoors. Use the module outdoors or near a window for best results.

  • How do I reset the GPS module? Power cycle the module by disconnecting and reconnecting the VIN pin or using the EN pin.

This concludes the documentation for the Adafruit GPS FeatherWing. For further assistance, refer to the official Adafruit documentation or community forums.