Waveshare SIM7600CE-CNSE 4G HAT for Raspberry Pi 4G 3G 2G GNSS
Product Link
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 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 HAT
Raspberry 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:
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 HAT
UNO 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 HAT
Jetson 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.
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
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).
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:
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
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
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:
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%.
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.
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:
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.
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.
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:
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
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.
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
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
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;
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
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?
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.
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.
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;
From left to right, they are (1) dimension, (2) longitude, (3) date, (4) time, (5) altitude, (6) speed, and (7) heading angle.
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:
Differences as shown below:
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.