SIM7600G-H 4G HAT (B)

From Waveshare Wiki
Jump to: navigation, search
SIM7600G-H 4G HAT (B)
300px SIM7600G-H 4G HAT (B)





  • Connected via Pogo PIN or MicroUSB connector.
    • Dedicated pogo pin for Raspberry Pi Zero/Zero W.
    • MicroUSB connector for other Raspberry Pi boards or PCs.
  • Incorporates SIM7600G-H global band 4G module, compatible with 2G/3G/4G network with global support.
  • USB HUB connector for other Raspberry Pi boards or PCs, providing USB extension and 4G network access.
  • Supports dial-up, telephone calls, SMS, TCP, UDP, DTMF, HTTP, FTP, etc.
  • Supports GPS, BeiDou, Glonass, and LBS base station positioning.
  • SIM card slot, supports 1.8V/3V SIM card.
  • Onboard audio jack and audio decoder for making the telephone calls.
  • 2 x LED indicators, easy to monitor the operating status.
  • Control via AT commands (3GPP TS 27.007, 27.005, and V.25TER command set).
  • Supports SIM application toolkit: SAT Class 3, GSM 11.14 Release 99, USAT.
  • Comes with online development resources and manuals (examples for Raspberry Pi).


  • To test this device, you should prepare the following components:
SIM7600G-H 4G HAT (B) × 1
LTE Antenna × 1
GPS Antenna × 1
USB-A to micro-B cable × 1
4G SIM card × 1
An earphone with a microphone × 1 (optional)
  • Insert the activated 4G SIM card and the earphone (optional) into the HAT when the HAT powers off, and then connect it to the PC by the USB cable.
  • Connect one end of the micro USB cable to the USB port of the PC, and the other end to the USB port of SIM7600X 4G HAT(B), the PWR indicator is on, and the NET indicator is not on.
  • When the NET indicator starts to flash once every second, the module starts to work.
  • External USB devices such as keyboards or mice are connected to the USB Type-A connector and can be recognized by the computer. (Optional)
SIM7600 4G HAT(B)TOP ang BOTTOM.png
  • Check the Device Manager of the PC, the several COM ports will be recognized:
  • If the COM ports are recognized with an exclamation symbol, you should install the SIM7600X Driver manually.
  • Connect the 4G HAT to the Windows PC (Hereafter we use Windows 10 PC as an example)
  • Unzip the driver file --> Double-click the exe driver file with the left mouse button --> Select the installation path --> NEXT --> Wait for the installation to complete --> Restart the computer --> Complete the driver installation.
  • After installation, all the devices should be recognized normally as below:

SIM7600X-Driver- (6).png

NET Working Status

Reference of indicators


AT Commands for Testing

AT Command Description Return
ATE ATE1: Echo mode on
ATE0: Echo mode off
AT+CGMI Request manufacturer indentification OK
AT+CGMM Request model indentification OK
AT+CGSN Request product serial number identification OK
AT+CSUB Request porduct version OK
AT+CGMR Request firmware version OK
AT+IPREX Configure buad rate of model +IPREX:OK
AT+CRESET Reset model OK
AT+CSQ Query signal quality OK
AT+CPIN? Query SIM card status +CPIN:RRADY
AT+COPS? Query provider information +COPS:OK
AT+CREG? Query network registation status +CREG: OK
AT+CPSI? Query UE system information
AT+CNMP Select Network Mode:

2: Automatic
13: GSM only
38: LTE only
48: Any modes but LTE


For more information about the AT command, you can refer to AT command manual.

SIM7600X H 01.png

Dial-up Networking

【Note】You must use a SIM card with GPRS networking enabled and haven't been out of service.

Dial-up Networking with Windows PC

  • Connect the SIM7600G-H 4G HAT (B) with the 4G SIM card to your win10 PC. After installing the driver, the PC will automatically recognize the module.
  • If a Windows PC still cannot access the Internet, you need to start NDIS dial-up manually.

