Description
BerryGPS-IMU v4 has been specifically designed for the Raspberry Pi Zero. It is also compatible with all other versions Raspberry Pi. It includes logic level shifters for 5v MCUs, which means it is also compatible with an Arduino.
BerryGPS-IMU v4 is a GPS module which also includes all the sensors found in the BerryIMU v3.
The sensors found on the BerryGPS-IMU v4 are:
- GPS
- Accelerometer
- Gyroscope
- Magnetometer (Compass)
- Barometric/pressure sensor (altitude)
- Temperature
We have also made the BerryIMUv3 compatible with the SparkFun QWIIC echo system.
We sell a QWIIC connector and cable for the Raspberry here. This does away with the need to solder headers onto the BerryIMUv3 when connecting to a Raspberry Pi.
When connecting via QWIIC connector only, the GPS module can only be accessed via I2C
GPS
BerryGPS-IMU v4 uses the CAM-M8 from uBlox, which is an advanced high quality GPS module.
3 concurrent GNSS: Concurrent reception of up to 3 GNSS (GPS, Galileo, GLONASS, BeiDou)
Embedded Antenna: Embedded, omnidirectional and wideband antenna
Super Cap: The SuperCap keeps the ephemeris data stored in the battery backup RAM for 2 hours. This allows for faster acquisitions when the module is power cycled.
Fix and PPS indicator: The on board LED will flash once a second when a fix has been obtained. The PPS signal is also presented on an output pin.
Time Pulse Output (PPS): 0,25Hz - 10MHz (default 1Hz)
Protocols:NMEA, UBX binary, RTCM
Update Rate: Single GNSS - up to 18Hz, Dual GNSS up to 10Hz
Connection for external antenna: BerryGPS-IMU v4 also includes a uFL connector for an external antenna, which can be used when BerryGPS-IMU v4 doesn't have clear access to the sky.
u-Center: A graphical interface to test and configure the GPS module on the BerryGPS-IMU
An external antenna can be found here.

This external antenna increases the signal via 28dB.
Technical specifications
Dimensions; 65 mm x 30 mm
Weight = 6gm
GPS Module CAM-M8
- Low current consumption, <200uA when using Periodic mode.
- Receiver Type;
72-channel u-blox M8 engine
GPS/QZSS L1 C/A, GLONASS L10F,
BeiDou B11, Galileo E1B/C
SBAS L1 C/A: WAAS, EGNOS, MSAS, GAGAN - Altitude of 50,000m
- 3.3v supply
- NMEA, UBX binary, RTCM
- UART 4800/9600/38400/115200/230400/460800 bps
- Max update rate 10 Hz
- Horizontal position accuracy <2.5m CEP
- Acquisition sensitivity -148dBm
- Tracking sensitivity -167dBm
- Hot start <1s
- Assisted start <3s
- Cold start <26s
- Orbit prediction
- 1PPS Sync
- Fix/PPS LED
- One external pin for wake up
- Embedded antenna
- Connector for external antenna
- SuperCap to help store ephemeris data.
IMU
An inertial measurement unit, or IMU, measures and reports on velocity, orientation and gravitational forces, using a combination of an accelerometer, gyroscope and a magnetometer.
BerryGPS-IMU v4 is also fitted with a barometric sensor (BM388) which can be used to calculate altitude. A temperature sensor is also included.
IMUs can be found in devices like, quad copters, smart phones, segways, Wii Remote etc.. and are used to sense movement and orientation.
Technical specifications of IMU
Gyroscope - LSM6DSL
- i2c and SPI interface
- Measurement range ±125/±250/±500/±1000/±2000 dps
- Sensitivity 4.375, 8.75, 17.50, 35, 70 mdps
Accelerometer - LSM6DSL
- i2c and SPI interface
- Scales of ±2g / ±4g / ±8g / ±16g
Magnetometer - LIS3MDL
- i2c and SPI interface
- Magnetic field full scale of ±4 / ±8 / ±12 / ±16 gauss.
- Internal temperature sensor
Barometric Sensor BMP388
- i2c interface
- Pressure range 300 ... 1250 hPa
- Resolution of data: Pressure: 0.18 Pa (eqiuv. to <10 cm)
- Absolute accuracy ±50 Pa
- Relative accuracy ± 8Pa (equiv. to ±0.6 m)
- Temperature range -40 ...+85 °C
BerryGPS-IMU v4 is compatible with all models of Raspberry Pi, including Pi 2, Pi 3, Pi 4 and Zero as well Arduino
BerryGPS-IMU v4 comes with;
- BerryGPS-IMU PCB
- 1 x female header
- 4 x nylon standoffs, nuts and screws
Raspberry Pi, Antenna or QWIIC connector are not included.
Some very basic soldering is required to solder on the female header.
BerryGPS-IMU Guides and Tutorials
For the GPS:
- BerryGPS setup Guide for Raspberry PI
- BerryGPS Data logger using a BerryGPS
- Navigating with Navit on the Raspberry Pi
- Use u-Center graphical interface to control GPS
- Accessing GPS via I2C
- BerryGPS-IMU FAQ
For the IMU:
- Guide to interfacing a Gyro and Accelerometer with a Raspberry Pi
- Guide to interfacing a Gyro and Accelerometer with a Raspberry Pi - Kalman Filter
- Create a Digital Compass with the Raspberry Pi – Part 1 – “The Basics”
- Create a Digital Compass with the Raspberry Pi – Part 2 – “Tilt Compensation”
- Create a Digital Compass with the Raspberry Pi – Part 3 – “Calibration”
- Create a Digital Compass with the Raspberry Pi – Part 4- “Smartphone Replica”
- Converting values from an Accelerometer to Gs – “ Proper Acceleration”
- How to Create an Inclinometer using a Raspberry Pi and an IMU
- Raspberry Pi Digital Spirit Level
- Double tap detection with BerryIMUv3
- Using SPI on the BerryIMUv3