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
2-2 Switch and Jumper
Please refer to the following images for the switch and jumper settings.
| Item | Name | Description |
|---|---|---|
| 1 | RST_RCOVY_(1_2) | System reset and system image recovery |
| 2 | COM12_SAFE1 | COM Port Failsafe Function Selection |
| 3 | COM1_SW1 | COM1 SW RS232/422/485 mode selection |
| 4 | COM2_SW1 | COM2 SW RS232/422/485 mode selection |
| 5 | PWRBTN1 | System power button |
| 6 | JPSON1 | AT/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.
| Item | Name | Description |
|---|---|---|
| 1 | CAGE1_SFP28 | SFP28 connector |
| 2 | CAN1 | CAN BUS |
| 3 | GPIO1 | GPIO 16-bit isolation CONN I/O |
| 4 | REMOTE1 | Remote connector |
| 5 | DCIN1 | DC IN power connector |
| 6 | M2_E1 | M.2 E-Key connector |
| 7 | COM1 | COM port 1 |
| 8 | COM2 | COM port 2 |
| 9 | BAT1 | Battery connector |
| 10 | SYS_FAN2 | System fan |
| 11 | SYS_FAN3 | System fan |
| 12 | M2_M1 | M.2 M-Key connector |
| 13 | PWRBTN1 | Power button |
| 14 | OTG1 | Type-C (flash image Recovery mode) |
| 15 | HDMI1_USB0506 | HDMI + USB 3.2 Gen2 stack connector |
| 16 | LAN2_USB34 | RJ-45 + USB 3.2 Gen2 stack connector |
| 17 | LAN1_USB12 | RJ-45 + USB 3.2 Gen2 stack connector |
| 18 | LAN34 | RJ45 stack connector |
| 19 | LAN56_POE | RJ45 stack connector + POE |
| 20 | POE_PWR1 | POE power connector |
| 21 | M2_B1 | M.2 B-Key connector |
| 22 | CPU_FAN1 | CPU fan connector |
| 23 | SYS_FAN1 | System fan |
| 24 | CN2 | GMSL power connector |
| 25 | GMSL1 | GMSL MIPI-120 pins connector |
| 26 | SIM card holder | SIM 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.
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 Value | Fan RPM Value |
|---|---|---|
| 0 | 77 | 1750 |
| 50 | 77 | 1750 |
| 65 | 102 | 2300 |
| 78 | 160 | 2900 |
| 90 | 205 | 4170 |
| 100 | 255 | 5371 |
| 115 | 255 | 5371 |
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.
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
- Create a platform level primary key and store the content into platform_primary.ctx file.
# tpm2_createprimary -C p -c platform_primary.ctx
- 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
- 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
- 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
- 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.
Hardware connection example for DIO are shown as below.
- When DO0 be set to low, MOSFET will be opened, current will go through LED.
- When DO0 be set to high, MOSFET will be closed, LED will be off.
- If the switch is pressed, DI0 could read the low level.
- If the switch is released, DI0 will read high level through the pull-up resistor.
4-6 Communication Port (COM)
The COM pin definition is shown as below.


The mode selection is shown as below.


- RS-232
- RS-422
- RS-485
RS-232 Configuration (TI_THVD4431)
RS-232 - UART 1 (COM1)
HW Setting: COM1_SW / COM2_SW both switch OFF-OFF-OFF-OFFTest 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-OFFTest Steps
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA10 & echo "1234" > /dev/ttyAMA10
RS-422 Configuration (TI_THVD4431)
RS-422 - UART 1 (COM1)
HW Setting: COM1_SW / COM2_SW both switch ON-OFF-ON-OFFTest Steps
$ stty -F /dev/ttyAMA9 speed 115200 raw -echo
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA9 &
$ cat /dev/ttyAMA10 &
$ echo "ttyAMA9:echo" > /dev/ttyAMA9
$ echo "ttyAMA10:echo" > /dev/ttyAMA10
RS-422 - UART 2 (COM2)
HW Setting: Set both COM1_SW & COM2_SW to ON-OFF-ON-OFFTest Steps
$ stty -F /dev/ttyAMA9 speed 115200 raw -echo
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA9 &
$ cat /dev/ttyAMA10 &
$ echo "ttyAMA9:echo" > /dev/ttyAMA9
$ echo "ttyAMA10:echo" > /dev/ttyAMA10
RS-485 Configuration (TI_THVD4431)
RS-485 - UART 1 (COM1)
Hardware control setting mode: Transmitter ON-ON-ON-OFF, Receiver ON-ON-ON-ONTest Steps
$ stty -F /dev/ttyAMA9 speed 115200 raw -echo
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA10 &
$ echo "ttyAMA9:echo" > /dev/ttyAMA9
Software control setting mode: COM2 transmits to COM1
Receiver: ON-ON-OFF-ON, Transmitter: ON-ON-ON-OFF
Test Steps
$ echo 663 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/PM.04/direction
$ echo 1 > /sys/class/gpio/PM.04/value
$ echo 631 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/PH.04/direction
$ echo 0 > /sys/class/gpio/PH.04/value
$ stty -F /dev/ttyAMA9 speed 115200 raw -echo
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA10 &
$ echo "ttyAMA9:echo" > /dev/ttyAMA9
RS-485 - UART 2 (COM2)
Hardware control setting mode: Transmitter ON-ON-ON-OFF, Receiver ON-ON-ON-ONTest Steps
$ stty -F /dev/ttyAMA9 speed 115200 raw -echo
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA9 &
$ echo "ttyAMA10:echo" > /dev/ttyAMA10
Software control setting mode: COM2 transmits to COM1
Receiver: ON-ON-OFF-ON, Transmitter: ON-ON-ON-OFF
Test Steps
$ echo 663 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/PM.04/direction
$ echo 1 > /sys/class/gpio/PM.04/value
$ echo 631 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/PH.04/direction
$ echo 0 > /sys/class/gpio/PH.04/value
$ stty -F /dev/ttyAMA9 speed 115200 raw -echo
$ stty -F /dev/ttyAMA10 speed 115200 raw -echo
$ cat /dev/ttyAMA9 &
$ echo "ttyAMA10:echo" > /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:
- Power Down the system
- Plug in the Orbbec Gemini 335Lg camera
- 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
- JetPack 7.1 20260423
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
- JetPack 7.1 20260423
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