Skip to main content

1 Product Introduction

The AFE‑A702 is using the ASR‑A702 as its motherboard.
This document will share how to use AFE-A702/ASR-A702 with Ubuntu 24.04.
Platform: Jetson Thor

1-1 Product Features

  • Ubuntu 24.04 validation ready
  • Peripheral interface function verification
  • Network, display, storage, and expansion interface validation
  • Suitable for robotic / edge AI application validation workflow
  • Supports Advantech Robotic Suite integration workflow

1-2 Official Website


2 Hardware Interface Introduction

2-1 Layout and Sizes

  • ASR-A702/AFE-A702 series
ASR-A702 Size

2-2 Switch and Jumper

Please refer to the following images for the switch and jumper settings.

Switch and Jumper
Switch and Jumper
ItemNameDescription
1RST_RCOVY_(1_2)System reset and system image recovery
2COM12_SAFE1COM Port Failsafe Function Selection
3COM1_SW1COM1 SW RS232/422/485 mode selection
4COM2_SW1COM2 SW RS232/422/485 mode selection
5PWRBTN1System power button
6JPSON1AT/ATX mode switch

2-3 Connector Introduction

Please refer to the following images for the IO connectors, more details about the pin defination can be found in the AFE-A702 User Manual.

Connector Location
Connector Location
ItemNameDescription
1CAGE1_SFP28SFP28 connector
2CAN1CAN BUS
3GPIO1GPIO 16-bit isolation CONN I/O
4REMOTE1Remote connector
5DCIN1DC IN power connector
6M2_E1M.2 E-Key connector
7COM1COM port 1
8COM2COM port 2
9BAT1Battery connector
10SYS_FAN2System fan
11SYS_FAN3System fan
12M2_M1M.2 M-Key connector
13PWRBTN1Power button
14OTG1Type-C (flash image Recovery mode)
15HDMI1_USB0506HDMI + USB 3.2 Gen2 stack connector
16LAN2_USB34RJ-45 + USB 3.2 Gen2 stack connector
17LAN1_USB12RJ-45 + USB 3.2 Gen2 stack connector
18LAN34RJ45 stack connector
19LAN56_POERJ45 stack connector + POE
20POE_PWR1POE power connector
21M2_B1M.2 B-Key connector
22CPU_FAN1CPU fan connector
23SYS_FAN1System fan
24CN2GMSL power connector
25GMSL1GMSL MIPI-120 pins connector
26SIM card holderSIM card holder

3 Operating System

3-1 BSP launcher Download

BSP launcher Download link: Download

BSP launcher board name ASRA702A1 is mean A101-1(ES), board name ASRA702A2 is mean A101-2(MP). Please be causeful when using BSP launcher to flash the BSP.

Controller Area Network (CAN)
Controller Area Network (CAN)

4 Operating Method

4-1 Account and Password

The default account and password for AFE-A702 are ubuntu.


4-2 Fan

The smart fan setting is provided as following table.

Temperature (℃)Fan PWM ValueFan RPM Value
0771750
50771750
651022300
781602900
902054170
1002555371
1152555371

4-3 Controller Area Network (CAN)

ASR-A702/AFE-A702 provides the following Controller Area Network (CAN). The CAN pin definition is shown as below.

Controller Area Network (CAN)

Please refer to the following commands for using CAN bus.

Connect : Hi-Hi / Lo-Lo

(CAN0 - CAN1)
$ sudo ip link set can0 up type can bitrate 125000
$ sudo ip link set can1 up type can bitrate 125000
$ sudo ifconfig can0 up
$ sudo ifconfig can1 up
$ candump can0 &
$ cansend can1 1F334455#1122334455667788

4-4 Trusted Platform Module (TPM)

ASR-A702/AFE-A702 provides TPM 2.0 module to enhance system security. Please install tpm2-tools by apt command first, and then refer to the following commands for using TPM.

$ sudo apt install -y tpm2-tools
$ sudo -s

4-4-1 File Encryption and Decryption

  1. Create a platform level primary key and store the content into platform_primary.ctx file.
