Contents
- 1 Introduction
- 2 Bill of Materials
- 3 PCB Manufacturer
- 4 SIM7600 4G GSM/GPS MODULE
- 5 Features of Maduino Zero 4G LTE(SIM7600X) Board
- 6 Hardware overview of 4G GSM MODULE SIM7600
- 7 Getting Started with 4G GSM MODULE SIM7600 and Arduino IDE
- 8 Setting up Arduino IDE
- 9 Program or Source Code
- 10 Results Of SIM7600 AT Commands
- 11 Make a call
- 12 Send and receive SMS
- 13 Get the GNSS location
- 14 Using Internet From SIM7600 Module
- 15 Youtube video
Introduction
In this project, We will learn how to use SIM7600 4G GSM/GPS module with Arduino. We will describe different hardware components used in SIM7600 module in detail. Finally, we will see how we can send SMS and make call in SIM7600 module by providing different AT commands.
We are very much familiar with SIM800 and SIM900 GSM module and have done many projects like SMART CROP PROTECTION SYSTEM USING GSM AND ARDUINO , WEATHER STATION WITH GSM BASED NOTICE BOARD and SMART BLIND STICK USING ARDUINO ,GSM MODULE ,GSM MODULE,ULTRASONIC SENSOR AND RAIN SENSOR. These module are 2G modules and are band in many countries like Australia and Canada. This SIM7600 4G GSM/GPS module with Arduino may be the solution to such project which requires remote wireless communications.
Maduino Zero 4G LTE is the Arduino board integrated with GPS and GPS which is designed and manufactured by Makerfabs . This Maduino Zero 4G LTE module uses the SIMCOM7600(E/A)CAT4 module, to help Makers to achieve the 4G connection easily. Besides, this module can be a fully 4G access to your computer/PI, and also for telephone/SMS.
Bill of Materials
SN | COMPONENTS NAME | DESCRIPTION | QUANTITY | |
---|---|---|---|---|
1 | SIM7600 Board | Maduino Zero 4G LTE(SIM7600X) | 1 | Makerfabs Link |
PCB Manufacturer
This project is sponsored by PCBWAY. It is world fastest pcb manufacturing company.
You Will get FREE prototype pcb from PCBWAY. So do not be late to register and place your first order from PCBWAY
If you want to order pcb from PCBWAY . CLICK IN THE LINK BELOW:
SIM7600 4G GSM/GPS MODULE
The SIM7600 series is the LTE Cat 1 module which supports wireless communication modes of LTE-TDD/ LTE-FDD/HSPA+/GSM/GPRS/EDGE etc. It supports maximum 10Mbps downlink rate and 5Mbps uplink rate.
The SIM7600 series adopts LCC1 form factor and is compatible with SIM5320/SIM5360 series(UMTS/HSPA+ modules), and SIM7600/SIM7600-H series(LTE modules) , which enables smooth migration from 3G products to LTE products, and greatly facilitates more compatible product design for the customer needs.
The SIM7600 series integrates multiple satellite high accuracy positioning GNSS systems, with multiple built-in network protocols, supports drivers for main operation systems (USB driver for Windows, Linux and Android etc.) and software function, AT commands are compatible with SIM7500/SIM7600-H series modules. Meanwhile the SIM7600 series integrates main industrial standard interfaces, with powerful expansibility, including abundant interfaces such as UART, USB, I2C, GPIO, which is suitable for main IoT applications such as telematics, surveillance devices, CPE, industrial routers, and remote diagnostics etc.
Features of Maduino Zero 4G LTE(SIM7600X) Board
- Windows and Raspberry Pi support
- Qualcomm MDM9x07 Chipset
- Audio Codec: NAU8810
- Level Shifter: TXS0108E
- Board USB supply voltage range: 4.8~5.5V, 5.0V Typical
- Board Battery supply voltage range: 3.4~4.2V, 3.7V Typical
- 3GPP E-UTRA Release 11
- Onboard charger, up to 1A charge current
- Overcharge protection(OCP), 4.3V
- Over-discharge protection(ODP), 2.5V
- Power Manager, the board can be supplied by USB or battery.
- Supports dial-up, phone, SMS, TCP, UDP, DTMF, HTTP, FTP, and so on
- Dual USB Type C port
- Control Via AT Commands
- IPEX Antenna, GSM/UMTS/LTE main antenna. UMTS/LTE auxiliary antenna. GNSS antenna
- SMS support
Hardware overview of 4G GSM MODULE SIM7600
Makerfabs Maduino Zero 4G LTE module is Arduino friendly and we can easily program it using Arduino IDE. It is based on ATSAMD21G18A.
Getting Started with 4G GSM MODULE SIM7600 and Arduino IDE
In this section we will see how we can interface our 4G LTE(SIM7600X) with our aurdio IDE and also we will see all the configuration AT commands and finally we will see the AT command for making call and sending the SMS.
- Plug the Battery into the battery connector in the board or plug USB for powering the module.
- Plug the SIM card into the sim card slot of the module.
- Plug the GPS antenna into the interface.
- Plug two 4G-GSM antennas into the main antenna interface and auxiliary one.
Note: The glowing of blue led on module indicates GSM MODULE SIM7600 is working.
Setting up Arduino IDE
The ATSAMD21G18A board isn’t installed in the Arduino IDE at the beginning so we need to manually install it from the board manager.
select Tools-> Board-> Boards Manager to open the board manager. Then install Arduino SAMD Boards(32-bits ARM Cortex-M0+).
Before uploading the code you must select the board to Arduino Zero as shown in the figure below .
Program or Source Code
You can directly copy this and paste this code in your Arduino IDE to see the results of AT commands in your serial monitor.
#include <stdio.h>
#include <string.h>
#define DEBUG true
#define MODE_1A
#define DTR_PIN 9
#define RI_PIN 8
#define LTE_PWRKEY_PIN 5
#define LTE_RESET_PIN 6
#define LTE_FLIGHT_PIN 7
String from_usb = "";
void setup()
{
SerialUSB.begin(115200);
//while (!SerialUSB)
{
; // wait for Arduino serial Monitor port to connect
}
delay(100);
Serial1.begin(115200);
//Serial1.begin(UART_BAUD, SERIAL_8N1, MODEM_RXD, MODEM_TXD);
pinMode(LTE_RESET_PIN, OUTPUT);
digitalWrite(LTE_RESET_PIN, LOW);
pinMode(LTE_PWRKEY_PIN, OUTPUT);
digitalWrite(LTE_RESET_PIN, LOW);
delay(100);
digitalWrite(LTE_PWRKEY_PIN, HIGH);
delay(2000);
digitalWrite(LTE_PWRKEY_PIN, LOW);
pinMode(LTE_FLIGHT_PIN, OUTPUT);
digitalWrite(LTE_FLIGHT_PIN, LOW); //Normal Mode
// digitalWrite(LTE_FLIGHT_PIN, HIGH);//Flight Mode
SerialUSB.println("Maduino Zero 4G Test Start!");
sendData("AT+CGMM", 3000, DEBUG);
}
void loop()
{
while (Serial1.available() > 0)
{
SerialUSB.write(Serial1.read());
yield();
}
while (SerialUSB.available() > 0)
{
#ifdef MODE_1A
int c = -1;
c = SerialUSB.read();
if (c != '\n' && c != '\r')
{
from_usb += (char)c;
}
else
{
if (!from_usb.equals(""))
{
sendData(from_usb, 0, DEBUG);
from_usb = "";
}
}
#else
Serial1.write(SerialUSB.read());
yield();
#endif
}
}
bool moduleStateCheck()
{
int i = 0;
bool moduleState = false;
for (i = 0; i < 5; i++)
{
String msg = String("");
msg = sendData("AT", 1000, DEBUG);
if (msg.indexOf("OK") >= 0)
{
SerialUSB.println("SIM7600 Module had turned on.");
moduleState = true;
return moduleState;
}
delay(1000);
}
return moduleState;
}
String sendData(String command, const int timeout, boolean debug)
{
String response = "";
if (command.equals("1A") || command.equals("1a"))
{
SerialUSB.println();
SerialUSB.println("Get a 1A, input a 0x1A");
//Serial1.write(0x1A);
Serial1.write(26);
Serial1.println();
return "";
}
else
{
Serial1.println(command);
}
long int time = millis();
while ((time + timeout) > millis())
{
while (Serial1.available())
{
char c = Serial1.read();
response += c;
}
}
if (debug)
{
SerialUSB.print(response);
}
return response;
}
Results Of SIM7600 AT Commands
We have made a trail with most common AT commands and the result is presented in the picture below:
AT+CGMI – Request manufacturer identification
AT+CGMM – Request model identification
AT+CGSN – Request product serial number identification
AT+CSUB – Request the module version and chip
AT+CPIN? – Request the state of the SIM card
AT+CICCID – Read ICCID from SIM card
AT+CNUM – Request the subscriber number
AT+CNMP? – Preferred mode selection
AT+COPS? – Check the current network operator
AT+IPREX? – Check local baud rate
AT+CRESET – Reset the module
Make a call
You can make or receive a call with SIM7600 using following AT Commands.
AT+CSDVC – Switch voice channel device
AT+CSDVC=1 – 1-Handset, 3-Speaker phone
AT+CLVL=2 – Set loudspeaker volume level to 2, the level range is 0 to 5
Send and receive SMS
We can send SMS using SIM7600 & Arduino. Is recommended to use other serial monitors not the Arduino IDE one to send the AT command for this demo.
AT+CSCA=”XXXXXX” // Set the SMS service centre address AT+CMGF=1 // Select SMS message format AT+CMGS=”xxxxxx” // Send message to “xxxxxx”(the receiver number). AT+CMGR=3 // Read message AT+CMGD=3 // Delete message |
After sending the above AT commands, it will show “>” and then you can send your message. When you finish your message, you need to send “1A” with the hexadecimal for confirming or send “1B” with the hexadecimal for cancel. This is why it is recommended to use other serial monitor.
Get the GNSS location
To get the GNSS Location from SIM7600, use the following AT Commands.
AT+CGPS=1 // Start GPS session AT+CGPSINFO // Get GPS fixed position information AT+CGPS=0 // Stop GPS session |
Using Internet From SIM7600 Module
Connect usb cable from second usb port of SIM7600 to your PC as shown in the figure below:
Go to your device manager. If you see the below error message then you need to install the driver first .
The Driver is available below:
Open Device Manager –> Other equipment –>“SimTech,Incorporated”- > Update the driver –> Browse my computer to find driver files –> Select a path for saving the driver file based on the system- >The installation is complete.
Install all the driver until all the yellow mark is removed
If the PC does not connect to the internet through this device, please open the serial monitor and send the AT command to start the networking.
AT$QCRMCALL=1,1
The network icon will then appear as a cellular network.
If have are still not able to connect to the internet, please use the PPP dial-up connection way to start networking. More info you can get from GITHUB below:
https://github.com/Makerfabs/Maduino-Zero-4G-LTE#usage-windows
I am able to receive calls with the Maduino 4g module. This confirms compatibility with my SIM card. But I am not able to make calls with it.
Any ideas on this situation ?
Thanks a lot
I am able to receive calls with the Maduino 4g module. This confirms compatibility with my SIM card. But I am not able to make calls with it.
Any ideas on this situation ?
Thanks a lot