GPS-PIE L80 slice GPS module with 9DOF IMU

motion sensor & barometric pressure sensor

The GPS-PIE L80 slice GPS module features a Quectel L80 GPS receiver combined with a BNO055 9 degree of freedom (9DOF) IMU motion sensor and MS5637 barometric pressure sensor in a Raspberry Pi pHAT format. No Raspberry Pi is included.

L80_SLICE Order

Pin out
The pin out of the GPS-PIE L80 slice on the Raspberry Pi GPIO connector is shown below. The module is powered from the 5V pins 2 & 4 of the Raspberry Pi. A red LED indicates power is connected. All the ground pins on the GPIO header are connected. An onboard regulator provides the 3.3V required by the module. Inputs are not 5V tolerant. The L80 GPS receiver connects via the serial port on pins 8 & 10. The yellow 1PPS LED indicates the state of the GPS fix. It blinks when the GPS receiver has a fix and is off when no fix has been obtained. This 1PPS signal can optionally be connected to GPIO pin 33 via jumper or wire link. The BNO055 9DOF motion sensor and MS5637 pressure sensor connect to the Raspberry Pi via I2C on pins 3 & 5. The BNO055 interrupt output can optionally be connected to pin 13 and its reset input to pin 15 either via wire links or jumpers (not provided). Pins 29 & 31 are brought out of the GPIO header so each can be used for a control button input. Pin 35 is available as an additional spare GPIO pin. Pin 37 is connected to a green LED that can be used as a status signal.
All GPIO pins are 3.3V only.
The Raspberry Pi serial port must be configured for the GPS receiver. See Raspberry Pi serial configuration for GPS receivers for details.
The BNO055 motion sensor is not compatible with the standard Raspberry Pi hardware I2C interface so needs to be set up differently. See Raspberry Pi I2C configuration for the BNO055 for details.

A normally open button can be connected between GPIO pins 29 or 31 and ground, as shown below, to provide a program running on the Raspberry Pi with one or two control button inputs.

BNO055 sensor Orientation
The orientation of the BNO055 9DOF motion sensor is shown below. For full details please see the datasheet linked below.

The BNO055 9DOF motion sensor has one user programmable interrupt output which can be optionally connected to pin 13 on the Raspberry Pi GPIO header as shown below. The reset pin of the BNO055 can be connected to pin 15. Jumper shown is not supplied.

The BNO055 interrupt pin can be set to one of several different motion / orientation conditions. For full details please see the BNO055 documentation below.

A 40 way female header can be supplied either soldered or unsoldered to the L80 slice module. Alternatively a male header can be supplied on request. Four spacers are supplied for mounting the module to the Raspberry Pi.
No clutter

The Raspberry Pi friendly pHAT format of the GPS-Pie L80 slice allows it to replace the clutter of several break out boards with a single application ready module.

No Raspberry Pi is included.

Antenna Connection
The L80 GPS receiver has a onboard patch antenna to receive GPS signals. It does not require a external antenna. However reception can be improved with an external active antenna, particularly if the module is mounted in an enclosure. No external antenna or additional connectors are included. As shown below a u.FL format socket is provided on the board as the default external antenna connector. A u.FL to female SMA pigtail connector can be used to add an external antenna. In addition there is space on the board for either an MMX or SMA external antenna connector to be installed.

GPS-PIE L80 slice
Quectel L80 GPS receiver
BNO055 Intelligent 9-axis absolute orientation sensor
MS5637 Barometric Pressure Sensor
Weight 14g
Dimensions 65 x 30 x 8mm LxWxH
Power supply required 5V DC from Raspberry Pi*
Power consumption 60mA patch antenna only, 75mA with external antenna
Operating Temp. 0° - 85°C
*This module is designed to powered from a Raspberry Pi so there is no reverse polarity protection.
Please note that the only software support available for this module are simple interfacing routines written in C. These routines only demonstrate how to communicate with and control the L80 GPS receiver, BNO055 and MS5637. No application specific code or GPS - IMU fusion code is available. Example software description.
L80 GPS Receiver
The L80 is a compact GPS module with an integrated patch on top antenna making it ideal for small electronic systems. It can also be used with an external active antenna. The L80 has exceptional performance both in acquisition and tracking.
Chipset MTK MT3339
Channels 66 channels (Acquisition), 22 channels (Tracking)
DGPS supported WAAS, EGNOS, MSAS,GAGAN. SBAS can only be enabled when update rate is less than or equal to 5Hz
Sensitivity Acquisition: -148dBm, cold start
Reacquisition: -163dBm, Hot start
Tracking: -165dBm
TTFF Conditions Open sky, stationary
Hot start: 1 second typical
Warm start: 33 seconds typical
Cold start: 35 seconds typical
Position Accuracy Without aid:3.0m (50% CEP)
Velocity Accuracy Without aid : 0.1m/s
Altitude Maximum 18,000m (60,000 feet)*
Velocity Maximum 515m/s (1000 knots)
Update Rate 1Hz (default), maximum 10Hz
Baud Rate 9600 bps (default) 4800 - 115200bps
Output protocol NMEA 0183
Input protocol PMTK
Working Temperature -40 °C to +85 °C
*The L80 documentation states that it has a high-altitude balloon mode which allows it to work up to 80km. Please see PMTK command 886 on page 45/46 of the protocol specification below for the relevant command.

L80 Datasheet

L80 MTK Protocol

L80 SDK Commands

BNO055 Intelligent 9-axis absolute orientation sensor
The BNO055 is a highly advanced 9 degree of freedom motion sensor. It combines a triaxial accelerometer, a triaxial magnetometer and triaxial gyroscope into a single package with an ARM microcontroller. The microcontroller runs the sensor fusion algorithms which combine the data from the three sensors into a simple three axis orientation in 3D space. The data is read via I2C.
Measuring three dimensional motion in real time is complicated. Therefore the BNO055 is a complex sensor with numerous settings and variables. Although our source code will allow you to interface to it, you will still need to understand this functionality for your own application. Please read the datasheet linked below. We regret that we cannot provide application specific advice on the best settings for individual projects.
100Hz sample rate
Four point quaternion data, Euler angles, rotation vector, linear acceleration, gravity, heading
Acceleration range +/-2g / +/-4g / +/-8g / +/-16g
Gyroscope range switchable from +/-125°/s to +/-2000°/s
Magnetometer field range typical +/-1300uT (x, y axes) +/-2500uT (z axis)
Single motion triggered interrupt
Operating temperature: -40 to +85 °C
Interface via I2C
BNO055 Datasheet
MS5637 Barometric Pressure Sensor
The MS5637 is an ultra-compact barometric pressure sensor that interfaces via a simple I2C bus comms protocol. It is optimised for altimeter and barometer applications in small electronic devices. The sensor module includes a high-linearity pressure sensor and an ultra-low power 24 bit ADC that provides precise digital 24-bit pressure and temperature values. The high-resolution temperature output allows the implementation of an altimeter / thermometer function without any additional sensor.
Please note that this sensor is not able to measure absolute altitude, i.e. height above sea level, without a continuously updated sea level reference pressure measurement. It is best used to accurately measure relative altitude changes. It does not measure ambient temperature, but the temperature of the sensor on the board with the influence of surrounding electronics plus the effect of any enclosure.
Integrated digital pressure sensor with 24 bit ADC
Operating range: 300 to 1200 mbar, -40 to +85 °C
High-resolution module, 13 cm at sea level
Fast conversion down to 0.5 ms
Interface via I2C
MS5637 Datasheet




© The BlackBoxCameraTM Company Limited 2019