From Waveshare Wiki
Jump to: navigation, search

Raspberry Pi 5G/4G/3G/GNSS




  • Comes with the RM520N-GL 5G Sub-6GHz module, which supports network standards such as 5G/4G/3G and LTE-A, and GNSS positioning.
  • Comes with M.2 TO 4G/5G HAT, compatible with RM500U-CN/RM500Q-GL/RM502Q-AE/RM520N-GL series 5G modules.
  • USB 3.1 port (USB 2.0 compatible) for connecting to PC, Raspberry Pi, or Jetson Nano host board to enable high-speed 5G communication.
  • Onboard M.2 B KEY slot, compatible with optional SIM7600X/EM06X/SIM82XX/RM5XX series 4G/5G M.2 modules.
  • Onboard control pins, built-in voltage level translator, enabled via DIP switch, for use with hosts like Raspberry Pi or Arduino.
  • Onboard USB-C connector, enabled via a switch, for connecting the standalone power supply for the module, allows more loads, stable and flexible power supply.
  • Onboard power switch, reset button, and LED indicators for easy control of module power on/off and status.
  • 2x SIM card slots, dual card single standby, switchable via AT command.
  • Onboard high-performance power supply circuit with up to 3A current output.
  • Comes with metal case, supports wall and rail mounting, more convenient for installation.

Selection Guide

5G Sub-6 RM500U-CNV RM500Q-GL 5G HAT RM502Q-AE 5G HAT RM520N-GL RM530N-GL
Picture RM500U-CN-5G-HAT-details-17-1.jpg RM500U-CN-5G-HAT-details-17-3.jpg RM500U-CN-5G-HAT-details-17-5.jpg RM520N-GL-details-2.jpg RM530N-GL-details-2.jpg
5G Standard 3GPP R15 3GPP R16
5G Chip UNISOC Qualcomm
5G Sub-6 GHz Sub-6 GHz & mmWave
Region/Operator China, EMEA, Asia-Pacific except Americas except China Global
Operating Temperature -30°C ~ +75°C
Extension Temperature -40°C ~ +85°C
Module Size 30.0 × 52.0 × 2.3 (mm)
Module Weight 8.8g 8.7g 8.8g
Power Supply 3.3~4.4V, Typ. 3.7V 3.135~4.4V, Typ. 3.7V
Power Consumption 78μA @ shutdown;

5.1mA @ hibernate;
57mA @ USB 2.0, idle;
71mA @ USB 3.0, idle

70μA @ shutdown;

4.0mA @ hibernate;
32mA @ USB 2.0, idle;
54mA @ USB 3.0, idle

80μA @ shutdown;

4.2mA @ hibernate;
39mA @ USB 2.0, idle;
54.5mA @ USB 3.0, idle

195μA @ shutdown;

4.7mA @ hibernate;
41mA @ USB 2.0, idle;
60mA @ USB 3.0, idle

173μA @ shutdown;

5.1mA @ hibernate;
51mA @ USB 2.0, idle;
69mA @ USB 3.0, idle

Frequency Band
5G 5G NR - n257, n258, n260, n261
5G NR NSA n41, n78, n79 n41, n77, n78, n79 n1, n2, n3, n5, n7, n8, n12, n20, n25, n28, n38, n40, n41, n48, n66, n71, n77, n78, n79 n1, n2, n3, n5, n7, n8, n12, n13, n14, n18, n20, n25, n26, n28, n29, n30, n38, n40, n41, n48, n66, n70, n71, n75, n76, n77, n78, n79
5G NR SA n1, n2, n3, n5, n8, n28, n41, n77, n78, n79 n1, n2, n3, n5, n7, n8, n12, n20, n25, n28, n38, n40, n41, n48, n66, n71, n77, n78, n79 n1, n2, n3, n5, n7, n8, n12, n13, n14, n18, n20, n25, n26, n28, n29, n30, n38, n40, n41, n48, n66, n70, n71, n75, n76, n77, n78, n79
LTE LTE-FDD B1, B3, B5, B8 B1, B2, B3, B4, B5, B7, B8, B12, B13, B14, B17, B18, B19, B20, B25, B26, B28, B29, B30, B32, B66, B71
LTE-TDD B34, B38, B39, B40, B41 B34, B38, B39, B40, B41, B42, B43, B48
LAA - B46
UMTS WCDMA B1, B5, B8 B1, B2, B3, B4, B5, B6, B8, B19 B1, B2, B4, B5, B8, B19
GNSS - GPS / GLONASS / BeiDou(Compass) / Galileo / QZSS (only RM520N-GL and RM530N-GL support)
Data Rate
5G mmWave - DL 4.0Gbps;
UL 1.4Gbps
5G SA Sub-6 DL 2Gbps;
UL 1Gbps
DL 2.1Gbps;
UL 900Mbps
DL 4.2Gbps;
UL 450Mbps
DL 2.4Gbps;
UL 900Mbps
5G NSA Sub-6 DL 2.2Gbps;
UL 575Mbps
DL 2.5Gbps;
UL 600/650Mbps
DL 5Gbps;
UL 650Mbps
DL 3.4Gbps;
UL 550Mbps
LTE DL 600Mbps;
UL 150Mbps
DL 1.0Gbps;
UL 200Mbps
DL 2Gbps;
UL 200Mbps
DL 1.6Gbps;
UL 200Mbps
UMTS DL 42.2Mbps;
UL 11Mbps
DL 42Mbps;
UL 5.76Mbps

