Skip to main content

Software Setup

This page covers operating system compatibility, boot configuration, and software setup for the IRIV EdgeAI CM5.

Operating System

The IRIV EdgeAI CM5 is based on the Raspberry Pi Compute Module 5.

OSStatus
Raspberry Pi OSSupported

For other operating systems compatible with Raspberry Pi CM5, refer to the official Raspberry Pi documentation.

Boot Modes

Boot/Run Mode Switch

PositionFunction
BootCM5 enters USB boot mode for OS programming via USB-C
RunNormal operation. USB-C provides UART0 console access via USB-UART converter.

Boot Sources

SourceSupport
eMMCYes (primary)
NVMe SSDYes (via M.2 Key-M socket, bootable)

Storage Options

Built-in eMMC

ParameterOptions
Capacity16GB / 32GB / 64GB (varies by SKU)
RAM2GB / 4GB / 8GB / 16GB LPDDR4-4267

M.2 NVMe SSD

ParameterSpecification
InterfacePCIe Gen 2, 1-lane
Supported Form Factors2230, 2242
BootableYes
SATA SupportNo (M.2 SATA SSDs are not supported)

Serial Console Access

When the Boot/Run switch is in Run position, the USB-C port provides serial console access:

ParameterValue
DeviceUART0 via USB-UART converter
ConnectionUSB-C to host computer
Terminal SettingsStandard Raspberry Pi serial console settings

Use a terminal application (PuTTY, minicom, screen) to connect to the USB serial port.

I2C Devices

The IRIV EdgeAI CM5 has two I2C devices on I2C1:

OLED Display (SSD1315)

ParameterValue
Type0.96" OLED
ControllerSSD1315
I2C BusI2C1
Address0x3C

Secure Authentication (ATECC608B)

ParameterValue
TypeCryptographic authentication IC
I2C BusI2C1
Address0x60

Scan for I2C devices:

i2cdetect -y 1

GPIO Configuration

User LEDs

LEDGPIOActive State
LED0GPIO20HIGH = ON
LED1GPIO21HIGH = ON

Example:

# Turn on LED0
pinctrl set 20 op dh

# Turn off LED0
pinctrl set 20 op dl

Active Buzzer

ParameterValue
GPIOGPIO19
Active StateHIGH = Beep
# Activate buzzer
pinctrl set 19 op dh

# Deactivate buzzer
pinctrl set 19 op dl

Digital Inputs

InputGPIORead State
DI0GPIO22Read input level
DI1GPIO27Read input level
# Read DI0
pinctrl get 22

Digital Outputs

OutputGPIOControl
DO0GPIO23Set HIGH/LOW
DO1GPIO24Set HIGH/LOW
# Set DO0 HIGH
pinctrl set 23 op dh

# Set DO0 LOW
pinctrl set 23 op dl

LED Lighting Drivers

DriverGPIOFeatures
L0GPIO12PWM capable
L1GPIO13PWM capable

The LED drivers support PWM for brightness control. Output voltage follows VIN.

Mini PCIe Module Control

FunctionGPIOUsage
PowerGPIO6HIGH = Power on
ResetGPIO5LOW = Reset (active low)
# Power cycle mPCIe module
pinctrl set 6 op dl # Power off
sleep 1
pinctrl set 6 op dh # Power on

# Reset mPCIe module
pinctrl set 5 op dl # Assert reset
sleep 1
pinctrl set 5 op dh # Release reset

RS485 Communication

ParameterValue
Device/dev/ttyACM0
Max Baud Rate500 kbps
Direction ControlAutomatic
Termination120 ohm (onboard)

Example using Python:

import serial

ser = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
ser.write(b'Hello RS485\n')
response = ser.readline()
ser.close()

AI Accelerator Setup

Note: Specific AI software stack references are not provided in the official datasheet.

For Raspberry Pi AI HAT+ setup:

  1. Install the AI HAT+ hardware (see AI Quickstart)
  2. Follow official Raspberry Pi AI HAT+ software installation guides
  3. Configure according to your AI application requirements

RTC Configuration

ParameterValue
Battery TypeCR2032
FunctionMaintains time when system is powered off

The RTC is built into the CM5 module. Install a CR2032 battery to maintain time when powered off.

Wireless Configuration

WiFi

Configure using standard Raspberry Pi OS network tools:

# List available networks
nmcli device wifi list

# Connect to network
nmcli device wifi connect "SSID" password "password"

Disabling Wireless

To permanently disable WiFi or Bluetooth, solder the corresponding jumper pads on the internal board:

  • WL: WiFi disable
  • BT: Bluetooth disable