Skip to main content

1.1.1 RDK X3

Interface Overview

RDK X3 provides interfaces such as Ethernet port, USB, camera, LCD, HDMI, 40PIN, etc., which facilitate the development and testing of image multimedia and deep learning algorithms. The interface layout of the development board is as follows: image-20220802160110194

No.FunctionNo.FunctionNo.Function
1USB Type C power interface2MIPI CSI camera interface3Debug serial port
4Micro USB 2.0 interface5Two USB 2.0 Type A interfaces6USB 3.0 Type A interface
7Gigabit Ethernet port840PIN interface9HDMI interface
10Power and status LED indicators11Wi-Fi antenna interface12TF card interface (bottom)

Core Module Interface

Full integration design, no core module.

Power interface

The development board provides one USB Type C interface (Interface 1) as the power supply interface, which requires the use of a power adapter supporting 5V/3A to power the development board. After connecting the power adapter to the development board, the development board's red power indicator light illuminates, indicating that the development board is powered properly.

caution

Do not use the USB interface of the computer to power the development board, as it may cause insufficient power supply and lead to abnormal power failure and repeated restarts of the development board.

Debug UART

The development board provides one debug UART (Interface 3) for serial port login and debugging functions. The parameter configuration of the computer serial port tool is as follows:

  • Baud rate: 921600
  • Data bits: 8
  • Parity: None
  • Stop bits: 1
  • Flow Control: None

When connecting the UART, the DuPont wire needs to be connected to Interface 3 of the development board, and the USB serial adapter needs to be connected to the computer. After the connection is completed, it should look like the following figure:image-20220612121707048

Ethernet Port

The development board provides one Gigabit Ethernet interface (Interface 7), supporting the 1000BASE-T and 100BASE-T standards. It defaults to static IP mode with the IP address 192.168.1.10. To confirm the IP address of the development board, you can log in to the device via serial port and use the ifconfig command to view the configuration of the eth0 interface:

