Raspberry Pi Cellular IoT Application Shield – LTE-M & NB-IoT & eGPRS

(20 customer reviews)


This is an add-on for Raspberry Pi that has combined LTE technologies Cat.M1, Cat.NB1 (NB-IoT) and eGPRS for Raspberry Pi, based on Quectel’s BG96 module. The shield has the power of new IoT phenomenon LPWA (Low Power Wide Area) with Cat.M1 and NB-IoT connection functionalities. Besides, it also provides the function of eGPRS, the enhanced version of classical GPRS.

The module on shield has GNSS (GPS, GLONASS etc.) functionality for location, navigation, tracking, mapping and timing applications purposes.

The design has a built-in temperature, humidity, light sensors, 3-axis accelerometer, and relay. In case you do not require these built-in features, you should have a look at Raspberry Pi Cellular IoT HAT.


Sixfab Connect SIM

Sixfab Connect SIM is a cellular connectivity solution for connecting your IoT devices with the best global networks. You can activate and use your SIM card in a few minutes, without any contract or commitment.


The ancient 2G cellular network is now dying. New and better LTE technologies are being used instead. LTE Cat M1/Cat NB1(NB-IoT) is the latest way of the machine to machine communication. This LTE shield for your Raspberry Pi allows you to connect the Raspberry to this new cellular network thanks to Quectel BG96 LTE module. It also provides the connection to eGPRS, the enhanced version of classical GPRS.

Quectel BG96 is a series of LTE Cat M1/Cat NB1/EGPRS module offering a maximum data rate of 375Kbps downlink and 375Kbps uplink with worldwide coverage. The shield has built-in temperature, humidity, light sensors, 3-axis accelerometer, a relay and more. This LTE add-on for Raspberry Pi also supports GNSS(GPS, GLONASS etc) for location, navigation, tracking, mapping and timing applications purposes.

FAQ   Complete Documentation     Ask a Question


  1. Fully compatible with Raspberry Pi models that have the 40-pin GPIO header (4, 3, 2, B+, A+, Zero)
  3. Worldwide coverage with supported bands:
    • Cat M1/Cat NB1:
      • LTE FDD: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B26/B28
      • LTE TDD: B39 (For Cat M1 Only)
    • EGPRS: 850/900/1800/1900MHz
  4. Embedded GNSS Functionality (GPS, GLONASS, BeiDou/Compass, Galileo, QZSS)
  5. 12-Bit 4 Channel ADC
  6. 3-axis Accelerometer
  7. Humidity and Temperature Sensors
  8. Ambient Light Sensor
  9. Isolated Optocoupler Inputs
  10. 1-Wire Sensors Interface
  11. 3GPP E-UTRA Release 13, 3GPP TS27.007, 3GPP TS 27.005 and Quectel Enhanced AT Commands over UART port to Raspberry Pi is available
  12. Efficient and low quiescent current regulator circuit can hold up to 3.6A
  13. Can be used standalone with PC/Laptop over micro USB, without stacking with Raspberry Pi
  14. Micro SIM Card socket is easily reachable on the upside of the shield.
  15. Working temperature range: -30°C to +80°C


Key Applications

  1. Smart farming sensor
  2. Smart cities sensor
  3. Smart home sensor
  4. Internet of Things (IoT) sensor
  5. Smart door lock
  6. Smart lighting
  7. Smart metering
  8. Bike sharing
  9. Smart parking
  10. Smart city
  11. Security and asset tracking
  12. Home appliances
  13. Agricultural and environmental monitoring


Technical Details

Connection Types

USB: If you don’t want to occupy UART port on the Raspberry Pi, just plug the shield via micro USB to Raspberry Pi. You can start to send and receive AT commands, transmit data, output GNSS NEMA, debug and upgrade firmware over the USB connection. It supports USB drivers for Windows, Linux, and Android. Details can be found at drivers section.

UART: The UART pins will be available to use, with 3.3V power domain, directly connected the UART port of Raspberry Pi. Can be used for data transmission and AT command communication with 115200bps baud rate. The default data frame format is 8N1 (8 data bits, no parity, 1 stop bit). This port does not provide GNSS data. The GNSS data can be gathered only over the USB.

