5103 CM5IO UART EN
Keywords
Raspberry Pi, CM5 Core board, RPiOS, Dual RS485, Dual RS232, 40p-GPIO
I. Introduction
CM5IO_UART is a serial port expansion module based on the Raspberry Pi 40Pin GPIO standard ports. The default configuration includes two non-isolated RS232 serial ports and two isolated RS485 serial ports, using 3.81mm 3-pin screw terminals. The speed of the RS232 serial port can reach over 800Kbps; the speed of the RS485 serial port can reach over 1Mbps. CM4-sized 4G mounting holes reserved, with optional 4G module.
II. Hardware Spec
1) The Raspberry Pi's native 40PIN GPIO provides 4 UART ports, this module extends capabilities through the 40PIN GPIO.
2) 2*non-isolated RS232 serial ports and 2*isolated RS485 serial ports.
3) Output port: 3.81mm-3Pin.
4) The speed of the RS232 serial port can reach over 800Kbps.
5) The speed of the RS485 serial port can reach over 1Mbps.
6) CM4-sized 4G mounting holes reserved, with optional 4G module.
7) Size: 56*65mm, The board material is UL-certified and RoHS-compliant, with a flammability rating of 94V-0.
Features of RS485 isolation module:
This module features an automatic flow-control high-speed RS485 isolation unit, integrating power isolation, signal isolation, RS-485 communication, and bus protection into a single RS-485 protocol transceiver module through IC integration technology. The module comes with a built-in constant voltage isolated power supply, capable of achieving 2500VDC electrical isolation withstand voltage protection. It can be connected as a slave device to an RS485 bus or function as a master device to receive and process information from various slave units.
- Supports connection of up to 64/128 nodes.
- Transmission rate up to 1Mbps.
- Extremely low electromagnetic interference (EMI).
- Operating temperature range: -40℃ to +85℃.
- Integrated power isolation, signal isolation, and bus ESD protection functions.
III. Module testing under Raspberry Pi OS
Hardware: CM5IO_UART paired with the CM5IO MINI expansion board
Software: The version of Raspberry Pi OS is 2024-11-19-raspios-bookworm-arm64.img.xz
The download link is:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
3.1 Preparation
The installation command for CuteCom is:
sudo apt install cutecom
After installation, click on the Raspberry Pi icon in the top left corner of the desktop, and you will find a shortcut for CuteCom under "System Tools".
If you encounter insufficient permissions during use, please open the terminal and enter:
sudo cutecom
to execute CuteCom.
Power up the OS, open the terminal and execute the following command:
sudo nano /boot/firmware/config.txt
Insert the following lines at the end of the file:
dtoverlay=uart0
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
After saving and restarting the OS, you can use dual RS485 ports and Dual RS232 ports.
The schematic diagrams of the four ports are as follows:
3.2 Testing dual RS485
▶ Test data sending and receiving between ttyAMA0 and the PC:
Insert a USB-to-485 converter on the PC and connect it to the RS485 port (ttyAMA0, corresponding to UART0) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 2.01Mbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA2 and the PC:
Insert a USB-to-485 converter on the PC and connect it to the RS485 port (ttyAMA2, corresponding to UART2) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 2.01Mbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA0 and ttyAMA2:
Connect the two RS485 ports (ttyAMA0 and ttyAMA2) on the expansion board together. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 1.39Mbps (Transmitted data must be free from garbled characters or loss.).
3.3 Testing dual RS232
▶ Test data sending and receiving between ttyAMA3 and the PC:
Insert a USB-to-232 converter on the PC and connect it to the RS232 port (ttyAMA3, corresponding to UART3) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 890kbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA4 and the PC:
Insert a USB-to-232 converter on the PC and connect it to the RS232 port (ttyAMA4, corresponding to UART4) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 890kbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA3 and ttyAMA4:
Connect the two RS232 ports (ttyAMA3 and ttyAMA4) on the expansion board together. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 990kbps (Transmitted data must be free from garbled characters or loss.).
3.4 Comparison of serial port numbers corresponding to different base plates
When using this expansion board, the serial port numbers for the CM4 and RPi 4B are different, as compared below:
| Port number | 1 | 2 | 3 | 4 |
| Port type | RS485 | RS485 | RS232 | RS232 |
| CM5, RPi 5/5B | ttyAMA2 | ttyAMA0 | ttyAMA3 | ttyAMA4 |
| CM4, RPi 4B | ttyAMA3 | Unable to use | ttyAMA4 | ttyAMA5 |
IV. Module testing under Ubuntu OS
Hardware: CM5IO_UART paired with the Raspberry Pi 5
Software: The version of Ubuntu OS is ubuntu-25.04-preinstalled-desktop-arm64+raspi.img.xz
The download link is:
https://ubuntu.com/download/raspberry-pi
First, you need to configure the serial port settings of the OS, then install CuteCom. These steps are the same as for Raspberry Pi OS. For details, please refer to Chapter 3.
4.1 Testing dual RS485
▶ Test data sending and receiving between ttyAMA0 and the PC:
Insert a USB-to-485 converter on the PC and connect it to the RS485 port (ttyAMA0, corresponding to UART0) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 2.01Mbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA2 and the PC:
Insert a USB-to-485 converter on the PC and connect it to the RS485 port (ttyAMA2, corresponding to UART2) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 1.98Mbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA0 and ttyAMA2:
Connect the two RS485 ports (ttyAMA0 and ttyAMA2) on the expansion board together. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 1.45Mbps (Transmitted data must be free from garbled characters or loss.).
4.2 Testing dual RS232
▶ Test data sending and receiving between ttyAMA3 and the PC:
Insert a USB-to-232 converter on the PC and connect it to the RS232 port (ttyAMA3, corresponding to UART3) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 890kbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA4 and the PC:
Insert a USB-to-232 converter on the PC and connect it to the RS232 port (ttyAMA4, corresponding to UART4) on the expansion board. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 890kbps (Transmitted data must be free from garbled characters or loss.).
▶ Test data sending and receiving between ttyAMA3 and ttyAMA4:
Connect the two RS232 ports (ttyAMA3 and ttyAMA4) on the expansion board together. Then, open serial port software on both sides for sending and receiving data. The results are as follows:
According to the tests, the baud rate can reach up to 1.15Mbps (Transmitted data must be free from garbled characters or loss.).
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