Waveshare SIM7600CE-CNSE 4G HAT for Raspberry Pi 4G 3G 2G GNSS


Introduction

The SIM7600CE-CNSE 4G HAT is a hardware accessory designed for use with compatible development boards or microcontrollers. It is a communication module that provides 4G connectivity, allowing devices to access the internet and cellular networks. The "HAT" in its name stands for "Hardware Attached on Top," which indicates that it is designed to be easily attached to the top of a development board, such as a Raspberry Pi, providing additional functionality. The SIM7600CE-CNSE specifically refers to the model of the 4G module, which is manufactured by SIMCom, a company that specializes in wireless communication modules. This particular module supports various cellular network standards and can be used for a wide range of applications, including IoT devices, remote monitoring systems, and more.

Features

  • 40PIN GPIO extension header for connecting Jetson Nano.

  • Supports dial-up, telephone calls, SMS, mail, TCP, UDP, DTMF, HTTP, FTP, etc.

  • Supports GPS, BeiDou, Glonass, and LBS base station positioning.

  • Onboard USB interface, to test AT Commands, get GPS positioning data, and so on.

  • Breakout UART control pins, to connect with host boards like Arduino/STM32.

  • Onboard CP2102 USB to UART converter, for serial debugging.

  • SIM card slot, supports 1.8V/3V SIM card.

  • Onboard TF card slot, which can be used to store files, text messages, and other data.

  • Onboard audio jack and audio decoder chip, for making telephone calls.

  • 2 x LED indicators, easy to monitor the working status.

  • Onboard voltage translator, the operating voltage can be configured to 3.3V or 5V via jumper.

  • Baudrate: 300bps ~ 4Mbps (default: 115200bps)

  • Autobauding baudrate: 9600bps ~ 115200bps.

  • Comes with online resources and manuals (example demos such as Raspberry/Jetson Nano/Arduino/STM32).

Specifications

Pinout

Dimensions

How to Use

RPi Demo

Hardware Connection

pin connection diagram with Raspberry Pi

SIM7600X 4G HAT has onboard Raspberry Pi GPIO interface, which can be directly inserted into various versions of Raspberry Pi; the following table shows the connection between Raspberry Pi pins and module pins (Raspberry Pi 3rd Generation B+):

SIM7600X 4G HATRaspberry Pi

5V

5V

GND

GND

RXD

TXD (corresponding to 14 of BCM)

TXD

RXD (corresponding to 15 of BCM)

PWR

P22 (corresponding to P6 of BCM)

FLIGHTMODE

P7 (corresponding to P4 of BCM), enter flight mode when pulled high

* FLIGHTMODE is wired to pull up and will enter into flight mode.

Raspberry Pi initialization settings

To ensure that the SIM7600X 4G HAT can work normally after being connected to the Raspberry Pi, it is necessary to initialize the level output of some pins of the Raspberry Pi. The specific operations are as follows:

  • Download sample demo, after decompression, rename the c folder under the Raspberry folder to SIM7600X, Then copy the entire SIM7600X folder to the Raspberry Pi /home/pi directory.

  • The command line enters the /home/pi/SIM7600X directory and executes the command.

chmod 777 sim7600_4G_hat_init
  • Set the boot initialization script, and run the command:

sudo nano /etc/rc.local
  • Add before exit 0 (as shown below):

sh /home/pi/SIM7600X/sim7600_4G_hat_init

Raspberry Pi serial port configuration

Since the Raspberry Pi serial port is used for terminal debugging by default, if you need to use the serial port, you need to modify the Raspberry Pi settings. Execute the following command to enter the Raspberry Pi configuration:

sudo raspi-config

Select Interfacing Options -> Serial -> no -> yes to disable serial debugging. Open the /boot/config.txt file, and find the following configuration statement to enable the serial port, if not, add it at the end of the file:

enable_uart=1

Restart to take effect.