Open the SIM7600 AT port and send the command:


Then press 'Enter'. At this time, NDIS dialing will take effect, and the PC can connect to the network.

Sim8200 win sendat1.png.png
  • If you still can't connect automatically, you can use PPP dial-up. The operation steps are as follows:

GPS Debugging

  • Plugin the GPS antenna and place the 4G HAT in an open outdoor (note that it cannot be tested in rainy weather). It takes about 1 minute to receive the positioning signal after power-on.

The test commands and screenshots are as follows:

AT+CGPS=1	       //Open GPS
AT+CGPSINFO          //Print GPS information to the serial port
AT+CGPS=0          //Close GPS
SIM7600G-H 4G HAT(B) GNSS.png

Make Calls and Answer

  • Insert the SIM card, connect the LTE antenna, and connect the USB interface of SIM7600E-H 4G HAT to the PC. Then press the PWRKEY to power on the board.
  • Check whether the indicators blink correctly (PWR's and NET's flashes).
  • Send AT commands as below:
Commands Description Return
AT+CNUM Phone number (only supported by some SIM cards) +CNUM OK
AT+CSDVC AT+CSDVC=1: Handset output
AT+CSDVC=3: Speaker output
AT+CLVL=? Check volume level OK
AT+CLVL=2 Volume level set to 2 OK
ATD<phone_number>; Make calls OK
AT+CHUP Hang up call OK
AT+CLIP=1 Phone ring OK
ATA Answer call OK

Voice Output Mode and Volume Adjustment

AT+CSDVC=1 		//Switch to earphone
AT+CSDVC =3 	        //Switch to speaker
AT+CLVL =?		//Query the volume range. If it returns +CLVL: (0-5), it means that the volume is adjustable from 0 to 5
AT+CLVL=2     	        //Set the volume to 2, return to OK

Answer the phone

Display the serial port of incoming call: RING
Send "ATA"                  //Answer the call
Send "AT+CHUP"               //Hang up the call

Audio Parameter Debugging

+CACDBFN: (Handset_cal.acdb,Handset_tianmai.acdb)	// It is recommended to consider setting this set of parameters
  • In the initialization phase of the module startup, before making a call, add the following:
AT^PWRCTL=0,1,3		// Improve TDD noise effect
  • During the establishment of a voice call:
VOICE CALL:BEGIN      // Module call establishment and execution to improve call effect
AT+CECM=1        //Echo suppression processing
AT+CECH=0x500       //Improve the volume effect of the mobile phone

For more details, please check the file of "SIM7X00_Audio_Application_Note".

Send the Massage

  • 1. Plug the SIM card, connect the LTE antenna and connect the USB interface of the 4G HAT to PC, and power on the device.
  • 2. Check whether the indicators blink correctly: the PWR indicator is always on, and the NET indicator is flashing.
  • 3. Send AT commands as shown below:
AT+CMGF=1     //Set the massage mode to TEXT;
  • 4. Enter AT+CMGS="phone number" and then press <Enter> to set the recipient's mobile phone number, then this command will return: ">". And then you can enter the content to be sent, such as "Send message test!", and don't need to check 'AddCrLf'. After editing the message, send the information in HEX format, enter 1A in the send box, and then click SEND. After sending successfully, the module will return +CMGS: 15. You can see in the picture below:

【Note】: 1A is the key value of "CTRL+Z", which is used to tell the module to perform the sending operation. You can also send 1B that is "ESC'" to cancel the current operation.


Receive the Massage

  • 1. Send a message with your phone, such as "This is a receive test for SIM7600X!" to the module.
  • 2. When receiving the information, the serial port will automatically report the information, "SM", 20, which means there are 20 messages in the SM, and the message just sent is the 20th message.
  • 3. Read the message:
AT+CMGR=20     //Read the 20th information (AT+CMGL="ALL" means to read all the information);
  • 4. Delete the message:
  • 5. Convert the displayed information into text through a code converter.

