# Platform
Source: [https://docs.qualcomm.com/doc/80-70015-7/topic/platform.html](https://docs.qualcomm.com/doc/80-70015-7/topic/platform.html)
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: For information about the chip products supported on Qualcomm Linux, see [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-115/soc.html).
### 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 on the low-power processor, see [RB3 Gen 2 development kit](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-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 |
| | | |
| | | |
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 | I^2^C | Magnetometer (AK09915)
Pressure (ICP-10111)
| `bus_type: 0 (SNS_BUS_I2C) `
`bus_instance: 1`
`max_bus_speed_khz: 400`
`slave_config: `: I^2^C slave address | 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 | I^2^C | Magnetometer (AK09915)
Pressure (ICP-10111)
| `bus_type: 0 (SNS_BUS_I2C) `
`bus_instance: 1`
`max_bus_speed_khz: 400`
`slave_config: `: I^2^C slave address | 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 | I^3^C | Not connected | `bus_type: 3 (SNS_BUS_I3C_SDR)
`
`bus_instance:
2`
`max_bus_speed_khz:
12500`
`slave_config: `:
I^2^C static
address
`i3c_address`: User-defined
I^3^C dynamic address | NA | NA |
| GPIO\_162 | I^3^C | I^3^C | Not connected | `bus_type: 3 (SNS_BUS_I3C_SDR)
`
`bus_instance:
2`
`max_bus_speed_khz:
12500`
`slave_config: `:
I^2^C static
address
`i3c_address`: User-defined
I^3^C dynamic address | NA | NA |
| GPIO\_163 | SPI | 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\_164 | SPI | 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\_165 | SPI | 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\_166 | SPI | 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\_171 | UART | UART | BTLE | `bus_type: 2
(SNS_BUS_UART)`
` bus_instance:
36` | NA | NA |
| GPIO\_172 | UART | UART | BTLE | `bus_type: 2
(SNS_BUS_UART)`
` bus_instance:
36` | NA | NA |
| GPIO\_173 | UART | UART | Debug | `bus_type: 2
(SNS_BUS_UART)`
` bus_instance:
7` | NA | NA |
| GPIO\_174 | UART | UART | Debug | `bus_type: 2
(SNS_BUS_UART)`
` bus_instance:
7` | NA | NA |
| | | | | | | |
| | | | | | | |
| | | | | | | |
## Set up sensors
Source: [https://docs.qualcomm.com/doc/80-70015-7/topic/platform.html](https://docs.qualcomm.com/doc/80-70015-7/topic/platform.html)
Use the following resources to set up and validate the sensors based on either the Core
kit or the Vision kit.
### 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 enable 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.
### Vision kit
**Hardware set up**: The following resources cover the hardware set up 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 set up**: 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 set up**: 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
<registry\_path> 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.lstCopy to clipboard
2. Open the `qcm6490_rbx_icm4x6xx_0.json` file.
vi /etc/sensors/config/qcm6490_rbx_icm4x6xx_0.jsonCopy 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. To remove the existing parsed registry files, run the following command:
rm -rf /*Copy to clipboard
4. To reboot the device, run the following
command:
rebootCopy to clipboard
5. To verify if the registry files are parsed or not, run the following command
and look for the files that are parsed:
ls Copy to clipboard
- You get the following output 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.orientCopy to clipboard
- You get the following output 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.orientCopy 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, then revert or undo all the previous 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
<registry\_path>
path (as described in the step 5).
## Test sensors
Source: [https://docs.qualcomm.com/doc/80-70015-7/topic/platform.html](https://docs.qualcomm.com/doc/80-70015-7/topic/platform.html)
Use the sensor test application to validate the accelerometer, gyroscope, magnetometer,
and pressure sensor streaming. The `ssc_drva_test` tool is built by
default in 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=500Copy to clipboard
The following snippet shows an example command that enables 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.
- A total of 2513 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=500Copy 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=100Copy to clipboard
The following is an example command for the pressure sensor:
ssc_drva_test -sensor=pressure -duration=5 -sample_rate=25Copy to clipboard
Last Published: Oct 14, 2024
[Previous Topic
Verify](https://docs.qualcomm.com/bundle/publicresource/80-70015-7/topics/verify.md) [Next Topic
References](https://docs.qualcomm.com/bundle/publicresource/80-70015-7/topics/references.md)