Raspberry Pi minicom serial port debugging

1. Insert the module into the Raspberry Pi. 2. Install minicom, which is a serial debugging tool for the Linux platform:

sudo apt-get install minicom

3. Execute minicom -D /dev/ttyS0 (ttyS0 is the serial port of Raspberry Pi 3B/3B+/4B). The default baud rate is 115200. Raspberry Pi 5/2B/zero, the user serial device number is ttyAMA0, and the Raspberry Pi 3B/3B+/4B serial device number is ttyS0. 4. Take the AT synchronization test as an example, and send relevant commands, as shown in the following figure: * minicom can enter setting mode by pressing Ctrl+A, then Z, and select X to exit. 5. Raspberry Pi 5 configures the ttyS0 serial port:

  • Edit config.txt file:

 sudo nano /boot/config.txt
  • Add the following and the statement at the end.

 dtoverlay=disable-bt
  • You can see ttyS0 after restarting.

Sample Demo

1. Insert the module into the Raspberry Pi. 2. Download the sample demo to the /home/pi/ path:

wget https://files.waveshare.com/upload/2/29/SIM7600X-4G-HAT-Demo.7z
sudo apt-get install p7zip-full
7z x SIM7600X-4G-HAT-Demo.7z -r -o/home/pi
sudo chmod 777 -R /home/pi/SIM7600X-4G-HAT-Demo

3. Go to the bcm2835 directory, compile, and install it.

chmod +x configure && ./configure && sudo make && sudo make install

Note: If there is a problem with the compilation, please refer to the instructions in the FAQ. 4. Go to the corresponding instance directory, compile, and run the demo. The relevant instructions are as follows (take the PhoneCall demo as an example):

sudo make clean //Clear the original executable file
sudo make //recompile
sudo ./PhoneCall //Run the demo

Use a combination of the above commands:

sudo make clean && sudo make && sudo ./PhoneCall

PHONECALL Call Demo

SMS Text Message Sending and Receiving Demo

GPS Positioning Demo

TCP Network Communication Demo

FTP Download and Upload Demos

Arduino Demo

Hardware Connection

Hardware connection to the development board UNO PLUS/Arduino UNO:

SIM7600X 4G HATUNO PLUS/Arduino UNO

5V

5V

GND

GND

TXD

0 (RX)

RXD

1 (TX)

PWR

2

Install Arduino library

Download the decompression sample demo. Copy the Waveshare_SIM7600X_Arduino_Library folder to the Library directory under the Arduino IDE installation path. Open Arduino IDE --> File --> Examples --> Waveshare SIM7600X, and then choose to run the corresponding example demo:

Sample Demo

PHONECALL Call Demo

SMS Text Message Sending and Receiving Demo

GPS Positioning Demo

TCP Network Communication Demo

FTP Download and Upload Demo

Jetson Nano Demo

Hardware Connections

Connection diagram

Jetson Nano has an onboard RaspberryPi 40Pin GPIO interface, SIM7600X 4G HAT can be directly connected and used, and Jetson Nano's terminal access the serial port does not affect serial communication with SIM7600X 4G HAT (ie. Pin10 and Pin8).

SIM7600X 4G HATJetson Nano

5V

5V

GND

GND

TXD

10 (Board encoding)

RXD

8 (Board encoding)

PWR

31 (Board code)

Jetson Nano minicom serial port debugging

1. Connect the SIM7600X 4G HAT to the Jetson Nano, press the PWRKER button for three seconds, and then turn it on. 2. Use SERIAL to log in to the Jetson Nano terminal, install minicom, and enter:

sudo apt-get install minicom

3. Run minicom to debug the serial port, and enter in the terminal.

sudo minicom -D /dev/ttyTHS1 -b 115200

4. Send the AT command to test, press the PWRKEY button for three seconds to start the shutdown, exit the minicom and press Ctrl+A, then X, and finally press ENTER.

Python Demos

