Skip to main content

CM5-IO Product Introduction

The CM5-IO is the IO board for the ArmSoM CM5, with dimensions of 100x80x29 mm. It is a miniature AI computer designed specifically for makers, learners, and developers, enabling the rapid application of AI technology to various smart devices.

Hardware Information

Hardware Specifications

The CM5-IO board is an expansion board specifically designed for the CM5 computing module, aimed at assisting in system and embedded board development.

  • 1x HDMI output, 1x DP output
  • 4x USB 3.0 Type-A
  • Gigabit Ethernet RJ45 with PoE support
  • Firmware flashing and device mode via USB Type-C
  • GPIO: 40-PIN header
  • Power connector: DC Barrel jack for 12V power input
  • Expansion: M.2 (M-key, supports PCIe), microSD
  • MIPI DSI: 1x 4-lane MIPI DSI, supports up to 4K@60fps (x4)
  • MIPI CSI0: 1x 4-lane MIPI CSI, each lane up to 2.5Gbps
  • MIPI CSI1: 1x 2-lane MIPI CSI, each lane up to 2.5Gbps
  • Others: HPOUT, FAN, VRTC
  • Dimensions: 100 x 80 x 29 mm (3.94 x 3.15 x 1.14 inches)
  • Weight:

Hardware Interfaces

ArmSoM-cm5-io

tip

The cm5-io board uses a 12V DC power supply.

Pin Definition

40-PIN header
GPIO numberFunctionPinPinFunctionGPIO number
+3.3V
1
2
+5.0V
140CAN1_RX_M2 / I2C3_SDA_M0 / UART2_RX_M1 / GPIO4_B4_d
3
4
+5.0V
141CAN1_TX_M2 / I2C3_SCL_M0 / UART2_TX_M1 / GPIO4_B5_d
5
6
GND-
20PWM0_CH0_M0 / GPIO0_C4_d
7
8
UART0_TX_M0
/ GPIO0_D4_u
28
-GND
9
10
UART0_RX_M0
/ GPIO0_D5_u
29
--
11
12
--
--
13
14
GND
--
15
16
GPIO2_D1_d / UART4_RX_M0 / I2C6_SDA_M2 / PWM2_CH1_M289
+3.3V
17
18
GPIO2_D0_d / UART4_TX_M0 / I2C6_SCL_M2 / PWM2_CH0_M288
97I2C7_SDA_M1 / SPI3_MOSI_M0 / UART3_RX_M0 / GPIO3_A1_d
19
20
GND-
98CAN1_TX_M3 / SPI3_MISO_M0 / SPDIF_RX1_M1 / UART3_CTSN_M0 / GPIO3_A2_d
21
22
SARADC_VIN4-
96I2C7_SCL_M1 / SPI3_CLK_M0 / UART3_TX_M0 / GPIO3_A0_d
23
24
GPIO3_A3_d / CAN1_RX_M3 / SPI3_CSN0_M0 / UART3_RTSN_M0 / SPDIF_TX1_M199
-GND
25
26
--
111I2C4_SDA_M3 / UART2_RX_M2 / GPIO3_B7_d
27
28
GPIO2_D6_d / PWM10_M0 / GPIO3_B5_d109
112I2C4_SCL_M3 / UART2_TX_M2 / GPIO3_C0_d
29
30
GND-
126SPI3_MOSI_M1 / PWM2_CH6_M3 / GPIO3_D6_d
31
32
--
--
33
34
GND-
--
35
36
--
--
37
38
--
-GND
39
40
--
FAN
0.8mm connector(CN32)
PinAssignmentDescription
1VCC_5V05V Power ouput
2GNDGND
3PWMPWM control
HPOUT
0.8mm connector(CN3)
PinAssignmentDescription
1AORright channel
2AOLleft channel
3GNDGND
VRTC

0.8mm connector(J27)

PinAssignmentDescription
1+Positive pole
2-Negative pole
PoE In(J5)
PinAssignmentDescription
1VC1TX1
2VC2RX1
3VC3TX2
4VC4RX2

Resources

Official Images