# tpm2_createprimary -C p -c platform_primary.ctx
  1. Based on platform primary key, generate a public key and private key by RSA2048 encryption method.
# tpm2_create -C platform_primary.ctx -G rsa2048 -u key.pub -r key.priv
  1. Load the platform primary key into TPM and store the content into key.ctx file. The key.pub could be shared to others for encryption purpose, while key.priv should be kept secret.
# tpm2_load -C platform_primary.ctx -u key.pub -r key.priv -c key.ctx
  1. On the other devices, use key.pub to encrypt the message from msg.dat to msg.enc.
# tpm2_loadexternal -C n -u key.pub -c pub.ctx
# tpm2_rsaencrypt -c pub.ctx -o msg.enc msg.dat
  1. Take the msg.enc file back to AFE-A702 and decrypt the message by key.ctx. The decrypted message will be stored into msg.ptext file.
# tpm2_rsadecrypt -c key.ctx -o msg.ptext msg.enc
# cat msg.ptext

4-5 Digital Input Output (DIO)

ASR-A702/AFE-A702 provides 8 bits DI and 8 bits DO, all DO are open-drain hardware design, it will require external power and pull-up resistor. The DIO pin definition is shown as below. Please refer to the following commands for using DIO and hardware connection example.

Digital Input Output (DIO)

Hardware connection example for DIO are shown as below.

  1. When DO0 be set to low, MOSFET will be opened, current will go through LED.
  2. When DO0 be set to high, MOSFET will be closed, LED will be off.
  3. If the switch is pressed, DI0 could read the low level.
  4. If the switch is released, DI0 will read high level through the pull-up resistor.
Digital Input Output (DIO)

4-6 Communication Port (COM)

The COM pin definition is shown as below.

Communication Port (COM)
Communication Port (COM)

The mode selection is shown as below.

Communication Port (COM)
Communication Port (COM)

RS-232 Configuration (TI_THVD4431)

RS-232 - UART 1 (COM1)

HW Setting: COM1_SW / COM2_SW both switch OFF-OFF-OFF-OFF
Test Steps

$ stty -F /dev/ttyAMA9 speed 115200 raw -echo $ cat /dev/ttyAMA9 & echo "1234" > /dev/ttyAMA9


RS-232 - UART 2 (COM2)

HW Setting: COM1_SW / COM2_SW both switch OFF-OFF-OFF-OFF
Test Steps

$ stty -F /dev/ttyAMA10 speed 115200 raw -echo $ cat /dev/ttyAMA10 & echo "1234" > /dev/ttyAMA10


4-7 Camera Solution

ASR-A702/AFE-A702 integrated Orbbec driver into image, please refer to the following commands for using Orbbec Gemini 335Lg. ASR-A702/AFE-A702 also supports other GMSL cameras, such as StereoLabs ZedX, please refer to the GMSL Driver for AFE-A702 for detailed instructions.

Orbbec Setup

Install the Orbbec driver:

cd /tools/orbbec/
./Install.sh

After installation, follow these steps:

  1. Power Down the system
  2. Plug in the Orbbec Gemini 335Lg camera
  3. Power Up the system

Load the kernel module:

sudo modprobe g300

Verify camera streaming:

gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,width=1280,height=720,framerate=30/1' ! autovideosink

4-8 Inertial Measurement Unit (IMU)

ASR-A702/AFE-A702 supports two IMU sensors, one is onboard BMI088, the other is MTi-3 which is optional.
In order to connect IMU data into ROS2, we need to install the related SDK and packages first.

$ sudo apt install -y ros-humble-rviz2 ros-humble-imu-tools ros-humble-imu-filter-madgwick pre-commit ros-humble-nmea-msgs ros-humble-mavros-msgs

4-8-1 BMI088

BMI088 driver had been integrated in JetPack 6.1 by default, please refer to the following commands for getting accelerometer and gyroscope datas from BMI088.

$ sudo su # /usr/local/bin/IMU/iio_generic_buffer -a -c 10 --device-name accelerometer -g # /usr/local/bin/IMU/iio_generic_buffer -a -c 10 --device-name gyroscope -g