After installing the library:

sudo apt-get install python3-pip
sudo pip3 install pyserial
sudo apt-get install p7zip

Use the wget tool to download the source code to the specified folder of Jetson Nano, and copy the following command:

mkdir -p ~/Documents/SIM7600X_4G_HAT
wget -P ~/Documents/SIM7600X_4G_HAT/ 

Enter the directory where the source code was just created and downloaded, and use the p7zip tool to unzip it to the current directory.

cd ~/Documents/SIM7600X_4G_HAT/
sudo p7zip --uncompress SIM7600X-4G-HAT-Demo.7z

AT

SIM7600X_4G_HAT is connected to Jetson Nano, connected to the antenna, the demo uses the software to power on and off, there is no need to press the button to power on and off, and when you exit, press Ctrl+C to power off the software. Enter the Jetson Nano/AT directory and execute the command:

cd ~/Documents/SIM7600X_4G_HAT/Jetson\ nano/AT/
sudo python3 AT.py

GPS

SIM7600X_4G_HAT is connected to the Jetson Nano and GNSS antenna. The routine uses software to power on and off. There is no need to press the button to power on and off. When exiting, press Ctrl+C to power off the software. Enter the Jetson Nano/GPS directory and execute the command:

cd ~/Documents/SIM7600X_4G_HAT/Jetson\ nano/GPS/
sudo python3 GPS.py

PhoneCall

SIM7600X_4G_HAT is connected to Jetson Nano, the main antenna, and the earphone. The demo uses software to power on and off, no need to press the button to switch on and off. This demo uses the mobile card to automatically dial 10086. Press Ctrl+C when exiting, and the software will start to Shut down. Enter the Jetson Nano/PhoneCall directory and execute the command:

cd ~/Documents/SIM7600X_4G_HAT/Jetson\ nano/PhoneCall/
sudo python3 PhoneCall.py

SMS

The SIM7600X_4G_HAT is connected to the Jetson Nano and the main antenna. The demo uses the software to turn it on and off, and there is no need to press the button to turn it on and off. This demo will automatically shut down the software after sending the information www.waveshare.com to the specified number. When users use SMS routines, they must first use tools such as vim to change the number in line 10 of the SMS.py file, replace * with a number, and keep the ' symbol. Enter the Jetson Nano/SMS directory and execute the command:

cd ~/Documents/SIM7600X_4G_HAT/Jetson\ nano/SMS/
sudo python3 SMS.py

TCP

The SIM7600X_4G_HAT is connected to the Jetson Nano and the main antenna. The demo uses the software to turn it on and off, and there is no need to press the button to turn it on and off. Enter the Jetson Nano/TCP directory and execute the command:

cd ~/Documents/SIM7600X_4G_HAT/Jetson\ nano/TCP/
sudo python3 TCP.py

More sample demos are continuously updated...

FAQ

When compiling the BCM2835 library, Makefile:327:recipe for target 'aclocal.m4' failed ?

  • Execute autoreconf -vfi, and then recompile, see the figure below:

When executing the chmod 777 sim7600_4G_hat_init command, an error is reported: "chmod: cannot access 'sim7600_4G_hat_init': No such file or directory"How to deal with it?

Please confirm that there is a sim7600_4G_hat_init file in the current path The general operation is: download the sample program, after decompression, rename the c folder under the Raspberry folder to SIM7600X, and then copy the entire SIM7600X folder to the Raspberry Pi /home/pi directory, Enter the command line into the /home/pi/SIM7600X directory, and then execute the chmod 777 sim7600_4G_hat_init command.

SIM7600 firmware upgrade failed, the prompt is shown below, how to solve?

1. Pay attention to check the device manager, the upgrade process will prompt the new device inserted, and the first upgrade will not have a device driver; 2. Pay attention to the USB cable, the USB cable rate is high during the upgrade process, so you need to choose a better quality USB cable to avoid poor contact. 3. Need to run the upgrade tool with administrator privilege (SIM7500_SIM7600_QDL V1.41 only for Update). 4. Uninstall and reinstall the update tool (SIM7500_SIM7600_QDL V1.41 only for Update).

