Arduino Cellular IoT Application Shield – LTE-M & NB-IoT & eGPRS *RETIRED*

This is a shield that has combined LTE technologies Cat.M1, Cat.NB1 (NB-IoT) and eGPRS for Arduino, 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 that be enhanced version of classical GPRS.

The shield has GNSS (GPS, GLONASS etc.) functionality for the need of location, navigation, tracking, mapping and timing applications.

The design has a built-in temperature, humidity, light sensors, 3-axis accelerometer, and relay. If you do not need these built-in features, you should take a look at Arduino Cellular IoT Shield.


Out of stock


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 cellular communication. This LTE shield for your Arduino lets you connect the Arduino to this new cellular networks thanks to Quectel BG96 LTE module on it. It also provides the connection to eGPRS that is 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 Arduino also supports GNSS(GPS, GLONASS etc) for the need of getting location, navigation, tracking, mapping and timing applications.


  1. Compatible with the models like Arduino UNO, Leonardo and more.
  2. Supported Protocols*: PPP/TCP/UDP/SSL/TLS/FTP(S)/HTTP(S)/NITZ/PING/MQTT
  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. 3-axis Accelerometer
  6. Humidity and Temperature Sensors
  7. Ambient Light Sensor
  8. 3GPP E-UTRA Release 13, 3GPP TS27.007, 3GPP TS 27.005 and Quectel Enhanced AT Commands over UART port to Arduino is available
  9. Efficient and low quiescent current regulator circuit can hold up to 3.6A
  10. Can be used standalone with PC/Laptop over micro USB, without stacking with an Arduino
  11. Micro SIM Card socket can easily reachable on the upside of the shield.
  12. 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 lightning
  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


The UART pins will be available to use, with 5V power domain, connected to the Software Serial (D9, D10) of Arduino. Can be used for AT command communication with 9600bps baud rate.

To use GNSS over a UART, first run the turnOnGNSS method in the Sixfab_Arduino_CellularIoT library.
Note: The PROG <---> GNSS switch on the shield must be switched to the GNSS side.

  • Models with a single serial interface for USB and UART, such as Arduino Uno:
    GNSS UART interface is connected to hardware serial port serial of Arduino. Can be getting GNSS messages with 115200bps baud rate.
  • Models with separate USB and UART interfaces such as Arduino Leonardo:
    GNSS UART interface is connected to hardware serial port 1 serial1 of Arduino. Can be getting GNSS messages with 115200bps baud rate.


The shield can also be used directly via the USB interface. For stand-alone use with USB interface:

  1. Power the shield via Arduino or directly with jumpers. Power source voltage should be 5V.
  2. Connect D4 ENABLE to 5V.
  3. Press and release the POWERKEY button for half a second. After this operation, the STATUS LED of the module will be light on continuously and NETLIGHT LED will start to blink.
  4. Connect the shield to the computer with micro USB cable.
  5. Install the Quectel USB drivers if you don’t have.
  6. Now you can connect to BG96 AT Command COM Port or GNSS COM Port with any serial monitor program. (putty, hercules etc.)


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




Arduino Cellular IoT Application Shield Pinout

Pin Descriptions

Arduino PinFunctionDescription
A0RELAYRelay control pin. When this pin is HIGH state, relay is operated (Common and NO will connected).
A1LIGHTThe analog output of the phototransistor of light sensor.
A2POWERKEYThe module can be turned on by driving the pin to a HIGH-level state more than 500ms then pulling it down. You can apply the same process to power down to the module if it already powered up.
A3STATUSThe STATUS pin is used to indicate the operation status of BG96 module. It will output HIGH level when the module is powered on.
SCL,SDASCL,SDAI2C Serial Data for Accelerometer and Temperature&Humidity Sensor.
10,9AT_TX, AT_RXThese pins function as UART communication for module.
8RIWhen 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.
7AP_READYAP_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.
6USER_BUTTONThis pin normally pulled-up. When the button is pressed, pin switches to LOW state.
5USER_LEDActive HIGH, to switch on the USER LED, the pin’s state should be HIGH.
4ENABLEThis pin controls the BG96 3.8V Power regulator, level-shifters for UART and I2C. Normally pulled-up, when this pin drove to LOW, BG96’s power will cut off, level-shifters go Hi-Z state.
1,0DEBUG_TX,DEBUG_RXDebug pins for the module. The default baudrate is 115200bps.



Arduino Cellular IoT Application Shield Layout


You can download the schematic of Arduino Cellular IoT Application Shield from this Github repository soon.


  • POWER (PWR): When the shield is powered up, this RED led turns on.
  • STATUS (STAT): While the module is powered up by driving PWRKEY(A2 pin) 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 pin 5.
  • ENABLE(EN): This GREEN led shows the status of the power regulator of module is switched on or off. By default, the pin 4(ENABLE) 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:
StateNetwork 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 highVoice calling



  • USER: This push button connected to pin 6 and pulled up HIGH state by default. When you push the button, you will read LOW state from pin 6.
  • 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 Arduino via I2C. The I2C address is 0x1C.
  • MMA8452Q’s interrupt pins are not connected.

Direction of Accelerometer

Ambient Light Sensor | ALS-PT19

  • It’s a phototransistor close responsively to the human eye spectrum, light to current.
  • The sensor connected to Analog 1 pin of Arduino.


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 Arduino via I2C. The I2C address is 0x40.
  • The heat that produced by when Arduino 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 A0. When this pin is HIGH, relay is switched and connected C and NO pins. When A0 is LOW state or unused, it connects C and NC pins.
  • This small form factor relay can handle up to 60W. Pushing the limits will harm the circuits and shield. Maximum contact ratings:
    • 12V DC – 5A
    • 24V DC – 2.5A
    • 120V AC – 0.5A
    • 220V AC – 0.25A



Arduino Cellular IoT Application Shield Dimension

Package Includes



You may find your questions in F.A.Q under support menu. If not, please feel free to ask us by contact form or drop an email to hello [at] sixfab dot com.




User Manuals


Github Repository

The Arduino Cellular IoT Application Shield Github Repository contains the libraries and codes are used in tutorials, hardware files and more.


There are no reviews yet.

Be the first to review “Arduino Cellular IoT Application Shield – LTE-M & NB-IoT & eGPRS *RETIRED*”

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

You may also like…

    Your Cart
    Your cart is emptyReturn to Shop
      Calculate Shipping
      Apply Coupon