Dial-up Networking with Raspbian

  • When using Raspberry Pi Zero/Zero W, you can connect it to the 4G HAT through the thimble, no additional USB cable is required;
  • if it is used on other Raspberry Pi boards, you can connect the 4G HAT to the Raspberry Pi through a Micro USB cable. The connection is as follows:

Minicom Serial Debugging

  • 1. Connect the HAT to your Pi through the USB cable.
  • 2. Install minicom:
sudo apt-get install minicom
  • 3. Execute the following command:
sudo minicom -D /dev/ttyUSB2

The default baud rate is 115200.

  • 4. Take the AT synchronization test as an example, and send related commands, as shown in the picture below:

Press Ctrl+A, then press Z, the minicom can enter the setting mode, and press X to exit.

Sample Demo

1. Inset the module and connect to the Raspberry Pi.
2. Download the sample demo to /home/pi/:
sudo apt-get install p7zip-full
7z x 
sudo chmod 777 -R SIM7600G-H-4G-HAT-B-Demo
3. Respectively enter the corresponding directory, compile and run the demo. The related instructions are shown below (Take the demo as an example):
cd SIM7600G-H-4G-HAT-B-Demo/Raspberry/python/PhoneCall/      
sudo apt-get install python3-pip
sudo pip3 install pyserial
sudo pip3 install RPi.GPIO
sudo python3    

AT Command Demo

SIM7600G-H 4G HAT (B) AT.png


SIM7600G-H 4G HAT (B) AT02.png

SMS Demo

SIM7600G-H 4G HAT (B) AT03.png

GPS Demo

SIM7600G-H 4G HAT (B) AT04.png

TCP Demo

SIM7600G-H 4G HAT (B) AT05.png

FTP Demo

SIM7600G-H 4G HAT (B) AT06.png

Jetson Nano Demo

Hardware Connection

Connect the SIM7600X 4G HAT(B) to the USB port of Jetson Nano via Micro USB cable, as shown in the picture below:

SIM7600G-H 4G HAT Jetson nano.png

Minicom Serial Debugging for Jetson Nano

sudo apt-get install minicom
  • Run minicom for debugging, enter the following command in the terminal:
sudo minicom -D /dev/ttyUSB2 -b 115200
  • Send AT command to test:
SIM7600 G-H B Jetson.png

Press Ctrl+A, then press X to exit the minicom.

More demos continue to be updated...





Related Application Cases


Application Note



Hardware Reasons:

  • Connect the USB HUB interface to the computer via a USB cable to check if the computer recognizes the USB HUB. If it does, the module should be working fine. (Use a multimeter in beep mode) Check for poor connections in the USB connector or header pins.

Software Reasons: Additionally, if the USB port of the Raspberry Pi Zero is configured as a wired network card, it might not recognize the USB HUB.

  • Add the following command in the config.txt file:
sudo nano /boot/config.txt

Remove the following command from the cmdline.txt file:

sudo nano /boot/cmdline.txt

Restart the Raspberry Pi:

sudo reboot

Zero2W SIM7600.png



Support Nano SIM card:
SIM card size.png


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 well connected;
  • Whether the connected SIM card can call and surf the Internet normally on mobile phones and other devices:
  • It is recommended to replace the SIM cards of different operators. Under the comparison test, the network frequency bands and base station layouts supported by different operators are different. Changing the SIM card can also eliminate problems such as card arrears

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

  • Check whether the sim card is in good contact: AT+CPIN?
  • Check whether RF is turned on (flight mode is turned off): AT+CFUN?
  • Check if the network mode setting is correct: AT+CNMP?
  • Check the signal quality of the current environment: AT+CSQ
  • Check the operator's access situation: AT+COPS?
  • Check the connection status: AT+CPSI?
  • Check the operator's access situation: AT+CGDCONT?
  • Check the connection status: AT+SIMCOMATI
  • Check whether it is successfully registered to the network: AT+CGREG?