Data Speeds

Cat M1:

Max. 375Kbps (Downlink), Max 375Kbps (Uplink)

Cat NB1:

Max. 32Kbps (DL), Max. 70Kbps (UL)


Max. 296Kbps (DL), Max. 236.8Kbps (UL)


Max. 107Kbps (DL), Max. 85.6Kbps (UL)


Point-to-point MO and MT

SMS Cell Broadcast

Text and PDU Mode

Enhanced Features

  • GNSS: GPS, GLONASS, BeiDou/Compass, Galileo, QZSS
  • Firmware Upgrade: via USB interface
  • DFOTA: Delta Firmware Upgrade Over the Air
  • Audio Record/Play
  • Processor: ARM A7 Processor, with 3MB Flash and 3MB RAM Available for Users


!! Warnings !!

  • For the best working condition, use at least a 2A adapter or power source.
  • We don’t recommend usage of long and low-quality micro USB cables between Cellular IoT Application Shield and Raspberry Pi as it may cause data and power loss.
  • Do not apply higher voltages and currents than those specified absolute electrical value for sensor inputs and relay connections.




Raspberry Pi Cellular IoT Application Shield Pinout


Pin Descriptions

Pin Number BCM Pin Pin Name Description
2 5V 5V PWR This pin is connected to the 5V power net.
3 GPIO 2 SDA I2C Serial Data
4 5V 5V PWR This pin is connected to the 5V power net.
5 GPIO 3 SCL I2C Serial Data
7 GPIO 4 1-WIRE Data line for communicate with 1-Wire sensors.
8 UART RX BG96 TX This pin functions as the serial data input to the module for UART communication.
10 UART TX BG96 RX This pin functions as the serial data output from the module for UART communication
11 GPIO 17 RELAY Relay control pin. When this pin is HIGH state, relay is operated.(Common and NO are connected.)
12 GPIO 18 IN-2 When the voltage in the range 3.3-12V(max 15V!) is applied from the IN-2 input, this pin goes to LOW state. Default state is HIGH(pulled-up).
13 GPIO 27 USER LED Active HIGH, to switch on the USER LED, the pin’s state should be HIGH.
18 GPIO 24 USER BUTTON This pin is pulled-up by default. When button is pressed, pin switches to LOW.
19 GPIO 10 IN-1 When the voltage in the range 3.3-12V(max 15V!) is applied from the IN-1 input, this pin goes to LOW state. Default state is HIGH(pulled-up).
23 GPIO 11 BG96 PWRKEY The module can be turned on by driving the pin BG96 PWRKEY to a HIGH-level voltage more than 500ms then pulling it down. You can apply the same process to power down to the module if it already powered up.
31 GPIO 6 BG96 APREADY AP_READY will detect the sleep state of the host (can be configured to HIGH level or LOW level detection). Please refer to AT+QCFG=“apready” command for details.
33 GPIO 13 BG96 RI When BG96 has URC to report, RI signal will wake up the host. Please refer to Chapter 3.14 for details about RI behavior from BG96 Datasheet.
37 GPIO 26 BG96 POWER ENABLE BG96 3.8V Power regulator control. Normally pulled-up, when this pin drove to LOW, BG96’s power will cut off.
38 GPIO 20 BG96 STATUS The STATUS pin is used to indicate the operation status of BG96 module. It will output HIGH level when the module is powered on.
6,9,14,25,30,34,39 GND GND This pins are connected to ground.


Electrical Characteristics of Pins