ArmSoM team uses Debian bullseye as the official operating system.

Download

The following systems have been tested and verified by ArmSoM official:

Network disk address:

Google Drive link
LogoDescriptionDownload
debian-bullseyeDebian 12 for CM5:
Debian 12 introduces thousands of new and updated packages, supporting various desktop environments and processor architectures (including 32-bit and 64-bit PCs, ARM, MIPS, and PowerPC). One of the biggest changes is the upgrade of the Linux kernel from version 5.10 to 6.1 LTS.
Google Drive link
AndroidAndroid 14 for CM5:
The latest OS upgrade makes your device more personalized, secure, and accessible. It offers improved photo quality, new themes, and AI-generated wallpapers. Privacy updates protect your health, safety, and data while expanding accessibility features.
Google Drive link

Third-Party Images

LogoDescriptionDownload
armbian-logoArmbian for CM5:
Armbian is a build framework that allows users to create ready-to-use images with a working kernel based on various user-space configurations for single-board computers. It provides a variety of pre-built images for some supported SBCs, typically based on Debian or Ubuntu.
Armbian Image
Joshua RiekUbuntu-Rockchip for CM5:
This project aims to provide the default Ubuntu experience for Rockchip RK3588 devices. Get started right away by choosing the appropriate Ubuntu server or desktop image, and enjoy a familiar environment.
Ubuntu-Rockchip Image

Hardware Resources

Get schematics, PCB, DXF, and other hardware documentation for the cm5-io development kit to quickly start your development.

CM5 Hardware Resources

ArmSoM-CM5 pin table - pin table

Getting Started

Preparing for CM5-IO Usage

tip

In the following text, "CM5 Kit" refers to CM5 + CM5-IO.

Tools Preparation

  • Power supply
  • System Installation (Choose one)
    • eMMC Boot
      • USB Type-C cable: Use a Type-C cable to write the image to the CM5 Kit through the Type-C port. You will need a Type-C cable to connect the CM5 Kit to your PC.
    • MicroSD/TF Card Boot
      • MicroSD/TF card: Class 10 or above, at least 8GB SDHC, and a card reader.
      • Below are high-speed TF cards tested and verified by the ArmSoM team:
        • SanDisk 32GB TF (MicroSD) (Recommended for developers)
        • SanDisk 32GB TF (MicroSD) Dashcam & Surveillance-specific storage card (Recommended for long-term operation)
        • SanDisk TF 8G Class10 microSD
        • SanDisk TF 128G Class10 microSD XC TF 128G 48MB/S

You can set up the CM5 Kit as an interactive desktop computer or as a headless computer that can only be accessed over the network. To set up the CM5 Kit as a headless computer, configure the hostname, user account, network connection, and SSH during the initial OS installation. If you plan to use the CM5 Kit directly, you will need the following additional accessories:

Optional Accessories

  • Keyboard & Mouse
  • HDMI monitor and HDMI cable
  • Ethernet cable
  • Camera module
  • LCD display
  • Audio cable, 0.8mm vertical socket.
  • RTC battery, 0.8mm vertical socket.
  • Fan, 0.8mm vertical socket.

Power Supply

  • Supports DC 12V adapter, 2.5mm

Choosing a Flashing Method

Interface Usage

If you are using the CM5 Kit for the first time, please familiarize yourself with the hardware interfaces of each product, which will help you better understand the following content.

Debugging Serial Port

Connect the USB to TTL serial cable as shown below:

cm5io-debug

CM5-IOConnectSerial Module
GND (pin 6)--->GND
TX (pin 8)--->RX
RX (pin 10)--->TX

Ethernet Port

  1. First, insert one end of the Ethernet cable into the CM5 Kit's Ethernet port, and connect the other end to the router, ensuring that the network is functioning properly.
  2. After the system starts, an IP address will be automatically assigned to the Ethernet card via DHCP, with no additional configuration needed.
  3. To view the IP address in the Linux system on the CM5 Kit, use the following command:
root@armsom-cm5:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c6:9c:b0:7e:2b:1f brd ff:ff:ff:ff:ff:ff permaddr aa:a6:84:1b:0d:21
inet 192.168.10.78/24 brd 192.168.10.255 scope global dynamic noprefixroute enP4p65s0
valid_lft 86221sec preferred_lft 86221sec
inet6 fe80::5bb0:d96f:926d:b334/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether cc:64:1a:33:b5:40 brd ff:ff:ff:ff:ff:ff
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether ce:64:1a:33:b5:40 brd ff:ff:ff:ff:ff:ff

After the CM5 Kit starts up, there are three ways to check the IP address:

  • Connect an HDMI monitor, log into the system, and use the terminal to enter the ip a command to check the IP address.
  • Connect a [debug serial port](#Debugging Serial Port) and use the terminal to enter the ip a command to check the IP address.
  • If you do not have a debug serial port or an HDMI monitor, you can also check the IP address of the CM5 Kit's Ethernet port through the router's management interface. However, sometimes the IP address may not be visible on the router. If the IP address is not visible, troubleshoot as follows:
    • First, check if the Linux system has started normally. If the green light on the CM5 Kit is steady, it has generally started correctly.
    • Check if the Ethernet cable is securely connected, or try a different cable.
    • Try using a different router, as issues have been encountered where routers cannot properly assign IP addresses or the assigned IP address does not show up on the router.
    • If no other router is available, you will need to connect an HDMI monitor or use a debug serial port to check the IP address.
tip

Note that DHCP automatic IP assignment on the CM5 Kit does not require any configuration.

  1. Use the ping tool to check network connectivity.

The command to test network connectivity is shown below. You can interrupt the ping command by pressing Ctrl+C.

root@armsom-cm5:~$ ping www.baidu.com
PING www.a.shifen.com (183.2.172.185): 56 data bytes
64 bytes from 183.2.172.185: icmp_seq=0 ttl=53 time=8.370 ms
64 bytes from 183.2.172.185: icmp_seq=1 ttl=53 time=8.917 ms
64 bytes from 183.2.172.185: icmp_seq=2 ttl=53 time=8.511 ms
64 bytes from 183.2.172.185: icmp_seq=3 ttl=53 time=8.673 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 8.370/8.618/8.917/0.203 ms

WiFi

The CM5 Kit includes an onboard WiFi module, so no external network devices are required. It uses the standard 4th generation antenna.

Connect to WiFi using the server image via command line

  1. First, log in to the Linux system. You can do this in one of three ways:

    • If the CM5 Kit is connected to a network cable, you can remotely log in via SSH.
    • If the CM5 Kit is connected to a debug serial port, you can use a serial terminal to log in.
    • If the CM5 Kit is connected to an HDMI display, you can log in using the terminal displayed on the HDMI screen.
  2. Use the nmcli dev wifi command to scan for nearby WiFi hotspots.

    # 1. Enable WiFi
    root@armsom-cm5:/# nmcli r wifi on
    # 2. Scan for WiFi
    root@armsom-cm5:/# nmcli dev wifi
    # 3. Connect to a WiFi network
    root@armsom-cm5:/# nmcli dev wifi connect "wifi_name" password "wifi_password"

    WiFi nmcli scan

  3. Use the nmcli command to connect to the scanned WiFi network:

    • Replace wifi_name with the name of the WiFi hotspot you want to connect to.
    • Replace wifi_password with the password for that WiFi hotspot.
    root@armsom-cm5:~$ nmcli dev wifi connect "wifi_name" password "wifi_password"
    Device 'wlan0' successfully activated with "wlan0b6d10bba-e1d5-4b6d-a17f-7d5ab44bbb6f".
  4. Use the ip addr show wlan0 command to view the IP address of the WiFi connection.

    root@armsom-cm5:~$ ip addr show wlan0
    4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:2d:28:5a:52:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.9/24 brd 192.168.10.255 scope global dynamic noprefixroute wlan0
    valid_lft 86321sec preferred_lft 86321sec
    inet6 fe80::850d:3119:e0:afa3/64 scope link noprefixroute
    valid_lft forever preferred_lft forever
  5. Use the ping command to test network connectivity over WiFi. You can interrupt the ping command using Ctrl+C.

    root@armsom-cm5:~$ ping www.baidu.com
    PING www.a.shifen.com (183.2.172.185): 56 data bytes
    64 bytes from 183.2.172.185: icmp_seq=0 ttl=53 time=8.370 ms
    64 bytes from 183.2.172.185: icmp_seq=1 ttl=53 time=8.917 ms
    64 bytes from 183.2.172.185: icmp_seq=2 ttl=53 time=8.511 ms
    64 bytes from 183.2.172.185: icmp_seq=3 ttl=53 time=8.673 ms
    ^C
    --- www.a.shifen.com ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 8.370/8.618/8.917/0.203 ms

Connect to WiFi using the server image via graphical interface

  1. Log in to the Linux system. You can do this in one of three ways:

    • If the CM5 Kit is connected to a network cable, you can remotely log in via SSH.
    • If the CM5 Kit is connected to a debug serial port, you can use a serial terminal to log in (use MobaXterm, as Minicom cannot display the graphical interface).
    • If the CM5 Kit is connected to an HDMI display, you can log in using the terminal displayed on the HDMI screen.
  2. In the command line, enter the nmtui command to open the WiFi connection interface.

    WiFi nmtui

    root@armsom-cm5:~$ nmtui
  3. Select "Activate a connection" and press Enter.

    WiFi nmtui connect

  4. Select the WiFi hotspot you want to connect to and enter the password. Once connected, an asterisk (*) will appear next to the connected WiFi network.

    WiFi nmtui success

  5. Use the ip addr show wlan0 command to view the WiFi connection's IP address.

    root@armsom-cm5:~$ ip addr show wlan0
    4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:2d:28:5a:52:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.9/24 brd 192.168.10.255 scope global dynamic noprefixroute wlan0
    valid_lft 86316sec preferred_lft 86316sec
    inet6 fe80::a422:3494:3147:92d/64 scope link noprefixroute
    valid_lft forever preferred_lft forever
  6. Use the ping command to test WiFi network connectivity. You can interrupt the ping command using Ctrl+C.

    root@armsom-cm5:~$ ping www.baidu.com
    PING www.a.shifen.com (183.2.172.185): 56 data bytes
    64 bytes from 183.2.172.185: icmp_seq=0 ttl=53 time=8.370 ms
    64 bytes from 183.2.172.185: icmp_seq=1 ttl=53 time=8.917 ms
    64 bytes from 183.2.172.185: icmp_seq=2 ttl=53 time=8.511 ms
    64 bytes from 183.2.172.185: icmp_seq=3 ttl=53 time=8.673 ms
    ^C
    --- www.a.shifen.com ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 8.370/8.618/8.917/0.203 ms

Test method for desktop image

  1. Click the network configuration icon on the desktop (make sure the network cable is disconnected when testing WiFi).

  2. After successfully connecting to WiFi, you can open a browser to check if you can access the internet.

    WiFi desktop set

Network Settings Network Settings

Bluetooth

# 1. Activate Bluetooth
root@armsom-cm5:/# service bluetooth start
# 2. Enter bluetoothctl
root@armsom-cm5:/# bluetoothctl
# 3. Enter the following commands to connect
root@armsom-cm5:/# power on
root@armsom-cm5:/# agent on
root@armsom-cm5:/# default-agent
root@armsom-cm5:/# scan on
root@armsom-cm5:/# pair yourDeviceMAC

HDMI

The CM5 Kit supports HDMI up to 4Kp120.

  1. Use an HDMI cable to connect the CM5 Kit to an HDMI display.
  2. After booting the Linux system, if the HDMI display has an image output, it indicates that the HDMI interface is working normally.
tip

Note: Many laptops have an HDMI port, but it usually only supports output, not HDMI input. This means it cannot display the HDMI output from other devices on the laptop screen. If you plan to connect the development board's HDMI to a laptop's HDMI port, please first confirm that your laptop supports HDMI input. If HDMI does not display anything, please check if the system you are using has a desktop version, as the server version will only display a terminal.

HDMI to VGA Display Test

  1. You will need the following accessories:

    • HDMI to VGA adapter
    • A VGA cable and a monitor that supports VGA input
  2. The HDMI to VGA display test is shown below:

sige-hdmi-vga

tip

When using HDMI to VGA display, there is no need to configure anything on the CM5 Kit or Linux system. As long as the HDMI interface on the development board displays correctly, it should work. If you encounter issues, please check the HDMI to VGA adapter, VGA cable, and monitor.

USB

USB Mouse or Keyboard Connection Test

  1. Insert a USB keyboard into the CM5 Kit's USB port.
  2. Connect the CM5 Kit to an HDMI display.
  3. If the mouse or keyboard can operate the system normally, it indicates that the USB port is working correctly (the mouse can only be used in a desktop version of the system).

USB Storage Device Connection Test

  1. Insert a USB flash drive or USB external hard drive into the CM5 Kit's USB port.
  2. Run the following command. If you see an output for sdX, it indicates that the USB drive is recognized successfully:
root@armsom-cm5:/# cat /proc/partitions | grep "sd*"
major minor #blocks name
8 0 122880000 sda
  1. Use the mount command to mount the USB drive to /mnt/, and then you can view the files on the USB drive:
root@armsom-cm5:/# sudo mount /dev/sda1 /test/
  1. After mounting, use the df -h command to check the USB drive’s capacity and mount point:
root@armsom-cm5:/test# df -h | grep "sd"
/dev/sda 4.7G 4.7G 0 100% /test

USB Camera

  1. Prepare a USB camera that supports the UVC protocol, then insert the USB camera into the CM5 Kit's USB port.

  2. Use the v4l2-ctl command to see the device node information for the USB camera, which will be /dev/video0:

root@armsom-cm5:/# v4l2-ctl --list-devices
Logitech HD Webcam C93 (usb-xhci-hcd.5.auto-1):
/dev/video40
/dev/video41
/dev/media4
  1. On a desktop system, you can use Cheese/V4L2 Test Bench to directly open the USB camera:

sige-usb-cam

You can also use terminal commands to open the camera preview:

root@armsom-cm5:/# gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! xvimagesink;

Command to take a photo:

root@armsom-cm5:/# gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! multifilesink location=/home/armsom/test.jpg;

Command to record a video:

gst-launch-1.0 v4l2src num-buffers=512 device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! mpegtsmux ! filesink location=/home/armsom/test.mp4

armsom-sige7-gst

M.2 Key M

The CM5 Kit features an M.2 Key M connector:

  • On the back of the product, there is an M.2 Key M connector. The board includes a standard M.2 2280 mounting hole for deploying an M.2 2280 NVMe SSD.
    Note: This M.2 interface does not support M.2 SATA SSDs.
root@armsom-cm5:/# mkdir temp
root@armsom-cm5:/# mount /dev/nvme0n1 temp

Audio

Check the sound cards in the system.

root@armsom-cm5:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipes8388c [rockchip,es8388-codec], device 0: 2a610000.sai-ES8323 HiFi ES8323 HiFi-0 [2a610000.sai-ES8323 HiFi ES8323 HiFi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: rockchipdp0 [rockchip-dp0], device 0: rockchip-dp0 spdif-hifi-0 [rockchip-dp0 spdif-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: rockchiphdmi [rockchip-hdmi], device 0: rockchip-hdmi i2s-hifi-0 [rockchip-hdmi i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Play audio

root@armsom-cm5:/# aplay -D plughw:1,0 ./usr/share/sounds/alsa/Front_Right.wav

FAN

The CM5 Kit comes with a 5V fan using a 0.8mm connector.

The fan has five default states:

TemperatureStatePWM Speed
Below 50°C00
50°C-55°C150
55°C-60°C2100
60°C-65°C3150
65°C-70°C4200
Above 70°C5250
// Check the current speed 
root@armsom-cm5:/# cat /sys/class/hwmon/hwmon9/pwm1

40 PIN

The CM5 Kit provides a 40-PIN GPIO header, compatible with most sensors on the market.

RGB LED

The CM5 Kit has a green LED.

  • User Green LED: By default, it remains on to indicate that the system is operating normally.

RTC

  • The CM5 Kit is equipped with an RTC IC LK8563S.
  • First, insert the RTC battery into the 2-pin header to power the RTC IC.
  • Note: The RTC battery should remain in the RTC connector, and confirm that the rtc LK8563S device has been created.
root@armsom-cm5:/# dmesg | grep rtc
[ 3.476710] rtc-hym8563 2-0051: rtc information is valid
[ 3.488534] rtc-hym8563 2-0051: registered as rtc0
[ 3.490109] rtc-hym8563 2-0051: setting system clock to 2024-06-16T09:45:52 UTC (1718531152)
  • Locate rtc0, then use the following commands to set the system time and synchronize it with rtc0.
root@armsom-cm5:/# hwclock -r
2023-11-03 10:32:40.461910+00:00
root@armsom-cm5:/# date
202311月 03日 星期五 10:33:12 UTC
root@armsom-cm5:/# hwclock -w
root@armsom-cm5:/# hwclock -r
root@armsom-cm5:/# poweroff
  • Remove the RTC battery, wait for 10 minutes or longer, reinsert the RTC battery, and power on Sige7. Check if the RTC is synchronized with the system clock.
root@armsom-cm5:/# hwclock -r
2023-11-03 10:35:40.461910+00:00
root@armsom-cm5:/# date
202311月 03日 星期五 10:36:01 UTC

MIPI-CSI

Basic Commands

// Check the video formats supported by the video node
root@armsom-cm5:/# v4l2-ctl -d /dev/video11 --get-fmt-video
Format Video Capture Multiplanar:
Width/Height : 1920/1080
Pixel Format : 'RG10' (10-bit Bayer RGRG/GBGB)
Field : None
Number of planes : 1
Flags : premultiplied-alpha, 0x000000fe
Colorspace : Default
Transfer Function : Default
YCbCr/HSV Encoding: Unknown (0x000000ff)
Quantization : Default
Plane 0 :
Bytes per Line : 2560
Size Image : 2764800

// Check the topology
root@armsom-cm5:/# media-ctl -d /dev/media0 -p

Using ArmSoM Camera Module 1

The camera uses the camera-module1 module. After connecting and powering the camera module, check the startup logs.

root@armsom-cm5:/# dmesg | grep ov13850
[ 2.302905] ov13850 5-0010: driver version: 00.01.05
[ 2.302944] ov13850 5-0010: Failed to get power-gpios, maybe no use
[ 2.303067] ov13850 5-0010: supply avdd not found, using dummy regulator
[ 2.303153] ov13850 5-0010: supply dovdd not found, using dummy regulator
[ 2.303186] ov13850 5-0010: supply dvdd not found, using dummy regulator
[ 2.303213] ov13850 5-0010: could not get default pinstate
[ 2.303220] ov13850 5-0010: could not get sleep pinstate
[ 2.308532] ov13850 5-0010: Detected OV00d850 sensor, REVISION 0xb2
[ 2.332058] ov13850 5-0010: Consider updating driver ov13850 to match on endpoints
[ 2.332084] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_ov13850 5-0010:bus type 5

Capture an image using v4l2-ctl

// MIPI-CSI1
root@armsom-cm5:/# v4l2-ctl -d /dev/video31 --set-selection=target=crop,top=0,left=0,width=2112,height=1568 --set-fmt-video=width=2112,height=1568,pixelformat=NV12 --stream-mmap=3 --stream-to=/nv12.bin --stream-count=1 --stream-poll

Record video using gst-launch-1.0

// MIPI-CSI1
root@armsom-cm5:/# gst-launch-1.0 v4l2src device=/dev/video31 ! video/x-raw,format=NV12,width=2112,height=1568, framerate=30/1 ! xvimagesink

armsom-w3-imx415-camera

ArmSoM camera-module1

Using Raspberry Pi Camera Module 2

The camera uses the Raspberry Pi Camera Module 2 module. After connecting and powering the camera module, check the startup logs.

root@armsom-cm5:/# dmesg | grep imx219
[ 4.049680] imx219 4-0010: driver version: 00.01.02
[ 4.074430] imx219 4-0010: Model ID 0x0219, Lot ID 0x258b89, Chip ID 0x056c
[ 4.074460] imx219 4-0010: Consider updating driver imx219 to match on endpoints
[ 4.074477] rockchip-csi2-dphy csi2-dphy4: dphy4 matches m01_b_imx219 4-0010:bus type 5

Capture an image using v4l2-ctl

root@armsom-cm5:/# v4l2-ctl -d /dev/video11 --set-selection=target=crop,top=0,left=0,width=2112,height=1568 --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap=3 --stream-to=/nv12.bin --stream-count=1 --stream-poll

Record video using gst-launch-1.0

root@armsom-cm5:/# sudo apt-get update
root@armsom-cm5:/# sudo apt-get install gstreamer1.0*
root@armsom-cm5:/# gst-launch-1.0 v4l2src ! 'video/x-raw, format=NV12, width=1920, height=1080' ! autovideosink

MIPI DSI

The CM5 Kit supports resolutions up to 2K@60Hz.

  1. Connect the ribbon cable as shown in the image below:

cm5-io-display-10-hd

  1. Configuring a 10.1-inch MIPI LCD screen:
  • The Linux image does not enable the MIPI LCD screen configuration by default. To use the MIPI LCD screen, you need to enable it manually.

  • Use nano to open the /boot/armbianEnv.txt file:

sudo nano /boot/armbianEnv.txt
  • Find or add the "overlays=" keyword in the file.
// Choose one based on the product you have
overlays=armsom-cm5-io-display-10hd // cm5-kit
overlays=armsom-cm5-rpi-cm4-io-display // cm5-rpi-cm4-io

Shortcut keys: Ctrl + S to save Ctrl + X to exit

// Remount the file system
root@armsom-cm5-io:/home/armsom# sudo mount -o remount
// or
root@armsom-cm5-io:/home/armsom# sync

If you also need to use touch functionality, you will need to load the corresponding driver:

root@armsom-cm5-io:/home/armsom# insmod /usr/lib/modules/6.1.75-vendor-rk35xx/kernel/drivers/input/touchscreen/gt9xx/goodix_gt9xx.ko

Reboot the device to apply the Overlays settings and enable Display 10 HD support.

Purchase Samples

ArmSoM Official Website: https://www.armsom.org/product-page/cm5

ArmSoM Official AliExpress Store: https://aliexpress.com/item/3256807679122184.html

ArmSoM Official Taobao Store: https://item.taobao.com/item.htm?id=842137173767

For OEM & ODM, please contact: sales@armsom.org

Notes

[Electrostatic Protection]
  1. Before handling the device, please ensure you wear an anti-static wrist strap or take electrostatic discharge measures to prevent damage to the development board.
  2. Assembly should be performed in an electrostatic-safe environment, avoiding operations in dry and low-humidity conditions.
  3. When not in use, store the device in an anti-static bag and keep it in a suitably temperature-controlled, low-humidity environment to prevent static electricity buildup.
  4. When handling the device, avoid friction or collisions to prevent the generation of static electricity that could cause damage.
  5. When holding the device, try to avoid direct contact with the chips on the mainboard to prevent static damage.
  6. Do not plug or unplug wires or other devices while the device is operating to avoid damage from electrical surges.
  7. When connecting or disconnecting the GPIO/MIPI expansion interfaces, make sure to turn off the power and disconnect the power cable to prevent damage from electrical current.
[Heat Management]

Without effective cooling measures, the surface temperature of the main chip may exceed 60 degrees. When handling the device, please avoid direct contact with the SoC and surrounding power inductors to prevent burns. Ensure that the environment is well-ventilated during operation to prevent localized heat buildup, which could lead to overheating. Additionally, do not place the device in direct sunlight. It is recommended to choose between the official cooling fan, heat sink, or third-party cooling kits based on specific usage conditions to ensure optimal cooling performance.