SIM7600X network check.png

SIM7600X mainly includes but is not limited to the following models:




From left to right are ① Latitude, ② Longitude, ③ Date, ④ Time, ⑤ Altitude, ⑥ Speed and ⑦ Navigation Angle.


Plug in the GPS antenna to the GNSS antenna socket, and place the receiver label face down in an open space (note that it cannot be tested in rainy weather). It takes about 1 minute to receive the positioning signal after power-on;



Restart SIM7600E-H after sending the following commands:


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



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

The reason is that the echo is not turned on. SIM7600X can send the following command and press Enter, and the echo is successfully turned on after the display is OK.



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
Serial port.png
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:

Restart to take effect



It may be that the APN has not been obtained. Generally, the APN can be obtained automatically. In some areas (IoT card), it needs to be obtained manually. For example, it can be set by the following instructions:

AT+CGDCONT=1,"IP","Your_APN" //The APN of different operators is different, here the APN is changed to the corresponding operator, for example:
China Mobile APN: CMNET; China Unicom APN: 3GNET; China Telecom APN: CTNET
SIM7600X apn.png


It can be set by the following commands:

AT+CGDCONT=1,"IPV6","APN" //Switch to IPV6, the APN of different operators is different, pay attention to distinguish the settings
AT+CGDCONT=1,"IP","APN" //Switch back to IPV4

  • No APN is set, configure APN as described above.
  • After being banned, high-traffic (real-name IoT) cards are bound by chance cards and can only be used on one device (Ministry of Industry and Information Technology, Ministry of Public Security, must be issued to operators); The operator checks the status of the card and unlocks it.


The VOLTE function can be turned on with the following command:


The VOLTE function can be turned off with the following command:



Command to add + Enter, return OK. Note: China Mobile's SMS service center number is +861380xxxx500, where xxxx is the long-distance telephone area code where you are located. The SMS center may be different from place to place. For details, you can query Baidu or call the customer service of China Mobile Unicom. This SMS center is Shenzhen (0755).

  • Confirm that SIM7600X is registered to the network, and confirm that the SIM card can send and receive text messages normally on mobile phones and other devices;
  • Set the correct SMS center number;
  • Initialize SMS settings with the following commands:


The AUX antenna can increase the downlink rate: The AUX antenna is also a diversity antenna, which plays the role of receiving signals, improves the signal reception capability, and works with the MAIN antenna to increase the downlink rate.

  • Under normal circumstances, SIM7600X has been automatically dialed after receiving the Windows system, and there is no need to repeat dialing. Repeated dialing will return NO CARRIER
  • If you still can't dial-up Internet access, please use the following command to change to Windows default dial-up Internet access mode
  • The display is turned off, and the mobile network is not enabled, you can ignore it and go online directly;

SIM7600X rndis dial-up (1).png

SIM7600X rndis dial-up (2).png

  • The network card display is enabled after installing the driver.

SIM7600X rndis dial-up (3).png

  • 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

SIM7600X-FAQ (4).png

  • If 4G has been fixed, the speed is still not ideal, it may be a frequency band problem;
AT+CNBP? //Back up the current frequency band (the returned frequency band information can be copied to notepad, etc.)
AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021 //After returning OK, measure the speed
AT+CNBP=0x0002000004400180,0x000001E000000000,0x000000000000003F //If the speed does not improve, try this

SIM7600 band speed.png


SIM7600X-FAQ (6).png
1. Pay attention to checking the device manager, the new device will be prompted during the upgrade process, and there will be no device driver during the first upgrade;
2. Pay attention to the USB cable. The speed of the USB cable is higher during the upgrade process. You need to choose a better-quality USB cable to avoid poor contact.
3. You need to run the upgrade tool with administrator privileges (SIM7500_SIM7600_QDL V1.41 only for Update)
4. Uninstall and reinstall the upgrade tool (SIM7500_SIM7600_QDL V1.41 only for Update)
5. For more operation details, please refer to this video:


If the short message is stored in the SIM card, usually 50 is the upper limit. You can use the command: AT+CPMS? Make a query

5V power supply BY USB, after the network is successfully connected, 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 network working status.)

*Frequency: 700m 800m 900m 1710-1920M 2010-2100M 2300-2400M 2500-2690M-5800MHZ
  • Gain: 9dbi ± 0.7dbi

*Make sure that 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
  • Can burn the latest Raspberry Pi Raspbian system, reconfigure NDIS dial-up
  • Or use the image that has been configured with the driver NDIS dial-up and start the Raspbian system image (the driver has been installed)

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

SIM7600 old driver

  • Currently there is the driver source code of Android4-Android11, that is, the system version is Android4-Android11 only supported;
  • Get the source code and SDK of the Android system of the target device (requires official image support), then add SIMCOM's Android system driver source code to the Android source code, and recompile (the compilation time varies from 1-10 hours, it is recommended to use a high-configuration PC operate);
  • If the USB can be recognized, it means that the Android driver has been installed successfully. Set the module to 9011 mode or 9018 mode, and you can dial up to access the Internet;
  • The steps to install the Android driver are cumbersome, and the operator is required to have certain Android system development experience and R&D capabilities.


The IP obtained by different dialing methods is different and has different characteristics. Please refer to the following table for details:
Below is a detailed description of the various dials:

  • NDIS driver for Internet access (9001 mode)

This method must depend on the Linux system and is suitable for application scenarios that need to be developed using Linux network socket programming. After loading the driver into the kernel, connect the SIM7600 to the motherboard with a USB cable. After the SIM7600 is turned on, the wwan0 network can be recognized. port, you can access the Internet through this network port. The bottom layer of this method depends on the USB virtual serial port of SIM7600. This dial-up method can obtain the IP provided by the public operator, and the network speed is faster.

  • RNDIS (9011 mode)

RNDIS refers to Remote NDIS. The implementation of RNDIS based on USB is TCP/IP over USB, which is to run TCP/IP on the USB device, making the USB device look like a network card. This method only needs simple configuration, the motherboard will recognize the USB0 network card, and quickly obtain the USB0 network card and module or the operator's IP network access; RNDIS network speed is relatively fast, which is one of the most commonly used dial-up methods.

  • ECM (9018 mode)

These two are the "NDIS" standard under Linux. ECM is the abbreviation of the Ethernet Networking Control Model. ECM meets the requirements of the CDC on USB. The data call established through standard CDC-ECM is routed through the router, and the obtained IP address is a private IP such as 192.168; if the kernel supports this way, no additional driver is required. All data interacting with the module through the USB bus is constrained by relevant protocols and standards, and the module reaches the module through the USB hardware to complete the interaction with the Linux motherboard.

  • PPP dial-up

This method must depend on the Linux system and is suitable for application scenarios that need to be developed using Linux network socket programming. After configuring and running the relevant scripts, connect the SIM7600 with a USB cable. After the SIM7600 is powered on, dial up the pppd script to identify it. To the ppp0 network port, you can access the Internet through this network port and obtain the operator's IP. The bottom layer of this method depends on the USB virtual serial port of SIM7600.

  • AT command uses encapsulated TCP, MQTT, HTTP(S)

This method is suitable for microprocessors with limited resources, such as MCU, or for application scenarios with a relatively small amount of data, such as uploading sensor data to servers, cloud platforms, etc. through http(s), MQTT. If the network application is not complicated and the amount of data is relatively small (such as transmitting sensor data to the server and receiving control commands from the server), the function can be quickly used by using AT commands.

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, then copy the entire SIM7600X folder to the Raspberry Pi /home/pi directory, and enter the command line to /home/pi /SIM7600X directory, and then execute the chmod 777 sim7600_4G_hat_init command.

Execute: autoreconf -vfi, and then recompile, as shown in the following figure:



Restart SIM7600E-H after sending the following commands:



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)