SIM7600X connected to Raspberry Pi, how to open hotspot without burning Openwrt image?

You can refer to two ways, the detailed steps refer to the following:

Use the WIN7 system, what should I do if the driver installation fails?

The new driver may not be compatible with some WIN7 systems, you can try the old driver:

  • 1. Download the driver.

  • 2. Connect the 4G HAT to a Windows computer as shown in the hardware connection diagram above (Windows 10 OS is used as an example below)

  • 3. Make sure the module has been powered on properly: refer to the previous section "Switching on and off the module"

  • 4. Open Device Manager->Other Devices->"SimTech, Incorporated "-> Update Driver -> Browse My Computer to find the driver file -> According to the system, select the path where the driver file is stored -> Installation is complete.

  • 5. Install all the recognized devices and drivers:

SIM7600X module NDIS dialing failure, what should I do if the driver cannot be installed?
  • Make sure your system kernel is above 5.4. Do not use sudo update to upgrade the Raspberry Pi to the latest version, otherwise, the kernel version will be upgraded to a version higher than the current firmware and will not be recognized.

  • It is recommended to use the more convenient RNDIS dial

  • You can burn the latest Raspberry Pi Raspbian system and reconfigure the NDIS dial-up

  • Or use the image that has been configured with the driver NDIS dial-up self-starting Raspbian system image (driver installed)

No response when using SIM7600X on Arduino or other masters?

Generally, it is the problem of baud rate, TTL level, and wiring, the details are as follows: 7600X_connect_Arduino

How to initialize the switch control pins of SIM7600?

Use the following commands:

echo "4" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
echo "0" > /sys/class/gpio/gpio4/value
echo "6" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio6/direction
echo "0" > /sys/class/gpio/gpio6/value
What is the function of the com port for ttyUSB0-ttyUSB5 that appears under the Linux system?

Answer:As shown below:

1) /dev/ttyUSB0-diag port for output developing messages
2) /dev/ttyUSB1- NMEA port for GPS NMEA data output
3) /dev/ttyUSB2-AT port for AT commands
4) /dev/ttyUSB3-Modem port for ppp-dial
5) /dev/ttyUSB4-Audio port
How can I realize the module is recognized when using it in a Linux system?

The following command can be used to detect the presence of Qualcomm Qualcomm devices, and if a COM driver has been loaded (the Raspberry Pi system generally comes with it), a series of ttyUSB* will also appear:

lsusb
ls /dev/ttyUSB*

What is the role of the AUX antenna, can not connect the MAIN antenna, only connect the AUX antenna?
  1. The AUX auxiliary antenna is a diversity antenna, the main antenna signal is not good enough to receive the signal with the receiving antenna, and the physical location is not the same, there is always a better, diversity antenna connected to the bandwidth and rate sensitivity will be increased by about 20%.

  2. No diversity antenna can make the receiver obtain a maximum of not more than 3db diversity gain, but the diversity does not line any transmitting function, so to connect to the main antenna, transmit the signal to the base station registered to the network, the auxiliary antenna will only work.

How to debug SIM7600X via USB TO UART serial port?

Please put the jumper cap on C and connect the USB TO UART interface of SIM7600X to the USB port of a computer or Linux board such as Raspberry Pi through USB type to micro USB to send commands to debug:

What are the antenna parameters of SIM7600CE 4G HAT?
  • Frequency: 700m 800m 900m 1710-1920M 2010-2100M 2300-2400M 2500-2690M-5800MHZ

  • Gain: 9dbi ± 0.7db

What is the power consumption of SIM7600CE 4G HAT when it loads 4g and gps at the same time?

Open at the same time, average: 110~170mA

