0033 M5GUSB EN
Keywords
Raspberry Pi, Raspberry Pi OS, Ubuntu, OpenWrt, istoreos, 5G, AT command, Driver-free, Plug-and-Play
I. Introduction
The M5GUSB expansion board is a 5G module driver board specifically designed for Raspberry Pi 5. It supports plug-and-play functionality with auto-identification on Raspberry Pi OS, Ubuntu OS, and OpenWRT without requiring additional drivers or dial-up configurations. The 5G module is a USB device that communicates and powers through the USB 3.0 port of the Raspberry Pi 5, featuring an onboard power switch and an auxiliary power interface. The theoretical data rate of our 5G modules ranges from about 300-900 Mbps (DL)/100 Mbps (UL), depending on the model. The 5G modules are also compatible with Raspberry Pi 4B/3B.
II. Hardware Spec
1) 1*USB-A port, which serves as both the communication interface and power supply interface. The 5G module does not require additional power.
2) 1*USB-C auxiliary power interface (If using a Raspberry Pi 5 without the Raspberry Pi power adapter or our USB A-C PD adapter, the USB port current limit of the Raspberry Pi 5 will be restricted to 600mA. In such cases, it is recommended to connect auxiliary power to the expansion board).
3) 1*power switch for quick physical disconnection when 5G connectivity is not needed.
4) 1*M.2 interface for connecting the 5G module.
5) 1*Nano SIM card slot.
6) 1*reserved Nano SIM card slot. The two Nano SIM card slots are mutually exclusive (only one can be used at a time).
7) 2*LEDs: one for power status and one for 5G status.
8) 4*5G antenna connectors.
9) 1*onboard 2.54mm-2P 5V power interface and 1*2.54mm-2P 3.3V power interface. The 3.3V power interface can be used to connect an optional side-mounted turbo fan (on the reverse side of the driver board) for cooling the Raspberry Pi.
10) 1*reserved debug serial port.
11) Size: 85 × 56mm.
12) Lead-free PCB production. PCB is UL and RoHS certified with a flame retardant rating of 94V-0.
13) 4*M2.5 mounting holes, fully aligned with the Raspberry Pi 5's mounting holes.
14) Aluminum alloy casing(OPT.)
| Model | RM500U-CNV | RM500U-EA |
| Band | 5G NR: 3GPP Release 15/ Release 16
NSA/SA operation, Sub-6 GHz 5G NR NSA: n41/78/79 5G NR SA: n1/3/5/8/28A/41/77/78/79 DL 4*4 MIMO: n1/28A/41/77/78/79 UL 2*2 MIMO: n41/77/78/79 DL 2*2 MIMO: n3/5/8 LTE Category: DL Cat 12, UL Cat 13 LTE-FDD: B1/3/5/8 LTE-TDD: B34/38/39/40/41 DL 2*2MIMO: B1/3/5/8/34/38/39/40/41 WCDMA: B1/5/8 |
5G NR: 3GPP Release 15
NSA/SA operation, Sub-6 GHz 5G NR NSA: n1/3/7/28/38/40/41/77/78 5G NR SA: n1/3/5/7/8/20/28/38/40/41/66/77/78 DL 4*4 MIMO: n1/3/7/28/38/40/41/66/77/78 UL 2*2 MIMO: n38/40/41/77/78 DL 2*2 MIMO: n5/8/20 LTE Category: DL Cat 12, UL Cat 13 LTE-FDD: B1/2/3/4/5/7/8/20/28/66 LTE-TDD: B38/40/41 DL 2*2MIMO: B1/2/3/4/5/7/8/20/28/38/40/41/66 WCDMA: B1/2/5/8 |
| Data | 5G SA Sub-6: 2Gbps (DL)/1Gbps (UL)
5G NSA Sub-6: 2.2Gbps (DL)/575Mbps (UL) LTE: 600Mbps (DL)/150Mbps (UL) WCDMA: 42.2Mbps (DL)/11 Mbps (UL) |
5G SA Sub-6: 2Gbps (DL)/1Gbps (UL)
5G NSA Sub-6: 2.6Gbps (DL)/650Mbps (UL) LTE: 600Mbps (DL)/150Mbps (UL) WCDMA: 42.2Mbps (DL)/11 Mbps (UL) |
| Temperature | -30℃ ~ +75℃ | |
| Model | RM520N-GL | RM530N-GL | RM551E-GL |
| Band | 5G NR NSA: n1/2/3/5/7/8/12/13/14/
20/25/28/29/30/38/40/41/48/66/70/ 71/77/78/79 5G NR SA: n1/2/3/5/7/8/12/13/14/ 18/20/ 25/26/28/29/30/38/40/41/ 48/66/70/71/75/76/77/78/79 LTE-FDD: B1/2/3/4/5/7/8/12/13/ 14/17/18/19/20/25/26/28/29/ 30/32/66/71 LTE-TDD: B34/38/39/40/41/42/43/48 LAA: B46 WCDMA: B1/2/4/5/8/19 GNSS (Optional): GPS/GLONASS/BD5/ Galileo/QZSS |
5G NR NSA: n1/2/3/5/7/8/12/13/14/
18/20/25/26/28/29/30/38/40/41/48/ 66/70/71/75/76/77/78/79/257/258/ 260/261 5G NR SA: n1/2/3/5/7/8/12/13/14/ 18/20/25/26/28/ 29/30/38/40/41/48/ 66/70/71/75/76/77/78/79 LTE-FDD: B1/2/3/4/5/7/8/12/13/ 14/17/18/19/20/25/26/28/29/30 /32/66/71 LTE-TDD: B34/38/39/40/41/42/ 43/48 LAA: B46 WCDMA: B1/2/4/5/8/19 GNSS (Optional): GPS/GLONASS/BD5/ Galileo/QZSS |
5G NR NSA: n1/2/3/5/7/8/12/13/14/18/20/
25/26/28/29(Rx)/30/38/40/41/48/53/66/70/ 71/75/76/77/78/79/92/94/257/258/260/261 5G NR SA: n1/2/3/5/7/8/12/13/14/18/20/25/ 26/28/29(Rx)/30/38/40/41/53/48/66/70/71/ 75/76/77/78/79/91/92/93/94/257/258/260/261 LTE-FDD: B1/2/3/4/5/7/8/12/13/14/17/18/ 19/20/25/26/28/29/30/32/66/70/71 LTE-TDD: B34/38/39/40/41/42/43/48/53 LAA: B46(Rx) WCDMA: B1/2/4/5/8/19 GNSS (Optional): GPS/GLONASS/BD5/ Galileo/QZSS |
| Data | 5G SA Sub-6: 2.4Gbps (DL)/900Mbps (UL)
5G NSA Sub-6: 3.4Gbps (DL)/550Mbps (UL) LTE-FDD: 1.6Gbps (DL)/200Mbps (UL) WCDMA: 42Mbps (DL)/5.76Mbps(UL) |
5G SA Sub-6: 2.4Gbps (DL)/900Mbps (UL)
5G NSA Sub-6: 3.4Gbps (DL)/550Mbps (UL) 5G NSA mmWave: 4.0Gbps (DL)/1.4Gbps (UL) LTE-FDD: 1.6Gbps (DL)/200Mbps (UL) WCDMA: 42Mbps (DL)/5.76Mbps(UL) |
5G SA Sub-6: 7.01 Gbps (DL)/1.25 Gbps (UL)
5G NSA Sub-6: 5.47 Gbps (DL)/730 Mbps (UL) 5G NSA mmWave: 10.94 Gbps (DL)/4.16 Gbps (UL) LTE: 2 Gbps (DL)/ 211 Mbps (UL) WCDMA: 42 Mbps (DL)/ 5.76 Mbps (UL) |
| Temperature | -30℃ ~ +75℃ | ||
| Model | FM160-EAU | FM650-CN |
| Band | 5G Sub-6: n1/3/5/7/8/20/28/38/40/41/75/76/77/78
LTE FDD: B1/3/5/7/8/20/28/32 LTE TDD: B38/40/41/42/43 WCDMA: B1/5/8 5G NR: DL 4*4MIMO: n1/3/5/7/20/28/ 38/40/41/75/76/77/78 □□□□□□UL 2*2MIMO: n41/77/78 LTE: DL 4*4MIMO: B1/3/5/7/20/28/32/38/40/ 41/42/43 |
5G Sub-6: n1/28/41/78/79
LTE FDD: B1/2/3/5/7/8 LTE TDD: B34/38/39/40/41 WCDMA: B1/2/5/8 5G NR: DL 4*4MIMO: n1/41/78/79 □□□□□□DL 2*2MIMO: n28 □□□□□□UL 2*2MIMO: n41/78/79 □□□□□□UL 1*1MIMO: n1/28 LTE: DL 2*2 MIMO: B1/2/3/5/7/8/34/38/39/40/41 □□□UL 1*1 MIMO: B1/2/3/5/7/8/34/38/39/40/41 |
| Data | NR SA: 2.5Gbps (DL)/900Mbps (UL)
NR NSA: 3.5Gbps (DL)/555Mbps (UL) LTE: 1.6Gbps (DL)/211Mbps (UL) WCDMA: 42Mbps (DL)/5.76Mbps (UL) |
NR SA:1.92Gbps (DL)/600Mbps (UL)
NR ENDC: 1.92Gbps (NR DL)/380Mbps (NR UL) LTE: 487Mbps (DL)/150Mbps (UL) WCDMA: 42Mbps (DL)/11Mbps (UL) |
| Temperature | -30℃ ~ +75℃ | |
III. Work with Raspberry Pi OS
The 5G module can be auto-identification in the Raspberry Pi OS without requiring additional drivers or dial-up configurations. It is identified as a usb device in the OS.
Different versions of Raspberry Pi OS have varying strategies for network management. Based on the 64-bit OS version, we conducted tests after configuring 5G modules, and the results are as follows:
| Model | OS version | Test results |
| RM500U-CNV/EA | 2023-05-03-bullseye | Driver-Free, No Dial-Up Required, Auto-identification, plug and play, automatic internet connection. |
| RM520N/530N-GL/CN | ||
| RM551E-GLES | ||
| FM160-EAU | ||
| FM650-CN | ||
| RM500U-CNV/EA | 2023-12-05-bookworm | Driver-Free, No Dial-Up Required, Auto-identification, but there may be instances of network connection failure,
and the OS requires the installation of DNS software. |
| RM520N/530N-GL/CN | ||
| RM551E-GLES | Driver-Free, No Dial-Up Required, Auto-identification, plug and play, automatic internet connection. | |
| FM160-EAU | Driver-Free, No Dial-Up Required, Auto-identification, but there may be instances of network connection failure,
and the OS requires the installation of DNS software. | |
| FM650-CN | Driver-Free, No Dial-Up Required, Auto-identification, plug and play, automatic internet connection. | |
| RM500U-CNV/EA | 2024-11-19-bookworm | Driver-Free, No Dial-Up Required, Auto-identification, but there may be instances of network connection failure,
and the OS requires the installation of DNS software. |
| RM520N/530N-GL/CN | ||
| RM551E-GLES | Driver-Free, No Dial-Up Required, Auto-identification, plug and play, automatic internet connection. | |
| FM160-EAU | Driver-Free, No Dial-Up Required, Auto-identification, but there may be instances of network connection failure,
and the OS requires the installation of DNS software. | |
| FM650-CN | ||
| RM500U-CNV/EA | 2025-05-13-bookworm | Driver-Free, No Dial-Up Required, Auto-identification, but there may be instances of network connection failure,
and the OS requires the installation of DNS software. |
| RM520N/530N-GL/CN | ||
| RM551E-GLES | ||
| FM160-EAU | ||
| FM650-CN |
3.1 Test 5G module
The version of Raspberry Pi OS is: 2025-05-13-raspios-bookworm-arm64.img.xz
You can download it in:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
Insert the 5G module into the M5GUSB expansion board, then connect the USB-A port of the M5GUSB expansion board to the USB 3.0-A port of the Raspberry Pi 5 and start the OS.
Note: If using a Raspberry Pi 5 without the Raspberry Pi power adapter or our USB A-C PD adapter, the USB port current limit of the Raspberry Pi 5 will be restricted to 600mA. In such cases, it is recommended to connect auxiliary power to the expansion board.
Execute ifconfig -a in the terminal:
From the above diagram, we can see that the 5G module (usb0) has successfully obtained an IP address.
We tested pinging external IP addresses and domain names, such as:
ping 220.189.255.38
ping www.mcuzone.com
We can ping the IP address successfully, but pinging the domain name returns an error, indicating an issue with the OS's DNS settings:
At this point, it is necessary to install the DNS switching software udhcpc. The procedure is as follows:
Connect the Ethernet port of the Raspberry Pi 5 to the upstream router, then execute in the terminal:
sudo apt install udhcpc
After installation is complete, unplug the Ethernet cable from the Raspberry Pi 5's Ethernet and execute:
sudo udhcpc -i usb0
After a successful execution, we pinged both the IP and the domain, and both were successful, indicating that the 5G module is functioning properly:
If the 5G module does not automatically obtain an IP address after OS startup, executing the udhcpc command can also enable it to acquire an IP address.
3.2 View and switch internet connection priorities
If there are multiple network connections in the OS that can access the internet simultaneously, you can use the route command to check the internet access priority, that is, which connection the OS uses to go online by default:
Currently, usb0 is ranked first, meaning the OS defaults to accessing the internet through the 5G module.
If you want to set the wired network (eth0) as the default internet connection, you can execute:
sudo udhcpc -i eth0
After the execution is complete, execute route again. You can see that eth0 now ranks first, meaning the OS defaults to accessing the internet through the wired network:
IV. Work with Ubuntu OS
The version of Ubuntu OS is: ubuntu-25.04-preinstalled-desktop-arm64+raspi.img.xz.
You can download it in:
https://ubuntu.com/download/raspberry-pi
The 5G module can be auto-identification in the Ubuntu without requiring additional drivers or dial-up configurations, and is automatically identified as a device starting with "enx". (If the user uses their own 5G module, they need to configure it or develop drivers themselves; otherwise, plug-and-play cannot be achieved, and this section cannot be referenced.)
Insert the 5G module into the M5GUSB expansion board, then connect the USB-A port of the M5GUSB expansion board to the USB 3.0-A port of the Raspberry Pi 5 and start the OS.
Note: If using a Raspberry Pi 5 without the Raspberry Pi power adapter or our USB A-C PD adapter, the USB port current limit of the Raspberry Pi 5 will be restricted to 600mA. In such cases, it is recommended to connect auxiliary power to the expansion board.
The Ubuntu OS does not have the ifconfig tool by default. After the OS starts, first connect the Raspberry Pi 5's network port to the upstream router, then manually install it in the terminal:
sudo apt install net-tools
Then unplug the Ethernet cable from the Raspberry Pi 5's Ethernet and execute ifconfig -a in the terminal:
From the above diagram, we can see that the 5G module (the device starting with "enx") has successfully obtained an IP address.
We tested pinging external IP addresses and domain names, such as:
ping 220.189.255.38
ping www.mcuzone.com
It shows that only IP addresses can be pinged, while pinging domain names returns a DNS error:
At this point, it is necessary to install the DNS switching software udhcpc. The procedure is as follows:
Connect the Ethernet port of the Raspberry Pi 5 to the upstream router, then execute in the terminal:
sudo apt install udhcpc
After installation is complete, unplug the network cable and execute:
sudo udhcpc -i enxde13f9eed090
After a successful execution, we pinged both the IP and the domain, and both were successful, indicating that the 5G module is functioning properly:
V. Other operations of 5G module
The operations of the 5G module mentioned in this chapter are the same for Raspberry Pi OS and Ubuntu OS. Here we use Raspberry Pi OS as an example.
5.1 Use AT commands
Take the RM520N-GL as an example, execute the command lsusb in the terminal, as shown in the figure below:
Record the ID value of the 5G module: 2c7c 0801.
Use the following command to open the ttyUSB serial port, where the value after echo is the ID recorded above:
sudo modprobe option
sudo sh -c 'echo 2c7c 0801 > /sys/bus/usb-serial/drivers/option1/new_id'
After execution is complete, the OS should have four additional devices: ttyUSB0-3. Input ls /dev/ttyUSB* to view:
If there are errors in executing the first two commands, these devices will not be generated correctly, and you will need to re-execute those two commands properly.
By default, the AT command serial port of RM520N-GL is ttyUSB2.
Install minicom:
sudo apt-get install minicom
Open the AT command serial port using minicom:
sudo minicom -D /dev/ttyUSB2
(Note: Typically, four ports (ttyUSB0 to ttyUSB3)will appear. In general, the AT port is ttyUSB0 under most OSs. If that doesn't work, you may try other ports such as ttyUSB2. If multiple USB-to-serial devices are present, further attempts will be needed until the correct AT port is identified.)
The first time you enter an AT command, there may be no echo. If you then input the command at and press Enter, and it returns "OK," it indicates that everything is working properly. If you need to check the echo, please type the command: ate1, then press Enter. After that, you can continue to type other commands and see the inputs.
5.2 Common AT commands
1. Check if the SIM card is detected:
at+cpin?
Return ready to indicate the card has been recognized, if return error, you need to check the hardware.
2. Check antenna signal quality:
Different models of 5G modules may use different AT commands to check antenna signal quality. The main test commands are as follows:
at+QRSRQ
Applicable to RM520N, RM530N, RM551E, etc.
Example return values are as follows:
+QRSRQ:-12,-16,-32768,-32768, NR5G
The first number indicates the RSRQ value of the PRX path. Range: -20 to -3 dB.
The second number indicates the RSRQ value of the DRX path. Range: -20 to -3 dB.
Just look at the first two numbers.
| RSRQ | Coverage
strength level |
Notes |
| RSRQ > -10dB | 1 | The signal strength is excellent, suitable for high-speed data transmission and high-quality voice calls. |
| -10dB ≤ RSRQ ≤ -15dB | 2 | The signal strength is good, suitable for most data transmissions and voice calls. |
| -15dB ≤ RSRQ ≤ -20dB | 3 | The signal strength is fair, suitable for low-speed data transmission and low-quality voice calls. |
| RSRQ < -20dB | 4 | The signal strength is very poor, which may result in slower data transmission speeds or connection drops. |
In the example above, the RSRQ values are -12dB and -16dB respectively, indicating that the signal quality ranges from good to average.
at+CESQ
Applicable to RM500U, FM160, FM650, etc.
Example return values are as follows:
+CESQ: 99,99,255,255,255,255,74,59,68
The last digit can calculate the RSRP value, which indicates the signal strength. The method is as follows:
Subtract 140 from this value to obtain the RSRP value. For example, in this case, RSRP=68-140=-72dBm, and then refer to the table:
| RSRP(dBm) | Coverage Intensity Level | Notes |
| RSRP<=-105 | 6 | Poor coverage. The service can hardly make calls. |
| -105<RSRP<=-95 | 5 | Coverage is weak. Voice calls can be made outdoors, but the success rate is low with a high drop call rate. Indoor calls are nearly impossible to establish. |
| -95<RSRP<=-85 | 4 | Coverage is average. various services can be initiated outdoors, providing low-rate data services. However, indoor call success rates are low, and the drop call rate is high. |
| -85<RSRP<=-75 | 3 | Coverage is good. Outdoor areas support various services with medium-rate data, while indoor areas support services but only at low data rates. |
| -75<RSRP<=-65 | 2 | With good coverage, high-speed data services can be initiated outdoors for various applications. Indoors, various services can be initiated with medium-rate data services. |
| RSRP>-65 | 1 | The coverage is very good. |
RSRP=-72dBm corresponds to coverage level 2, which indicates good coverage strength, meaning the signal strength is good.
3. Check network registration status:
at+cops?
Normally, it should return the network supporter's code: 7 or 11, where 7 represents 4G, and 11 represents 5G.
Note: Among the above three commands, only the one for checking antenna signal quality (at+QRSRQ/at+CESQ) should be used without a question mark, while the other two commands require a question mark.
4. View the SIM card's IMEI code:
at+cgsn
5. Reset 5G module:
Sometimes, if you reinsert the SIM card, hot swapping may not work; in such cases, you can use this reset command to reset the module.
at+reset
6. Enable/disable radio frequency:
Disable radio frequency:
at+cfun=0
Enable radio frequency:
at+cfun=1
The two commands mentioned above can be used in pairs to allow the module to re-register with the network without restarting the 5G module.
VI. Work with iStoreOS
iStoreOS is a routing and lightweight NAS OS based on OpenWRT, compatible with Raspberry Pi 5 hardware. The version of iStoreOS used for test is: istoreos-24.10.1-2025052311-raspberrypi-rpi5-squashfs.img.gz.
You can download it in:
https://fw.koolcenter.com/iStoreOS/rpi5/
We can set the 5G module as WAN to provide Internet access for downstream devices connected to the Gigabit Ethernet of the Raspberry Pi 5.
6.1 Preparation
The default LAN of iStoreOS is the Gigabit Ethernet of the Raspberry Pi 5, so we connect the Raspberry Pi 5's Gigabit Ethernet to the PC. After the OS boots up, go to Windows Settings, find Network & Internet, and open the connected network under Ethernet to view the default gateway IP address. This address is the access address for the iStoreOS's configuration page. As shown in the figure, the tested address in this document is 192.168.100.1:
Then open a web browser, enter 192.168.100.1 to access the iStoreOS. The default username is root, and the default password is password:
6.2 Set WAN
On the right side of the homepage, you can see the network interface status, as shown in the figure below:
eth0 is the Gigabit Ethernet of the Raspberry Pi 5, serving as the default LAN.
usb0 is the 5G module, and we will configure usb0 as WAN.
Click on "Services - Terminal," then log in to the terminal. The default username is root, and default password is blank:
Execute ifconfig -a to check the network interface status, as shown below:
Click "Network - Interfaces" - "Add new interface...":
Set the "Name" to "WAN5G" (customizable), select "DHCP client" for the "Protocol", choose "usb0" for the "Device", and then click the "Create Interface" button:
In the "Firewall Settings", set "Create / Assign firewall-zone" to "wan", then click "Save":
Save and return to the previous page, then click "Save & Apply":
Thus, the network interface setup is complete. Wait a moment, and you will see the usb0 {5G module} obtain an IP address:
Return to the homepage, you can see in the network interface status that usb0 has been set as the WAN port:
6.3 Internet connection test
At this point, the entire Raspberry Pi 5 + 5G module setup functions as a wireless router, allowing the PC connected to the Raspberry Pi 5 to access the Internet through the 5G module. The PC network adapter properties show that it can connect to the Internet:
Therefore, the PC can access the Internet.
6.4 AT command operations
In the iStoreOS, using AT commands with a 5G module can be done through the minicom serial port tool. First, you need to install minicom in the OS. The steps are as follows (ensure that the OS's WAN port can connect to the Internet):
Click "System - Software", then click the "Update lists..." button:
Close the prompt window after the update is complete:
In the box under "Download and install package", enter "minicom" and then click "OK":
Click "Install":
After installation, click "Dismiss":
Then log into the terminal and configure the serial port in the terminal. Take the RM520N-GL as an example, execute the command lsusb in the terminal, as shown in the figure below:
Record the ID value of the 5G module: 2c7c 0801.
Use the following command to open the ttyUSB serial port, where the value after echo is the ID recorded above:
modprobe option
sh -c 'echo 2c7c 0801 > /sys/bus/usb-serial/drivers/option1/new_id'
After execution is complete, the OS should have four additional devices: ttyUSB0-3. Input ls /dev/tty* to view:
If there are errors in the execution of the first two commands, these devices cannot be correctly generated, and the two commands must be re-executed properly.
By default, the AT command serial port of RM520N-GL is ttyUSB2.
Open AT Command serial port by minicom:
minicom -D /dev/ttyUSB2
(Note: Typically, four ports (ttyUSB0-3)will appear. In general, the AT port is ttyUSB2 under most OSs. If that doesn't work, you may try other ports such as ttyUSB0. If multiple USB-to-serial devices are present, further attempts will be needed until the correct AT port is identified.)
The first time you enter an AT command, there may be no echo. If you then input the command at and press Enter, and it returns "OK," it indicates that everything is working properly. If you need to check the echo, please type the command: ate1, then press Enter. After that, you can continue to type other commands and see the inputs.
For commonly used AT commands, please refer to:
Contact Us
Email: mcuzone@vip.qq.com
Tel: +86(0)13957118045
If there are any omissions, errors, or infringements on this page, please contact us through the above methods. Thank you!
Copyright 2004-2025 Wildchip




QQ:8204136