RM520N-GL 5G HAT
- 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.
5G Module Parameters Comparision
|5G Sub-6||RM500U-CN 5G HAT||RM500Q-GL 5G HAT||RM502Q-AE 5G HAT||RM520N-GL|
|Region||China||Global (except China)||Global|
|Operating Temperature||-30 °C ~ +75 °C||-30 °C ~ +70 °C|
|Extension Temperature||-40 °C ~ +85 °C|
|Dimensions||30.0 × 52.0 × 2.3 (mm)|
|Weight||8.9 (g)||8.7 (g)|
|Power Supply||3.3~4.4 V, Typ. 3.7 V||3.135~4.4 V, Typ. 3.7 V|
|Power Consumption||90μA @shutdown;
|5G||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, n76, n77, n78, n79|
|5G NR SA||n1, 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, n76, n77, n78, n79|
|LTE||LTE-FDD||B1, B2, B3, B5, B7, B8, B20, B28||B1, B2, B3, B4, B5, B7, B8, B12(B17), B13, B14, 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|
|UMTS||WCDMA||B1, B2, 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 supports)|
|5G SA Sub-6||DL 2Gbps;
|5G NSA Sub-6||DL 2.2Gbps;
|DL 42Mbps; |
With "4G/5G module" Function Test
|Item||Module Model||Network||GNSS||Voice call||Dual SIM Card||UART Interface||External Power Supply or Not|
|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
Commonly Used AT Commands
|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+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:
"nr5g_band" ： 5G NR
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 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.
- Connect to the Raspberry Pi Board
- 5G SIM Card x 1
- RM520N-GL 5G HAT (with case) x 1 (kits included as shown below):
- 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:
- If it is used for PI4B, there is a matching case with the following installation schematic:
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:
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:
lsusb ls /dev/ttyUSB*
/dev/ttyUSB0：DIAG Port for output developing message /dev/ttyUSB1：NMEA Port for GNSS NMEA data output /dev/ttyUSB2：AT Port for AT Commands /dev/ttyUSB3：Modem
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
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
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 OPTIONS: I18n Compiled on Aug 13 2017, 15:25:34. Port /dev/ttyUSB2 Press CTRL-A Z for help on special keys AT OK
Step 3: Network Setup Using AT Commands
AT+QCFG="usbnet",1 AT+CGDCONT=1,"IPV4V6","YOUR_APN" AT+CFUN=1,1
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 0.0.0.0 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
pi@raspberrypi:~ $ ifconfig usb0 usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.225.60 netmask 255.255.255.0 broadcast 192.168.225.255 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 (22.214.171.124) from 192.168.10.27 usb0: 56(84) bytes of data. 64 bytes from 126.96.36.199 (188.8.131.52): icmp_seq=1 ttl=52 time=87 ms 64 bytes from 184.108.40.206 (220.127.116.11): icmp_seq=2 ttl=52 time=82 ms 64 bytes from 18.104.22.168 (22.214.171.124): icmp_seq=3 ttl=52 time=92 ms 64 bytes from 126.96.36.199 (188.8.131.52): icmp_seq=4 ttl=52 time=73 ms 64 bytes from 184.108.40.206 (220.127.116.11): 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:
- 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):
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:
AT+QENG="servingcell" AT+QCFG="usbnet",2 AT+CFUN=1,1
- After dialing and rebooting, the phone network card appears in the computer network connection interface, and the dial-up is successful.
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
- 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.
- 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
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.
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;