What is the working current when connected to the Internet?

Using a USB 5V power supply, after successful networking, the current is generally in the range of 50~300mA, and the average is about 150mA (for reference only, depending on the network environment and networking status.

Why can I access the Internet with a regular cell phone SIM card that can make phone calls, but not with an IoT card (traffic card)?

  • Confirm whether the frequency band supported by the IoT card covers the frequency band supported by the module.

  • APN is not set, please use the following command to configure APN.

  • Note: Different operators' APNs is different, here the APN is changed to the corresponding operator.

  • It may be blocked, high traffic (real-name IoT) cards are going to be machine card binding, and can only be used on a device (the State Ministry of Industry and Information Technology, Ministry of Public Security, issued to the operator must be so); you can let the IoT card operator check the status of the card and unlock the next.

When sending AT+CPIN?, return ERROR

This problem is generally caused by poor contact between the SIM card and the SIM card holder of the module.

What's the type of SIM card ?

Support SIM standard (Standard) card, as shown in the figure below, if it is a Micro or Nano card, you need to add a card sleeve.

SIM7600X SMS transmission failure, prompt +CMS ERROR? or CME ERROR and other errors?
  • Confirming that the SIM7600X is registered to the network and that the SIM card can send and receive SMS messages properly on devices such as cell phones;

  • Setting the correct SMS center number;

  • Initialize the SMS settings with the following command:

AT+CSCS="IRA"
AT+CSMP=17,167,
How to set up SMS center number? (SMS center number is a kind of short message server. The SMS messages sent by cell phones need to be sent to the SMS center number first, and then forwarded to the other phone by the SMS center number, which is equivalent to an SMS relay station.)
AT+CSCA="+8613800755500"

The command should be added + enter to return OK.

How many SMS messages can the SIM7600CE 4G HAT save?

If the short message is stored in the SIM card, the limit is generally 50. You can use the command: AT+CPMS? make an inquiry.

The command for SIM7600Xcall recording and playback is?

SIM7600X makes a call and the phone answers
ATD131xxxxx816.

Record SIM7600 and phone sound to module memory E disk (record to memory card read D)
AT+CREC=3, "e:/rec.wav"   

End recording
AT+CREC=0

Play sound to the phone side to listen
AT+CCMXPLAYWAV="E:/rec.wav",1

Play sound to SIM7600
AT+CCMXPLAYWAV="E:/rec.wav",2

End playback
AT+CCMXSTOP
Some SIM card carriers require a VOLTE function to make calls, how to turn on or off the VOLTE function?

The VOLTE function can be enabled with the following command:

at+voltesetting=1
at+cnv=/nv/item_files/modem/mmode/ue_usage_setting,1,01,1

The VOLTE function can be disabled with the following command:

at+voltesetting=0
at+cnv=/nv/item_files/modem/mmode/ue_usage_setting,0,01,1

Note: The difference between Volte calls and regular phone calls: The network of Microsoft calls goes on a packet-switched Internet network. And ordinary phone calls take the circuit-switched (PSTN network) communication network. There is a fundamental difference between the two. By the time of 4G LTE, the packet network can control the delay to low enough, and ordinary phones can make calls directly through VOLTE with the packet network. However, in places where the network is poor, circuit-switched networks are still inseparable.

How to locate the base station for SIM7600X, what is the command?

Common commands for the LBS base station positioning function of SIM7600X are as follows:

AT+CLBS=? //View the range of parameters that can be set
AT+CNETSTART//Open the network; if it fails to open the network, you can use the command AT+CNETSTOP to close and then open
AT+CLBS=1 //Get the current latitude and longitude
AT+CLBS=2 //Get the detailed address
Why is the positioning inaccurate and the coordinates obtained are different from those found online?

After turning on the GPS in the AT debug serial port, turn on the NMEA port to get the dynamic information.

For more detailed steps, please refer to the following link. SIM7600X gets the latitude and longitude in units, we commonly use degrees as the unit, please see below for more details.

AT PORT does not get the location information, HS-USB NMEA port can get it, what is the problem?

GNSS parameter problem, after restarting the module, initialize the GNSS parameters with the following command can be;

AT+CGPSNMEA=197119

Or you can use the following commands to obtain the position information.

AT+CGPSINFOCFG=10,31
What should I do if I can't receive a GPS signal and don't get the location information?

Insert the GPS antenna into the GNSS antenna holder and place the receiver label side down in the open outdoors (note that the rainy weather test can not), the power needs to wait about 1 minute to receive the positioning signal;

What does the positioning information obtained by SIM7600X via AT+CGPSINFO represent respectively?

From left to right, they are (1) dimension, (2) longitude, (3) date, (4) time, (5) altitude, (6) speed, and (7) heading angle.

Why is my dial-up internet connection so slow?

  • Generally, the default configuration of SIM7600 is to automatically select the network standard, and it is likely to choose 2G Internet access; if you need to force the use of 4G mode, you need to enter the following AT command configuration:

AT+CNMP=38    //Fixed 4G LTE, if there is no local 4G coverage, you may not be able to register to the network
  • If 4G has been fixed and the speed is still not ideal, it may be a frequency band problem;

AT+CNBP?  //Backup the current band (the returned band information can be copied to Notepad, etc.)
AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021    //After returning to OK, measure the speed
AT+CNBP=0x0002000004400180,0x000001E000000000,0x000000000000003F   //If the speed doesn't improve, try this

Why does it return NO CARRIER after the computer NDIS dials?

AT$QCRMCALL=1,1

Answer:

  • Under normal circumstances, SIM7600X has already dialed automatically when it is connected to the Windows system, no need to repeat the dialing, the repeated dialing will return NO CARRIER

  • If you still cannot dial up, please use the following command to change to the Windows default dial-up mode

    AT+CUSBPIDSWITCH=9001,1,1 
  • The display is turned off and the mobile network is not enabled, you can ignore it and go online directly;

  • After installing the driver, the network card shows that it is enabled

How to get SIM7600X to switch to IPV6 after dial-up?

Set up as below:

AT+CGDCONT=1, "IPV6", "APN" //Switch to IPV6, different operators APN is different, pay attention to distinguish the settings
AT+CGDCONT=1, "IP", "APN" //Switch back to IPV4
Why can't I control the module with UART on Raspberry Pi, can't open ttyS0 through minicom, prompting any ttyS0?

  • Open the Raspberry Pi terminal and input the following commands:

sudo raspi-config
Select Interfacing Options -> Serial to turn off shell access and turn on the hardware serial port

Raspberry Pi 2B/zero, the user serial device number is ttyAMA0; you can use the following command line to confirm that serial0 is the selected serial device number, as follows:

ls -l /dev/serial*

Why is the command sent not displayed after sending an AT command and returning OK?

The SIM7600X can send the following command plus carriage return, and successfully turn on the display after displaying OK.

ATE1
What is the difference between RNDIS, NDIS, PPP, and ECM dialing methods?
What should I do if the network is abnormal?

In this case, it may be that you have not successfully connected to the network, you can follow the steps below to troubleshoot: 1. First check the hardware connection:

  • Check if the MAIN antenna is connected properly;

  • Whether the connected SIM card can communicate and surf the Internet normally on mobile phones and other devices:

  • If the Raspberry Pi is connected, whether the module enters airplane mode;

2. After confirming that there is no problem with the hardware, the software can use these instructions:

  • Check if the sim card is in good contact: AT+CPIN?

  • Check if the network mode setting is correct: AT+CNMP?

  • Check the signal quality of the current environment: AT+CSQ

  • Check carrier access:AT+COPS?

  • Check internet connection:AT+CPSI?

  • Check for successful registration to the network: AT+CGREG?

Last updated