BN-880 GNSS Module + Compass Datasheet
High-precision navigation and positioning module.
Introduction
The Beitian BN-880 is a compact and versatile GNSS (Global Navigation Satellite System) module integrated with an electronic compass. It is designed for applications requiring accurate positioning, navigation, and heading information.
Product Image Description: A small, square electronic module with a label displaying "Beitian BN-880 GPS" and a serial number. It features multiple pins on one side and a connected wire harness with colored wires leading to a small connector. The module supports various GNSS constellations and includes an HMC5883L compass IC.
For product inquiries, bulk orders, free samples, or cooperation, please contact: sales@diymalls.com
Features
Item | Description |
---|---|
Chipset | M8030-KT |
Frequency | GPS L1, GLONASS L1, BDS B1, GALILEO E1, SBAS L1, QZSS L1 |
Receiving Format | GPS, GLONASS, BDS, GALILEO, SBAS, QZSS. Default: GPS, GLONASS, SBAS, QZSS. |
Channels | 72 Searching Channel |
Tracking Sensitivity | -167dBm |
Reacquisition Sensitivity | -160dBm |
Cold Start Sensitivity | -148dBm |
Hot Start Sensitivity | -156dBm |
Position Horizontal Accuracy | 2.0 m CEP 2D RMS SBAS Enable (Typical Open Sky) |
Velocity Accuracy | 0.1m/sec 95% (SA off) |
Timing Accuracy | 1µs synchronized to GPS time |
Acquisition Time | Cold Start: 26s |
Warm Start: 25s | |
Hot Start: 1s | |
Support Rate | 4800bps to 921600bps, Default 9600bps |
Data Level | TTL Level |
Data Protocol | NMEA-0183 |
NMEA Message | RMC, VTG, GGA, GSA, GSV, GLL |
Update Rate | 1Hz-10Hz, Default 1Hz |
FLASH | 4M FLASH, Stores configuration permanently |
Operational Limits | Altitude: <50,000m |
Velocity: <515m/s | |
Acceleration: <4g | |
Power Consumption | VCC: DC Voltage 3.6V-5.5V, Typical: 5.0V |
Current: Capture 50mA/5.0V | |
Mechanical Specifications | Dimension: 28mm*28mm*10mm |
Weight: 12.0g | |
Connector: 1.25mm 6-pin connector | |
Environment | Operating Temp: -40°C ~ +85°C |
Storage Temp: -40°C ~ +105°C | |
LED Indicators | TX LED: Blue (indicates data output, flashes when transmitting). PPS LED: Red (not lit when GPS is not fixed, flashes when fixed). |
Compass | Built-in compass with electronic compass IC HMC5883L |
Pin Description
The module features a 6-pin connector for power, ground, serial data, and compass interface.
PIN | PIN Name | I/O | Description |
---|---|---|---|
1 | SDA | O | Compass SDA |
2 | GND | G | Ground |
3 | TX | O | Serial Data Output. |
4 | RX | I | Serial Data input. |
5 | VCC | I | DC 3.6V~5.5V supply input, Typical: 5.0V |
6 | SCL | I | Compass SCL |
LED Indicators
- TX LED: Blue. Indicates data output; flashes when transmitting.
- PPS LED: Red. Not lit when GPS is not fixed; flashes when GPS is fixed.
Bottom View Description: An image showing the underside of the GNSS module, with markings including "RCIROCOMM" and other identifiers.
Dimensions
The BN-880 module has a compact form factor suitable for integration into various devices.
Dimensions: 28.0mm x 28.0mm x 10.0mm
Diagram Description: A visual representation illustrating the module's physical dimensions. One view shows the module with labels indicating 28.0mm for length and width, and 10.0mm for height. Another view is a top-down schematic outline, also showing 28.0mm dimensions and indicating pin locations (D2, D3, PPS, TX) and a central component area.
NMEA Data Output
The BN-880 module outputs standard NMEA 0183 messages, providing detailed navigation and positioning data. Below are examples and structures for common NMEA messages.
NMEA Message Output Sample
Example output strings:
$GNRMC,073114.00,A,2237.56240,N,11401.59614,E,1.329,21.11,020916,,,A,V*37
$GNVTG,21.11,T,,M,1.329,N,2.462,K,A*1B
$GNGGA,073114.00,2237.56240,N,11401.59614,E,1,12,0.78,112.9,M,-2.5,M,,*54
$GNGSA,A,3,19,05,02,06,17,12,09,13,,,,,1.48,0.78,1.26,1*01
$GNGSA,A,3,69,83,84,70,68,82,,,,,,,1.48,0.78,1.26,2*0E
$GPGSV,4,1,13,02,46,340,36,05,52,254,37,06,42,041,41,09,22,053,40,0*6E
$GPGSV,4,2,13,12,32,282,35,13,13,185,33,17,36,131,37,19,57,119,44,0*66
$GPGSV,4,3,13,20,03,237,,23,00,038,,25,09,311,19,42,51,128,32,0*60
$GPGSV,4,4,13,50,46,123,33,0*50
$GLGSV,2,1,08,68,25,027,39,69,78,011,36,70,40,213,43,74,00,259,,0*78
$GLGSV,2,2,08,82,06,124,36,83,46,085,44,84,44,358,41,85,05,324,14,0*74
$GNGLL,2237.56240,N,11401.59614,E,073114.00,A,A*7C
NMEA Message Talker IDs
Configured GNS | Talker ID |
---|---|
GPS, SBAS, QZSS | GP |
GLONASS | GL |
GALILEO | GA |
BEIDOU | GB |
Any combination of GNSS | GN |
GGA Message Structure
$xxGGA,time,lat,NS,long,EW,quality,numSV,HDOP,alt,M,sep,M,diffAge,diffStation*cs<CR><LF>
Example: $GPGGA,092725.00,4717.11399,N,00833.91590,E,1,08,1.01,499.6,M,48.0,M,,*5B
Field No | Name | Unit | Format | Example | Description |
---|---|---|---|---|---|
0 | xxGGA | - | string | $GPGGA | GGA Message ID (xx = current Talker ID) |
1 | time | - | hhmmss.ss | 092725.00 | UTC time |
2 | lat | - | ddmm.mmmmm | 4717.11399 | Latitude (degrees & minutes) |
3 | NS | - | character | N | North/South indicator |
4 | long | - | dddmm.mmmmm | 00833.91590 | Longitude (degrees & minutes) |
5 | EW | - | character | E | East/West indicator |
6 | quality | - | digit | 1 | 0:No Fix / Invalid 1:Standard GPS (2D/3D) 2:Differential GPS 6:Estimated (DR) Fix |
7 | numSV | - | numeric | 08 | Number of satellites used |
8 | HDOP | - | numeric | 1.01 | Horizontal Dilution of Precision |
9 | alt | m | numeric | 499.6 | Altitude above mean sea level |
10 | uAlt | - | character | M | Altitude units: meters (fixed field) |
11 | sep | m | numeric | 48.0 | Geoid separation: difference between geoid and mean sea level |
12 | uSep | - | character | M | Separation units: meters (fixed field) |
13 | diffAge | s | numeric | - | Age of differential corrections (blank when DGPS is not used) |
14 | diffStation | - | numeric | - | ID of station providing differential corrections (blank when DGPS is not used) |
15 | cs | - | hexadecimal | *5B | Checksum |
16 | <CR><LF> | - | character | - | Carriage return and line feed |
GLL Message Structure
$xxGLL,lat,NS,long,EW,time,status,posMode*cs<CR><LF>
Example: $GPGLL,4717.11364,N,00833.91565,E,092321.00,A,A*6
Field No | Name | Unit | Format | Example | Description |
---|---|---|---|---|---|
0 | xxGLL | - | string | $GPGLL | GLL Message ID (xx = current Talker ID) |
1 | lat | - | ddmm.mmmmm | 4717.11364 | Latitude (degrees & minutes) |
2 | NS | - | character | N | North/South indicator |
3 | long | - | dddmm.mmmmm | 00833.91565 | Longitude (degrees & minutes) |
4 | EW | - | character | E | East/West indicator |
5 | time | - | hhmmss.ss | 092321.00 | UTC time |
6 | status | - | character | A | V = Data invalid or receiver warning, A = Data valid |
7 | posMode | - | character | A | Positioning mode |
8 | cs | - | hexadecimal | *60 | Checksum |
9 | <CR><LF> | - | character | - | Carriage return and line feed |
GSA Message Structure
$xxGSA,opMode,navMode{,sv},PDOP,HDOP,VDOP,systemId*cs<CR><LF>
Example: $GPGSA,A,3,23,29,07,08,09,18,26,28,,,,,1.94,1.18,1.54,1*0D
Field No | Name | Unit | Format | Example | Description |
---|---|---|---|---|---|
0 | xxGSA | - | string | $GPGSA | GSA Message ID (xx = current Talker ID) |
1 | opMode | - | character | A | Operation mode M:Manually set to operate in 2D or 3D mode A:Automatically switching between 2D or 3D mode |
2 | navMode | - | digit | 3 | Navigation mode 1:Fix not available 2:2D Fix 3:3D Fix |
3+ 1*N |
sv | - | numeric | 29 | Satellite number |
15 | PDOP | - | numeric | 1.94 | Position dilution of precision |
16 | HDOP | - | numeric | 1.18 | Horizontal dilution of precision |
17 | VDOP | - | numeric | 1.54 | Vertical dilution of precision |
18 | systemId | - | numeric | 1 | NMEA defined GNSS System ID NMEA v4.1 and above only |
19 | cs | - | hexadecimal | *0D | Checksum |
20 | <CR><LF> | - | character | - | Carriage return and line feed |
GSV Message Structure
$xxGSV,numMsg,msgNum,numSV,{,sv,elv,az,cno},signalId*cs<CR><LF>
Example: $GPGSV,3,1,10,23,38,230,44,29,71,156,47,07,29,116,41,08,09,081,36,0*7F
Field No | Name | Unit | Format | Example | Description |
---|---|---|---|---|---|
0 | xxGSV | - | string | $GPGSV | GSV Message ID (xx = GSV Talker ID) |
1 | numMsg | - | digit | 3 | Number of messages, total number of GSV messages being output |
2 | msgNum | - | digit | 1 | Number of this message |
3 | numSV | - | numeric | 10 | Number of satellites in view |
4 + 4*N |
SV | - | numeric | 23 | Satellite ID |
5 + 4*N |
elv | deg | numeric | 38 | Elevation (range 0-90) |
6 + 4*N |
az | deg | numeric | 230 | Azimuth, (range 0-359) |
7 + 4*N |
cno | dBH | numeric | 44 | Signal strength (C/N0, range 0-99), blank when not tracking |
5..16 | signalId | - | numeric | 0 | NMEA defined GNSS Signal ID (0 = All signals) NMEA v4.1 and above only |
6..16 | cs | - | hexadecimal | *7F | Checksum |
7..16 | <CR><LF> | - | character | - | Carriage return and line feed |
RMC Message Structure
$xxRMC,time,status,lat,NS,long,EW,spd,cog,date,mv,mvEW,posMode,navStatus*cs<CR><LF>
Example: $GPRMC,083559.00,A,4717.11437,N,00833.91522,E,0.004,77.52,091202,,,A,V*57
Field No | Name | Unit | Format | Example | Description |
---|---|---|---|---|---|
0 | xxRMC | - | string | $GPRMC | RMC Message ID (xx = current Talker ID) |
1 | time | - | hhmmss.ss | 083559.00 | UTC time, see note on UTC representation |
2 | status | - | character | A | Status V:Navigation receiver warning A :Data valid, see position fix flags description |
3 | lat | - | ddmm.mmmmm | 4717.11437 | Latitude (degrees & minutes), see format description |
4 | NS | - | character | N | North/South indicator |
5 | long | - | dddmm.mmmmm | 00833.91522 | Longitude (degrees & minutes), see format description |
6 | EW | - | character | E | East/West indicator |
7 | spd | Kno s |
numeric | 0.004 | Speed over ground |
8 | cog | degr | numeric | 77.52 | Course over ground |
9 | date | - | ddmmyy | 091202 | Date in day, month, year format, see note on UTC representation |
10 | mv | degr ees |
numeric | - | Magnetic variation value (blank - not supported) |
11 | mvEW | - | character | - | Magnetic variation E/W indicator (blank - not supported) |
12 | posMode | - | character | - | Mode Indicator, see position fix flags |
13 | navStatus | - | character | V | Navigational status indicator (V = Equipment is not providing navigational status information) |
14 | cs | - | hexadecimal | *57 | Checksum |
15 | <CR><LF> | - | character | - | Carriage return and line feed |
VTG Message Structure
$xxVTG,cogt,T,cogm,M,knots,N,kph,K,posMode*cs<CR><LF>
Example: $GPVTG,77.52,T,,M,0.004,N,0.008,K,A*06
Field No | Name | Unit | Format | Example | Description |
---|---|---|---|---|---|
0 | xxVTG | - | string | $GPVTG | VTG Message ID (xx = current Talker ID) |
1 | cogt | degrees | numeric | 77.52 | Course over ground (true) |
2 | T | - | character | T | Fixed field: true |
3 | cogm | degrees | numeric | - | Course over ground (magnetic), not output |
4 | M | - | character | M | Fixed field: magnetic |
5 | knots | knots | numeric | 0.004 | Speed over ground |
6 | N | - | character | N | Fixed field: knots |
7 | kph | km/ | numeric | 0.008 | Speed over ground |
8 | K | - | character | K | Fixed field: kilometers per hour |
9 | posMode | - | character | A | Mode Indicator, see position fix flags description |
10 | cs | - | hexadecimal | *06 | Checksum |
11 | <CR><LF> | - | character | - | Carriage return and line feed |