Skip to main content

Product Introduction: AIM7

AIM7 Overview​

ArmSoM-AIM7 uses Rockchip RK3588, a new generation flagship eight-core 64-bit processor with a main frequency of up to 2.4GHz, 6 TOPS computing power NPU, and can be equipped with up to 32GB of large memory. While the interface is fully compatible with Jetson Nano, the PCIe interface has been upgraded to PCIe3.0 4-lane and PCIe2.1 1-lan.

ArmSoM-AIM7

ArmSoM-AIM7

AIM7 can be applied to ARM PC, edge computing, cloud server, artificial intelligence, cloud computing, virtual/augmented reality, blockchain, smart NVR and other fields.

Rockchip RK3588

With the powerful ecosystem and variety of extension modules, ArmSoM can help users easily go from ideas to prototype to mass production, making it an ideal creative platform for makers, dreamers and hobbyists.

Key Parameters​

  • SOC: Rockchip RK3588
  • CPU: RK3588 quad-core Cortex-A76 @ 2.4GHz + quad-core Cortex-A55 @ 1.8GHz, 8nm process
  • GPU: ARM Mali-G610 MP4
  • NPU: Computing power up to 6 TOPS (INT8), supports INT4/INT8/INT16 mixed computing
  • VPU/Codec:
    • Hardware decoding: 8K@60fps H.265/VP9/AVS2, 8K@30fps H.264 AVC/MVC, 4K@60fps AV1, 1080P@60fps MPEG-2/-1/VC-1/VP8
    • Hardware encoding: 8K@30fps H.265 / H.264
  • RAM: 8GB/16GB/32GB (max 32GB) 64bit LPDDR4x
  • Flash: 32GB/64GB/128GB eMMC
  • Interface type: 260pin SO-DIMM connector, compatible with Jetson TX2 NX
  • Working voltage: 5V DC
  • Temperature: Operating temperature: 0°C to 80°C, Storage temperature: -20°C to 85°C
  • Humidity: Relative humidity: Operation: 10% to 90%, Storage: 5% to 95%
  • operating system:
    • ArmSoM official images: Debian 12, Ubuntu 22.04
    • Third-party support: Armbian 23.07, Ubuntu 20.04, Ubuntu22.04, Kylin OS
  • PCB: 12-layer PCB board design
  • weight: 17.3g
  • Size: 69.6 mm x 45 mm

Getting started​

✈️

AIM User Manual

How to start using your AI Module

AIM7 Hardware​

Hardware Interface​

ArmSoM-AIM7-front & back

ArmSoM-AIM7-front & back
tip

AIM7 features a 260-pin SO-DIMM form factor designed for compatibility with selected NVIDIA Jetson carrier boards. Pin functions, power requirements, and peripheral compatibility should be verified against the AIM7 pinout and validated carrier board configurations.

AIM7 Block Diagram​

aim7-product

aim7-product

Pin Definition​

ArmSoM-aim7-pinlist

ArmSoM-aim7-pinlist
ArmSoM-AIM7 & Jetson AIM Comparison Table

Hardware Spec​