Onboard Resource

RM520N-GL 5G HAT01.png
RM520N-GL 5G HAT02.png

Pinout Definition

After connecting with Raspberry Pi and other boards through 2*20 pins, the following pins will be used; TX, RX, D4, and D6 can be connected or not through DIP switches:

With "4G/5G module" Function Test

Item Module Model Network GNSS Voice call Dual SIM Card UART Interface External Power Supply or Not
5G SIM8202G-M2 5G/4G/3G Support Support Support Support Optional, recommended
5G SIM8262E-M2 5G/4G/3G Support Support Support Support Optional, recommended
5G SIM8200EA-M2 5G/4G/3G Support Support Support Support Optional, recommended
5G RM500U-CN 5G/4G/3G N/A N/A Support Support Yes
5G RM500Q-GL 5G/4G/3G Support N/A Support N/A Yes
5G RM500Q-AE 5G/4G/3G Support N/A N/A N/A Yes
5G RM502Q-AE 5G/4G/3G Support N/A N/A N/A Yes
5G RM520N-GL 5G/4G/3G Support N/A N/A N/A Yes
LTE-A EM06-E LTE-A/4G/3G N/A N/A N/A N/A Optional, not required
LTE-A EM060K-GL LTE-A/4G/3G N/A N/A N/A N/A Optional, not required
LTE-A A7906E LTE-A/4G/3G N/A N/A N/A N/A Optional, not required
4G SIM7600G-H-M2 4G/3G/2G Support Support N/A Support Optional, not required

4G/5G Module Compatibility

If you need to use M.2 TO 4G/5G HAT for other 4G/5G modules, you can refer to the M.2 connection diagram below and check if there is any pin conflict before accessing it for testing:

Test Description

Commonly Used AT Commands

SSCOM UART AT command Test
Command Description Return
AT AT Test Command OK
ATE ATE1 sets echo
ATE0 closes echo
AT+CGMI Query module manufacturer OK
AT+CGMM Query module model OK
AT+CGSN Query product serial number OK
AT+CSUB Query module version and chip OK
AT+CGMR Query the firmware version serial number OK
AT+IPR? Set the module hardware serial port baud rate +IPR:
AT+CFUN=1,1 Reset module OK
AT+QUIMSLOT? Query SIM card selection:
Return 1, select SIM card 1;
Return 2, select SIM card 2
AT+CPIN? Query the status of the SIM card, return READY, the SIM card can be recognized normally +CPIN: READY
AT+COPS? Query the current operator, the operator information will be returned after normal networking +COPS:
AT+CEREG? Query network registration status +CEREG:
AT+C5GREG? Query 5G network registration status +C5GREG:
AT+QENG="servingcell" Query UE system information
AT+QNWPREFCFG=? Network mode selection command:
"mode_pref": Automatic
"nr5g_band": 5G NR
"lte_band": LTE only
"gw_band": WCDMA only
... ....
For more AT commands, please refer to: RM520N_Series_AT_Command Datasheet.
SSCOM Serial Assistant, software download: SSCOM Serial Assistant and QCOM.