Pin Number BCM Pin Pin Name Description Min Typ. Max. Unit
2 5V 5V PWR Power Supply 4.8 5 5.25 V
3 GPIO 2 SDA I2C Data 3 3.3 3.6 V
4 5V 5V PWR Power Supply 4.8 5 5.25 V
5 GPIO 3 SCL I2C Clock 3 3.3 3.6 V
7 GPIO 4 1-WIRE 1-Wire data 3 3.3 3.6 V
8 UART RX BG96 TX UART 3 3.3 3.6 V
10 UART TX BG96 RX UART 3 3.3 3.6 V
11 GPIO 17 RELAY Output 3 3.3 3.6 V
12 GPIO 18 IN-2 Input 3 3.3 3.6 V
13 GPIO 27 USER LED Output 3 3.3 3.6 V
18 GPIO 24 USER BUTTON Input 3 3.3 3.6 V
19 GPIO 10 IN-1 Input 3 3.3 3.6 V
23 GPIO 11 BG96 PWRKEY Output 3 3.3 3.6 V
31 GPIO 6 BG96 APREADY Input 3 3.3 3.6 V
33 GPIO 13 BG96 RI Input 3 3.3 3.6 V
37 GPIO 26 BG96 POWER ENABLE Output 3 3.3 3.6 V
38 GPIO 20 BG96 STATUS Input 3 3.3 3.6 V





You can download the schematic of Raspberry Pi Cellular IoT Application Shield from this Github repository.


  • POWER (PWR): When the shield is powered up, this RED led turns on.
  • STATUS (STAT): While the module is powered up by driving PWRKEY(GPIO 11) to HIGH state or pushing the PWRKEY button, this RED led turns on.
  • USER (USER): The GREEN user led can be controlled by driving the GPIO 27 pin.
  • ENABLE(EN): This GREEN led shows the status of the power regulator of module is switched on or off. By default, the GPIO 26(ENABLE) pin is pulled up by hardware and the regulator juices the module. To shut down the regulator, this pin needs to be driven to LOW state.
  • NETLIGHT (NETL) : This BLUE led indicates the status of the module. When the connection is established and data is being transmitted/received, this led will blink at special intervals. Please find the following chart for details:
State Network Status
Flicker slowly (200ms ON/1800ms OFF) Network searching
Flicker slowly (1800ms ON/200ms OFF) Idle
Flicker quickly (125ms ON/125ms OFF) Data transfer is ongoing
Always high Voice calling



  • USER: This push button connected to GPIO24 and pulled up HIGH state by default. When you push the button, you will read LOW state from GPIO24.
  • PWRKEY: When BG96 is in power off mode, it can be turned on to normal mode by pushing the PWRKEY button for at least 500ms.
  • BOOT: Pushing this button can force the module to boot from USB port for firmware upgrade.


3-axis 12-bit/8-bit Digital Accelerometer | MMA8452Q

  • The MMA8452Q is a smart, low-power, three-axis, capacitive, micromachine accelerometer with 12 bits of resolution. It has user selectable full scales of ±2 g/±4 g/±8 g with high-pass filtered data as well as non-filtered data available real-time.
  • The accelerometer connected to Raspberry Pi via I2C. The I2C address is 0x1C.
  • MMA8452Q’s interrupt pins are not connected.

Raspberry Pi Cellular IoT Application Shield Pinout

12-Bit 4-Channel Analog-to-digital Converter | ADS1015

  • The ADS1015 is precision, low-power, 12-bit, analog-to-digital converter.
  • Raspberry Pi can not measure analog inputs because it does not have internal ADC. However, with this external ADC, the ADS1015, you can read analog values with your Raspberry Pi.
  • The ADC connected to Raspberry Pi via I2C. The I2C address is 0x49.


Ambient Light Sensor | ALS-PT19

  • It’s a phototransistor close responsively to the human eye spectrum, light to current.
  • It’s connected to ADC (ADS1015) due to its analog output that cannot be read directly by Raspberry Pi .
  • The sensor connected to AIN3 pin of ADS1015.


Temperature and Humidity Sensor | HDC1080

  • The HDC1080 is a digital humidity sensor with integrated temperature sensor that provides excellent measurement accuracy at very low power.
  • Relative Humidity Accuracy ±2% (typical)
  • Temperature Accuracy ±0.2°C (typical)
  • The HDC1080 connected to Raspberry Pi via I2C. The I2C address is 0x40.
  • The heat that’s produced when R.Pi heats up may cause the sensor to display a few higher degrees than the ambient temperature.



  • The relay for controlling high voltage and current.
  • Relay control pin is GPIO17. When this pin is HIGH, relay is switched and connected C and NO pins. When GPIO17 is LOW state or unused, it connects C and NC pins.

