🛠 Mastering GPIO and I/O Interfaces on Xerxes Nano

Xerxes Nano Carrier Board for Jetson Orin Nano Super and Turing RK1 Modules · intermediaire · Apprenez à configurer et utiliser les interfaces SPI, UART, I2C et I2S de la carte Xerxes Nano pour connecter capteurs et affichages.

Objectives

This tutorial aims to understand the I/O architecture of the Xerxes Nano carrier board. Unlike monolithic boards, the Xerxes Nano exposes standard communication buses (SPI, UART, I2C, I2S) via dedicated connectors or specific pins. The goal is to configure these interfaces to communicate with external peripherals, such as environmental sensors (I2C) or OLED displays (SPI), while managing power and cooling via PWM and PoE connectors.

Required Hardware

Steps

  1. Hardware Preparation: Insert the Jetson or Turing module into the Xerxes Nano connector. Ensure the power jumper is set to 'USB' if using a standard charger, or 'PoE' if using Ethernet injection. Connect a fan to the PWM connector to prevent overheating during intensive tests.
  1. System Access: Connect to the board via SSH or serial (UART). Verify interface detection by listing available I2C devices:
sudo i2cdetect -l

If no bus appears, check kernel overlays in /boot/extlinux/extlinux.conf to enable necessary I2C/SPI controllers.

  1. I2C Configuration: For an I2C sensor, identify the bus address. Use i2cdetect to scan bus 1 (for example):
sudo i2cdetect -y 1

If the sensor responds (address displayed), install Python libraries for interaction:

sudo apt install python3-smbus python3-pip
pip3 install smbus2
  1. Communication Test: Create a simple Python script to read sensor data. Ensure SDA and SCL pins are correctly wired to the Xerxes Nano expansion connectors. Note that voltage levels must match (typically 3.3V).
  1. PWM Management: To control fan speed via the PWM connector, use the sysfs interface or NVIDIA daemon if available. Check control files in /sys/class/pwm/ to adjust the duty cycle.

Verification

Further Reading

Explore the open-source 'Xerxes Home Lab' tool for macOS to monitor board status. You can also leverage the M.2 PCIe Gen 3 port to add an AI accelerator or fast NVMe storage, or use the OCuLink connector to connect an external graphics card, turning the Xerxes Nano into a modular AI workstation.

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials