1.. _x-nucleo-iks02a1:
2
3X-NUCLEO-IKS02A1: MEMS Inertial and Environmental Multi sensor shield
4#####################################################################
5
6Overview
7********
8The X-NUCLEO-IKS02A1 is a motion MEMS expansion board for the STM32 Nucleo,
9fitting the requirements of industrial applications.
10It is equipped with Arduino UNO R3 connector layout, and
11is designed around the ISM330DHCX 3-axis accelerometer and 3-axis gyroscope,
12the IIS2MDC 3-axis magnetometer, the IIS2DLPC 3-axis accelerometer and
13the IMP34DT05 digital microphone.
14
15The X-NUCLEO-IKS02A1 interfaces with the STM32 microcontroller via the I2C pin,
16and it is possible to change the default I2C port.
17
18.. image:: img/x-nucleo-iks02a1.jpg
19     :align: center
20     :alt: X-NUCLEO-IKS02A1
21
22More information about the board can be found at the
23`X-NUCLEO-IKS02A1 website`_.
24
25Hardware Description
26********************
27
28X-NUCLEO-IKS02A1 provides the following key features:
29
30 - ISM330DHCX MEMS 3D accelerometer (±2/±4/±8/±16 g) and
31   3D gyroscope (±125/±250/±500/±1000/±2000 dps)
32 - IIS2MDC MEMS 3D magnetometer (±50 gauss)
33 - IIS2DLPC MEMS 3D accelerometer low power (±2/±4/±8/±16 g)
34 - IMP34DT05 MEMS digital omnidirectional microphone (-26 dBFS, ±3 dB sensitivity)
35 - DIL24 socket for additional MEMS adapters and other sensors (configurable in I2C or SPI)
36 - I2C sensor hub features on ISM330DHCX available
37 - Compatible with STM32 Nucleo boards
38 - Equipped with Arduino UNO R3 connector
39 - RoHS compliant
40 - WEEE compliant
41
42Hardware Configuration
43**********************
44
45X-NUCLEO-IKS02A1 board connects the various devices on two separate I2C bus:
46
47- IIS2DLPC and ISM330DHCX are on I2C2
48- IIS2MDC is on I2C1
49
50X-NUCLEO-IKS02A1 board can be configured in two different hardware modes, Mode 1 and Mode 2,
51using the JP7/JP8 jumpers to modify to what the I2C1 bus connects to.
52
53
54Mode 1: Standard Mode
55=====================
56
57In standard I2C mode the two buses are connected together. As a consequence, all devices on the shield
58reside on the same I2C bus and are accessible from the main board mcu.
59
60The jumper configuration to activate this mode is:
61
62- JP7 => 1-2, 3-4 (I2C1 = I2C2, I2Cx=GND)
63- JP8 => 1-2, 3-4 (I2C1 = I2C2, I2Cx=GND)
64
65
66Mode 2: SensorHub Mode
67======================
68
69In SensorHub mode ISM330DHCX and IIS2DLPC are connected to I2C2 and are accessible from the main board mcu.
70Instead, the IIS2MDC device is connected only to ISM330DHCX sensor through its SCx/SDX (I2Cx) pins.
71
72The jumper configuration to activate this mode is:
73
74- JP7 => 2-3 (I2C1 = I2Cx)
75- JP8 => 2-3 (I2C1 = I2Cx)
76
77More information about X-NUCLEO-IKS02A1 configuration modes can be found in the
78`X-NUCLEO-IKS02A1 user manual`_
79
80Programming
81***********
82
83Three samples are provided as examples for ``x-nucleo-iks02a1`` shield:
84
85- :zephyr:code-sample:`x-nucleo-iks02a1-std` application, to be used when the shield is configured
86  in Standard Mode
87- :zephyr:code-sample:`x-nucleo-iks02a1-shub` application, to be used when the shield is configured
88  in SensorHub Mode
89- :zephyr:code-sample:`x-nucleo-iks02a1-mic` application, to be used to acquire data through the
90  on-board PDM microphone
91
92See also :ref:`shields` for more details.
93
94References
95**********
96
97.. target-notes::
98
99.. _X-NUCLEO-IKS02A1 website:
100   https://www.st.com/en/ecosystems/x-nucleo-iks02a1.html
101
102.. _X-NUCLEO-IKS02A1 user manual:
103   https://www.st.com/resource/en/user_manual/DM00651686.pdf
104