WARNING! : This small form factor relay and traces can handle up to 60W or 3.5 Amps. Pushing the limits will produce heat and definitely harm the circuits and shield. Recommended maximum contact ratings:

  • 12V DC – 3.5A
  • 24V DC – 2.5A
  • 120V AC – 0.5A
  • 220V AC – 0.25A


Isolated Inputs

  • Two isolated by optocouplers inputs available on the shield. Recommended max. GPIO voltage level of Raspberry Pi is 3.3V. Reading higher than 3.3V voltage inputs are harmful for your Pi and will definitely destroy the circuits.
  • Upper limit of this inputs is 15V, between 3.3V and 15V is readable. GPIO pins are normally pulled up, when a voltage applied to isolated inputs, GPIO pins goes LOW state.
  • The input’s (sensor, switch etc) ground must be connected to optocoupler’s G input to complete isolated circuit.


GNSS and Debug(DBG) UART Inputs

GNSS: These header pins are directly connected to BG96 GNSS output. They are not connected to UART port of Raspberry Pi. You should connect to BG96 via USB to receive GNSS data. These pins might be needed somehow, so they are taken out as headers to be of use.

Debug (DBG): This DEBUG UART port belongs to BG96 and is used for embedded firmware debugging of module and log output.

External I2C Header

When you need to add an external I2C thing, you can use these I2C connectors. 3.3V VCC and GND pins provided too. It has pull-up resistors.

1-Wire Header

There are lots of sensors with 1-Wire connection standard (DS18B20 etc.) in the market. 1-Wire connector has VCC, DATA and GND pins. You can easily connect a 1-wire sensor with these pins. Data pin directly connects to GPIO4 and has a 4.7K pull-up resistor.



3D Design Files

You can download the 3D design files(STEP, IGES) of the Sixfab Cellular IoT Application Shield for Raspberry Pi from this Github repository.

Package Includes

  • 1x Sixfab Cellular IoT Application Shield for Raspberry Pi
  • 1x LTE – GNSS Dual u.FL Antenna – 100mm
  • 1x 90-degree Right Angle Micro USB Cable
  • 1x Mini Flat Head Screwdriver for Connection Terminals

