# Platform
Describes the sensors supported on Qualcomm® RB3 Gen 2 Development Kit.
The Qualcomm® RB3 Gen 2 Development Kit includes an application
processor and the Hexagon DSP, which is also called as the low-power
processor. The QSH resides on the low-power processor that runs with
Qualcomm Real Time (QuRT™) OS. The QSH client API resides on the
application processor that runs with Linux OS. The QuRT OS is designed
for the Hexagon DSP.
Note
See [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-115/soc.html) that are supported on Qualcomm Linux.
## RB3 Gen 2 Development Kit
The RB3 Gen 2 Development Kit includes the following hardware, sensor
parts, and connectivity configurations.
**Hardware specification for low-power processor**
- CPU clock up to 1.4 GHz Turbo
- Low-power island
- 2 MB local memory
- 1 MB reserved for QSH and relevant CoreBSP dependencies
- 1 MB reserved for audio and relevant CoreBSP dependencies
- Five dedicated buses for sensors: one I^3^C, one SPI, one I^2^C, and two
UARTs
- Twelve dedicated GPIOs with local memory for sensors
For more information about the low-power processor, see [RB3 Gen 2
Development Kit](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-251).
## Sensors on the platform
The following table lists the sensors supported on the RB3 Gen 2 Development Kit:
Table : Core Kit sensor
| **Placement** | **Sensor part** | **Sensor type** |
| --- | --- | --- |
| Main board | ICM42688 | Accelerometer and gyroscope |
| **Placement** | **Sensor part** | **Sensor type** |
| --- | --- | --- |
| Main board | ICM42688 | Accelerometer and gyroscope |
| Vision mezzanine | ICM42688 | Accelerometer and gyroscope |
| Vision mezzanine | ICP-10111 | Pressure/barometer |
| Vision mezzanine | AK09915 | Magnetometer |
| Vision mezzanine | | |
| | | |
| | | |
Note
On the Vision kit, only one accelerometer and gyroscope sensor part can be enabled at a time.
**Sensors and serial bus configuration**
The following table lists the GPIO numbers, serial bus, QSH registry
configuration, and interrupts for different sensors on the RB3 Gen 2
Development Kit:
| GPIOs | Interface | Interface | Sensors connected | QSH registry parameters | Interrupts | Interrupts | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| GPIO\_159 | I^2^C | Magnetometer (AK09915)
Pressure and magnetometer sensors are configured in the Polling mode in the RB3 Gen 2 Development Kit. | Polling
Note
Pressure and magnetometer sensors are configured in the Polling mode in the RB3 Gen 2 Development Kit. | Polling
Note
Pressure and magnetometer sensors are configured in the Polling mode in the RB3 Gen 2 Development Kit. | | |
| GPIO\_160 | I^2^C | Magnetometer (AK09915)
Pressure and magnetometer sensors are configured in the Polling mode in the RB3 Gen 2 Development Kit. | Polling
Note
Pressure and magnetometer sensors are configured in the Polling mode in the RB3 Gen 2 Development Kit. | Polling
Note
Pressure and magnetometer sensors are configured in the Polling mode in the RB3 Gen 2 Development Kit. | | |
| GPIO\_161 | I^3^C | Not connected | `bus_type: 3 (SNS_BUS_I3C_SDR)`
`bus_instance: 2`
`max_bus_speed_khz: 12500`
`slave_config:`: I^2^2C static address
`i3c_address`: User-defined I3C dynamic address | NA | NA | NA | | |
| GPIO\_162 | I^3^C | Not connected | `bus_type: 3 (SNS_BUS_I3C_SDR)`
`bus_instance: 2`
`max_bus_speed_khz: 12500`
`slave_config:`: I^2^2C static address
`i3c_address`: User-defined I3C dynamic address | NA | NA | NA | | |
| GPIO\_163 | SPI | Accelerometer and gyroscope (ICM42688) | `bus_type: 1 (SNS_BUS_SPI)`
`bus_instance: 3`
`max_bus_speed_khz: 9600`
`slave_config: 0`: For SPI, this value indicates the chip-select line for the slave. | GPIO\_103 | GPIO\_103 | GPIO\_103 | | |
| GPIO\_164 | SPI | Accelerometer and gyroscope (ICM42688) | `bus_type: 1 (SNS_BUS_SPI)`
`bus_instance: 3`
`max_bus_speed_khz: 9600`
`slave_config: 0`: For SPI, this value indicates the chip-select line for the slave. | GPIO\_103 | GPIO\_103 | GPIO\_103 | | |
| GPIO\_165 | SPI | Accelerometer and gyroscope (ICM42688) | `bus_type: 1 (SNS_BUS_SPI)`
`bus_instance: 3`
`max_bus_speed_khz: 9600`
`slave_config: 0`: For SPI, this value indicates the chip-select line for the slave. | GPIO\_103 | GPIO\_103 | GPIO\_103 | | |
| GPIO\_166 | SPI | Accelerometer and gyroscope (ICM42688) | `bus_type: 1 (SNS_BUS_SPI)`
`bus_instance: 3`
`max_bus_speed_khz: 9600`
`slave_config: 0`: For SPI, this value indicates the chip-select line for the slave. | GPIO\_103 | GPIO\_103 | GPIO\_103 | | |
| GPIO\_171 | UART | BTLE | `bus_type: 2 (SNS_BUS_UART)`
`bus_instance: 36` | NA | NA | NA | | |
| GPIO\_172 | UART | BTLE | `bus_type: 2 (SNS_BUS_UART)`
`bus_instance: 36` | NA | NA | NA | | |
| GPIO\_173 | UART | Debug | `bus_type: 2 (SNS_BUS_UART)`
`bus_instance: 7` | NA | NA | NA | | |
| GPIO\_174 | UART | Debug | `bus_type: 2 (SNS_BUS_UART)`
`bus_instance: 7` | NA | NA | NA | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
## Enable sensors on the RB3 Gen 2 Development Kit
Use the following resources to set up and validate the sensors based on
either the Core kit or the Vision kit.
### Enable sensor on the Core Kit
**Hardware set up**: The following resources cover the hardware set up
to enable the sensor on the main board.
Table : Main board DIP switch (DIP_SW_0) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 5 | OFF | Enable the sensor on the main board. |
**Figure: DIP switch setting to disable accelerometer and gyroscope sensor on main board**
**Software set up**: No software change is required to enable the
accelerometer and gyroscope sensor on the Core kit.
### Enable sensor on the Vision Kit
**Hardware set up**: The following resources cover the hardware setup
to enable sensors on the vision mezzanine board.
Table : Main board DIP switch (DIP_SW_0) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 5 | ON | Disable the sensor on the main board. |
**Figure: DIP switch setting to disable accelerometer and gyroscope sensor on main board**
Table : Vision mezzanine DIP switch (DIP1) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 1 | ON | Enable the accelerometer and gyroscope sensor. |
| 4 | ON | Enable the pressure sensor. |
| 5 | ON | Enable the magnetometer sensor. |
Table : Vision mezzanine DIP switch (DIP2) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 5 | ON | Enable the accelerometer and gyroscope sensor. |
**Figure: DIP switch setting to enable all sensors on vision mezzanine board**
**Software setup**: No software change is required to enable the
sensors on the Vision kit.
**Use an accelerometer and gyroscope on the Vision kit main board(optional)**
If you are using the accelerometer and gyroscope sensor on the main
board instead of the accelerometer and gyroscope sensor on the vision
mezzanine board, then do the following:
**Hardware setup**: Set up the hardware DIP switches as mentioned in
the following table to enable the accelerometer and gyroscope sensor on
the main board and disable the accelerometer and gyroscope sensor on the
vision mezzanine board.
Table : Main board DIP switch (DIP_SW_0) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 5 | OFF | Enable the sensor on the main board. |
Table : Vision mezzanine DIP switch (DIP1) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 1 | OFF | Disable the accelerometer and gyroscope sensor. |
Table : Vision mezzanine DIP switch (DIP2) setting
| DIP switch number | State | Purpose |
| --- | --- | --- |
| 5 | OFF | Disable the accelerometer and gyroscope sensor. |
**Set up software**
Note
The `` referred in the following sections should be considered as one of the existing paths on the device: `/etc/sensors/registry/registry/` or `/var/cache/sensors/registry/registry/`.
1. Open the `json.lst` file, remove the
`qcm6490_rbx_navmez_icm4x6xx_0.json` entry (if present), and save
the `json.lst` file.
vi /etc/sensors/config/json.lst
Copy to clipboard
2. Open the `qcm6490_rbx_icm4x6xx_0.json` file.
vi /etc/sensors/config/qcm6490_rbx_icm4x6xx_0.json
Copy to clipboard
Add the value 2 into the existing `platform_subtype_id` field as
shown here, and save the `qcm6490_rbx_icm4x6xx_0.json` file.
"platform_subtype_id": ["5", "2"]
Copy to clipboard
3. Remove the existing parsed registry files.
rm -f /*
Copy to clipboard
4. Reboot the device.
reboot
Copy to clipboard
5. Check for the registry files that are parsed:
ls
Copy to clipboard
- The following output is displayed for the main board:
qcm6490_rbx_icm4x6xx_0.json.icm4x6xx_0_platform.accel
qcm6490_rbx_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.bias
qcm6490_rbx_icm4x6xx_0.json.icm4x6xx_0_platform.gyro
qcm6490_rbx_icm4x6xx_0.json.icm4x6xx_0_platform.orient
Copy to clipboard
- The following output is displayed for the vision mezzanine board:
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.bias
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.orient
Copy to clipboard
Note
If the accelerometer and gyroscope sensors on the main board are enabled, these sensors on the vision mezzanine board must be enabled. After enabling the sensors, revert or undo all the earlier hardware and software setup steps. After the reboot, on the next bootup verify that multiple files with the `qcm6490_rbx_navmez_icm4x6xx_0` prefix are present under the `` path (as described in the step 5).
## Test sensors on platform
Use the sensor test application to validate the accelerometer,
gyroscope, magnetometer, and pressure sensor streaming. By default, the
`ssc_drva_test` tool is built under the `/usr/bin/` directory on the device.
- **Test the accelerometer and gyroscope sensor on the Core kit and the Vision kit**
The following is an example command for the accelerometer sensor:
ssc_drva_test -sensor=accel -duration=5 -sample_rate=500
Copy to clipboard
The following snippet shows an example command that allows the
accelerometer sensor for 5 sec at 500 Hz sample rate in the Streaming
mode.
root@qcm6490:~# ssc_drva_test -sensor=accel -duration=5 -sample_rate=500
6 ssc_drva_test version 1.27k
6 ssc_drva_test -sensor=accel -duration=5 -sample_rate=500
diag: Diag_LSM_Init: invoked for pid: 1141 with init_count: 0
diag:successfully connected to socket 3
diag: Diag_LSM_Init: done for pid: 1141 with init_count: 1
6 event_cb attribute event for da_test
6 event_cb attribute event for da_test
6 using da_test name=da_test, suid = [high addeaddeaddeadde, low addeaddeaddeadde
6 enter send_memory_log_req cookie: 6
6 exit send_memory_log_req
6 enter da_test runner. -rumifact=1
6 -time_to_first_event=233206
6 -time_to_last_event=-20008
6 -sample_ts=50267544823
6 -total_samples=2528
6 -avg_delta=37875
6 -recvd_phy_config_sample_rate=500
6 -random_seed_used=2926886043
6 -num_request_sent=2
6 -first_sample_timestamp=50171775915
6 received event: PASS
6 enter send_memory_log_req cookie: 6
6 exit send_memory_log_req
6 PASS
Copy to clipboard
The following is the output of the test example:
- The `accel` sensor is enabled at 500 Hz. The sensor hardware
runs only at certain sample rates described in the sensor hardware
data sheet. For example, if the command is modified to request
`accel` data at 480 Hz, the `accel` sensor still operates at
500 Hz.
- Total 2528 acceleration samples are received during the test.
The following is an example command for the gyroscope sensor:
ssc_drva_test -sensor=gyro -duration=5 -sample_rate=500
Copy to clipboard
- **Test the magnetometer and pressure sensor on the Vision kit**
The following is an example command for the magnetometer sensor:
ssc_drva_test -sensor=mag -duration=5 -sample_rate=100
Copy to clipboard
The following is an example command for the pressure sensor:
ssc_drva_test -sensor=pressure -duration=5 -sample_rate=25
Copy to clipboard
>
>
> For troubleshooting common issues, see [Troubleshoot sensors](https://docs.qualcomm.com/doc/80-70018-7/topic/test_troubleshoot.html#debug).
Last Published: Apr 08, 2025
[Previous Topic
Software](https://docs.qualcomm.com/bundle/publicresource/80-70018-7/topics/software.md) [Next Topic
Bring up sensors](https://docs.qualcomm.com/bundle/publicresource/80-70018-7/topics/bringup_sensors.md)
Source: [https://docs.qualcomm.com/doc/80-70018-7/topic/platform.html](https://docs.qualcomm.com/doc/80-70018-7/topic/platform.html)