IoT Shield for Arduino
User Manual
Page 1 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
INDEX
1. Introduction 2
2. Functional Block Diagram 3
3. Overview 4
4. Using the Shield For The First Time 5
5. Basic Modem Operation 7
6. Power Supply 10
7. BG96 LTE CAT-M1/CAT-NB1/EGPRS Module 11
8. SIM Card Connector 13
9. Connectors 14
10. Document Revision History 15
Page 2 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
1. Introduction
Shiratech Arduino IoT Shield is an Arduino format shield hosting Quectel BG96 LTE CAT-M1/NB1 modem
enabling low power cellular connectivity.
A built in GNSS device adds location and navigation to your application. The shield enables rapid
development and prototyping of industrial grade low power IoT applications requiring cellular network
connectivity.
Arduino format connectors allow using the shield with Arduino boards and other development platforms
that use Arduino connector format.
The shield is based on the Quectel BG96 LTE CAT-M1/NB1 An ultra-low power consumption LTE CAT-
M1/Cat-NB1/EGPRS module delivering 375Kbps downlink and 375Kbps uplink data rates.
The board displays the following key benefits:
Quectel BG96 LTE CAT-M1/NB1/EGPRS module
375Kbps downlink and 375Kbps uplink data rates.
Ultra-low power consumption.
Modem control via UART and GPIO.
Arduino connector format.
Industrial grade.
Built in GNSS.
Page 3 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
2. Functional Block Diagram
The shield is connected to a 5V and 3.3V power feed through the J20 connector. The LT1764AEQ-
ADJ Translates the 5V input to a 3.8V voltage to feed the BG96, and the LD1117S18TR translates
the 3.3V input to 1.8V voltage.
Quectel BG96 CAT-M1/CAT-NB1/EGPRS Module:
o The module is powered by 3.8V.
o Connected to a (u)SIM connector.
o Connected to two RF antenna jacks: Main and GNSS.
o J21 connector GPIO pins are used for the BG96 Reset and power keys, after transformation
from 3.3V to 1.8V.
UART 1-3 debug lines are not currently utilized.
J8 connector UART provides the communication necessary to control the BG96. The signal goes
through a transformation from 3.3V to 1.8V.
The SIM card interface is powered and managed by the BG96.
The BG96 USB connector is not enabled on this shield.
Page 4 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
3. Overview
QUECTEL
BG96
Main-MMCX
Antenna
Connector
SIM Connector
Status
LED
GNSS-MMCX
Antenna
Connector
Arduino
Power
Connector
Arduino
Analog/Digital
Connector
Arduino
Digital I/O 1
Arduino
Digital I/O 2
Power
Key
LED
Reset
Key
Page 5 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
4. Using the Shield for the First Time
Prerequisites:
Arduino Uno
Shiratech Arduino IoT Shield
PC, with Arduino IDE installed
USB 2.0 cable
SIM card
These instructions assume the use of Arduino Uno as a base board. The communication with the shield is
based on the UART protocol using a baud rate of 115200 baud. This short tutorial we take us through these
main steps:
Download a test script used to verify the Shield functionality by sending an SMS message.
Upload the test script to the Arduino base board.
Connect the NB-IOT shield to the Arduino base board.
Run the test script.
To start using the NB-IOT Shield, perform the following steps:
1. Make sure your base board is not connected to the power supply, and that the NB-IOT shield is
not connected to the base board.
2. Navigate to the Shiratech Arduino IoT Shield page and download the test script to your PC:
http://www.shiratech-solutions.com/products/nb-iot-shield-for-arduino/
3. Run the Arduino IDE (may be downloaded from: https://www.arduino.cc/en/Main/software).
4. Launch the Device Manager.
5. Connect the Arduino to your PC using the USB 2.0 cable.
6. Once the Arduino has been connected to the PC, a new COM Port should appear in the device
manager under “Ports (COM & LPT)”. Note the COM Port number, as it will be needed in the
following steps.
7. To open the test script in the Arduino IDE, extract the downloaded file, open the project folder
and double click on the .ino file located in the folder.
8. Scroll down to find this line:
- Serial.write("AT+CMGS=\"+972xxxxxxxxx\"\r\n");
9. Edit the phone number in the string to the phone number which should receive the SMS.
10. Save, then click on verify, to compile your code.
Page 6 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
11. Once verification (compilation) has succeeded, click on the ‘Upload’ button, to burn the script
onto the Arduino.
Note: In order for the script to be successfully burned onto the Arduino base board, the
NB-IOT shield must be disconnected. After burning is completed, shield may be connected.
12. Disconnect the Arduino from the PC. Make sure it is disconnected from any power supply.
13. Insert a SIM Card to the shield SIM Card connector.
14. Connect the shield to the base board. If you are using an Arduino Mega base board, refer to the
location of Tx and Rx pins to be sure that the shield is connected correctly.
Note: Do not connect the power supply if you are not sure that the shield is correctly
connected! This may result in irreversible damage to the shield and/or the base board.
15. Connect the Arduino to your PC using the USB 2.0 cable. The test script should start running.
Please refer to the next chapter, “Basic Modem Operation”, for further details on the specific
AT commands being sent to the BG96.
16. Launch the Serial Monitor tool to follow the AT commands being sent through the Serial port
make sure you have picked the same COM Port which appeared in the device manager, and
that the baud rate is 115200 baud.
Page 7 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
5. Basic Modem Operation
This is a short collection of a few examples and basic AT commands, used to test the basic functionality of
the Quectel BG96 module. The full Quectel BG96 AT commands manual is available at
http://www.quectel.com.
Reset Sequence
BG96 Reset sequence has to be performed every time that the shield is powered up, in order for the BG96
to enter a known electrical state. Before executing this sequence, there is no guarantee that the BG96 is
properly functioning and ready to execute AT commands.
The BG96s RESET and PWRKEY lines should be activated and disactivated (HIGH/LOW) in the following
manner (the set of instructions below is taken from the BG96s test script).
pinMode(PIN_BG96_RESET,OUTPUT); //Setting the gpio connected to the RESET line to output
pinMode(PIN_BG96_PWRKEY,OUTPUT); //Setting the gpio connected to the PWRKEY line to output
//Verifying that both RESET and POWERKEY are LOW
digitalWrite(PIN_BG96_PWRKEY,LOW);
digitalWrite(PIN_BG96_RESET,LOW);
//Toggling PWRKEY
digitalWrite(PIN_BG96_PWRKEY,LOW);
delay(1000);
digitalWrite(PIN_BG96_PWRKEY,HIGH);
delay(200);
digitalWrite(PIN_BG96_PWRKEY,LOW);
//Toggling RESET
digitalWrite(PIN_BG96_RESET,LOW);
delay(500);
digitalWrite(PIN_BG96_RESET,HIGH);
delay(500);
digitalWrite(PIN_BG96_RESET,LOW);
delay(500);
Page 8 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
Basic AT Commands
ATI - Display Product Identification Information
This command will return the BG96 module information. It is useful to start with this command, to
make sure that connection with the modem was established.
AT+GSN Request International Mobile Equipment Identity (IMEI)
Returns the IMEI of the module.
AT+QPOWD
The safe and recommended way to turn off the module, logging off from the network and
switching into a safe state, waiting for power supply to be switched off.
AT+CIMI Request International Mobile Subscriber Identity (IMSI)
Returns the SIM card’s unique ID. This command is useful to verify that the SIM card is recognized
by the module.
AT+CREG? Network Registration Status
Returns information regarding the modules registration to the network. Helpful in verifying
connection establishment before attempting further steps.
Example SMS
The following command sequence is intended to send an SMS message using the Quectel BG96 module.
Note: The expected command feedback appears under each command.
Set the SMS message format to text mode
AT+CMGF=1
OK
Send SMS to the phone number. After entering this command, a prompt will appear. Enter your message
text. When done entering text, press ctrl+z to send.
AT+CMGS=”+972xxxxxxxxx
> This is a test message
+CMGS: 230
Text message should now be sent.
Example - Ping a URL
The following command sequence is intended to ping a URL using the Quectel BG96 module, verifying
internet connection is established.
Page 9 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
Configure HTTPS server parameters.
AT+QHTTPCFG="contextid",1
OK
AT+QHTTPCFG="responseheader",1
OK
Query the context state.
AT+QIACT?
OK
Configure the PDP context. Note that the APN settings are operator specific.
AT+QICSGP=1,1,"sphone.pelephone.net.il","pcl@3g","rl",1
OK
Activate context 1
AT+QIACT=1
Query the context state.
AT+QIACT?
+QIACT: 1,1,1,”10.106.29.80
Perform ping. In this example we ping Google’s DNS server 8.8.8.8 .
AT+QPING=1,”8.8.8.8”
+QPING: 0,”8.8.8.8”,32,196,255
+QPING: 0,”8.8.8.8”,32,149,255
+QPING: 0,4,2,0,149,196,172
Page 10 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
6. Power Supply
The shield accepts 3.3V and 5V power supply. These voltages are further transformed to 3.8V and 1.8V
respectively.
Page 11 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
7. BG96 LTE CAT-M1/CAT-NB1/EGPRS Module
BG96 is a series of LTE CAT-M1/CAT-NB1/EGPRS module offering a maximum data rate of 375Kbps
downlink and 375Kbps uplink. It features ultra-low power consumption, and provides pin-to-pin
compatibility with Quectel LTE module EG91/EG95, Cat NB1 (NB-IoT) module BC95, UMTS/HSPA module
UG95/UG96 and GSM/GPRS module M95.
With a cost-effective SMT form factor of 26.5mm × 22.5mm × 2.3mm and high integration level, BG96
enables integrators and developers to easily design their applications and take advantage from the
module’s low power consumption and mechanical intensity. Its advanced LGA package allows fully
automated manufacturing for high-volume applications.
A rich set of Internet protocols, industry-standard interfaces (USB/UART/I2C/Status Indicator) and
abundant functionalities (USB drivers for Windows 7/8/8.1/10, Linux and Android) extend the applicability
of the module to a wide range of M2M applications such as wireless POS, smart metering, tracking, etc.
The Quectel BG96 CAT M1/Cat NB1/GPRS module is powered by 3.8V.
Connected to a (u)SIM connector.
RF lines connected to two RF antenna jacks: Main and GNSS.
Four LEDs are used to indicate modem status.
Page 12 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
Page 13 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
8. SIM Card Connector
The SIM card connector is powered, utilized and managed by the BG96 module.
Page 14 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
9. Connectors
10
9
8
AREF
7
GND
3.3V_KNX
1
6
13
3.3V
IOREF
2
5
12
RESET
3
4
~11
3.3V
3.3V
4
3
~10
Supply 3.8V/1.8V
5V
5
2
~9
GND
GND
6
1
8
GND
GND
7
VIN
8
8
7
7
~6
A0
1
6
~5
A1
2
5
4
A2
3
4
~3
A3
4
3
2
BG96 Reset
A4
5
2
TX>1
UART0_TX
BG96 Powerkey
A5
6
1
RX<0
UART0_RX
Page 15 of 15
NB- IoT Shield for Arduino v1.01
/n
www.shiratech-solutions.com
Rev 1.01
10. Document Revision History
Revision
Date
Author
Status and Description
0.22
17/07/2019
Ori Makover
Initial version
0.23
08/01/2020
Ori Makover
Version update
1.01
29/01/2020
Ori Makover
Revision
T. +972.3.943.5050 F. +972.3.943.5055 E. info@shiratech-solutions.com
58 Amal St, Kiryat Arie POB 3272, Petach Tikva 4951358, Israel
www.shiratech-solutions.com