20 reviews for Raspberry Pi Cellular IoT Application Shield – LTE-M & NB-IoT & eGPRS

  1. Alem

    Is it possible to achieve 3 g network via these boards ?

    • okan

      Hi Alem,

      The module on the shield, Quectel BG96 mainly works on LTE network. It’s only back-compatible with EDGE and GPRS. It doesn’t support 3G(CDMA, WCDMA, GSM, UMTS) unfortunately. For 3G connection, you can try Quectel UC20-G module with our Raspberry Pi 3G/4G&LTE Base HAT.

      Thanks for your interest

  2. Ron

    Which countries LTE bands is the module compatible with ?

    • Saeed

      – Supported Bands : Global – B1/ B2/ B3/ B4/ B5/ B8/ B12/ B13/ B18/ B19/ B20/ B26/ B28 and B39 ( for Cat M1 only )
      – eGPRS Supported Frequencies : 850/900/1800/1900Mhz

      This is a global product. You can use it in the country of your choice. If you still can not be sure, you can check the LTE bands used in your country and compare them with the above supported bands.

  3. Bryan Florkiewicz

    I have project FI and was hoping to connect my RPI to mobile data services and GPS (carputer install).

    Supported LTE bands seem to be B2, B4, B12, B25, B26, B41.

    What all in addition would I need to connect the dots? Is there provided software for the RPI? I have a data sim!

    • Saeed

      Hi. We are developing a python library for using with RPI currently. This library will be ready by the estimated shipping date. The product is the global version and supports various LTE and GSM bands. We didn’t work on Project FI especially but you can use this product with Project FI with a little change on our example codes.

  4. Bartén

    This is insane! Thank you so much for developing and bringing this to the market. Please keep doing what you are doing. Will be ordering soon.

  5. Jesus

    Do you have any support on integrating it into the raspberry?

    • Saeed

      Yes we are going to publish tutorials soon.

  6. Oscar

    Do I need external antenna for this shield? Do you have any antenna valid for it?

    • Saeed

      Yes, you will need external antenna for the Hat. You may check antenna Category from our products. Here are the links for LTE and GNSS antennas specifically.

  7. corey mcguire

    What carrier in US? Verizon? What are contracts like?

    • Saeed

      Yes, It will work with Verizon too. You may check the Frequency Band of carrier and find out the compatible carrier.
      If you are using Verizon then End user will need to add modules as test devices on Verizon OD.

  8. Tan Eugene

    Does this replace the IOT shield replace the combination of Raspberry Pi 3G-4G/LTE Base Shield V2 and Quectel EC25 Mini PCle 4G/LTE Module?

  9. Ananth

    Does this support JIO service provider in INDIA?

  10. Shane

    I ran the ppp example and configured it to use Project Fi Data only SIM in the US and it worked. It’s slow but meets the need for IoT.

    • Saeed

      Thank you for your feedback.

  11. Andrea

    does the module include a compass?

    • Saeed

      It just has 3-Axis Accelerometer only.

  12. David


    Is this compatible with the Asus tinkerboard S?


  13. BenLaw

    HI, Is there a FCC compliance id?

    • Saeed


      You can get the FCC compliance id of BG96 from Quectel Support.

  14. Venkadeshan

    Hi, Do you have coding tutorials to get the implementation of sending SMS? If so kindly provide me the link.

    • Saeed

      The script for sending SMS is available in GitHub.

  15. dome (verified owner)

    Very good product, no problem using with qmi interface

  16. Dome

    Hi, is possible to know ADC header pin layout? Which is pin 1 ?

  17. Kavan Mavati

    Does this product support raspberry pi 4? If it does. Does work with US T-Mobile carrier?

    • Saeed

      Yes, the device supports RPi4. It also works with T-mobile.

  18. Dimitrios Bartzos


    Is this device IPv6 compatible? I don’t have one yet.

    I have the Raspberry Pi NB-IoT Shield (price 81,27€ – out of stock now) and was wondering if that is also IPv6 compatible…

    • Saeed

      Yes it supports IPv6

  19. Max Schmitz (verified owner)

    This product doesn’t work with Verizon network. The device needs to be added by the manufacturer into Verizon Device Management Database.

    • Saeed

      We are working on the certification with Verizon Wireless.
      Thank you.

  20. Mitchal Dichter

    The “Getting Started” followed by the “QMI Interface with Cellular IoT App Shield” do not work as of this review. Step 10, “Run the installation file. Make sure the module is disconnected before running the installer script. sudo ./qmi_install.sh” results in “Driver for 5.4.51-v7l+ kernel not found” output.

    The problem comes from the qmi_install.sh file in these lines,

    case $(uname -r) in
    4.14*) echo $(uname -r) based kernel found
    echo “${YELLOW}Downloading source files${SET}”
    wget https://github.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/raw/master/tutorials/QMI_tutorial/src/4.14.zip -O drivers.zip
    unzip drivers.zip -d $INS_DIR && rm -r drivers.zip;;
    4.19*) echo $(uname -r) based kernel found
    echo “${YELLOW}Downloading source files${SET}”
    wget https://github.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/raw/master/tutorials/QMI_tutorial/src/4.19.1.zip -O drivers.zip
    unzip drivers.zip -d $INS_DIR && rm -r drivers.zip;;
    *) echo “Driver for $(uname -r) kernel not found”;exit 1;

    When will the installation files, or at least the instructions, be updated? As an alternative, can a compatible raspberry pi image be posted? If not, this product is not of much use anymore.

Add a review

Your email address will not be published. Required fields are marked *

You may also like…