Working with Raspberry Pi

  • RM520N-GL 5G HAT is a 5G HAT designed for Raspberry Pi, you can plug it into Raspberry Pi 4B/3B+/3B, or CM4 boards. However, note that the package comes with a metal case, which is only suitable for the Raspberry Pi 4B board. In the following section, we will use the RM520N-GL module step by step from hardware connection, software setup, 5G networking dial-up internet access, GNSS positioning, and programming control.
  1. Connect to the Raspberry Pi Board
【Hardware Preparation】
  • 5G SIM Card x 1
  • RM520N-GL 5G HAT (with case) x 1 (kits included as shown below):

【Installation Guide】

  • Use the double-plug USB 3.0 cable to connect the 5G HAT, and then connect the external 5V power to the Type-C power port of the 5G HAT. As shown below:
Raspberry Pi Board Pi 4B Pi 3B/3B+ CM4-IO-BASE
USB adapter USB3.0 adapter USB2.0 adapter USB3.0 adapter
Connection Diagram M.2-To-4G-5G-HAT-CM4.jpg M.2-To-4G-5G-HAT-Pi3B.jpg M.2-To-4G-5G-HAT-CM4.jpg
An external 5V power supply must be connected to the 5G module alone (connected to EXT PWR, and switch to EXT PWR gear), if there is no separate power supply to the 5G module, there may be 5G networking disconnection and reboot as it only can be powered by the USB port.
  • If it is used for PI4B, there is a matching case with the following installation schematic:
Click here to see how to install the case.

Software Setting

This product can be used for a variety of Raspberry Pi operating systems, the common ones are Raspberry Pi OS, Ubuntu, and OpenWRT system, the latest version of these three systems can directly use the RM520N-GL module, no need to install a separate driver.

First of all, after installing the hardware connected above, the PWR indicator lights up red when the module is powered on, and the NET indicator lights up green when the network is acquired, as shown in the following figure:
RM520N-GL 5G HAT30.jpg
The following is an example of the Raspberry Pi 4B, operating system Rasberry Pi OS-230217, kernel version: 5.15-84-v71+:

  • After the module is plugged into the Raspberry Pi USB port, the recognition can be queried by the command:
ls /dev/ttyUSB*

As shown below:
RM520N-GL 5G HAT31.jpg
The com port recognized by the module acts as follows:

/dev/ttyUSB0:DIAG Port for output developing message
/dev/ttyUSB1:NMEA Port for GNSS NMEA data output
/dev/ttyUSB2:AT Port for AT Commands
If the module does not identify the usbX interface properly, make sure that the Raspberry Pi OS has been upgraded to the latest version, and reboot the entire system to check your SIM, antenna, module, and USB connections.

5G Network Card Dial-up Method

RM520N-GL supports a variety of 5G Internet access modes, Linux systems, commonly used are ECM, NDIS, RNDIS, and several specific Internet access modes, users switch through the AT command but note that not all mode modules can be used under the Linux operating system, the specific to the actual test shall prevail.

There are the following dial-up types, which can be set up and switched by AT command:

AT+QCFG="usbnet",0 driver type is NDIS(QMI));
AT+QCFG="usbnet",1 Driver type is ECM; (recommended for Linux systems)
AT+QCFG="usbnet",2 driver type is MBIM; (recommended for Windows, not supported for Linux)
AT+QCFG="usbnet",3 Driver type is RNDIS (recommended for Linux)
AT+QCFG="usbnet",5 The driver type is NCM; (not supported for Linux)

Note that after sending the AT command to set the dialing method, you also need to send the command to restart the module:


If you need to query the module's current NIC mode configuration, send the command:


ECM Dial-up in Raspberry Pi OS

Step 1: Uninstall modemmanager and network-manager

sudo apt purge modemmanager -y 
sudo apt purge network-manager -y

Step 2: 5G Module Test

  • Please make sure the USB-serial driver demo is correctly loaded to the module interface. Use usb-device to check:
pi@raspberrypi:~ $ usb-devices 
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=5000 MxCh= 0 
D: Ver= 3.20 Cls=00(>ifc) Sub =00 Prot=00 MxPS= 9 #Cfgs= 1 
P: Vendor=2c7c ProdID=0800 Rev=04.14 
S: Manufacturer= 
Quectel S: Product=RM502Q-AE 
S: SerialNumber=377628d2 
C: #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA 
I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option 
I: If#=0x1 Alt= 0 #EPs= 3 Cls= ff(vend.) Sub=00 Prot=00 Driver=option 
I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option 
I: If#=0x3 Alt = 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option 
I: If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver= qmi_wwan
  • Execute ls /dev/ttyUSB*, check if ttyUSB0~ttyUSB4 are correctly identified:
  • minicom tests AT command sending and receiving:
sudo apt-get install minicom
sudo minicom - D /dev/ttyUSB2
Welcome to minicom 2.7.1

Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB2

Press CTRL-A Z for help on special keys


Step 3: Network Setup Using AT Commands


Wait for the modem to start up again. It may take up to 30 seconds. Once the modem has restarted, the minicom will be activated again.
After rebooting, open a new Linux terminal and use the command ifconfig or ipaddr to check the usbX in the network interface.

  • After the module reboots, the NET light comes on and the network status is checked with the following command (optional):
  • Use the following commands to get IP and set up DNS:
sudo dhclient -v usb0
sudo apt-get install udhcpc
sudo udhcpc -i usb0
sudo route add -net usb0

Step 4: 5G Network Test

After dialing, the Raspberry Pi can see usb0 get the IP by the following command, enter the command ifconfig usb0 or ifconfig.

pi@raspberrypi:~ $ ifconfig usb0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet  netmask  broadcast
        inet6 fe80::8543:f6a0:e678:2e20  prefixlen 64  scopeid 0x20
        ether 4a:aa:f8:62:36:bb  txqueuelen 1000  (Ethernet)
        RX packets 73  bytes 5047 (4.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 100  bytes 15116 (14.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ping waveshare.com -I usb0 
pi@raspberrypi:~ $ ping waveshare.com -I usb0
PING waveshare.com ( from usb0: 56(84) bytes of data.
64 bytes from ( icmp_seq=1 ttl=52 time=87 ms
64 bytes from ( icmp_seq=2 ttl=52 time=82 ms
64 bytes from ( icmp_seq=3 ttl=52 time=92 ms
64 bytes from ( icmp_seq=4 ttl=52 time=73 ms
64 bytes from ( icmp_seq=5 ttl=52 time=75 ms

OpenWRT RNDIS Dail-up Network

Please see 5G/4G Raspberry 4B openWrt Sample Tutorial.

5G Network Speed Test

In the Linux system, you can install speedtest_cli to test:

## Raspberry Pi OS
sudo apt install speedtest-cli
speedtest      # or use speedtest_cli


## OpenWRT
opkg update   
opkg install python3
opkg install python3-pip
pip install speedtest_cli 
speedtest      # or use speedtest_cli


Check if the module detects SIM:

AT+CPIN? # Should return READY

Check if the module is registered to the network:

AT+CEREG? # Should return 0,1 or 0,5

Check if the APN is correct and has an IP: AT+CGCONTRDP?

AT+CGCONTRDP # Should return APN details and IP address.

Working with Windows

RM520N-GL 5G HAT can also be directly connected to the module's USB3.0 interface and the Windows PC's USB3.0 interface through the USB cable, but also requires an additional 5V external power supply to the board's EXT PWR interface to ensure that the 5G communication power is sufficient, the connection effect diagram similar to:

In order to ensure that the 5G module has sufficient power, an external 5V power supply must be provided to the EXT PWR interface of the expansion board and the switch must be switched to EXT PWR.

Driver Installation

  • After connecting the 5G HAT to the computer via the dual-plug usb3.0 cable, the other devices appear as a series of uninstalled devices, similar to the following figure:


  • Install Windows-related driver:
  • Click setup.exe to install the driver. After installation, the Device Manager generates an unknown device similar to the following figure (the figure below shows the RM500U as an example):


Click here to see the functions of the identified USB ports.

MBIM Dial-up Networking

RM520N-GL series also can choose MBIM to the network, as shown below:

  • Open RM520N-GL AT port and send the following commands to the dial-up network:
  • After dialing and rebooting, the phone network card appears in the computer network connection interface, and the dial-up is successful.


Network Speed Test

RM50XQ Network Speed Test
  • Install speed testing software, such as Internet speed manager and other speed testing software, you can choose to download the speed test at www.speedtest.cn/pc/download.

About the speed testing

As there will be many inconsistencies between actual and laboratory conditions that will result in 5G speeds that are not ideally stable at 100MBPS, there are the following.

  • Base station distance, the closer to the 5G base station the better the signal and the faster the speed.
  • Base station load, the fewer people using it the faster it will be, and the slower it will be during peak commuting periods.
  • Number of base stations: due to the spectrum, an equal amount of 4G coverage requires double the number of 5G base stations.
  • Operator: you need to confirm your 5G card, and whether the speed is limited, you can regularly ask the operator to reset your network.
  • Indoor is worse than outdoor: building penetration attenuation, and indoor bypass attenuation.

PS: The current number of base stations still does not have good coverage, and the speed measurement is not quite the same in different locations.

GNSS Global Positioning

  1. Connect the passive GPS antenna to ANT3 of the module, note that the lettered side is facing down and the antenna is placed in the open outdoor area.
  2. Then use AT port to send AT command:
AT+QGPS=1        //Open GPS positioning
AT+QGPSLOC=0     //Get GPS position
AT+QGPS=0        //Close GPS position

3. Satellite data can be received by enabling the NMEA port to: RM50XQ-GNSS-02.png

GNSS antenna interface, hardware-related instructions, please refer to: Quectel_RM520N series hardware design manual




Windows Driver

The Windows driver of Quectel series module cannot be installed together, for example, the MBIM driver should be uninstalled before installing the RNDIS driver.

Linux Driver




Related Link



5G consumes a lot of power, and the host's USB interface might not provide enough power. Please use a USB double-plug cable to supply sufficient power to the module, as shown in the diagram.



As RM500U-CN and RM500Q-GL modules support simultaneous access to two SIM cards, dual-card single standby, can be switched to enable one of the SIM cards to work through the AT command:

*SIM card 1 is used by default, you can use the following commands to check: 
*Switch to SIM card 2 using the following commands:  
*Switch to SIM card using the following commands:  
*Query whether the corresponding card slot identifies the SIM card:  

If the corresponding SIM card is still not recognized, consider that the dip switches do not enable the corresponding module, please see C corresponding dip switches are turned ON:


  • Qualcomm platform:
AT+QCFG="data_interface",0       //Switch to the default USB mode 
  • Zhanrui platform:



Please use the following commands to configure the dial-up mode to a stable routing mode:



  • Please check whether the SIM card and the antenna are connected, and note that four antennas must be connected.
  • Please check the hardware connection and use AT Log to check the network connection.




It requires a module with the M.2 B KEY B interface and USB function, modules without USB function (PCIE only) are not supported, the following modules have been verified:

SIM8202G-M2 SIM8262E-M2 SIM8262A-M2
(AA version)RM500U-CNV RM500Q-GL/RM502Q-AE RM520N-GL RM530N-GL

The M.2B KEY connector with USB function can be used if it matches the wiring sequence shown in the figure below: RM520N-GL91.png
5G modules must be purchased separately; if used for other modules, pin compatibility must be confirmed and subject to actual measurement.



RM500U-CN: based on Zhanrui
RM500Q-GL: based on the Qualcomm platform, supports GNSS positioning, mainly for China
RM500q-AE/RM502Q-AE: based on the Qualcomm platform, supports GNSS positioning, mainly for countries except for China.


The 5G module requires a lot of power, especially at the moment of network access; the power supply capacity of the Raspberry Pi is limited, and the 5V (3A) power supply can be connected to the onboard TYPE-C interface.


When using the external power supply, RM500U does not reboot after rebooting the Raspberry Pi, you can use the commands to restart RM500U.


As shown below:
AT+QCFG="usbnet",0 driver type is NDIS(QMI));
AT+QCFG="usbnet",1 The driver type is ECM;
AT+QCFG="usbnet",2 The driver type is MBIM; (RM5XXQ support)
AT+QCFG="usbnet",3 The driver type is RNDIS
AT+QCFG="usbnet",5 The driver type is NCM;


Use the following command to turn on the echo, and press Enter after entering: (Blind typing is required here)


It can be inquired at the following website:




Raspberry Pi 2B/zero, with user serial device number ttyAMA0;

ls -l /dev/serial*   

You can confirm that serial0 is the selected serial device number with the following command line, as follows:
RM520n-gl faq90.png


The USB power supply capability of the Raspberry Pi is worse than that of the computer. It needs to be connected to an external power supply. Please set the switch to EXT PWR, and connect the HAT interface to a 5V 3A power supply:

RM500U-CN 5G HAT.png



Yes, it is a Qualcomm X62 platform like RM520.



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)