sunrise@ubuntu:/# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::211:22ff:fe6f:de17 prefixlen 64 scopeid 0x20<link>
ether 00:11:22:6f:de:17 txqueuelen 1000 (Ethernet)
RX packets 112 bytes 7327 (7.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 197 bytes 8678 (8.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 39 base 0xc000

If the system displays the following printout after inserting the Ethernet cable into the development board, it indicates that the Ethernet connection is normal:

[13293.952661] st_gmac a5014000.ethernet eth0: Link is Down
[13295.062996] st_gmac a5014000.ethernet: Link is Up - 1000/Full
[13296.000750] st_gmac a5014000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

HDMI Interface

The development board provides one HDMI display interface (Interface 9), supporting a maximum resolution of 1080P. The development board outputs the Ubuntu system desktop (Ubuntu Server version displaying logo icons) on the monitor via the HDMI interface. Additionally, the HDMI interface supports real-time display of camera and network stream images.

The currently supported display resolutions for the HDMI interface are as follows:

  • 1920x1080
  • 1280x720
  • 1024x600
  • 800x480

USB Interface

Due to the X3 chip providing only one USB interface, the development board implements multiple USB interface extensions through hardware circuits to meet the needs of multiple USB device connections. The interface descriptions are as follows:

Interface TypeInterface NumberQuantityInterface Description
Micro USB 2.0Interface 41USB Device mode, used for connecting to the host to implement functions such as ADB, Fastboot, UVC, etc.
USB 2.0 Type AInterface 52USB Host mode, used for connecting USB 2.0 peripherals
USB 3.0 Type AInterface 61USB Host mode, used for connecting USB 3.0 peripherals

USB host and device mode switching is fully implemented by hardware circuits. Users only need to connect devices according to the logic in the table above.

The development board's USB Host and Device functions are mutually exclusive. When a device is connected to the Device interface, the Host interface will automatically become inactive.

Using a USB Flash Drive

Video: https://www.youtube.com/watch?v=xOepQzxnjCI&list=PLSxjn4YS2IuFUWcLGj2_uuCfLYnNYw6Ld&index=13

The USB Type A interfaces (Interfaces 5 and 6) on the development board support USB flash drive functionality. They can automatically detect and mount USB flash drives. The default mount directory is /media/sda1. Users can use the touch command to confirm that the USB flash drive is working properly, as shown below:

sunrise@ubuntu:/media/sda1$ sudo touch test
[sudo] password for sunrise:
sunrise@ubuntu:/media/sda1$ ls -l test
-rwxr-xr-x 1 root root 0 Apr 30 21:19 test
sunrise@ubuntu:/media/sda1$

Using a USB Serial Port Adapter

The USB Type A interfaces (Interfaces 5 and 6) on the development board support USB serial port adapter functionality. They can automatically detect the USB serial port adapter and create device nodes /dev/ttyUSB* or /dev/ttyACM* (the asterisk represents a number starting from 0). Users can refer to the UART Usage section for instructions on using the serial port.

USB Camera

Video: https://www.youtube.com/watch?v=7xNgU1i2xsk&list=PLSxjn4YS2IuFUWcLGj2_uuCfLYnNYw6Ld&index=2

The development board's USB Type A interface supports USB camera functionality and can automatically detect the connection of a USB camera and create a device node /dev/video8. Users can use the v4l2 command to confirm if the USB camera is working properly, as shown below:

sunrise@ubuntu:/media/sda1$ sudo v4l2-ctl -d /dev/video8 --all
Driver Info:
Driver name : uvcvideo
Card type : FHD Camera: FHD Camera
Bus info : usb-xhci-hcd.0.auto-1.2
Driver version : 4.14.87
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
```Driver name: uvcvideo
Model: FHD Camera: FHD Camera
Serial: 12345
Bus info: 1.2
Media version: 4.14.87
Hardware revision: 0x00000020 (32)
Driver version: 4.14.87

Interface Info:
ID: 0x03000002
Type: V4L Video

Entity Info:
ID: 0x00000001 (1)
Name: FHD Camera: FHD Camera
Function: V4L2 I/O
Pad 0x01000004: Sink
Link 0x0200000a: from remote pad 0x1000007 of entity 'Processing 2': Data, Enabled, Immutable

Priority: 2
Video input: 0 (Camera 1: ok)

Format Video Capture:
Width/Height: 1920/1080
Pixel Format: 'MJPG' (Motion-JPEG)
Field: None
Bytes per Line: 0
Size Image: 4147200
Colorspace: Default
Transfer Function: Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization: Default (maps to Full Range)
Flags:

Crop Capability Video Capture:
Bounds: Left 0, Top 0, Width 1920, Height 1080
Default: Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1

Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:

Streaming Parameters Video Capture:
Capabilities: timeperframe
Frames per second: 30.000 (30/1)
Read buffers: 0

MIPI CSI

Video: https://www.youtube.com/watch?v=nabpS2CUkjY&list=PLSxjn4YS2IuFUWcLGj2_uuCfLYnNYw6Ld&index=18

The development board provides 1 MIPI CSI interface (Interface 2), which allows for the connection of MIPI cameras. Currently, the development board is compatible with multiple specifications of camera modules. The module models and specifications are as follows:

No.SensorResolutionFOVI2C Device Address
1GC4663400WH:104 V:70 D:1130x29
2JXF37200WH:62 V:37 D:680x40
3IMX219800WH:62 V:37 D:680x10
4IMX4771200WH:62 V:37 D:680x1a
5OV5647500WH:62 V:37 D:680x36

The camera module is connected to the development board through a FPC cable. Please note that the blue side of the cable should face up when inserting it into the connector.

Taking the JXF37 camera module as an example, after installation, it should look like the following picture: image-X3-PI-Camera

After installation, users can use the i2cdetect command to verify if the I2C address of the module can be detected correctly. If it cannot be detected, users need to check if the FPC cable connection is correct. When the I2C address is successfully detected, the log will print as follows:

# First, enable the 24MHz master clock for the sensor
sunrise@ubuntu:~# sudo bash -c "echo 1 > /sys/class/vps/mipi_host0/param/snrclk_en"
sunrise@ubuntu:~# sudo bash -c "echo 24000000 > /sys/class/vps/mipi_host0/param/snrclk_freq"
# Execute the i2cdetect command, and the displayed 40 is the I2C device address of the JXF37 sensor, indicating that the camera is connected correctly
sunrise@ubuntu:~# sudo i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

The purchase method for the above Camera module can be referred to on the purchase link.

caution

Important: It is strictly prohibited to plug or unplug the camera while the development board is powered on, as it may damage the camera module.

MIPI DSI Interface

Not applicable.

Micro SD Interface

The development board provides 1 Micro SD card interface (Interface 12). It is recommended to use a storage card with a capacity of at least 8GB to meet the installation requirements of the Ubuntu operating system and related packages.

caution

Hot-plugging the TF storage card is prohibited during the use of the development board, as it may cause abnormal system operation or even damage to the storage card file system.

Wi-Fi Antenna Interface

Video: https://www.youtube.com/watch?v=daliyPZNoLM&list=PLSxjn4YS2IuFUWcLGj2_uuCfLYnNYw6Ld&index=17

The development board supports both onboard and external antennas for wireless networking. In most cases, the onboard antenna can meet the user's needs. However, when the development board is installed with a metal casing, an external antenna needs to be connected to Interface 11 to enhance signal strength.

tip

To convert the onboard antenna to an external antenna, use the following command: sed -i 's/trace/cable/g' /etc/init.d/hobot-wifi. Restart the system for the changes to take effect. To revert to the onboard antenna, use the following command: sed -i 's/cable/trace/g' /etc/init.d/hobot-wifi. Restart the system for the changes to take effect.

40-pin header interface

The RDK X3 development board provides a 40-pin header interface with IO signals using a 3.3V logic level design. The pin definitions are compatible with products such as Raspberry Pi. The detailed pin definitions and multiplex relationships are as follows:

image-20220501181722851

The development board has silk screen marking for the 40-pin interface, making it convenient for users to operate. The positions of PIN1 and PIN40 are as follows:

image-X3-PI-40Pin_Index

For the usage of each function of the 40-pin interface, please refer to the 40PIN Function Usage section.

Functional Control Interfaces

No such interface.

IO Level Switching Interface

This interface is not available.