RDK Series
Step 1 Connect devices
This tutorial takes the mirroring of the? version of the RDK X5 motherboard as an example.
Connect the IMU attitude sensor to the I2C interface of the RDK X5 as shown below.


2. Check device status
View I2C Devices
python3 /app/40pin_samples/test_i2c.py
3. Install the driver library
3.1** Install the Python libraries required for the code **
sudo apt update
sudo apt install -y python3-serial
sudo apt install -y python3-smbus23.2 Transfer Files
IMU_ROS2.zip Friends who are not yet familiar with using MobaXterm to transfer files, please refer to the following webpage for detailed installation and operation methods of MobaXterm:文件远程传输
Drag the decompressed files onto Raspberry Pi 5 via MobaXterm software.

4. View IMU data
**Enter the ~/IMU_Library directory and run the IMU_Serial_Library.py file **
cd ~/imu_ros1/src/IMU_ROS1/IMU_Library
# or
cd ~/imu_ros2/src/IMU_ROS2/IMU_Library
# Run the IMU data printing file
python3 -m IMU_Library.IMU_I2C_Library
Attention: The above is the data reading of 10-axis IMU, 6-axis without magnetometer and barometer data, 9-axis without barometer data.
5. IMU Calibration
**Enter the ~/IMU_Library directory and run the imu_calibration_tool.py file **
cd ~/IMU_Library
# Run the IMU calibration code file -- I2C communication calibration
# Run all calibrations (full, magnetometer, temperature)
python3 -m IMU_Library.imu_calibration_tool --mode i2c --port 0
# Full calibration only
python3 -m IMU_Library.imu_calibration_tool --mode i2c --port 0 --calibrate imu
# Magnetometer only
python3 -m IMU_Library.imu_calibration_tool --mode i2c --port 0 --calibrate mag
# Temperature only
python3 -m IMU_Library.imu_calibration_tool --mode i2c --port 0 --calibrate temp
6. Precautions
When using the RDK X5 main board, it is necessary to modify the serial number of the I2C bus according to the actual situation. The modification position is shown in the figure below. Usually, it is bus number 0.