After checking BMI088 is working, we can install its ROS2 package to visualize the data in rviz2.

$ wget https://iedgeblob.blob.core.windows.net/robotic-suite-public/sensor/xsens_bmi088-node-1.0.0-humble-imx8.run $ chmod +x xsens_bmi088-node-1.0.0-humble-imx8.run $ sudo ./xsens_bmi088-node-1.0.0-humble-imx8.run $ source /opt/ros/humble/setup.bash $ source /usr/local/Advantech/ros/humble/sensor_extension/ros2-imu-bmi088/install/setup.bash $ sudo chown -R ubuntu /dev/iio:device* $ sudo chown -R ubuntu /sys/devices/platform/bus@0/c240000.i2c/i2c-1/1-0068/iio:device* $ ros2 run ros2_bmi088 ros2_bmi088 & $ ros2 run imu_filter_madgwick imu_filter_madgwick_node --ros-args -p use_mag:=false & $ rviz2

Click Add in rviz2, select By topic, add /imu/data topic , and change Fixed Frame to imu_link for visualizing the IMU data.



4-8-2 MTi-3

MTi-3 IMU sensor is installed on GMSL board which part number is AFE-RM04-4PA1 and AFE-RM04-8PA1.


After sensor has insatlled, follow these steps to visualize the data in rviz2. More details can be found in the Official Github.

$ cd ~ $ git clone --branch ros2 https://github.com/xsenssupport/Xsens_MTi_ROS_Driver_and_Ntrip_Client.git $ mv Xsens_MTi_ROS_Driver_and_Ntrip_Client ros2_ws $ cd ~/ros2_ws $ colcon build --symlink-install

Edit ~/ros2_ws/install/xsens_mti_ros2_driver/share/xsens_mti_ros2_driver/param/xsens_mti_node.yaml, set scan_for_devices to false, port to /dev/ttyTHS3, and baudrate to 115200.

$ sudo chmod 777 /dev/ttyTHS3 $ sudo stty -F /dev/ttyTHS3 speed 115200 -echo $ source /opt/ros/humble/setup.bash $ source ~/ros2_ws/install/setup.bash $ ros2 launch xsens_mti_ros2_driver display.launch.py



4-9 Wi-Fi & Bluetooth

AFE-A702 supports AW-XB560NF Wi-Fi modules.
The drivers for module have been integrated into the AFE-A702 image.

4-10 LTE & 5G

AFE-A702 supports AIW-356DQ-E01 LTE/5G modules.

4-10-1 AIW-356DQ-E01

Run the following commands to install wvdial, set up the PPP connection, and verify external network access.

$ lsusb $ sudo apt-get update $ sudo apt-get install -y wvdial $ sudo vi /etc/wvdial.conf $ sudo wvdial & $ ifconfig $ ping 8.8.8.8

4-11 PPS Time Synchronization

AFE-A702 can install AIW-210XU-001 GNSS module to get PPS(pulse per second) for time synchronizing on application, PPS signal is shown as below.
Please refer to the following commands for installing GPS and time synchronzing related utility for PPS time synchronization.

$ sudo apt install -y gpsd gpsd-clients chrony $ sudo echo -e START_DAEMON="true""\n"DEVICES="/dev/ttyACM0 /dev/pps0""\n"GPSD_OPTIONS="-n""\n"BAUDRATE="9600" > /etc/default/gpsd $ sudo systemctl restart gpsd $ sudo echo -e refclock SHM 0 refid NMEA offset 0.9999 delay 0.2 noselect"\n"refclock PPS /dev/pps0 lock NMEA refid PPS prefer"\n"makestep 0.001 10 > /etc/chrony $ sudo systemctl restart chrony

Put the GPS antenna to outdoor, and open xgps utility to check GPS status until it is 3D fixed.


Check chrony sources to see PPS is used as time source, the system time will synchronize with PPS time once the deviation threshold of time is larger than 1ms.

$ watch -n 0.1 chronyc sources