1. Introduction
The Geekstory BN-880 is a high-performance GPS module designed for various applications including car navigation, aircraft, and integration with development boards like Arduino and Raspberry Pi, as well as flight controllers such as Pixhawk and APM. This module features a dual-module design, incorporating both GPS and an HMC5883L electronic compass. It includes flash memory for saving configuration settings, eliminating the need for repeated setup.
This manual provides essential information for the proper setup, operation, and maintenance of your BN-880 GPS module.

Image 1.1: The BN-880 GPS Module with its accompanying 15cm cable.
2. Key Features
- Dual Module Design: Integrates GPS functionality with an HMC5883L electronic compass.
- Configuration Memory: Equipped with flash memory to save user configurations, ensuring settings persist after power cycles.
- Broad Compatibility: Suitable for open-source flight controllers (not SCM-based), Arduino, and Raspberry Pi projects.
- Data Output: Supports TTL or RS-232 data levels. Default is TTL. An external TTL to RS-232 converter cable is required for RS-232 output.
- Active Antenna: Utilizes an active GPS antenna for improved signal reception.
3. Technical Specifications
| Specification | Value |
|---|---|
| Model Name | BN-880 |
| Item Model Number | FZ2920 |
| Product Dimensions | 1.18 x 1.18 x 0.39 inches (28mm x 28mm x 10mm) |
| Item Weight | 0.64 ounces (0.04 Pounds) |
| Connectivity Technology | Cellular (for GPS data transmission) |
| Special Features | Dual Module Compass, Flash Configuration |
| Mounting Type | Dashboard Mount (typical for car navigation) |
| Input Voltage | DC 3.6V~5.5V (Typical: 5.0V) |
| Data Level | TTL (Default), RS-232 (with converter) |

Image 3.1: Physical dimensions of the BN-880 GPS Module.
4. What's in the Box
- 1 x BN-880 GPS Module
- 1 x 15cm Cable
5. Setup and Wiring
Proper wiring is crucial for the functionality of the BN-880 module. Refer to the pin description and connection diagrams below for guidance.
5.1 Pin Description
| PIN | PIN Name | I/O | Description |
|---|---|---|---|
| 1 | SDA | O | Compass SDA (I2C Data) |
| 2 | GND | G | Ground |
| 3 | TX | O | Serial Data Output (GPS) |
| 4 | RX | I | Serial Data Input (GPS) |
| 5 | VCC | I | DC 3.6V~5.5V Supply Input (Typical: 5.0V) |
| 6 | SCL | I | Compass SCL (I2C Clock) |

Image 5.1: Pin description for the BN-880 GPS Module.
5.2 Connecting to Arduino
When connecting the BN-880 to an Arduino board, ensure correct voltage and serial communication lines. The module typically operates at 5V. For serial communication, connect the module's TX to Arduino's RX, and module's RX to Arduino's TX. For the compass, connect SDA and SCL to the respective I2C pins on your Arduino (e.g., A4/A5 on Uno).
- VCC to Arduino 5V
- GND to Arduino GND
- RX (Module) to Arduino TX (e.g., Digital Pin 3)
- TX (Module) to Arduino RX (e.g., Digital Pin 4)
- SDA (Module) to Arduino SDA (e.g., Analog Pin A4)
- SCL (Module) to Arduino SCL (e.g., Analog Pin A5)

Image 5.2: Example wiring for BN-880 GPS Module with Arduino. Note: Specific digital pins for RX/TX may vary based on software serial implementation.
5.3 Connecting to Raspberry Pi
For Raspberry Pi, no specific driver installation is typically required for the hardware itself. However, you will need to install and configure appropriate software to read and process the GPS data. Ensure the serial port on the Raspberry Pi is enabled and configured correctly.
- VCC to Raspberry Pi 5V
- GND to Raspberry Pi GND
- RX (Module) to Raspberry Pi TXD (GPIO 14)
- TX (Module) to Raspberry Pi RXD (GPIO 15)
- SDA (Module) to Raspberry Pi SDA (GPIO 2)
- SCL (Module) to Raspberry Pi SCL (GPIO 3)
5.4 Connecting via USB-to-Serial Converter
To connect the BN-880 to a computer for configuration or testing, a USB-to-serial converter (TTL level) can be used.
- VCC to Converter 5V
- GND to Converter GND
- RX (Module) to Converter TX
- TX (Module) to Converter RX
- SDA & SCL: No connection needed for basic GPS data via serial.

Image 5.3: Example wiring for BN-880 GPS Module with a USB-to-serial converter.
6. Operating Instructions
6.1 Initial GPS Fix
Upon initial power-up, especially in a new location or after a long period of inactivity, the module may take several minutes to acquire a satellite fix. For best results, place the module outdoors with a clear view of the sky. Subsequent fixes will typically be faster.
6.2 Data Output
The BN-880 outputs NMEA sentences via its serial port. You can use a serial monitor or dedicated software to view and parse this data. The default baud rate for some units may be 9600, while others might be 38400. Verify the correct baud rate in your software configuration.
6.3 Compass Functionality
The integrated HMC5883L compass provides magnetic field data via the I2C interface (SDA, SCL pins). This data can be converted into a directional heading. Note that accurate compass readings require the module to be level. For applications requiring a gimbaled compass equivalent, an accelerometer would be necessary to compensate for tilt.
7. Maintenance
- Environmental Protection: Keep the module away from extreme temperatures, moisture, and strong electromagnetic interference.
- Physical Handling: Handle the module with care to avoid damaging the sensitive electronic components or the antenna.
- Cleaning: If necessary, gently clean the module with a dry, soft cloth. Avoid using liquids or harsh chemicals.
8. Troubleshooting
8.1 No GPS Data Output
- Check Wiring: Ensure VCC, GND, RX, and TX connections are correct. Remember that the module's TX connects to the receiver's RX, and vice-versa.
- Baud Rate: Verify that the baud rate configured in your software matches the module's output baud rate (commonly 9600 or 38400).
- Power Supply: Confirm the module is receiving stable power within the 3.6V-5.5V range.
- Satellite Acquisition: Ensure the module has a clear view of the sky for satellite acquisition. Initial fix can take several minutes.
- Hardware UART vs. SoftwareSerial (Arduino): For reliable high-speed data from GPS modules, it is recommended to use hardware UART pins (e.g., Arduino Uno pins 0 and 1) rather than SoftwareSerial, which can be less reliable. Disconnect the GPS module during sketch uploads if using hardware UART.
8.2 Inaccurate Compass Readings
- Calibration: The compass may require calibration. Refer to your flight controller or development board's documentation for compass calibration procedures.
- Interference: Keep the module away from magnetic fields generated by motors, power lines, or other electronic components.
- Leveling: Ensure the module is as level as possible for accurate readings.
8.3 Module Not Powering On
- Power Connection: Double-check VCC and GND connections.
- Voltage: Confirm the input voltage is within the specified range (3.6V-5.5V).
9. Warranty Information
This product is covered by a standard manufacturer's warranty against defects in materials and workmanship. Please retain your proof of purchase for any warranty claims. The warranty does not cover damage caused by improper installation, misuse, unauthorized modifications, or external factors.
10. Support
For further assistance, technical support, or inquiries regarding the Geekstory BN-880 GPS Module, please refer to the seller's contact information or visit the official Geekstory store page on Amazon. Online communities and forums dedicated to Arduino, Raspberry Pi, and flight controllers can also be valuable resources for project-specific guidance.
Geekstory Store: Visit the Geekstory Store on Amazon