AIM7 Hardware Specifications
CategoryFunction
Display
  • 1x DP interface
  • 1x HDMI/eDP combo interface
  • HDMI up to 7680 × 4320@60 Hz; DP up to 7680 × 4320@30 Hz; eDP up to 3840 × 2160@60 Hz. Actual modes depend on the carrier and system configuration.
  • Camera
  • 3x 4-lane or 5x 2-lane MIPI CSI interfaces, each lane up to 2.5Gbps
  • Network
  • 1 GMAC, with RGMII / RMII interface
  • Supports 10/100/1000Mbps data transfer rate
  • PCIe
  • PCIe 3.0 x4: Each channel supports up to 8Gbps data rate, supports 4 configuration modes: 1x4, 2x2, 4x1, 1x2+2x1, each channel supports up to 8Gbps data rate
  • PCIe 2.1 x1: Each PCIe 2.1 interface supports 1 lane, up to 5Gbps data rate
  • USB
  • 1x USB 3.0 (Gen1)
  • 3x USB 2.0
  • Others
  • UART DEBUG x1, UART+flow control x2
  • SPI x2
  • I2C x4
  • CAN x1
  • I2S x2
  • SD 4.0, SDHOST 4.0, and SDIO 3.0
  • PWM x3, multiple GPIOs
  • Competitor Specifications Comparison​

    AIM7 Hardware Spec
    SpecificationsArmSoM-AIM7(Rockchip)Jetson Nano (NVIDIA)
    CPU
    Quad-core ARM®Cortex®-A76 + Quad-core ARM®Cortex®-A55
    Quad-core ARM® Cortex®-A57 MPCore processor
    GPUARM Mali-G610 MP4128-core Maxwell GPU
    NPU6TOPs(INT8)-
    Memory8GB/32GB 64-bit LPDDR4x, 2112MHz4GB 64-bit LPDDR4, 1600MHz
    StoragemicroSD card, 32GB eMMC 5.1 flash storagemicroSD card, 16GB eMMC 5.1 flash storage
    Video Encoding
    8K@30fps H.265 / H.264
    250 MP/sec, 1x 4K@30 (HEVC), 2x 1080p@60 (HEVC), 4x 1080p@30 (HEVC)
    Video Decoding
    8K@60fps H.265/VP9/AVS2, 8K@30fps H.264 AVC/MVC, 4K@60fps AV1, 1080P@60fps MPEG-2/-1/VC-1/VP8
    500 MP/s, 1x 4K@60 (HEVC), 2x 4K@30 (HEVC), 4x 1080p@60 (HEVC), 8x 1080p@30 (HEVC)
    USB Ports1 USB 3.0, 3 USB 2.01 USB 3.0, 3 USB 2.0
    Ethernet1 10/100/1000 BASE-T1 10/100/1000 BASE-T
    CSI Interfaces12 channels (4x2) MIPI CSI-2 D-PHY1.1 (18 Gbps)12 channels (3x4 or 4x2) MIPI CSI-2 D-PHY 1.1 (18 Gbps)
    I/O3 UARTs, 2 SPIs, 2 I2S, 4 I2Cs, multiple GPIOs3 UARTs, 2SPIs, 2 I2S, 4 I2Cs, multiple GPIOs
    PCIE
    1 1/2/4lane PCIE3.0 & 1 1lane PCIE2.0
    1 1/2/4lane PCIE2.0
    HDMI Output
    1 HDMI OUT2.1 / 1 eDP 1.3
    1 HDMI 2.0
    DP Interface1 DP1.4a1 DP1.2
    eDP/DP Interface
    1 eDP 1.3 / 1 HDMI OUT2.1
    1 eDP 1.4 / 1 DP
    DSI Interface1 DSI (1 x2) 2 sync1 DSI (1 x2) 2 sync
    OS Support
    Support Debian,Ubuntu,Armbian
    NVIDIA JetPack software suite
    Size69.6 mm x 45 mm69.6 mm x 45 mm
    Form Factor260-pin edge connector260-pin edge connector

    Hardware Pin Definitions​

    Video input interface

    Two MIPI DC (DPHY/CPHY) combo PHY

    • Support USE DPHY or CPHY
    • Each MIPI DPHY V2.0, 4 lanes, 4.5 Gbps per lane
    • Each MIPI CPHY V1.1, 3 lanes, 2.5 Gbps per lane

    Four MIPI CSI DPHY

    • Each MIPI DPHY V1.2, 2 lanes, 2.5 Gbps per lane
    • Support combine 2 DPHY together to one 4-lan

    Table 1. CSI0 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    2GNDGround
    4CSI0_D0_NCamera, CSI 0 Data 0–InputMIPI D-PHY
    6CSI0_D0_PCamera, CSI 0 Data 0+ InputMIPI D-PHY
    8GNDGround
    10CSI0_CLK_NCamera, CSI 0 Clock–InputMIPI D-PHY
    12CSI0_CLK_PCamera, CSI 0 Clock+InputMIPI D-PHY
    14GNDGround
    16CSI0_D1_NCamera, CSI 0 Data 1–InputMIPI D-PHY
    18CSI0_D1_PCamera, CSI 0 Data 1+InputMIPI D-PHY
    114CAM0_PWDNCamera, CSI 0 Data 1–InputMIPI D-PHY
    116CAM0_MCLKCamera, CSI 0 Data 1+InputMIPI D-PHY

    Table 2. CSI1 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    1GNDGround
    3MIPI_CSI0_RX_D2NCamera, CSI 1 Data 0–InputMIPI D-PHY
    5MIPI_CSI0_RX_D2PCamera, CSI 1 Data 0+InputMIPI D-PHY
    7GNDGround
    9CSI1_CLK_NCamera, CSI 1 Clock–InputMIPI D-PHY
    11CSI1_CLK_PCamera, CSI 1 Clock+InputMIPI D-PHY
    15CSI1_D1_NCamera, CSI 1 Data 1–InputMIPI D-PHY
    17CSI1_D1_PCamera, CSI 1 Data 1+InputMIPI D-PHY
    118CAM1_PWDNCamera, CSI 0 Data 1–InputMIPI D-PHY
    126CAM1_MCLKCamera, CSI 0 Data 1+InputMIPI D-PHY

    Table 3. CSI2 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    20GNDGround
    22CSI2_D0_NCamera, CSI 2 Data 0–InputMIPI D-PHY
    24CSI2_D0_PCamera, CSI 2 Data 0+InputMIPI D-PHY
    26GNDGround
    28CSI2_CLK_NCamera, CSI 2 Clock–InputMIPI D-PHY
    30CSI2_CLK_PCamera, CSI 2 Clock+InputMIPI D-PHY
    32GNDGround
    34CSI2_D1_NCamera, CSI 2 Data 1–InputMIPI D-PHY
    36CSI2_D1_PCamera, CSI 2 Data 1+InputMIPI D-PHY
    120CAM2_MCLKCamera, CSI 2 Data 1–InputMIPI D-PHY
    122CAM2_PWDNCamera, CSI 2 Data 1+InputMIPI D-PHY

    Table 3. CSI3 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    19GNDGround
    21CSI3_D0_NCamera, CSI 3 Data 0–InputMIPI D-PHY
    23CSI3_D0_PCamera, CSI 3 Data 0+InputMIPI D-PHY
    25GNDGround
    27CSI3_CLK_NCamera, CSI 3 Clock–InputMIPI D-PHY
    29CSI3_CLK_PCamera, CSI 3 Clock+InputMIPI D-PHY
    31GNDGround
    33CSI3_D1_NCamera, CSI 3 Data 1–InputMIPI D-PHY
    35CSI3_D1_PCamera, CSI 3 Data 1+InputMIPI D-PHY
    216CAM3_MCLKCamera, CSI 3 Data 1–InputMIPI D-PHY
    218CAM3_PWDNCamera, CSI 3 Data 1+InputMIPI D-PHY

    Table 4. CSI4 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    38GNDGround
    40CSI4_D2_NCamera, CSI 4 Data 2–InputMIPI D/C-PHY
    42CSI4_D2_PCamera, CSI 4 Data 2+InputMIPI D/C-PHY
    44GNDGround
    52CSI4_CLK_NCamera, CSI 4 Clock–InputMIPI D/C-PHY
    54CSI4_CLK_PCamera, CSI 4 Clock+InputMIPI D/C-PHY
    46CSI4_D0_NCamera, CSI 4 Data 0–InputMIPI D/C-PHY
    48CSI4_D0_PCamera, CSI 4 Data 0+InputMIPI D/C-PHY
    58CSI4_D1_NCamera, CSI 4 Data 1–InputMIPI D/C-PHY
    60CSI4_D1_PCamera, CSI 4 Data 1+InputMIPI D/C-PHY
    64CSI4_D3_NCamera, CSI 4 Data 3–InputMIPI D/C-PHY
    66CSI4_D3_PCamera, CSI 4 Data 3+InputMIPI D/C-PHY
    228CAM4_MCLKCamera, CSI 4 Data 1–InputMIPI D-PHY
    230CAM4_PWDNCamera, CSI 4 Data 1+InputMIPI D-PHY
    Video output processor

    HDMI/eDP TX interface

    • Support x1, x2 and x4 configuration for each interface
    • Support all the data rates for HDMI FRL: 3, 6, 8, 10 and 12Gbps
    • Support 1.62Gbps, 2.7Gbps and 5.4Gbps for eDP
    • Support up to 7680x4320@60Hz for HDMI TX, and 4K@60Hz for eDP
    • Support RGB/YUV(up to 10bit) format for HDMI TX
    • Support RGB, YCbCr 4:4:4, YCbCr 4:2:2 and 8/10 bit per component video format for eDP
    • Support DSC 1.2a for HDMI TX
    • Support HDCP2.3 for HDMI TX, and HDCP1.3 for eDP

    DP TX interface

    • Support 2 DP TX 1.4a interface which combo with USB3.1 Gen1
    • Support 1/2/4lanes for each interface
    • Support 1.62Gbps, 2.7Gbps, 5.4Gbps and 8.1Gbps Serializer
    • Support up to 7680x4320@30Hz
    • Support RGB/YUV(up to 10bit) format
    • Support Single Stream Transport(SST)
    • Support DP Alt mode on USB Type-C
    • Support HDCP2.3, HDCP 1.3

    MIPI DSI interface

    • Support 2 MIPI DPHY 2.0 interfaces
    • Support 4 data lanes and 4.5 Gbps maximum data rate per lane
    • Support max resolution 4K@60 Hz
    • Support dual MIPI display: left-right mode
    • Support RGB (up to 10 bits) format
    • Support DSC 1.1/1.2a

    Table 5. DSI pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    68GNDGround
    70DSI_D0_NDSI Data 0–OutputMIPI D-PHY
    72DSI_D0_PDSI Data 0+OutputMIPI D-PHY
    74GNDGround
    76DSI_CLK_NDSI Clock–OutputMIPI D-PHY
    78DSI_CLK_PDSI Clock+OutputMIPI D-PHY
    80GNDGround
    82DSI_D1_NDSI Data 1–OutputMIPI D-PHY
    84DSI_D1_PDSI Data 1+OutputMIPI D-PHY

    Table 6. DP / USB3.0 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    37GNDGround
    39DP0_TXD0_NDisplay Port 0 Lane 0-OutputDP
    41DP0_TXD0_PDisplay Port 0 Lane 0+OutputDP
    43GNDGround
    45DP0_TXD1_NDisplay Port 0 Lane 1–OutputDP
    47DP0_TXD1_PDisplay Port 0 Lane 1+OutputDP
    49GNDGround
    51DP0_TXD2_NDisplay Port 0 Lane 2–OutputDP
    53DP0_TXD2_PDisplay Port 0 Lane 2+OutputDP
    55GNDGround
    57DP0_TXD3_NDisplay Port 0 Lane 3–OutputDP
    59DP0_TXD3_PDisplay Port 0 Lane 3+OutputDP
    86GNDGround
    88DP0_HPDDisplay Port 0 Hot Plug DetectInputOpen Drain–1.8V
    90DP0_AUX_NDisplay Port 0 Aux–BidirDP
    92DP0_AUX_PDisplay Port 0 Aux+BidirDP

    Table 7. eDP/HDMI pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    61GNDGround
    63HDMI_TXD2_N/EDP_TX0_D2NHDMI/EDP Lane 2–OutputHDMI/EDP
    65HDMI_TXD2_P/EDP_TX0_D2PHDMI/EDP Lane 2+OutputHDMI/EDP
    67GNDGround
    69HDMI_TXD1_N/EDP_TX0_D1NHDMI/EDP Lane 1–OutputHDMI/EDP
    71HDMI_TXD1_P/EDP_TX0_D1PHDMI/EDP Lane 1+OutputHDMI/EDP
    73GNDGround
    75HDMI_TXD0_N/EDP_TX0_D0NHDMI/EDP Lane 0–OutputHDMI/EDP
    77HDMI_TXD0_P/EDP_TX0_D0PHDMI/EDP Lane 0+OutputHDMI/EDP
    79GNDGround
    81HDMI_CLK_N/EDP_TX0_D3NHDMI/EDP Clk Lane–OutputHDMI/EDP
    83HDMI_CLK_P/EDP_TX0_D3PHDMI/EDP Clk Lane+OutputHDMI/EDP
    98HDMI_SDA / EDP_TX0_AUXNHDMI/EDP DDC SDABidirOpen-Drain,3.3V
    100HDMI_SCL / EDP_TX0_AUXPHDMI/EDP DDC SCLOutputOpen-Drain,3.3V
    96HDMI_HPDHDMI/EDP Hot Plug DetectInputOpen Drain–3.3V
    94HDMI_CECHDMI/EDP CECBidirOpen Drain–1.8V
    SDIO
    • Compatible with SDIO3.0 protocol
    • 4-bit data bus width

    Table 8. SDIO pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    217GNDGround
    219SDMMC_DAT0SD Card or SDIO Data 0BidirCMOS – 1.8V/3.3V
    221SDMMC_DAT1SD Card or SDIO Data 1BidirCMOS – 1.8V/3.3V
    223SDMMC_DAT2SD Card or SDIO Data 2BidirCMOS – 1.8V/3.3V
    225SDMMC_DAT3SD Card or SDIO Data 3BidirCMOS – 1.8V/3.3V
    227SDMMC_CMDSD Card or SDIO CommandBidirCMOS – 1.8V/3.3V
    229SDMMC_CLKSD Card or SDIO ClockOutputCMOS – 1.8V/3.3V
    126SDMMC_DETSD Card or SDIO DETOutputCMOS – 1.8V/3.3V
    GMAC

    Table 9. Gigabit Ethernet pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    184GBE_MDI0_NGbE Transformer Data 0–BidirMDI
    186GBE_MDI0_PGbE Transformer Data 0+BidirMDI
    188GBE_LED_LINKEthernet Link LED (Green)Output-
    190GBE_MDI1_NGbE Transformer Data 1–BidirMDI
    192GBE_MDI1_PGbE Transformer Data 1+BidirMDI
    194GBE_LED_ACTEthernet Activity LED (Yellow)Output-
    196GBE_MDI2_NGbE Transformer Data 2–BidirMDI
    198GBE_MDI2_PGbE Transformer Data 2+BidirMDI
    200GNDGround
    202GBE_MDI3_NGbE Transformer Data 3–BidirMDI
    204GBE_MDI3_PGbE Transformer Data 3+BidirMDI
    USB3.0
    • Embedded two USB 3.0 OTG interfaces which combo with DP TX (USB3OTG_0 and USB3OTG_1)
    • Embedded one USB 3.0 Host interface which combos with Combo PIPE PHY2 (USB3OTG_2)

    Table 10. USB 3.0 GEN1 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    113GNDGround
    161PCIE20_2_RXN/SATA30_2_RXN/USBSS_RX_NUSB SS Receive- (USB 3.0 Ctrl #0)InputUSB SS PHY
    163PCIE20_2_RXP/SATA30_2_RXP/USBSS_RX_PUSB SS Receive+ (USB 3.0 Ctrl #0)InputUSB SS PHY
    166PCIE20_2_TXN/SATA30_2_TXN/USBSS_TX_NUSB SS Transmit- (USB 3.0 Ctrl #0)OutputUSB SS PHY
    168PCIE20_2_TXP/SATA30_2_TXP/USBSS_TX_PUSB SS Transmit+ (USB 3.0 Ctrl #0)OutputUSB SS PHY
    USB 2.0 Host
    • Compatible with USB 2.0 specification
    • Support two USB 2.0 Hosts
    • Supports high-speed (480 Mbps), full-speed (12 Mbps) and low-speed (1.5 Mbps) mode
    • Support Enhanced Host Controller Interface Specification (EHCI), Revision 1.0
    • Support Open Host Controller Interface Specification (OHCI), Revision 1.0a

    Table 11. USB 2.0 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    109USB0_D_NUSB2.0 Port 0 Data–BidirUSB PHY
    111USB0_D_PUSB2.0 Port 0 Data+BidirUSB PHY
    115USB1_D_NUSB 2.0 Port 1 Data–BidirUSB PHY
    117USB1_D_PUSB 2.0 Port 1 Data+BidirUSB PHY
    121USB2_D_NUSB 2.0 Port 2 Data–BidirUSB PHY
    123USB2_D_PUSB 2.0 Port 2 Data+BidirUSB PHY
    PCIe

    PCIe 2.1 interface

    • Compatible with PCI Express Base Specification Revision 2.1
    • Support one lane for each PCIe 2.1 interface
    • Support Root Complex (RC) only
    • Support 5 Gbps data rate

    Table 12. PCIe 2.1 pin descriptions

    PinPinnameSignal descriptionDirectionPin type
    171GNDGround
    173PCIE1_CLK_NPCIe #1 Reference Clock– (PCIe Ctrl #2)OutputPCIe PHY
    175PCIE1_CLK_PPCIe #1 Reference Clock+ (PCIe Ctrl #2)OutputPCIe PHY
    165GNDGround
    167PCIE1_RX_N/SATA30_0_RXNPCIe #1 Receive 0– (PCIe Ctrl #2 Lane 0)InputPCIe PHY
    169PCIE1_RX_P/SATA30_0_RXPPCIe #1 Receive 0+ (PCIe Ctrl #2 Lane 0)InputPCIe PHY
    172PCIE1_TX_NPCIe #1 Transmit 0– (PCIe Ctrl #2 Lane 0)OutputPCIe PHY
    174PCIE1_TX_PPCIe #1 Transmit 0+ (PCIe Ctrl #2 Lane 0)OutputPCIe PHY
    124PCIE_20X1_2_WAKEPCIe Wake. 47kΩ pull-up to 3.3V on themodule.InputOpen Drain – 3.3V
    182PCIE_20X1_2_CLKREQPCIe #1 Clock Request (PCIe Ctrl #2). 47kΩ pull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    183PCIE_20X1_2_RSTPCIe #1 Reset (PCIe Ctrl #2). 4.7kΩ pull-up to 3.3V on the module.OutputOpen Drain – 3.3V

    PCIe 3.0 interface

    • Compatible with PCI Express Base Specification Revision 3.0
    • Support dual operation modes: Root Complex (RC) and End Point (EP)
    • Support data rates: 2.5 Gbps (PCIe 1.1), 5 Gbps (PCIe 2.1), 8 Gbps (PCIe 3.0)
    • Support aggregation and bifurcation with 1x 4 lanes, 2x 2 lanes, 4x 1 lanes and 1x 2 lanes + 2x 1 lanes

    Table 13. PCIe 3.0 pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    158GNDGround
    160PCIE0_CLK_NPCIe #0 Reference Clock–OutputPCIe PHY
    162PCIE0_CLK_PPCIe #0 Reference Clock+OutputPCIe PHY
    129GNDGround
    131PCIE0_RX0_NPCIe #0 Receive 0– (PCIe Ctrl #0 Lane 0)InputPCIe PHY
    133PCIE0_RX0_PPCIe #0 Receive 0+ (PCIe Ctrl #0 Lane 0)InputPCIe PHY
    132GNDGround
    134PCIE0_TX0_NPCIe #0 Transmit 0– (PCIe Ctrl #0 Lane 0)OutputPCIe PHY
    136PCIE0_TX0_PPCIe #0 Transmit 0+ (PCIe Ctrl #0 Lane 0)OutputPCIe PHY
    177GNDGround
    179PCIE_30X4_WAKEPCIe Wake. 47kΩ pull-up to 3.3V on themodule.InputOpen Drain – 3.3V
    180PCIE_30X4_CLKREQPCIe #0 Clock Request (PCIe Ctrl #0). 47kΩpull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    181PCIE_30X4_RSTPCIe #0 Reset (PCIe Ctrl #0). 4.7kΩ pull-up to3.3V on the module.BidirOpen Drain – 3.3V
    135GNDGround
    137PCIE0_RX1_NPCIe #0 Receive 1– (PCIe Ctrl #0 Lane 1)InputPCIe PHY
    139PCIE0_RX1_PPCIe #0 Receive 1+ (PCIe Ctrl #0 Lane 1)InputPCIe PHY
    138GNDGround
    140PCIE0_TX1_NPCIe #0 Transmit 1– PCIe Ctrl #0 Lane 1)OutputPCIe PHY
    142PCIE0_TX1_PPCIe #0 Transmit 1+ (PCIe Ctrl #0 Lane 1)OutputPCIe PHY
    125GNDGround
    127PCIE_30X1_0_WAKEPCIe Wake. 47kΩ pull-up to 3.3V on themodule.InputOpen Drain – 3.3V
    212PCIE_30X1_0_CLKREQPCIe #0 Clock Request (PCIe Ctrl #0). 47kΩpull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    195PCIE_30X1_0_RSTPCIe #0 Reset (PCIe Ctrl #0). 4.7kΩ pull-up to3.3V on the module.BidirOpen Drain – 3.3V
    147GNDGround
    149PCIE0_RX2_NPCIe #0 Receive 2– (PCIe Ctrl #0 Lane 1)InputPCIe PHY
    151PCIE0_RX2_PPCIe #0 Receive 2+ (PCIe Ctrl #0 Lane 1)InputPCIe PHY
    144GNDGround
    146GNDGround
    148PCIE0_TX2_NPCIe #0 Transmit 2– PCIe Ctrl #0 Lane 1)OutputPCIe PHY
    150PCIE0_TX2_PPCIe #0 Transmit 2+ (PCIe Ctrl #0 Lane 1)OutputPCIe PHY
    130PCIE_30X2_WAKEPCIe Wake. 47kΩ pull-up to 3.3V on themodule.InputOpen Drain – 3.3V
    120PCIE_30X2_CLKREQPCIe #0 Clock Request (PCIe Ctrl #0). 47kΩpull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    195128PCIE_30X2_RSTPCIe #0 Reset (PCIe Ctrl #0). 4.7kΩ pull-up to3.3V on the module.BidirOpen Drain – 3.3V
    153GNDGround
    155PCIE0_RX3_NPCIe #0 Receive 3– (PCIe Ctrl #0 Lane 1)InputPCIe PHY
    157PCIE0_RX3_PPCIe #0 Receive 3+ (PCIe Ctrl #0 Lane 1)InputPCIe PHY
    152GNDGround
    154PCIE0_TX3_NPCIe #0 Transmit 3– PCIe Ctrl #0 Lane 1)OutputPCIe PHY
    156PCIE0_TX3_PPCIe #0 Transmit 3+ (PCIe Ctrl #0 Lane 1)OutputPCIe PHY
    199PCIE_30X1_1_WAKEPCIe Wake. 47kΩ pull-up to 3.3V on themodule.InputOpen Drain – 3.3V
    211PCIE_30X1_1_CLKREQPCIe #0 Clock Request (PCIe Ctrl #0). 47kΩpull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    197PCIE_30X1_1_RSTPCIe #0 Reset (PCIe Ctrl #0). 4.7kΩ pull-up to3.3V on the module.BidirOpen Drain – 3.3V
    SPI interface
    • Support 5 SPI Controllers (SPI0-SPI4)
    • Support two chip-select output
    • Support serial-master and serial-slave mode, software-configurable

    Table 14. SPI pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    89SPI0_MOSISPI 0 Master Out / Slave InBidirCMOS – 1.8
    91SPI0_SCKSPI 0 ClockBidirCMOS – 1.8
    93SPI0_MISO_M2SPI 0 Master In / Slave OutBidirCMOS – 1.8
    95SPI0_CS0SPI 0 Chip Select 0BidirCMOS – 1.8
    97SPI0_CS1SPI 0 Chip Select 1BidirCMOS – 1.8
    102GNDGround
    104SPI1_MOSISPI 1 Master Out / Slave InBidirCMOS – 1.8
    106SPI1_SCKSPI 1 ClockBidirCMOS – 1.8
    108SPI1_MISOSPI 1 Master In / Slave OutBidirCMOS – 1.8
    110SPI1_CS0SPI 1 Chip Select 0BidirCMOS – 1.8
    112SPI1_CS1SPI 1 Chip Select 1BidirCMOS – 1.8
    I2C interface
    Table 15. I2C pin descriptions
    PinPin nameSignal descriptionDirectionPin type
    185I2C0_SCLGeneral I2C 0 Clock. 2.2kΩ pull-up to3.3V on module.BidirOpen Drain – 3.3V
    187I2C0_SDAGeneral I2C 0 Data. 2.2kΩ pull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    189I2C1_SCLGeneral I2C 1 Clock. 2.2kΩ pull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    191I2C1_SDAGeneral I2C 1 Data. 2.2kΩ pull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    232I2C2_SCLGeneral I2C 2 Clock. 2.2kΩ pull-up to1.8V on the module.BidirOpen Drain – 1.8V
    234I2C2_SDAGeneral I2C 2 Data. 2.2kΩ pull-up to 1.8V on the module.BidirOpen Drain – 1.8V
    213CAM_I2C_SCLCamera I2C Clock. 2.2kΩ pull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    215CAM_I2C_SDACamera I2C Data. 2.2kΩ pull-up to 3.3V on the module.BidirOpen Drain – 3.3V
    UART interface
    • Support 10 UART interfaces (UART0-UART9)
    • Embedded two 64-byte FIFO for TX and RX operation respectively
    • Support transmitting or receiving 5-bit, 6-bit, 7-bit, and 8-bit serial data
    • Standard asynchronous communication bits such as start, stop and parity
    • Support different input clocks for UART operation to get up to 4 Mbps baud rate
    • Support auto flow control mode for all UART interfaces

    Table 16. UART pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    99UART0_TXDUART #0 TransmitOutputCMOS – 1.8V
    101UART0_RXDUART #0 ReceiveInputCMOS – 1.8V
    103UART0_RTSUART #0 Request to SendOutputCMOS – 1.8V
    105UART0_CTSUART #0 Clear to SendInputCMOS – 1.8V
    201GNDGround
    203UART1_TXDUART #1 TransmitOutputCMOS – 1.8V
    205UART1_RXDUART #1 ReceiveInputCMOS – 1.8V
    207UART1_RTSUART #1 Request to SendOutputCMOS – 1.8V
    209UART1_CTSUART #1 Clear to SendInputCMOS – 1.8V
    236UART2_TXDUART #2 TransmitOutputCMOS – 1.8V
    238UART2_RXDUART #2 ReceiveInputCMOS – 1.8V
    CAN bus
    • Support transmitting or receiving CAN standard frame
    • Support transmitting or receiving CAN extended frame
    • Support transmitting or receiving data frame, remote frame, overload frame, error frame, and frame interval

    Table 14. CAN pin descriptions

    PinPin nameSignal descriptionDirection Pin type
    141GNDGround
    145CAN_TXCAN PHYOutputCMOS – 3.3V
    143CAN_RXCAN PHYInputCMOS – 3.3V
    GPIO
    • All GPIOs can be used to generate interrupt
    • Support level trigger and edge trigger interrupt
    • Support configurable polarity of level trigger interrupt
    • Support configurable rising edge, falling edge and both edge trigger interrupt
    • Support configurable pull direction (a weak pull-up and a weak pull-down)
    • Support configurable drive strength

    Table 15. GPIO pin descriptions

    PinPin nameSignal descriptionDirectionPin type
    87GPIO0/GPIO1_C5/VBUS_DETGPIO #0 or USB 0 VBUS Enable #0BidirCMOS – 1.8V
    118GPIO01/GPIO3_A7/CAM1_PWDNGPIO #1 or Generic ClocksBidirCMOS – 1.8V
    124GPIO02/GPIO3_A3/MIPI_CAM2_PDNGPIO #2BidirCMOS – 1.8V
    126GPIO03/GPIO3_D0/PCIE20X1_2_WAKEN_M0GPIO #3BidirCMOS – 1.8V
    127GPIO04/GPIO4_A4/PCIE_30X1_0_WAKEGPIO #4BidirCMOS – 1.8V
    128GPIO05/GPIO4_B0/PCIE30X2_PERSTN_M1GPIO #5BidirCMOS – 1.8V
    130GPIO06/GPIO4_A7/PCIE_30X2_WAKEGPIO #6BidirCMOS – 1.8V
    206GPIO07/GPIO3_A0/PWM10GPIO #7 or Pulse Width ModulatorBidirCMOS – 1.8V
    208GPIO08/GPIO1_C6/PWM15_IRGPIO #8 or Fan TachBidirCMOS – 1.8V
    211I2S1_MCLK_M0/PCIE30X1_1_CLKREQN_M1GPIO #9 or Audio Codec Master ClockBidirCMOS – 1.8V
    212GPIO10/GPIO4_A3/PCIE_30X1_0_CLKREQGPIO #10BidirCMOS – 1.8V
    216GPIO11/GPIO3_B0/MIPI_CAM3_CLKOUTGPIO #11 or Generic ClocksBidirCMOS – 1.8V
    218GPIO12/I2S2_MCLK_M1/MIPI_CAM3_PDNGPIO #12 or Pulse Width ModulatorBidirCMOS – 1.8V
    228GPIO13/GPIO3_B1/PWM2/MIPI_CAM4_CLKOUTGPIO #13 or Pulse Width ModulatorBidirCMOS – 1.8V
    230GPIO14/GPIO3_A1/PWM11_IR/MIPI_CAM4_PDNGPIO #14 or Pulse Width ModulatorBidirCMOS – 1.8V
    I2C interface
    Table 16. i2s pin descriptions
    PinPin nameSignal descriptionDirectionPin type
    199I2S0_SCLK/PCIE_30X1_1_WAKEI2S Audio Port 0 ClockBidirCMOS – 1.8V
    197I2S0_FS/PCIE_30X1_1_RSTI2S Audio Port 0 Left/Right ClockBidirCMOS – 1.8V
    193I2S0_DOUTI2S Audio Port 0 Data OutOutputCMOS – 1.8V
    195I2S0_DIN/PCIE_30X1_0_RSTI2S Audio Port 0 Data InInputCMOS – 1.8V
    226I2S1_SCLKI2S Audio Port 1 ClockBidirCMOS – 1.8V
    224I2S1_FSI2S Audio Port 1 Left/Right ClockBidirCMOS – 1.8V
    220I2S1_DOUTI2S Audio Port 1 Data OutOutputCMOS – 1.8V
    222I2S1_DINI2S Audio Port 1 Data InInputCMOS – 1.8V
    Pin Definitions
    ArmSoM-AIM7 functionPin numberPin numberArmSoM-AIM7 function
    GND_112GND_2
    CSI1_D0_N34CSI0_D0_N
    CSI1_D0_P56CSI0_D0_P
    GND_378GND_4
    CSI1_CLK_N910CSI0_CLK_N
    CSI1_CLK_P1112CSI0_CLK_P
    GND_51314GND_6
    CSI1_D1_N1516CSI0_D1_N
    CSI1_D1_P1718CSI0_D1_P
    GND_71920GND_8
    CSI3_D0_N2122CSI2_D0_N
    CSI3_D0_P2324CSI2_D0_P
    GND_92526GND_10
    CSI3_CLK_N2728CSI2_CLK_N
    CSI3_CLK_P2930CSI2_CLK_P
    GND_113132GND_12
    CSI3_D1_N3334CSI2_D1_N
    CSI3_D1_P3536CSI2_D1_P
    GND_133738GND_14
    TYPEC0_SSRX1N/DP0_TXD0_N3940CSI4_D2_N
    TYPEC0_SSRX1P/DP0_TXD0_P4142CSI4_D2_P
    GND_154344GND_16
    TYPEC0_SSTX1N/DP0_TXD1_N4546CSI4_D0_N
    TYPEC0_SSTX1P/DP0_TXD1_P4748CSI4_D0_P
    GND_174950GND_18
    TYPEC0_SSRX2N/DP0_TXD2_N5152CSI4_CLK_N
    TYPEC0_SSRX2P/DP0_TXD2_P5354CSI4_CLK_P
    GND_195556GND_20
    TYPEC0_SSTX2N/DP0_TXD3_N5758CSI4_D1_N
    TYPEC0_SSTX2P/DP0_TXD3_P5960CSI4_D1_P
    GND_216162GND_22
    HDMI_TXD2_N/EDP_TX0_D2N6364CSI4_D3_N
    HDMI_TXD2_P/EDP_TX0_D2P6566CSI4_D3_P
    GND_236768GND_24
    HDMI_TXD1_N/EDP_TX0_D1N6970DSI_D0_N
    HDMI_TXD1_P/EDP_TX0_D1P7172DSI_D0_P
    GND_257374GND_26
    HDMI_TXD0_N/EDP_TX0_D0N7576DSI_CLK_N
    HDMI_TXD0_P/EDP_TX0_D0P7778DSI_CLK_P
    GND_277980GND_28
    HDMI_CLK_N/EDP_TX0_D3N8182DSI_D1_N
    HDMI_CLK_P/EDP_TX0_D3P8384DSI_D1_P
    GND_298586GND_30
    GPIO0/GPIO1_C5/VBUS_DET8788DP0_HPD
    SPI0_MOSI8990DP0_AUX_N
    SPI0_SCK9192DP0_AUX_P
    SPI0_MISO_M29394HDMI_CEC
    SPI0_CS09596HDMI_HPD
    SPI0_CS19798HDMI_SDA / EDP_TX0_AUXN
    UART0_TXD99100HDMI_SCL / EDP_TX0_AUXP
    UART0_RXD101102GND_31
    UART0_RTS103104SPI1_MOSI
    UART0_CTS105106SPI1_SCK
    GND_32107108SPI1_MISO
    USB0_D_N109110SPI1_CS0
    USB0_D_P111112SPI1_CS1
    GND_33113114CAM0_PWDN
    USB1_D_N115116CAM0_MCLK
    USB1_D_P117118GPIO01/GPIO3_A7/CAM1_PWDN
    GND_34119120CAM2_MCLK/PCIE30X2_CLKREQN_M1
    USB2_D_N121122CAM2_PWDN
    USB2_D_P123124GPIO02/GPIO3_A3/MIPI_CAM2_PDN
    GND_35125126GPIO03/GPIO3_D0/PCIE20X1_2_WAKEN_M0
    GPIO04/GPIO4_A4/PCIE_30X1_0_WAKE127128GPIO05/GPIO4_B0/PCIE30X2_PERSTN_M1
    GND_36129130GPIO06/GPIO4_A7/PCIE_30X2_WAKE
    PCIE0_RX0_N131132GND_37
    PCIE0_RX0_P133134PCIE0_TX0_N
    GND_38135136PCIE0_TX0_P
    PCIE0_RX1_N137138GND_39
    PCIE0_RX1_P139140PCIE0_TX1_N
    GND_40141142PCIE0_TX1_P
    CAN_RX143144GND_41
    CAN_TX145146GND_42
    GND_43147148PCIE0_TX2_N
    PCIE0_RX2_N149150PCIE0_TX2_P
    PCIE0_RX2_P151152GND_44
    GND_45153154PCIE0_TX3_N
    PCIE0_RX3_N155156PCIE0_TX3_P
    PCIE0_RX3_P157158GND_46
    GND_47159160PCIE0_CLK_N
    PCIE20_2_RXN/SATA30_2_RXN/USBSS_RX_N161162PCIE30_CLK_P
    PCIE20_2_RXP/SATA30_2_RXP/USBSS_RX_P163164GND_48
    GND_49165166PCIE20_2_TXN/SATA30_2_TXN/USBSS_TX_N
    PCIE1_RX_N/SATA30_0_RXN167168PCIE20_2_TXP/SATA30_2_TXP/USBSS_TX_P
    PCIE1_RX_P/SATA30_0_RXP169170GND_50
    GND_51171172PCIE1_TX_N/SATA30_0_TXN
    PCIE1_CLK_N173174PCIE1_TX_P/SATA30_0_TXP
    PCIE1_CLK_P175176GND_52
    GND_53177178MOD_SLEEP
    PCIE_30X4_WAKE179180PCIE_30X4_CLKREQ
    PCIE_30X4_RST181182PCIE_20X1_2_CLKREQ
    PCIE_20X1_2_RST183184GBE_MDI0_N
    I2C0_SCL185186GBE_MDI0_P
    I2C0_SDA187188GBE_LED_LINK
    I2C1_SCL189190GBE_MDI1_N
    I2C1_SDA191192GBE_MDI1_P
    I2S0_DOUT193194GBE_LED_ACT
    I2S1_SDI0_M0/PCIE_30X1_0_RST195196GBE_MDI2_N
    I2S1_LRCK_M0/PCIE_30X1_1_RST197198GBE_MDI2_P
    I2S0_SCLK/PCIE_30X1_1_WAKE199200GND_54
    GND_55201202GBE_MDI3_N
    UART1_TXD203204GBE_MDI3_P
    UART1_RXD205206GPIO07/GPIO3_A0/PWM10
    UART1_RTS207208GPIO08/GPIO1_C6/PWM15_IR
    UART1_CTS20921032KOUT
    I2S1_MCLK_M0/PCIE30X1_1_CLKREQN_M1211212GPIO10/GPIO4_A3/PCIE_30X1_0_CLKREQ
    CAM_I2C_SCL213214RECOVERY_KEY
    CAM_I2C_SDA215216GPIO11/GPIO3_B0/MIPI_CAM3_CLKOUT
    GND_56217218GPIO12/I2S2_MCLK_M1/MIPI_CAM3_PDN
    SDMMC_DAT0219220I2S1_DOUT
    SDMMC_DAT1221222I2S1_DIN
    SDMMC_DAT2223224I2S1_FS
    SDMMC_DAT3225226I2S1_SCLK
    SDMMC_CMD227228GPIO08
    SDMMC_CLK229230GPIO14
    GND_57231232I2C2_SCL
    SHUTDOWN_REQ233234I2C2_SDA
    PMIC_BBAT235236UART2_TXD
    POWER_EN237238UART2_RXD
    SYS_RESET239240SLEEP/WAKE
    GND241242GND
    GND243244GND
    GND245246GND
    GND247248GND
    GND249250GNDs
    VDD_IN251252VDD_IN
    VDD_IN253254VDD_IN
    VDD_IN255256VDD_IN
    VDD_IN257258VDD_IN
    VDD_IN259260VDD_IN

    Product Introduction: AIM-IO​

    AIM-IO is an IO board from the ArmSoM AIM series, with dimensions of 100x80x29 mm, and is also compatible with current Jetson Nano core modules. It is a mini AI computer designed for makers, learners, and developers, capable of quickly implementing AI technology in various smart devices.

    AIM-IO Hardware​

    Hardware Interface​

    AIM-IO

    AIM-IO
    tip

    The AIM-IO Board is powered by 12V DC.

    Hardware Spec​

    The AIM-IO Board is a companion board for AIM modules designed to assist developers using AIM modules in completing system and embedded board development. Compared to the Jetson Nano Developer Kit (B01), the AIM-IO Board is of the same size but adds 2 MIPI CSI interfaces, 1 M.2 Key-E interface, and 1 MIPI DSI interface.

    • 1x DisplayPort
    • 1x HDMI-out
    • 4x USB 3.0 Type-A
    • Gigabit Ethernet
    • GPIO: 40-PIN expansion header
    • POE: 5 V Power Over Ethernet
    • Power Connector: DC Barrel jack for 12V power input
    • Expansion: M.2 (E-key, PCIe/USB/SDIO/UART), microSD
    • MIPI DSI: 1x 4 lanes MIPI DSI up to 4K@60fps (x4)
    • MIPI CSI0/1: 2x 2 lanes MIPI CSI,Maximum 2.5Gbps per lane.
    • MIPI CSI2/3: 1x 4 lanes MIPI CSI,Maximum 2.5Gbps per lane.
    • Firmware flashing and device mode via USB Type-C
    • Dimensions: 100 x 80 x 29 mm (3.94 x 3.15 x 1.14 in)
    • Weight: 78.4g

    Pin Definition​

    AIM7 40-PIN Connector

    ArmSoM AIM7 40Pin

    Open full-size pinout

    Checked against the AIM-IO V1.1 schematic. Numbers in the diagram are physical pins. NC means not connected; DNP means not populated. Alternate functions require matching system configuration; legacy GPIO numbers are not Linux gpiochip line offsets. Pin 15 is GPIO3_B0; pin 31 is GPIO3_B4.

    GPIO number (legacy)FunctionPhysical pinPhysical pinFunctionGPIO number (legacy)
    —+3.3V
    1
    2
    +5.0V—
    20UART0_RX_M0 / I2C4_SDA_M2 / PWM2_M0 / GPIO0_C4
    3
    4
    +5.0V—
    21UART0_TX_M0 / I2C4_SCL_M2 / PWM4_M0 / I2S1_SDI0_M1 / GPIO0_C5
    5
    6
    GND—
    128SPI0_MISO_M1 / UART9_RTSN_M1 / I2S1_MCLK_M0 / GPIO4_A0
    7
    8
    SPDIF0_TX_M0 / I2C5_SCL_M3 / UART1_TX_M1 / GPIO1_B646
    —GND
    9
    10
    PWM13_M2 / I2C5_SDA_M3 / UART1_RX_M1 / GPIO1_B747
    62PWM14_M2 / I2C8_SCL_M2 / UART1_RTSN_M1 / GPIO1_D6
    11
    12
    SPI0_MOSI_M1 / UART9_CTSN_M1 / I2S1_SCLK_M0 / GPIO4_A1129
    58SPI1_CLK_M2 / UART4_TX_M0 / PWM0_M1 / I2C1_SCL_M4 / I2S0_SDO3 / I2S0_SDI2 / GPIO1_D2
    13
    14
    GND—
    104GPIO3_B0 / PWM9_M0 / MIPI_CAM3_CLKOUT
    15
    16
    GPIO1_D5 / SPI1_CS1_M2 / PDM0_SDI0_M061
    —+3.3V
    17
    18
    SPI1_CS0_M2 / UART4_RX_M0 / PWM1_M1 / I2C1_SDA_M4 / PDM0_SDI3_M0 / I2S0_SDI1 / GPIO1_D359
    42SPI0_MOSI_M2 / PCIE30X4_PERSTN_M3 / UART4_RX_M2 / PDM1_SDI3_M1 / GPIO1_B2
    19
    20
    GND—
    41SPI0_MISO_M2 / PCIE30X4_WAKEN_M3 / PDM1_SDI2_M1 / GPIO1_B1
    21
    22
    SPI1_MISO_M2 / UART6_TX_M2 / I2C7_SCL_M0 / I2S0_SDO1 / GPIO1_D056
    43SPI0_CLK_M2 / SATA0_ACT_LED_M1 / PCIE30X1_0_WAKEN_M2 / PDM1_CLK1_M1 / UART4_TX_M2 / GPIO1_B3
    23
    24
    SPI0_CS0_M2 / PCIE30X1_0_PERSTN_M2 / PDM1_CLK0_M1 / UART7_RX_M2 / GPIO1_B444
    —GND
    25
    26
    GPIO1_B5 / UART7_TX_M2 / SPI0_CS1_M245
    16I2C2_SDA_M0 / CAN0_RX_M0 / SPI0_MOSI_M0 / PWM1_M0 / GPIO0_C0
    27
    28
    GPIO0_B7 / CAN0_TX_M0 / SPI0_CS1_M0 / I2C2_SCL_M0 / PWM0_M015
    103PWM8_M0 / GPIO3_A7
    29
    30
    GND—
    108GPIO3_B4 / I2S2_MCLK_M1 / MIPI_CAM3_PDN
    31
    32
    GPIO3_A0 / PWM10_M0 / SPI4_MISO_M1 / I2C6_SDA_M4 / I2S3_MCLK96
    105UART2_TX_M2 / PWM2_M1 / GPIO3_B1
    33
    34
    GND—
    130I2S1_LRCK_M0 / SPI0_CLK_M1 / GPIO4_A2
    35
    36
    GPIO1_D7 / I2C8_SDA_M2 / UART1_CTSN_M163
    57UART6_RX_M2 / I2C7_SDA_M0 / GPIO1_D1 / SPI1_MOSI_M2
    37
    38
    GPIO4_A5 / UART3_TX_M2 / I2C3_SDA_M2 / I2S1_SDI0_M0133
    —GND
    39
    40
    GPIO4_B1 / SPI0_CS1_M1 / UART8_RX_M0 / I2C6_SCL_M3 / I2S1_SDO0_M0137

    Resources​

    Source Code​

    Official Images​

    ArmSoM provides the following official system images. Select the matching product folder and image version in the shared drive.

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

    Download link:

    Google Drive link
    logoDescriptionDownload
    Debian 12Debian 12 for AIM7:
    Debian 12 (Bookworm) system images. Open the matching product folder in the shared drive; available versions and desktop variants are listed there.
    Google Drive root folder
    UbuntuUbuntu 22.04 LTS for AIM7:
    Ubuntu 22.04 LTS (Jammy Jellyfish) system images. Select the matching image in the product folder in the shared drive.
    Google Drive root folder

    Third Party Systems​

    logoDescriptionDownload
    armbian-logoArmbian for AIM7 :
    Armbian is a computing build framework that allows users to create ready-to-use images with working kernels in variable user space configurations for various single board computers. It provides various pre-build images for some supported boards. These are usually Debian or Ubuntu flavored.
    armbian image
    Joshua Riekubuntu-rockchip for AIM7 :
    This project aims to provide a default Ubuntu experience for Rockchip RK3588 devices. Get started today with an Ubuntu Server or Desktop image for a familiar environment.
    ubuntu-rockchip

    AIM7 Hardware Resources​

    AIM7 Hardware Resources

    AIM7 User Manual​

    The AIM-IO User Manual helps users understand the basic usage of AIM products and the preparations needed to get started with your ArmSoM-AIM 🚀.

    Getting Started​

    Before using the ArmSoM-AIM product, please prepare the following items.

    Tools Preparation​

    • Power Supply
    • System Installation (Choose one)
      • Onboard eMMC Boot
        • USB Type-C data cable to write the image from the Type-C port on the ArmSoM-AIM series. You need to connect the ArmSoM-AIM to your PC using a Type-C data cable.
      • MicroSD/TF Card Boot
        • MicroSD/TF card, Class 10 or above, at least 8GB SDHC, and a card reader.
        • The following high-speed TF cards have been tested and validated by the ArmSoM team:
          • SanDisk 32GB TF (MicroSD) (Developer Recommended)
          • SanDisk 32GB TF (MicroSD) for Dash Cam & Security Monitoring (Recommended for Long-Term Use)
          • SanDisk TF 8GB Class 10 microSD
          • SanDisk TF 128GB Class 10 microSD XC 48MB/S

    You can set up the ArmSoM-AIM as an interactive computer with a desktop interface or configure it as a headless computer accessible only via the network. To set up the ArmSoM-AIM as a headless computer, configure the hostname, user account, network connection, and SSH during the initial OS installation. If you want to use the ArmSoM-AIM directly, you will need the following additional accessories:

    Optional Items

    • Keyboard & Mouse
    • HDMI Monitor and HDMI Cable
    • Ethernet Cable
    • Camera Module
    • LCD Display

    Power Supply​

    The ArmSoM-AIM series requires a power supply specification of 12V/2-3A. You can use any high-quality power supply that provides the correct power mode.

    Plug the power supply into the DC barrel jack, ensuring you use the correct port!

    Image Burning Options​

    The system images for the ArmSoM series include various root file systems, and you can choose the appropriate image for your needs.

    info

    The system image includes the Linux kernel, basic programs, etc., which are essential for running ArmSoM series products. Therefore, we need to install the image before operating the product.

    Obtaining the System Image​

    Visit the Google Drive resource introduction page to obtain the system image: Google Drive root folder

    tip
    1. The default username/password for the official images is armsom/armsom or root/root.
    2. Ubuntu, Armbian, and OpenWrt offer more choices for open-source enthusiasts provided by ArmSoM.

    Burning Ubuntu, Armbian, or OpenWrt Systems​

    Using a Card Reader to Burn to MicroSD​

    Using Etcher to Write the Operating System Image to MicroSD

    This method is suitable for writing the system to an SD card and is available on Windows, macOS, and Linux x64 operating systems.

    Preparation
    1. A microSD card
    2. An SD card reader
    3. Download the corresponding Ubuntu / Armbian / OpenWrt system image
    4. Insert the SD card into the SD reader and connect it to your computer’s USB port

    Using Etcher to Write the Operating System Image to MicroSD

    1. Download balenaEtcher from the balena website, selecting the version for your host operating system. The Linux version is in AppImage format.
    2. Insert the MicroSD card into the MicroSD reader.
    3. Open the Etcher window, select "Flash from file," and locate your downloaded image. Double-click to select it.

    balenaEtcher-flash-from-file

    balenaEtcher-flash-from-file
    1. Click "Select target" to choose the MicroSD card you want to burn to.
    2. Click "Flash" and wait for the process to complete; this may take some time.
    3. Upon successful burning, you will see a confirmation message.

    balenaEtcher-flash-success

    balenaEtcher-flash-success
    If Flashing Fails
    1. On Windows, the image burning process needs to be "Run as Administrator." Some Linux users may need to use the chmod command to make it executable.
    2. If the image writing fails, please try again.

    Using Win32DiskImager to Write the Operating System Image to MicroSD

    1. Download the Win32DiskImager tool.
    2. Open Win32DiskImager.
    3. Click the folder icon and select the image you want to write.
    4. After completing the previous steps, click the "Write" button to start writing the image and wait for the process to finish.
    Using USB Cable to Burn to eMMC​
    Tool Acquisition and Installation​

    Burning the image to eMMC requires the RKDevTool burning tool and the RK Driver Assistant (Driver Assistant).

    Click the link: Google Drive root folder

    baidu-flash-tool

    baidu-flash-tool
    Installing Driver Assistant​

    Unzip the Driver Assistant software package and double-click DriverInstall.exe to enter the driver installation interface.

    Click "Driver Install" to start the installation. If you're unsure whether an old version of the driver is already installed, first click "Driver Uninstall" to remove it, then click "Driver Install."

    install-driver-assitant

    install-driver-assitant
    Installing RKDevTool​

    RKDevTool is a dedicated USB burning tool for Rockchip products on the Windows platform, allowing you to download the system image to the product via USB.

    After unzipping the package, it can be used without installation; double-click RKDevTool.exe to access the software interface.

    The software has three main sections: download the image (to burn the image according to the address), upgrade the firmware, and advanced functions.

    MASKROM/Loader Mode for Image Burning​

    This mode is suitable for products that have not had a system burned or where the burned system is corrupted and cannot run (Applicable to all situations).

    We open the RKDevTool burning tool and set the product to enter burning mode.

    Please refer to the product-related instructions for operations; the methods to enter Maskrom mode are generally similar across different products.

    1. Prepare a Type-C cable for image burning.
    2. Disconnect all possible power connections to the product, such as power cables, USB cables, etc.
    3. Connect one end of the Type-C cable to the product's OTG interface and the other end to your computer's USB port, then open the RKDevTool software.
    4. Short the 10 and 11 pins on the 12-pin interface (as shown) to enter loader mode, then power the product using DC.
    5. Wait for the software to prompt that a MASKROM/LOADER device has been found (as shown below), then you can release the button.
    6. If it does not succeed, repeat steps 2-5.

    Shorting pins 10 and 11 to enter loader mode. aimio-recovery

    aimio-recovery

    Hold down the maskrom button on the aim7 to enter maskrom mode.

    aimio-maskrom

    aimio-maskrom

    Start burning the system.

    rkdevtool-install-emmc

    rkdevtool-install-emmc
    1. Select the "Download Image" option.
    2. Confirm that the board has entered Maskrom mode.
    3. Click the blank cell to select the MiniLoaderAll and Image files to use; the corresponding MiniLoaderAll and Image are stored on Google Drive.
    4. In the "Storage" option, select the target medium EMMC, and select "Force Write by Address," then click "Execute."
    5. Wait for the writing to complete, after which the device will automatically reboot, as shown in the right side of the image with "Download image OK."

    Burning Debian System​

    Using a Card Reader to Burn to MicroSD​
    Installing SDDiskTool​

    Burning the image to eMMC requires using the burning tool SDDiskTool_version.exe.

    Click the link: Google Drive root folder

    baidu-SDDiskTool

    baidu-SDDiskTool

    After unzipping the package, you can use it without installation; double-click SD_Firmware_Tool.exe to access the software interface.

    Burning the Image​

    Open the executable file SDDiskTool (SD_Firmware_Tool.exe) and insert the SD card.

    First, select the correct SD card to burn, then set the function mode to "SD Boot," select the image to burn, and finally click "Start" to create the burning image on the SD card.

    SDDiskTool

    SDDiskTool

    Be patient while the SD card is being burned. If the image is large, the burning time will increase accordingly.

    Reminder
    1. Clicking "Create" may occasionally result in an error stating that it cannot burn; you can close the error window and try to start creating again. If it still doesn’t work, try formatting the SD card.
    2. The firmware downloaded from Google Drive needs to be extracted before loading. On Windows PCs, the tool must be run with administrator privileges to execute.
    Using USB Cable to Burn to eMMC​

    We open the RKDevTool burning tool and set the product to enter burning mode.

    1. Prepare a Type-C cable for image burning.
    2. Disconnect all possible power connections to the product, such as power cables, USB cables, etc.
    3. Connect one end of the Type-C cable to the product's OTG interface and the other end to your computer's USB port, then open the RKDevTool software.
    4. Press and hold the Recovery button, then power the product using DC.
    5. Wait for the software to prompt that a LOADER device has been found (as shown below), then you can release the button.
    6. If it does not succeed, repeat steps 2-5.

    recovery-flash-tool

    recovery-flash-tool

    maskroom-flash-tool

    maskroom-flash-tool

    The flashing progress will be displayed on the right, and upon completion, it will prompt you: rkdevtool-success

    rkdevtool-success
    Analysis of Flashing Failures

    If a "Download Boot Fail" error occurs during the flashing process, or if there are errors during the process, as shown in the image, it is usually due to poor connection with the USB cable, low-quality cables, or insufficient power from the computer's USB port. Please change the USB cable or USB port on the computer to troubleshoot.

    Sure! Here’s the translation:


    Interface Usage​

    AIM5 (RK3576) and AIM7 (RK3588) share the AIM-IO carrier board; use this page for interface connections and basic operation on either module. Output examples use AIM7 with official Debian 12 / Linux 6.1. Confirm device names, GPIO numbers, and overlays for your module and image.

    1. Debug Serial Port​

    Connect a USB-to-TTL serial adapter to the carrier board's debug header as shown below. Cross RX/TX and connect GND.

    armsom-aimio-debug

    armsom-aimio-debug
    AIM-IO debug headerSerial adapter
    GND (pin 11)GND
    RX (pin 3)TX
    TX (pin 4)RX

    These numbers refer to the debug header in the image, not the 40-pin header.

    Serial Port Settings
    • Baud rate: 1500000
    • Data bits: 8
    • Stop bits: 1
    • Parity: None
    • Flow control: None

    Configure the serial terminal, then power on the board to view boot logs and log in.

    UsernameDefault password
    rootroot
    armsomarmsom

    2. Ethernet Port​

    1. First, plug one end of the Ethernet cable into the ArmSoM-AIM’s Ethernet port and connect the other end to a router, ensuring the network is functional.
    2. After booting, the system will automatically assign an IP address to the Ethernet card via DHCP without any additional configuration.
    3. To check the IP address in the ArmSoM-AIM Linux system, use the following command:
    root@armsom-aim7:/# 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
    valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c2:ed:bc:48:3b:7a brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.106/24 brd 192.168.10.255 scope global dynamic noprefixroute eth0
    valid_lft 86396sec preferred_lft 86396sec
    inet6 fe80::7351:88a9:9b4c:11be/64 scope link noprefixroute
    valid_lft forever preferred_lft forever

    After the ArmSoM-AIM boots, there are three ways to check the IP address:

    • Connect to an HDMI display, log into the system, and use the terminal to enter the ip a command.
    • Use the debug serial port terminal to enter the ip a command to check the IP address.
    • If there is no debug serial port or HDMI display, you can check the ArmSoM-AIM’s IP address through the router’s management interface. However, this method often fails to display the ArmSoM-AIM’s IP address. If not visible, follow these troubleshooting steps:
      • First, check whether the Linux system has booted properly. If the ArmSoM-AIM's green LED is solid, it generally indicates a normal boot. If only the red LED is on, the system hasn't booted correctly.
      • Ensure the Ethernet cable is securely connected, or try a different cable.
      • Test with another router, as many issues arise from routers not assigning IP addresses correctly or assigning them but not displaying them in the management interface.
      • If no alternative router is available, connect an HDMI display or use the debug serial port to check the IP address.
    tip

    It is important to note that the ArmSoM-AIM automatically assigns an IP address via DHCP without any settings required.

    1. Use the ping command to check network connectivity.

    The command to test network connectivity is as follows. You can interrupt the ping command by using the Ctrl+C shortcut:

    armsom@armsom-aim7:~$ 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

    3. M.2 Key E (Wi-Fi / Bluetooth)​

    AIM-IO provides an M.2 Key E slot. The following example uses the tested Intel AX200: Wi-Fi uses PCIe, while Bluetooth uses USB. Install the card and connect its antennas before powering on the board.

    Identify the AX200​
    armsom@armsom:~$ lspci -nnk -s 01:00.0

    Output collected from the board:

    01:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
    Subsystem: Intel Corporation Wi-Fi 6 AX200NGW [8086:0084]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi

    Use lspci -nn to find the actual PCIe address first. Kernel driver in use: iwlwifi confirms that the driver is bound. If the log reports no suitable firmware found, check that the image contains /lib/firmware/iwlwifi-cc-a0-72.ucode.

    Use Wi-Fi​
    1. Start NetworkManager, enable Wi-Fi, and check the wireless interface name (wlp1s0 in this example):
    armsom@armsom:~$ sudo systemctl start NetworkManager
    armsom@armsom:~$ sudo nmcli radio wifi on
    armsom@armsom:~$ nmcli device status
    1. Scan and list nearby Wi-Fi networks:
    armsom@armsom:~$ sudo nmcli device wifi list ifname wlp1s0 --rescan yes
    1. Connect to a network and enter the password when prompted:
    armsom@armsom:~$ sudo nmcli --ask device wifi connect 'YourWiFiName' ifname wlp1s0

    NetworkManager saves a successful connection and reconnects on subsequent boots. Check the connection status:

    armsom@armsom:~$ nmcli -f DEVICE,TYPE,STATE device

    Excerpt from the board:

    DEVICE          TYPE      STATE
    wlp1s0 wifi connected
    1. Disconnect the current Wi-Fi connection:
    armsom@armsom:~$ sudo nmcli device disconnect wlp1s0
    Use Bluetooth​
    armsom@armsom:~$ lsusb -d 8087:0029
    armsom@armsom:~$ bluetoothctl show

    Excerpt from the board:

    Bus 004 Device 002: ID 8087:0029 Intel Corp. AX200 Bluetooth
    Controller 38:7A:0E:75:1A:15 (public)
    Name: armsom
    Alias: armsom
    Class: 0x007c0000
    Powered: yes

    Put the target device into discovery/pairing mode, then use bluetoothctl. Replace the example address with the address found during scanning:

    armsom@armsom:~$ bluetoothctl
    [bluetooth]# power on
    [bluetooth]# agent on
    [bluetooth]# default-agent
    [bluetooth]# scan on
    [bluetooth]# pair AA:BB:CC:DD:EE:FF
    [bluetooth]# trust AA:BB:CC:DD:EE:FF
    [bluetooth]# connect AA:BB:CC:DD:EE:FF
    [bluetooth]# scan off
    [bluetooth]# quit

    4. HDMI​

    ModelAIM7AIM5
    Resolution8Kp604Kp120
    1. Use an HDMI cable to connect the ArmSoM-AIM to an HDMI display.
    2. If the HDMI display outputs an image after the Linux system boots, the HDMI interface is functioning properly.
    tip

    Note that many laptops have HDMI ports that only support output functionality. This means they cannot display HDMI output from other devices on their screens. When attempting to connect the development board's HDMI to a laptop HDMI port, please confirm whether your laptop supports HDMI input functionality. If no display is shown, first check whether the system version includes a desktop environment, as server versions only show the terminal.

    5. DP (DisplayPort)​

    ModelAIM7AIM5
    Resolution4Kp604Kp60
    1. Use a DP cable to connect the ArmSoM-AIM to a DP display.
    2. If the DP display outputs an image after the Linux system boots, the DP interface is functioning properly.

    6. USB​

    AIM-IO provides four USB 3.0 Type-A ports for keyboards, mice, USB drives, and UVC cameras.

    Keyboard, Mouse, and USB Speed​

    Connect a keyboard or mouse to use it in the desktop. Inspect the USB topology with:

    armsom@armsom:~$ lsusb -t

    Excerpt from the board:

    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
    |__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

    Check the speed on the actual device line: 5000M indicates USB 3.0 for this drive; 480M indicates USB 2.0. Lower speeds are normal for keyboards and mice. The root hub's speed alone does not establish the peripheral's speed.

    USB Storage​
    armsom@armsom:~$ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS /dev/sda

    Output collected from the board:

    NAME    SIZE TYPE FSTYPE MOUNTPOINTS
    sda 29.3G disk
    └─sda1 29.3G part vfat

    Confirm the actual device and partition before mounting. This example uses /dev/sda1:

    armsom@armsom:~$ sudo mkdir -p /mnt/usb
    armsom@armsom:~$ sudo mount /dev/sda1 /mnt/usb
    armsom@armsom:~$ ls /mnt/usb
    # Unmount before unplugging the drive.
    armsom@armsom:~$ sudo umount /mnt/usb
    USB Camera​

    Connect a UVC-compatible USB camera and locate its node and supported formats. Do not use a MIPI camera node for this test.

    armsom@armsom:~$ v4l2-ctl --list-devices
    armsom@armsom:~$ v4l2-ctl -d /dev/videoX --list-formats-ext

    Replace /dev/videoX with the actual UVC node. Desktop images can preview the camera in Cheese, or run the following command in a local graphical session:

    armsom@armsom:~$ gst-launch-1.0 v4l2src device=/dev/videoX ! videoconvert ! autovideosink
    USB Type-C Flashing​

    The carrier board's Type-C port connects to a computer for flashing in Loader/Maskrom mode. See Image Burning Options on this page. Power the board through the 12V DC input described above.

    7. TF Card​

    Boot from eMMC, insert a TF/microSD card, and inspect its device and partitions. On the tested board, /dev/mmcblk1 is the TF card and /dev/mmcblk0 is eMMC; do not confuse them.

    armsom@armsom:~$ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS /dev/mmcblk1
    armsom@armsom:~$ cat /sys/class/block/mmcblk1/device/type

    Output collected from the board:

    NAME         SIZE TYPE FSTYPE MOUNTPOINTS
    mmcblk1 29.1G disk
    ├─mmcblk1p1 8M part
    ├─mmcblk1p2 128M part ext2
    └─mmcblk1p3 29G part ext4
    SD

    This example card contains a system image; a data card may have different partitions. Select a partition with a filesystem from lsblk. The following example mounts the third partition read-only:

    armsom@armsom:~$ sudo mkdir -p /mnt/tfcard
    armsom@armsom:~$ sudo mount -o ro /dev/mmcblk1p3 /mnt/tfcard
    armsom@armsom:~$ ls /mnt/tfcard
    armsom@armsom:~$ sudo umount /mnt/tfcard

    8. RTC​

    The tested AIM7 uses an HYM8563-compatible RTC on i2c4. Connect the RTC backup battery and confirm device registration:

    armsom@armsom:~$ cat /sys/class/rtc/rtc0/name
    armsom@armsom:~$ dmesg | grep rtc-hym8563

    Excerpt from the board:

    rtc-hym8563 4-0051
    [ 2.149494] rtc-hym8563 4-0051: rtc information is valid
    [ 2.156470] rtc-hym8563 4-0051: registered as rtc0

    Verify that the system time is correct before writing it to the RTC:

    armsom@armsom:~$ date
    armsom@armsom:~$ sudo hwclock -w -f /dev/rtc0
    armsom@armsom:~$ sudo hwclock -r -f /dev/rtc0
    armsom@armsom:~$ sudo poweroff

    Leave the RTC battery connected and disconnect only the main power. Power on again after a few minutes and use hwclock -r -f /dev/rtc0 to check that time has advanced. Disconnecting the backup battery does not test battery-backed timekeeping.

    9. MIPI-CSI​

    Camera Ports and Overlays​

    AIM5 and AIM7 use the same physical ports and camera modules. The I2C addresses and full filenames below are AIM7 examples; AIM5 uses its own prefix and boot configuration:

    ModuleBoot configurationCamera overlay prefix
    AIM5/boot/uEnv/uEnvarmsom-aim5-io.txtrk3576-armsom-aim5-camera-
    AIM7/boot/uEnv/uEnvarmsom-aim7-io.txtrk3588-armsom-aim7-camera-

    Power off before connecting ribbon cables and check their orientation.

    PortCarrier referenceCameraI2C addressOverlay filename
    CAM0J13IMX2192-0010rk3588-armsom-aim7-camera-imx219-cs0-overlay.dtbo
    CAM1J49IMX2194-0010rk3588-armsom-aim7-camera-imx219-cs1-overlay.dtbo
    CAM2J12OV138503-0010rk3588-armsom-aim7-camera-ov13850-cs2-overlay.dtbo
    CAM3J24OV138506-0010rk3588-armsom-aim7-camera-ov13850-cs3-overlay.dtbo

    Edit the boot configuration for your module; this example uses AIM7:

    armsom@armsom:~$ sudo nano /boot/uEnv/uEnvarmsom-aim7-io.txt

    Enable only the lines for connected cameras. The following configuration enables all four:

    dtoverlay=/dtb/overlay/rk3588-armsom-aim7-camera-imx219-cs0-overlay.dtbo
    dtoverlay=/dtb/overlay/rk3588-armsom-aim7-camera-imx219-cs1-overlay.dtbo
    dtoverlay=/dtb/overlay/rk3588-armsom-aim7-camera-ov13850-cs2-overlay.dtbo
    dtoverlay=/dtb/overlay/rk3588-armsom-aim7-camera-ov13850-cs3-overlay.dtbo
    tip

    For AIM5, replace rk3588-armsom-aim7-camera- in the filenames above with rk3576-armsom-aim5-camera- and edit its AIM5 uEnv file. Remove the leading # to enable a line. For initial wiring checks, enable one camera at a time before combining ports as needed. If an older image lacks these files, update the kernel package for your module.

    Save and reboot:

    armsom@armsom:~$ sudo reboot
    Check Sensor IDs​
    armsom@armsom:~$ dmesg | grep imx219
    armsom@armsom:~$ dmesg | grep ov13850

    Excerpt from an earlier log saved on this board with all four cameras enabled:

    [    3.019918] ov13850 3-0010: Detected OV00d850 sensor, REVISION 0xb2
    [ 3.025395] ov13850 6-0010: Detected OV00d850 sensor, REVISION 0xb2
    [ 3.086742] imx219 2-0010: Detected IMX000219 sensor
    [ 3.119883] imx219 4-0010: Detected IMX000219 sensor

    Each Detected line confirms that the driver read the corresponding sensor ID.

    Basic Commands and Tools​

    AIM5 and AIM7 use the same ArmSoM SDK, so the capture methods below apply to both. Find the target camera's ISP output node and replace /dev/videoX accordingly.

    armsom@armsom:~$ v4l2-ctl --list-devices
    armsom@armsom:~$ media-ctl -d /dev/mediaX -p
    armsom@armsom:~$ v4l2-ctl -d /dev/videoX --list-formats-ext

    Some image versions require GStreamer to be installed manually. If gst-launch-1.0 --version reports that the command is missing, run:

    Before refreshing the index, check the system clock and repositories in Update the APT package source list.

    armsom@armsom:~$ sudo apt-get update
    armsom@armsom:~$ sudo apt-get install -y gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-x

    Recording uses the SDK's Rockchip hardware encoder. Check it with gst-inspect-1.0 mpph264enc; if missing, use a matching SDK image or install its corresponding plugin.

    Restart the image's 3A service before capture:

    armsom@armsom:~$ sudo systemctl restart rkaiq_3A.service

    Run one capture command at a time. Connect a display for preview and press Ctrl+C to stop. Recording commands include -e so the MP4 file can be finalized when stopping.

    OV13850 Camera​

    These examples use 2112×1568 @ 30fps. Select a resolution and frame rate supported by your actual node.

    Capture a frame (raw NV12, not JPEG):

    armsom@armsom:~$ v4l2-ctl -d /dev/videoX --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=ov13850.nv12 --stream-count=1 --stream-poll

    Record video:

    armsom@armsom:~$ gst-launch-1.0 -e v4l2src device=/dev/videoX num-buffers=300 ! video/x-raw,format=NV12,width=2112,height=1568,framerate=30/1 ! mpph264enc ! h264parse ! mp4mux ! filesink location=ov13850.mp4

    Preview:

    armsom@armsom:~$ gst-launch-1.0 v4l2src device=/dev/videoX ! video/x-raw,format=NV12,width=2112,height=1568,framerate=30/1 ! videoconvert ! autovideosink
    IMX219 Camera​

    Capture, recording, and preview use 3280×2464. The full-resolution mode supports 15 FPS.

    Capture a photo (JPEG):

    armsom@armsom:~$ GST_V4L2SRC_MAX_RESOLUTION=3280x2464 gst-launch-1.0 v4l2src device=/dev/videoX num-buffers=1 io-mode=4 ! video/x-raw,format=NV12,width=3280,height=2464 ! videoconvert ! jpegenc ! filesink location=imx219.jpg

    Record video:

    armsom@armsom:~$ GST_V4L2SRC_MAX_RESOLUTION=3280x2464 gst-launch-1.0 -e v4l2src device=/dev/videoX num-buffers=300 io-mode=4 ! video/x-raw,format=NV12,width=3280,height=2464,framerate=15/1 ! mpph264enc ! h264parse ! mp4mux ! filesink location=imx219.mp4

    Preview:

    armsom@armsom:~$ GST_V4L2SRC_MAX_RESOLUTION=3280x2464 gst-launch-1.0 v4l2src device=/dev/videoX ! video/x-raw,format=NV12,width=3280,height=2464,framerate=15/1 ! videoconvert ! autovideosink

    GST_V4L2SRC_MAX_RESOLUTION selects camera modes on some SDK images. If your image does not support this extension, omit the prefix and use its supported resolution and frame rate.

    Preview Four Cameras Simultaneously​

    AIM7 has been tested with two IMX219 and two OV13850 cameras running together. Enable all four camera overlays above in /boot/uEnv/uEnvarmsom-aim7-io.txt and reboot first. Ensure that the IMX219 module name matches imx219_rpi-camera-v2_default.json and that the 3A service is running.

    Download the four-window preview script to the board. In a local desktop terminal, enter its directory and run:

    armsom@armsom:~$ sudo apt-get install -y python3-gi gir1.2-gtk-3.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0
    armsom@armsom:~$ sudo systemctl restart rkaiq_3A.service
    armsom@armsom:~$ python3 aim7-four-camera-preview.py

    The script arranges four equal windows on a 1920×1080 screen, with IMX219 cameras on top and OV13850 cameras below, preserving aspect ratios. ISP output is scaled to 640×480. Measured rates were approximately 15 FPS for IMX219 and 25 FPS for OV13850. Press Ctrl+C to exit.

    The script uses /dev/video53, /dev/video62, /dev/video44, and /dev/video71 from this AIM7 four-camera configuration. On other images, identify the corresponding ISP output nodes using v4l2-ctl --list-devices and media-ctl -p, then update the camera list near the beginning of the script. This example has not been verified on AIM5.

    Screenshot from the test (each camera image rotated 180° to correct its orientation, with titles unchanged; 1920×1080, losslessly compressed):

    AIM7 simultaneous four-camera preview

    AIM7 simultaneous four-camera preview

    10. MIPI DSI​

    Both modules connect displays through the carrier board MIPI DSI port, using their own panel overlays. AIM5 uses rk3576-armsom-aim5-display-800x1280-8hd-overlay.dtbo, enabled in /boot/uEnv/uEnvarmsom-aim5-io.txt. The example below uses AIM7 and rk3588-armsom-aim7-display-800x1280-8hd-overlay.dtbo; it must match the actual panel.

    armsom@armsom:~$ ls /boot/dtb/overlay/rk3588-armsom-aim7-display-*.dtbo
    armsom@armsom:~$ sudo nano /boot/uEnv/uEnvarmsom-aim7-io.txt

    Enable the corresponding line:

    dtoverlay=/dtb/overlay/rk3588-armsom-aim7-display-800x1280-8hd-overlay.dtbo

    Save and reboot, then inspect the display connection and touch input devices:

    armsom@armsom:~$ ls /sys/class/drm/
    armsom@armsom:~$ cat /sys/class/drm/card*-DSI-*/status
    armsom@armsom:~$ cat /proc/bus/input/devices

    Touch input requires a matching panel, controller, and overlay.

    11. FAN​

    Connect a fan to the carrier board's fan connector. The official device tree's pwm-fan driver adjusts it according to temperature. hwmon numbering can change, so locate pwmfan first:

    armsom@armsom:~$ grep -H '^pwmfan$' /sys/class/hwmon/hwmon*/name

    The tested board uses hwmon7:

    armsom@armsom:~$ cat /sys/class/hwmon/hwmon7/name
    armsom@armsom:~$ cat /sys/class/hwmon/hwmon7/pwm1
    pwmfan
    0

    pwm1 is a PWM control value from 0 to 255, not an RPM reading. A value of 0 at low temperature is normal.

    12. 40 PIN​

    The AIM-IO 40-pin header exposes multiplexed GPIO, I2C, SPI, UART, and PWM signals. The pin table and conflicts below are AIM7 examples; use the AIM5 module documentation to confirm its GPIO mapping. Available functions depend on the device tree and other connected peripherals.

    Enabled functionPhysical header pins to avoid
    I2C4 (RTC, CAM1, and some display touch controllers)3, 5
    CAM0 I2C227, 28
    OV13850 reset, PWDN, and clocks11, 15, 31, 33, 36
    The MIPI DSI display configuration above7, 32

    Do not change pins used by a camera or RTC to GPIO outputs. Check current ownership before use:

    armsom@armsom:~$ sudo cat /sys/kernel/debug/gpio
    armsom@armsom:~$ sudo cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins

    See GPIO Usage, UART Usage, SPI Usage, and PWM Usage, selecting signals from your module's pin definition. Power off before connecting peripherals and confirm signal voltage against the carrier pin definition and schematic.

    Product Certificate​

    CE / FCC / RoHS​

    Supply Statement​

    The ArmSoM-AIM7 will be produced at least until August 2034.

    Purchase Samples​

    CrowdSupply : https://www.crowdsupply.com/armsom/rk3588-ai-module7

    ArmSoM online shop: https://www.armsom.org/product-page/aim7

    ArmSoM Aliexpress online shop: https://www.aliexpress.com/item/1005012690621621.html

    ArmSoM Taobao shop: https://item.taobao.com/item.htm?id=1066393300562

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

    What do others say about the AIM7?​

    • itsfoss: ArmSoM AIM7: A Promising Upcoming Rockchip Device for AI Development
    • taoofmac: The ArmSom AI Module 7
    • Technically Unsure: ArmSoM AIM7 & AIMIO (RK3588): Benchmarks & DeepSeek in Action
    • sbc compare: AIM7 Benchmark Comparison on sbc.compare

    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.

    Contact us