En DM00741847
En DM00741847
Datasheet
Features
• Triple-channel architecture for UI, EIS, and OIS data processing
• "Always-on" experience with low power consumption for both accelerometer
and gyroscope
LSM6DSV32X • Smart FIFO up to 4.5 KB
• Android compliant
• ±4/±8/±16/±32 g full scale
• ±125/±250/±500/±1000/±2000/±4000 dps full scale
LGA-14L • SPI / I²C & MIPI I3C® v1.1 serial interface with main processor data
(2.5 x 3.0 x 0.83 mm) typ. synchronization
• Auxiliary SPI for OIS data output for gyroscope and accelerometer
• OIS configurable from aux. SPI, primary interface (SPI / I²C & MIPI I3C® v1.1)
• EIS dedicated channel on primary interface with dedicated filtering
• Advanced pedometer, step detector, and step counter
• Significant motion detection, tilt detection
• Standard interrupts: free-fall, wake-up, 6D/4D orientation, click and double
click
• Programmable finite state machine for accelerometer, gyroscope, and external
sensor data processing with high rate @ 960 Hz
Product status link
• Machine learning core with exportable features and filters for AI applications
LSM6DSV32X
• Embedded adaptive self-configuration (ASC)
• Embedded Qvar (electrostatic sensor) for user interface functions (tap, double
tap, triple tap, long press, L/R – R/L swipe)
Product summary • Embedded analog hub for ADC and processing analog input data
Order code LSM6DSV32X LSM6DSV32XTR • Embedded sensor fusion low-power algorithm
Temp. range [°C] -40 to +85 • Embedded temperature sensor
Package
LGA-14L • Analog supply voltage: 1.71 V to 3.6 V
(2.5 x 3.0 x 0.83 mm)
• Independent IO supply (extended range: 1.08 V to 3.6 V)
Packing Tray Tape and reel
• Power consumption: 0.65 mA in combo high-performance mode
• Compact footprint: 2.5 mm x 3 mm x 0.83 mm
Product resources • ECOPACK and RoHS compliant
AN6016 (device application note)
AN6070 (finite state machine) Applications
AN6071 (machine learning core)
AN5755 (Qvar sensing)
• Motion tracking and gesture detection, augmented reality (AR) / virtual reality
(VR) / mixed reality (MR) applications & metaverse applications
TN0018 (design and soldering)
• Wearables
• Indoor navigation
Product label • IoT and connected devices
• Smartphones and handheld devices
• EIS and OIS for camera applications
• Vibration monitoring and compensation
Description
The LSM6DSV32X is a high-performance, low-power 6-axis small IMU, featuring a 3-axis digital accelerometer at
32 g and a 3-axis digital gyroscope, that offers the best IMU sensor with a triple-channel architecture for
processing acceleration and angular rate data on three separate channels (user interface, OIS, and EIS) with
dedicated configuration, processing, and filtering.
The device enables processes in edge computing, leveraging embedded advanced dedicated features such as a
finite state machine (FSM) for configurable motion tracking and a machine learning core (MLC) for context
awareness with exportable AI features for IoT applications.
The LSM6DSV32X supports the adaptive self-configuration (ASC) feature, which allows the FSM to automatically
reconfigure the device in real time based on the detection of a specific motion pattern or based on the output of a
specific decision tree configured in the MLC, without any intervention from the host processor.
The device embeds Qvar (electric charge variation detection) for user interface functions like tap, double tap,
triple tap, long press, or L/R – R/L swipe.
The LSM6DSV32X embeds an analog hub able to connect an external analog input and convert it to a digital
signal for processing.
1 Overview
The LSM6DSV32X is a system-in-package featuring a high-performance 3-axis digital accelerometer and 3-axis
digital gyroscope.
The LSM6DSV32X delivers best-in-class motion sensing that can detect orientation and gestures in order to
empower application developers and consumers with features and capabilities that are more sophisticated than
simply orienting their devices to portrait and landscape mode.
The event-detection interrupts enable efficient and reliable motion tracking and context awareness, implementing
hardware recognition of free-fall events, 6D orientation, click and double-click sensing, activity or inactivity,
stationary/motion detection and wake-up events. Machine learning and finite state machine processing allow
moving some algorithms from the application processor to the LSM6DSV32X sensor, enabling consistent
reduction of power consumption.
The LSM6DSV32X supports the main OS requirements, offering real, virtual, and batch mode sensors. In
addition, the LSM6DSV32X can efficiently run the sensor-related features specified in Android, saving power and
enabling faster reaction time. In particular, the LSM6DSV32X has been designed to implement hardware features
such as significant motion detection, stationary/motion detection, tilt, pedometer functions, timestamping and to
support the data acquisition of external sensors.
The LSM6DSV32X offers hardware flexibility to connect the pins with different mode connections to external
sensors to expand functionalities such as adding a sensor hub, auxiliary SPI, and so forth.
The LSM6DSV32X offers advanced design flexibility for OIS and EIS applications. Both channels have a
dedicated processing path with independent filtering and enhanced EIS channel gyroscope data are read over the
primary interfaces I²C/ MIPI I3C® v1.1 / SPI.
Channel 1 has been designed for user interface data processing for motion tracking. Data are available on the
primary output of I²C / SPI / I3C® for the accelerometer and gyroscope with independent ODR and FS.
Channel 2 has been designed for OIS applications. Data are available on the aux SPI at 7.68 kHz with
accelerometer/gyroscope processing with independent FS at ±4 g - ±32 g (accelerometer) / ±125 dps - ±2000 dps
(gyroscope). The accelerometer is also available as standalone with dedicated filtering.
Channel 3 has been designed for enhanced EIS. Data are available in freerun mode in the output registers or in
FIFO with dedicated tag and timestamp.
Up to 4.5 KB of FIFO with compression and dynamic allocation of significant data (that is, external sensors,
timestamp, and so forth) allows overall power saving of the system.
The LSM6DSV32X embeds a sensor fusion low-power (SFLP) algorithm able to provide a 6-axis (accelerometer
+ gyroscope) game rotation vector represented as a quaternion. The X, Y, Z quaternion components are stored in
FIFO.
Like the entire portfolio of MEMS sensor modules, the LSM6DSV32X leverages the robust and mature in-house
manufacturing processes already used for the production of micromachined accelerometers and gyroscopes. The
various sensing elements are manufactured using specialized micromachining processes, while the IC interfaces
are developed using CMOS technology that allows the design of a dedicated circuit, which is trimmed to better
match the characteristics of the sensing element.
The LSM6DSV32X embeds an analog hub, which is able to connect an external analog input and convert it to a
digital signal for processing as well as advanced dedicated features like a finite state machine and data filtering
for OIS, EIS, and motion processing.
The LSM6DSV32X embeds Qvar functionality, which is an electrostatic sensor able to measure the variation of
the quasi-electrostatic potential. The Qvar sensing channel can be used for user interface applications like tap,
double tap, triple tap, long press, and L/R – R/L swipe.
The LSM6DSV32X is available in a small plastic, land grid array (LGA) package of 2.5 x 3.0 x 0.83 mm to address
ultracompact solutions.
The LSM6DSV32X has been designed to be fully compliant with Android, featuring the following on-chip
functions:
• 4.5 KB FIFO data buffering, data can be compressed two or three times
– 100% efficiency with flexible configurations and partitioning
– Possibility to store timestamp
• Event-detection interrupts (fully configurable)
– Free-fall
– Wake-up
– 6D orientation
– Click and double-click sensing
– Activity/inactivity recognition
– Stationary/motion detection
• Specific IP blocks (called "embedded functions") with negligible power consumption and high performance
– Pedometer functions: step detector and step counters
– Tilt
– Significant motion detection
– Finite state machine (FSM)
– Machine learning core (MLC) with exportable features and filters for AI applications
– Adaptive self-configuration (ASC)
– Embedded sensor fusion low-power (SFLP) algorithm
• Sensor hub
– Up to six total sensors: two internal (accelerometer and gyroscope) and four external sensors
• Analog hub for processing external analog input data
• Qvar: electric charge variation detection
The LSM6DSV32X embeds a dynamic internal threshold for step detection that is updated after each peak-to-
peak evaluation: the internal threshold is increased with a configurable speed if a step is detected or decreased
with a configurable speed if a step is not detected.
This approach ensures high accuracy when the user starts to walk and a false peak rejection when the user is
walking or running.
An internal configurable debounce algorithm can be also set to filter false walks: indeed, an accelerometer pattern
is recognized as a walk or run only if a minimum number of steps are counted.
The LSM6DSV32X has been designed to reject a false-positive signal inside the algorithm core.
On top of the mechanisms detailed above, the LSM6DSV32X allows enabling and configuring a dedicated false-
positive rejection block to further boost pedometer accuracy.
ACC [LSB]
LSM6DSV32X
GYR [LSB] SIGNAL FSM output
FSM
CONDITIONING x
EXT. SENSOR (MAG) [LSB]
(optional)
X = 1..8
External sensor
The LSM6DSV32X can be configured to run up to 4 decision trees simultaneously and independently and every
decision tree can generate up to 16 results. The total number of nodes can be up to 128.
The results of the machine learning processing are available in dedicated output registers readable from the
application processor at any time.
The LSM6DSV32X machine learning core can be configured to generate an interrupt when a change in the result
occurs.
Parameter Value
3 Pin description
Z
Y
SDA
SCL
CS
X
Direction of detectable
acceleration (top view)
SDO_Aux 11 1 SDO/SA0
ΩY OCS_Aux BOTTOM SDx/AH1/Qvar1
INT2 VIEW SCx/AH2/Qvar2
ΩR Vdd 8 4 INT1
7 5
GND
GND
Vdd_IO
ΩP
Direction of detectable
angular rate (top view)
LSM6DSM
External Camera
LSM6DSM
sensors module
In the following table, each mode is described for the pin connections and function.
SPI 4-wire interface serial data output SPI 4-wire interface serial data SPI 4-wire interface serial data output
(SDO) output (SDO) (SDO)
1 SDO/SA0(1)
I²C least significant bit of the device I²C least significant bit of the device I²C least significant bit of the device
address (SA0) address (SA0) address (SA0)
Connect to Vdd_IO or GND if the analog
Auxiliary SPI 3/4-wire interface serial
hub and Qvar are disabled.
SDx/AH1/ data input (SDI_Aux)
2 AH input 1 (or Qvar electrode 1) is I²C master serial data (MSDA)
Qvar1 and SPI 3-wire serial data output
connected if the analog hub (or Qvar
(SDO_Aux)
functionality) is enabled.
Connect to Vdd_IO or GND if the analog
hub and Qvar are disabled.
SCx/AH2/ Auxiliary SPI 3/4-wire interface serial
3 AH input 2 (or Qvar electrode 2) is I²C master serial clock (MSCL)
Qvar2 port clock (SPC_Aux)
connected if the analog hub (or Qvar
functionality) is enabled.
4 INT1 Programmable interrupt in I²C and SPI
6 GND 0 V supply
7 GND 0 V supply
I²C / MIPI I3C® serial clock (SCL) I²C / MIPI I3C® serial clock (SCL) I²C / MIPI I3C® serial clock (SCL)
13 SCL(1)
SPI serial port clock (SPC) SPI serial port clock (SPC) SPI serial port clock (SPC)
I²C / MIPI I3C® serial data (SDA) I²C / MIPI I3C® serial data (SDA)
I²C / MIPI I3C® serial data (SDA)
SPI serial data input (SDI) SPI serial data input (SDI)
14 SDA(1) SPI serial data input (SDI)
3-wire interface serial data output 3-wire interface serial data
3-wire interface serial data output (SDO)
(SDO) output (SDO)
1. SPI 3/4-wire interface not available with the analog hub / Qvar functionality enabled.
2. Recommended 100 nF filter capacitor.
3. Leave pin electrically unconnected and soldered to PCB.
4 Module specifications
±4
±8
LA_FS Linear acceleration measurement range g
±16
±32
±125
±250
±500
G_FS Angular rate measurement range dps
±1000
±2000
±4000
FS = ±4 g 0.122
FS = ±8 g 0.244
LA_So Linear acceleration sensitivity mg/LSB
FS = ±16 g 0.488
FS = ±32 g 0.976
FS = ±125 dps 4.375
FS = ±250 dps 8.75
FS = ±500 dps 17.50
G_So Angular rate sensitivity(2) mdps/LSB
FS = ±1000 dps 35
FS = ±2000 dps 70
FS = ±4000 dps 140
LA_SoDr Linear acceleration sensitivity change vs. temperature(3) from -40° to +85° ±0.01 %/°C
G_SoDr Angular rate sensitivity change vs. temperature(3) from -40° to +85° ±0.007 %/°C
LA_OffDr Linear acceleration zero-g level change vs. temperature(3) ±0.08 mg/°C
G_OffDr Angular rate typical zero-rate level change vs. temperature(3) ±0.006 dps/°C
LPM1 3.2
RMS Accelerometer RMS noise in low-power mode LPM2 2.3 mg RMS
LPM3 1.6
1.875(10)
7.5
15
30
60
120
LA_ODR Linear acceleration output data rate
240
480
960
1.92 k
3.84 k
7.68 k Hz
7.5
15
30
60
120
G_ODR Angular rate output data rate 240
480
960
1.92 k
3.84 k
7.68 k
15. The sign of the angular rate self-test output change is defined by the ST_G_[1:0] bits in a dedicated register for all axes.
16. The angular rate self-test output change is defined with the device in stationary condition as the absolute value of: OUTPUT[LSb] (self-test
enabled) - OUTPUT[LSb] (self-test disabled). 1LSb = 70 mdps at ±2000 dps full scale.
1. Vdd_IO = 1.8 V, Zin = 235 MOhm. Typical values are based on characterization and are not guaranteed.
2. Extra power consumption when only the analog hub / Qvar function is enabled. In this condition the accelerometer must be set to high-
performance mode or normal mode.
Value(1)
Symbol Parameter Unit
Min Typ Max
1. Values are evaluated at 10 MHz clock frequency for SPI with both 4 and 3 wires, based on characterization results, not
tested in production
CS
SPC
t v(SO) t dis(SO)
CS
SPC
t v(SO) t dis(SO)
Note: Measurement points are done at 0.3·Vdd_IO and 0.7·Vdd_IO for both input and output ports.
tw(SP:SR) Bus free time between STOP and START condition 1.3 0.5
REPEATED
START
START
tsu(SR)
tw(SP:SR) START
SDA
tsu(SDA) th(SDA)
tsu(SP) STOP
SCL
Note: Measurement points are done at 0.3·Vdd_IO and 0.7·Vdd_IO for both ports.
This device is sensitive to mechanical shock, improper handling can cause permanent damage to the part.
This device is sensitive to electrostatic discharge (ESD), improper handling can cause permanent damage to the part.
4.6 Terminology
4.6.1 Sensitivity
Linear acceleration sensitivity can be determined, for example, by applying 1 g acceleration to the device.
Because the sensor can measure DC accelerations, this can be done easily by pointing the selected axis towards
the ground, noting the output value, rotating the sensor 180 degrees (pointing towards the sky) and noting the
output value again. By doing so, ±1 g acceleration is applied to the sensor. Subtracting the larger output value
from the smaller one, and dividing the result by 2, leads to the actual sensitivity of the sensor. This value changes
very little over temperature and over time. The sensitivity tolerance describes the range of sensitivities of a large
number of sensors (see Table 3).
An angular rate gyroscope is a device that produces a positive-going digital output for counterclockwise rotation
around the axis considered. Sensitivity describes the gain of the sensor and can be determined by applying a
defined angular velocity to it. This value changes very little over temperature and time (see Table 3).
5 Digital interfaces
Enables SPI
I²C/SPI mode selection
CS
(1: SPI idle mode / I²C communication enabled;
0: SPI communication mode / I²C disabled)
I²C serial clock (SCL)
SCL/SPC
SPI serial port clock (SPC)
I²C serial data (SDA)
SDA/SDI/SDO SPI serial data input (SDI)
3-wire interface serial data output (SDO)
SPI serial data output (SDO)
SDO/SA0
I²C less significant bit of the device address
Term Description
There are two signals associated with the I²C bus: the serial clock line (SCL) and the serial data line (SDA). The
latter is a bidirectional line used for sending and receiving the data to/from the interface. Both the lines must be
connected to Vdd_IO through external pull-up resistors. When the bus is free, both the lines are high.
The I²C interface is implemented with fast mode (400 kHz) I²C standards as well as with fast mode plus
(1000 kHz).
In order to disable the I²C block, I2C_I3C_disable = 1 must be written in IF_CFG (03h).
Table 15. Transfer when master is receiving (reading) one byte of data from slave
Table 16. Transfer when master is receiving (reading) multiple bytes of data from slave
SAD+ SAD+
Master ST SUB SR MAK MAK NMAK SP
W R
Slave SAK SAK SAK DATA DATA DATA
Data are transmitted in byte format (DATA). Each data transfer contains 8 bits. The number of bytes transferred
per transfer is unlimited. Data is transferred with the most significant bit (MSb) first. If a slave receiver does not
acknowledge the slave address (that is, it is not able to receive because it is performing some real-time function)
the data line must be left high by the slave. The master can then abort the transfer. A low to high transition on the
SDA line while the SCL line is high is defined as a stop condition. Each data transfer must be terminated by the
generation of a stop (SP) condition.
In the presented communication format, MAK is master acknowledge and NMAK is no master acknowledge.
CS
SPC
SDI
RW DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
CS enables the serial port and it is controlled by the SPI master. It goes low at the start of the transmission and
goes back high at the end. SPC is the serial port clock and it is controlled by the SPI master. It is stopped high
when CS is high (no transmission). SDI and SDO are, respectively, the serial port data input and output. Those
lines are driven at the falling edge of SPC and should be captured at the rising edge of SPC.
Both the read register and write register commands are completed in 16 clock pulses or in multiples of 8 in case
of multiple read/write bytes. Bit duration is the time between two falling edges of SPC. The first bit (bit 0) starts at
the first falling edge of SPC after the falling edge of CS while the last bit (bit 15, bit 23, ...) starts at the last falling
edge of SPC just before the rising edge of CS.
bit 0: RW bit. When 0, the data DI(7:0) is written into the device. When 1, the data DO(7:0) from the device is
read. In latter case, the chip drives SDO at the start of bit 8.
bit 1-7: address AD(6:0). This is the address field of the indexed register.
bit 8-15: data DI(7:0) (write mode). This is the data that is written into the device (MSb first).
bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first).
In multiple read/write commands further blocks of 8 clock periods are added. When the CTRL3 (12h) (IF_INC) bit
is 0, the address used to read/write data remains the same for every block. When the CTRL3 (12h) (IF_INC) bit is
1, the address used to read/write data is increased at every block.
The function and the behavior of SDI and SDO remain unchanged.
CS
SPC
SDI
RW
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
The SPI read command is performed with 16 clock pulses. A multiple byte read command is performed by adding
blocks of 8 clock pulses to the previous one.
bit 0: READ bit. The value is 1.
bit 1-7: address AD(6:0). This is the address field of the indexed register.
bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first).
bit 16-...: data DO(...-8). Further data in multiple byte reads.
Figure 12. Multiple byte SPI read protocol (2-byte example) (in mode 3)
CS
SPC
SDI
RW
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 DO15 DO14DO13DO12 DO11DO10 DO9 DO8
CS
SPC
SDI
RW DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
AD6 AD5 AD4 AD3 AD2 AD1 AD0
The SPI write command is performed with 16 clock pulses. A multiple byte write command is performed by adding
blocks of 8 clock pulses to the previous one.
bit 0: WRITE bit. The value is 0.
bit 1 -7: address AD(6:0). This is the address field of the indexed register.
bit 8-15: data DI(7:0) (write mode). This is the data that is written inside the device (MSb first).
bit 16-... : data DI(...-8). Further data in multiple byte writes.
Figure 14. Multiple byte SPI write protocol (2-byte example) (in mode 3)
CS
SPC
SDI
DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0 DI15 DI14 DI13 DI12 DI11 DI10 DI9 DI8
RW
AD6 AD5 AD4 AD3 AD2 AD1 AD0
CS
SPC
SDI/O
RW DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
AD6 AD5 AD4 AD3 AD2 AD1 AD0
0x08
GETMXDS 0x94 Return max write and read speed
0x60
0x00
0x11
GETCAPS 0x95 Provide information about device capabilities and supported extended features
0x18
0x00
SETGRPA 0x9B Group address assignment command
RSTGRPA 0x2C / 0x9C Reset the group address
RSTACT 0x9A / 0x2A Configure slave reset action
When the LSM6DSV32X is configured in mode 3, the auxiliary SPI can be connected to a camera module for OIS
support.
6 Functionality
This section describes all the operating modes and power modes of the LSM6DSV32X.
Note: Refer to the product application note for the details regarding operating/power mode configurations, settings,
turn-on/off time and on-the-fly changes.
Digital
LP filter Channel 1
LPF1
Composite ±4/±8/±16/±32 g
ADC FIFO
filter
OP_MODE_XL_[2:0]
ODR_XL_[3:0]
SPI / I2C /
MIPI I3C ®
Digital
LP filter Channel 1
LPF1
Composite ±4/±8/±16/±32 g
ADC FIFO
filter
OP_MODE_XL_[2:0]
ODR_XL_[3:0]
Channel 2
±32 g
DualC
XL_DualC_EN SPI / I2C /
®
MIPI I3C
The dual-channel functionality can be enabled/disabled by configuring the bit XL_DualC_EN to 1 (enable) or to 0
(disable) in CTRL8 (17h).
Referring to Figure 17. Dual-channel mode (XL_DualC_EN = 1), when the dual-channel mode has been
activated:
1. Channel 1 supports user-selectable full-scale acceleration range of ±4/±8/±16/±32 g based on the value of the
FS_XL_[1:0] bits in the CTRL8 (17h) register.
2. Channel 2 full scale is set to ±32 g. Acceleration data are available in the output registers from
UI_OUTX_L_A_OIS_DualC (34h) and UI_OUTX_H_A_OIS_DualC (35h) through UI_OUTZ_L_A_OIS_DualC
(38h) and UI_OUTZ_H_A_OIS_DualC (39h)).
Table 20. Accelerometer and gyroscope ODR selection in high-accuracy ODR mode
0100 30 31.25 25
0101 60 62.5 50
M S front-end Interrupt
Low-Pass
S O ADC2 OIS Gyro mng
Regs
R Temperature CS
Low-Pass array Auxiliary SPC_Aux
sensor OIS XL SPI SDI_Aux
SDO_Aux
Digital
LP Filter
LPF1
Composite
ADC
Filter
OP_MODE_XL_[2:0]
ODR_XL_[3:0]
Free-fall LOW_PASS_ON_6D
0
Embedded 6D / 4D
functions 1
LPF2_XL_EN
USR_OFF_ON_OUT
HP_SLOPE_XL_EN
0 0
Digital 0
LP Filter USER
1
OFFSET
LPF2
1 USR_OFF_W
OFS_USR_[7:0]
LPF1 FIFO
Output (1) HP_LPF2_XL_BW_[2:0]
Wake-up
1 1
Activity /
0 0
Inactivity
Digital
USR_OFF_ON_WU SLOPE_FDS
SPI /
HP Filter
I2C /
001 MIPI I3C ®
010
…
111
1
HP_LPF2_XL_BW_[2:0]
SLOPE
000
FILTER
HP_LPF2_XL_BW_[2:0]
S/D Tap
1. The cutoff value of the LPF1 output is ODR/2 when the accelerometer is in high-performance mode, high-
accuracy ODR mode, or normal mode. This value is equal to 2300 Hz when the accelerometer is in low-power
mode 1 (2 mean), 912 Hz in low-power mode 2 (4 mean) or 431 Hz in low-power mode 3 (8 mean).
Note: Embedded functions include finite state machine, machine learning core, pedometer, step detector and step
counter, significant motion detection, and tilt functions.
The accelerometer filtering chain when mode 3 is enabled is illustrated in the following figure.
Digital ODR XL
LP Filter @7.68 kHz
LPF_OIS
ADC Aux_SPI
LPF_XL_OIS_BW_[2:0]
ODR XL
@7.68 kHz
SPI /
I2 C /
UI chain MIPI I3C ®
Note: The accelerometer OIS chain is enabled by setting the OIS_XL_EN bit to 1 in the UI_CTRL1_OIS (70h) /
SPI2_CTRL1_OIS (70h) register.
The configuration of the accelerometer UI chain is not affected by enabling/disabling the accelerometer OIS
chain, with one exception: accelerometer normal operating mode (OP_MODE_XL_[2:0] = 111 in the CTRL1
(10h) register) cannot be used when the accelerometer OIS chain is enabled.
Accelerometer output values are available in the following registers with ODR at 7.68 kHz:
• UI_OUTX_L_A_OIS_DualC (34h) and UI_OUTX_H_A_OIS_DualC (35h) through
UI_OUTZ_L_A_OIS_DualC (38h) and UI_OUTZ_H_A_OIS_DualC (39h)
• SPI2_OUTX_L_A_OIS (28h) and SPI2_OUTX_H_A_OIS (29h) through SPI2_OUTZ_L_A_OIS (2Ch) and
SPI2_OUTZ_H_A_OIS (2Dh)
Note: When the accelerometer OIS is used, refer to the product application note for the power mode configuration and
settings.
Digital FIFO
LPF1_G_EN
LP filter
ADC 0 LPF2
Digital (1)(2)
LP filter 1
LPF1
ODR_G_[3:0]
SPI / I2C /
MIPI I3C ®
LPF1_G_BW_[2:0]
FSM / MLC
1. When the gyroscope OIS or EIS chain is enabled, the LPF1 filter is not available in the gyroscope UI chain. It
is recommended to avoid using the LPF1 filter in the gyroscope UI chain when the gyroscope OIS or EIS is
used.
2. The LPF1 filter is available in high-performance mode only. If the gyroscope is configured in low-power mode,
the LPF1 filter is bypassed.
In this configuration, the gyroscope ODR is selectable from 7.5 Hz up to 7.68 kHz. A low-pass filter (LPF1) is
available, for more details about the filter characteristics see Table 64. Gyroscope LPF1 + LPF2 bandwidth
selection.
The digital LPF2 filter's cutoff frequency depends on the selected gyroscope ODR, as indicated in the following
table.
7.5 3.4
15 6.6
30 13.0
60 24.6
120 49.4
240 96
480 187
960 342
1.92 kHz 491
3.84 kHz 528
7.68 kHz 537
Note: Data can be acquired from the output registers and FIFO over the primary I²C/MIPI I3C®/SPI interface.
Digital FIFO
LP filter
LPF2
ODR_G_[3:0]
SPI / I 2C /
MIPI I3C®
ADC
Digital (1) (2) (3)
LP filter
LPF1
ODR gyro
Aux_SPI @7.68 kHz
LPF1_G_OIS_BW_[1:0]
1. When the gyroscope OIS or EIS chain is enabled, the LPF1 filter is not available in the gyroscope UI chain.
2. It is recommended to avoid using the LPF1 filter in mode1/2 when the gyroscope OIS or EIS chain is used.
3. When the gyroscope OIS is used, refer to the product application note for the power mode configuration and
settings.
The auxiliary interface needs to be enabled in UI_CTRL1_OIS (70h) / SPI2_CTRL1_OIS (70h).
In mode 3 configuration, there are two paths:
• The chain for user interface (UI) where the ODR is selectable from 7.5 Hz up to 7.68 kHz
• The chain for OIS where the ODR is at 7.68 kHz and the LPF1 is available. The LPF1 configuration
depends on the setting of the LPF1_G_OIS_BW_[1:0] bits in register UI_CTRL2_OIS (71h) /
SPI2_CTRL2_OIS (71h); for more details about the filter characteristics see UI_CTRL2_OIS (71h).
Gyroscope output values are in registers 22h to 27h if read from the Auxi_SPI or in registers 2Eh to 33h if
read from the primary interface with the selected full scale FS_G_OIS_[1:0] bits in UI_CTRL2_OIS (71h) /
SPI2_CTRL2_OIS (71h)).
Figure 24. LSM6DSV32X supports UI, enhanced EIS, and OIS processing simultaneously
UI UI / EIS
Camera
AP EIS Block
module
Primary Auxiliary
output SPI
®
I2C/MIPI I3C /SPI
LPF UI
UI Channel FIFO
ADC FS UI
LPF EIS
SPI / I2C/
EIS Channel MIPI I3C
®
FS EIS
When enhanced EIS mode is activated through the ODR_EIS_[1:0] bits in the CTRL_EIS (6Bh) register:
• Gyroscope UI can be configured only in power-down mode, high-performance mode, or high-accuracy
ODR mode.
• Gyroscope EIS full scale can be selected by using the FS_G_EIS_[2:0] bits in the CTRL_EIS (6Bh)
register.
• Gyroscope EIS data rate selectable at 1.92 kHz or 960 Hz configurable through the ODR_G_EIS_[1:0] bits
in the CTRL_EIS (6Bh) register.
• LPF_EIS low-pass filter (refer to Figure 25) bandwidth selection can be configured through the
LPF_G_EIS_BW bit in the CTRL_EIS (6Bh) register.
6.11 OIS
This section describes OIS functionality. There is a dedicated gyroscope and accelerometer DSP for OIS.
The device also supports self-test functionality on the OIS side.
Camera Module
Image
Sensor
Actuator
OIS Driver
AP
I3C/SPI/I2C
SPI_Aux
6x
UI/OIS
2nd camera Main camera Front camera 2nd camera Main camera Front camera
Image Image
Sensor Sensor
Actuator Actuator
AP AP
Context Context
Hub Hub
I3C/SPI/I2 C I3C/SPI/I2 C
SPI_Aux
6x 6x
UI/OIS UI/OIS
(a) (b)
Then, the AP can configure OIS functionalities through UI_INT_OIS (6Fh), UI_CTRL1_OIS (70h), UI_CTRL2_OIS
(71h), UI_CTRL3_OIS (72h).
Reading from the auxiliary SPI can be enabled by setting the SPI2_ READ_EN bit in the UI_CTRL1_OIS (70h)
register to 1 in order to directly read OIS data (as shown in Figure 27 (b)). The auxiliary SPI can access the
SPI2_INT_OIS (6Fh), SPI2_CTRL1_OIS (70h), SPI2_CTRL2_OIS (71h), and SPI2_CTRL3_OIS (72h) registers
in read-only mode.
Note: The OIS_CTRL_FROM_UI bit is reset by the software reset procedure.
6.12 FIFO
The presence of a FIFO allows consistent power saving for the system since the host processor does not need
continuously poll data from the sensor, but it can wake up only when needed and burst the significant data out
from the FIFO.
The LSM6DSV32X embeds 1.5 KB of data in FIFO (up to 4.5 KB with the compression feature enabled) to store
the following data:
• Gyroscope
• Accelerometer
• External sensors (up to four)
• Step counter
• Timestamp
• Temperature
• MLC features and filters
• SFLP output data (quaternion, gyroscope bias, gravity vector)
Writing data in the FIFO can be configured to be triggered by the:
• Accelerometer / gyroscope data-ready signal
• Sensor hub data-ready signal
• Step detection signal
The applications have maximum flexibility in choosing the rate of batching for physical sensors with FIFO-
dedicated configurations: accelerometer, gyroscope, and temperature sensor batch rates can be selected by the
user. External sensor writing in FIFO can be triggered by the accelerometer data-ready signal or by an external
sensor interrupt. The step counter can be stored in FIFO with an associated timestamp each time a step is
detected. It is possible to select decimation for timestamp batching in FIFO with a factor of 1, 8, or 32.
The reconstruction of a FIFO stream is a simple task thanks to the FIFO_DATA_OUT_TAG byte that allows
recognizing the meaning of a word in FIFO.
FIFO allows correct reconstruction of the timestamp information for each sensor stored in FIFO. If a change in the
ODR or BDR (batch data rate) configuration is performed, the application can correctly reconstruct the timestamp
and know exactly when the change was applied without disabling FIFO batching. FIFO stores information of the
new configuration and timestamp in which the change was applied in the device.
Finally, FIFO embeds a compression algorithm that the user can enable in order to have up to 4.5 KB data stored
in FIFO and take advantage of interface communication length for FIFO flushing and communication power
consumption.
The programmable FIFO watermark threshold can be set using the WTM[7:0] bits in the FIFO_CTRL1 (07h)
register. To monitor the FIFO status, dedicated registers (FIFO_STATUS1 (1Bh), FIFO_STATUS2 (1Ch)) can be
read to detect FIFO overrun events, FIFO full status, FIFO empty status, FIFO watermark status and the number
of unread samples stored in the FIFO. To generate dedicated interrupts on the INT1 and INT2 pins of these status
events, the configuration can be set in INT1_CTRL (0Dh) and INT2_CTRL (0Eh).
The FIFO buffer can be configured according to seven different modes:
• Bypass mode
• FIFO mode
• Continuous mode
• Continuous-to-FIFO mode
• ContinuousWTM-to-full mode
• Bypass-to-continuous mode
• Bypass-to-FIFO mode
Each mode is selected by the FIFO_MODE_[2:0] bits in the FIFO_CTRL4 (0Ah) register.
7 Application hints
Mode 1
SDA
SCL
CS
HOST
14 12 I 2C /
MIPI I3C ® /
SDO/SA0 (1)
1 11 NC SPI (3/4-w)
SDx/AH1/Qvar1 TOP
(1)
NC
SCx/AH2/Qvar2 VIEW INT2 LSM6DSV32X
GND INT1 4
Vdd Vdd
8
or
Vdd_IO 5 7 C1
GND
GND
100 nF
Vdd_IO
I2C configuration
GND Vdd_IO
C2 Rpu Rpu
Vdd_IO
100 nF
SCL
GND
SDA
Pull-up to be added
Rpu=10kOhm
500 Ω
SDx/AH1/Qvar1 Electrode 1
110 pF (1)
D1
LSM6DSV32X
500 Ω
SCx/AH2/Qvar2 Electrode 2
(1)
110 pF D2
(1) ST ESDALCL5-1BM2 is referenced as an ST catalog product but similar features of other ESD diodes also can be used.
Note: Figure 29 provides an example of a test circuit. For a specific application, refer to the related application note.
Mode 2
HOST
SDA
SCL
CS
I 2C /
MIPI I3C ® /
SPI (3/4-w)
14 12
100 nF
Vdd_IO
I2C configuration
GND
Vdd_IO
C2 Rpu Rpu
Vdd_IO
100 nF
SCL
GND
SDA
Pull-up to be added
Rpu=10kOhm
Mode 3
SDA
SCL
HOST
CS
I 2C /
MIPI I3C ® /
14 12 SPI (3/4-w)
SDO/SA0 SDO_Aux
1 11 LSM6DSV32X
SDI_Aux OCS_Aux
TOP
SPC_Aux VIEW INT2
Aux SPI (3/4-wire) For XL and/or
INT1 Vdd gyro data
4 8 Vdd
Camera
5 7
C1 module
100 nF
GND
GND
Vdd_IO
Vdd_IO
C2
Vdd_IO
100 nF Rpu Rpu
GND SCL
SDA
Pull-up to be added
Rpu=10kOhm
Note: When mode 3 is used, the pull-up on pins 10 and 11 can be enabled or disabled (refer to Table 23. Internal pin
status). To avoid leakage current, it is not recommended to leave the SPI lines floating (or when the OIS system
is off).
The device core is supplied through the Vdd line. Power supply decoupling capacitors (C1, C2 = 100 nF ceramic)
should be placed as near as possible to the supply pin of the device (common design practice).
The functionality of the device is selectable and accessible through the SPI/I²C/MIPI I3C® primary interface.
Measured acceleration/angular rate data is selectable and accessible through the SPI/I²C/MIPI I3C® primary
interface and auxiliary SPI.
The functions, the threshold, and the timing of the two interrupt pins for each sensor can be completely
programmed by the user through the SPI/I²C/MIPI I3C® interface.
Note: When mode 3 is used, refer to the product application note for the power mode configuration and settings.
SPI 4-wire interface serial SPI 4-wire interface serial SPI 4-wire interface serial
SDO
data output (SDO) data output (SDO) data output (SDO)
Default: input without pull-up Default: input without pull-up Default: input without pull-up
I²C least significant bit of I²C least significant bit of I²C least significant bit of
1 the device address (SA0) the device address (SA0) the device address (SA0) Pull-up is enabled if bit Pull-up is enabled if bit Pull-up is enabled if bit
SDO_PU_EN = 1 in register SDO_PU_EN = 1 in register SDO_PU_EN = 1 in register
SA0 MIPI I3C® least significant MIPI I3C® least significant MIPI I3C® least significant PIN_CTRL (02h). PIN_CTRL (02h). PIN_CTRL (02h).
bit of the static address bit of the static address bit of the static address
(SA0) (SA0) (SA0)
4 INT1 Programmable interrupt 1 Programmable interrupt 1 Programmable interrupt 1 Default: output forced to ground Default: output forced to ground Default: output forced to ground
5 Vdd_IO Power supply for I/O pins Power supply for I/O pins Power supply for I/O pins
Programmable interrupt 2
Programmable interrupt 2 (INT2) / Data enabled Programmable interrupt 2
9 INT2 (INT2) / Data enabled (DEN) / I²C master external (INT2) / Data enabled Default: output forced to ground Default: output forced to ground Default: output forced to ground
(DEN) synchronization signal (DEN)
(MDRDY)
Default: input with pull-up Default: input with pull-up Default: input without pull-up
Connect to Vdd_IO or Connect to Vdd_IO or Auxiliary SPI 3/4-wire Pull-up is disabled if bit Pull-up is disabled if bit (regardless of the value of bit
10 OCS_Aux
leave unconnected leave unconnected interface enabled OIS_PU_DIS = 1 in register OIS_PU_DIS = 1 in register OIS_PU_DIS in register PIN_CTRL
PIN_CTRL (02h). PIN_CTRL (02h). (02h))
LSM6DSV32X
Application hints
I²C/SPI mode selection I²C/SPI mode selection I²C/SPI mode selection
Default: input with pull-up Default: input with pull-up Default: input with pull-up
(1: SPI idle mode / I²C (1: SPI idle mode / I²C (1: SPI idle mode / I²C
12 CS communication enabled; communication enabled; communication enabled; Pull-up is disabled if bit Pull-up is disabled if bit Pull-up is disabled if bit
page 50/198
pin# Name Mode 1 function Mode 2 function Mode 3 function Pin status mode 1 Pin status mode 2 Pin status mode 3 (1)
I²C/MIPI I3C® serial clock I²C/MIPI I3C® serial clock I²C/MIPI I3C® serial clock
13 SCL (SCL) / SPI serial port clock (SCL) / SPI serial port clock (SCL) / SPI serial port clock Default: input without pull-up Default: input without pull-up Default: input without pull-up
(SPC) (SPC) (SPC)
I²C/MIPI I3C® serial data I²C/MIPI I3C® serial data I²C/MIPI I3C® serial data Default: input without pull-up Default: input without pull-up Default: input without pull-up
(SDA) / SPI serial data (SDA) / SPI serial data (SDA) / SPI serial data
14 SDA input (SDI) / 3-wire input (SDI) / 3-wire input (SDI) / 3-wire Pull-up is enabled if bit Pull-up is enabled if bit Pull-up is enabled if bit
interface serial data output interface serial data output interface serial data output SDA_PU_EN = 1 in register IF_CFG SDA_PU_EN = 1 in register IF_CFG SDA_PU_EN = 1 in register IF_CFG
(SDO) (SDO) (SDO) (03h). (03h). (03h).
1. Mode 3 is enabled when the OIS_XL_EN bit or the OIS_G_EN bit in the UI_CTRL1_OIS (70h) / SPI2_CTRL1_OIS (70h) registers is set to 1.
2. The analog hub and Qvar functions are enabled by setting the AH_QVAR_EN bit to 1 in CTRL7 (16h).
LSM6DSV32X
Application hints
page 51/198
LSM6DSV32X
Register mapping
8 Register mapping
The table given below provides a list of the 8/16-bit registers embedded in the device and the corresponding
addresses.
All these registers are accessible from the primary SPI/I²C/MIPI I3C® interface only.
Register address
Name Type Default Comment
Hex Binary
Register address
Name Type Default Comment
Hex Binary
Register address
Name Type Default Comment
Hex Binary
Register address
Name Type Default Comment
Hex Binary
Reserved registers must not be changed. Writing to those registers may cause permanent damage to the device.
The content of the registers that are loaded at boot should not be changed. They contain the factory calibration
values. Their content is automatically restored when the device is powered up.
9 Register description
The device contains a set of registers which are used to control its behavior and to retrieve linear acceleration,
angular rate, temperature, analog hub and Qvar data. The register addresses, made up of 7 bits, are used to
identify them and to write the data through the serial interface.
1. This bit must be set to 0 for the correct operation of the device.
Enables access to the sensor hub (I²C master) configuration registers. (2)
SHUB_REG_ACCESS
Default value: 0
Enables the control of the CTRL registers to FSM (FSM can change some configurations of the
FSM_WR_CTRL_EN device autonomously). Default value: 0
(0: disabled; 1: enabled)
SW_POR Global reset of the device. Default value: 0
Resets the control registers of SPI2 from the primary interface. This bit must be set to 1 and
SPI2_RESET
then back to 0 (this bit is not automatically cleared). Default value: 0
Enables the full control of OIS configurations from the primary interface. Default value: 0
OIS_CTRL_FROM_UI (0: OIS chain full control from primary interface disabled;
1: OIS chain full control from primary interface enabled)
1. Details concerning the embedded functions configuration registers are available in Section 12: Embedded functions register
mapping and Section 13: Embedded functions register description.
2. Details concerning the sensor hub registers are available in Section 16: Sensor hub register mapping and
Section 17: Sensor hub register description.
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
Disables pull-up on both OCS_Aux and SDO_Aux pins (for mode 1 and mode 2). For further details about
the configuration of the pull-up resistors in mode 3, refer to Table 23. Default value: 0
OIS_PU_DIS
(0: OCS_Aux and SDO_Aux pins with pull-up;
1: OCS_Aux and SDO_Aux pins pull-up disconnected)
Enables pull-up on SDO pin. For details, refer to Table 23. Default value: 0
SDO_PU_EN
(0: SDO pin pull-up disconnected; 1: SDO pin with pull-up)
Selects the action the device performs after "reset whole chip" I3C pattern. Default value: 1
IBHR_POR_EN (0: configuration reset (SW reset + dynamic address reset);
(1: global reset (POR reset))
SHUB_ I2C_I3C_
SDA_PU_EN ASF_CTRL H_LACTIVE PP_OD SIM 0(1)
PU_EN disable
1. This bit must be set to 0 for the correct operation of the device.
When ODR-triggered mode is set, these bits are used to define the number of data generated in
ODR_TRIG_NODR_[7:0] the reference period.
Allowed values for ODR_TRIG_NODR_[7:0] are 0 (default) and values in the range from 4 to 255.
FIFO watermark threshold: 1 LSB = TAG (1 byte) + 1 sensor (6 bytes) written in FIFO.
WTM_[7:0]
Watermark flag rises when the number of bytes written in the FIFO is greater than or equal to the threshold level.
1. This bit must be set to 0 for the correct operation of the device.
Sensing chain FIFO stop values memorization at threshold level. Default value: 0
STOP_ON_WTM (0: FIFO depth is not limited;
1: FIFO depth is limited to threshold level, defined in FIFO_CTRL1 (07h))
Enables/disables compression algorithm runtime. Default value: 0
FIFO_COMPR_RT_EN(1) (0: FIFO compression algorithm disabled;
1: FIFO compression algorithm enabled)
Enables ODR CHANGE virtual sensor to be batched in FIFO. Default value: 0
(0: ODR CHANGE virtual sensor not batched in FIFO;
ODR_CHG_EN 1: ODR CHANGE virtual sensor batched in FIFO)
Note: Refer to the product application note for the details regarding operating/power mode
configurations, settings, turn-on/off time and on-the-fly changes.
This field configures the compression algorithm to write uncompressed data at each rate.
(0: uncompressed data writing is not forced (default);
UNCOMPR_RATE_[1:0] 1: uncompressed data every 8 batch data rate;
2: uncompressed data every 16 batch data rate;
3: uncompressed data every 32 batch data rate)
When dual-channel mode is enabled, this bit enables FSM-triggered batching in FIFO of
XL_DualC_BATCH_FROM_FSM accelerometer channel 2. Default value: 0
(0: disabled; 1: enabled)
Selects batch data rate (write frequency in FIFO) for gyroscope data.
(0000: gyroscope not batched in FIFO (default);
0001: 1.875 Hz;
0010: 7.5 Hz;
0011: 15 Hz;
0100: 30 Hz;
0101: 60 Hz;
BDR_GY_[3:0] 0110: 120 Hz;
0111: 240 Hz;
1000: 480 Hz;
1001: 960 Hz;
1010: 1.92 kHz;
1011: 3.84 kHz;
1100: 7.68 kHz
1101-1111: reserved)
Selects batch data rate (write frequency in FIFO) for accelerometer data.
(0000: accelerometer not batched in FIFO (default);
0001: 1.875 Hz;
0010: 7.5 Hz;
0011: 15 Hz;
0100: 30 Hz;
0101: 60 Hz;
BDR_XL_[3:0] 0110: 120 Hz;
0111: 240 Hz;
1000: 480 Hz;
1001: 960 Hz;
1010: 1.92 kHz;
1011: 3.84 kHz;
1100: 7.68 kHz
1101-1111: reserved)
Selects decimation for timestamp batching in FIFO. Write rate is the maximum rate between the
accelerometer and gyroscope BDR divided by decimation decoder.
(00: timestamp not batched in FIFO (default);
DEC_TS_BATCH_[1:0]
01: decimation 1: max(BDR_XL[Hz],BDR_GY[Hz]) [Hz];
10: decimation 8: max(BDR_XL[Hz],BDR_GY[Hz])/8 [Hz];
11: decimation 32: max(BDR_XL[Hz],BDR_GY[Hz])/32 [Hz])
Selects batch data rate (write frequency in FIFO) for temperature data
(00: temperature not batched in FIFO (default);
ODR_T_BATCH_[1:0] 01: 1.875 Hz;
10: 15 Hz;
11: 60 Hz)
Enables FIFO batching of enhanced EIS gyroscope output values. Default value: 0
G_EIS_FIFO_EN
(0: disabled; 1: enabled)
FIFO mode selection
(000: bypass mode: FIFO disabled (default);
001: FIFO mode: stops collecting data when FIFO is full;
010: continuousWTM-to-full mode: continuous mode with FIFO watermark size until trigger is
deasserted, then data are stored in FIFO until the buffer is full;
FIFO_MODE_[2:0]
011: continuous-to-FIFO mode: continuous mode until trigger is deasserted, then FIFO mode;
100: bypass-to-continuous mode: bypass mode until trigger is deasserted, then continuous mode;
101: reserved;
110: continuous mode: if the FIFO is full, the new sample overwrites the older one;
111: bypass-to-FIFO mode: bypass mode until trigger is deasserted, then FIFO mode.)
1. This bit must be set to 0 for the correct operation of the device.
Selects the trigger for the internal counter of batch events between the accelerometer,
gyroscope and EIS gyroscope.
In conjunction with CNT_BDR_TH_[9:8] in COUNTER_BDR_REG1 (0Bh), sets the threshold for the
CNT_BDR_TH_[7:0] internal counter of batch events. When this counter reaches the threshold, the counter is reset and the
COUNTER_BDR_IA flag in FIFO_STATUS2 (1Ch) is set to 1.
1. This bit must be set to 0 for the correct operation of the device.
Enables FIFO full flag interrupt on INT1 pin. It can be also used to trigger an IBI when the MIPI I3C®
INT1_FIFO_FULL
interface is used. Default value: 0
Enables FIFO overrun interrupt on INT1 pin. It can be also used to trigger an IBI when the MIPI
INT1_FIFO_OVR
I3C® interface is used. Default value: 0
Enables FIFO threshold interrupt on INT1 pin. It can be also used to trigger an IBI when the MIPI
INT1_FIFO_TH
I3C® interface is used. Default value: 0
Enables gyroscope data-ready interrupt on INT1 pin. It can be also used to trigger an IBI when the MIPI
INT1_DRDY_G
I3C® interface is used. Default value: 0
Enables accelerometer data-ready interrupt on INT1 pin. It can be also used to trigger an IBI when the
INT1_DRDY_XL
MIPI I3C® interface is used. Default value: 0
Enables routing the embedded functions end of operations signal to the INT2 pin.
INT2_EMB_FUNC_ENDOP
Default value: 0
INT2_CNT_BDR Enables COUNTER_BDR_IA interrupt on INT2. Default value: 0
INT2_FIFO_FULL Enables FIFO full flag interrupt on INT2 pin.Default value: 0
INT2_FIFO_OVR Enables FIFO overrun interrupt on INT2 pin. Default value: 0
INT2_FIFO_TH Enables FIFO threshold interrupt on INT2 pin. Default value: 0
INT2_DRDY_G_EIS Enables gyroscope EIS data-ready interrupt on INT2 pin. Default value: 0
INT2_DRDY_G Gyroscope data-ready interrupt on INT2 pin. Default value: 0
INT2_DRDY_XL Accelerometer data-ready interrupt on INT2 pin. Default value: 0
0 1 1 1 0 0 0 0
1. This bit must be set to 0 for the correct operation of the device.
0 0 0 0 Power-down (default)
0 0 0 1 1.875 Hz (low-power mode)
0 0 1 0 7.5 Hz (high-performance, normal mode)
0 0 1 1 15 Hz (low-power, high-performance, normal mode)
0 1 0 0 30 Hz (low-power, high-performance, normal mode)
0 1 0 1 60 Hz (low-power, high-performance, normal mode)
0 1 1 0 120 Hz (low-power, high-performance, normal mode)
0 1 1 1 240 Hz (low-power, high-performance, normal mode)
1 0 0 0 480 Hz (high-performance, normal mode)
1 0 0 1 960 Hz (high-performance, normal mode)
1 0 1 0 1.92 kHz (high-performance, normal mode)
1 0 1 1 3.84 kHz (high-performance mode)
1 1 0 0 7.68 kHz (high-performance mode)
Others Reserved
1. This bit must be set to 0 for the correct operation of the device.
0 0 0 0 Power-down (default)
0 0 1 0 7.5 Hz (low-power, high-performance mode)
0 0 1 1 15 Hz (low-power, high-performance mode)
0 1 0 0 30 Hz (low-power, high-performance mode)
0 1 0 1 60 Hz (low-power, high-performance mode)
0 1 1 0 120 Hz (low-power, high-performance mode)
0 1 1 1 240 Hz (low-power, high-performance mode)
1 0 0 0 480 Hz (high-performance mode)
1 0 0 1 960 Hz (high-performance mode)
1 0 1 0 1.92 kHz (high-performance mode)
1 0 1 1 3.84 kHz (high-performance mode)
1 1 0 0 7.68 kHz (high-performance mode)
Others Reserved
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
Enables routing the embedded functions interrupt signals to the INT1 pin. Default value: 0
• The corresponding bits in the INT2 control registers need to be enabled.
• These interrupts are in OR with those enabled on the INT1 pin.
• They are not fed to the INT2 pin.
INT2_on_INT1 • The movable interrupts are:
– INT2_DRDY_G_EIS and INT2_EMB_FUNC_ENDOP, enabled through INT2_CTRL (0Eh)
– INT2_TIMESTAMP enabled through MD2_CFG (5Fh)
– INT2_DRDY_TEMP enabled through CTRL4 (13h)
– INT2_DRDY_AH_QVAR enabled through Section 9.20
Enables / masks data-ready signal. Default value: 0
(0: disabled;
DRDY_MASK 1: masks DRDY signals (both accelerometer and gyroscope) until filter settling ends (accelerometer and
gyroscope independently masked))
Note: Refer to the product application note for the details regarding operating/power mode
configurations, settings, turn-on/off time and on-the-fly changes.
Enables temperature sensor data-ready interrupt on the INT2 pin. It can be also used to trigger an IBI
®
INT2_DRDY_TEMP when the MIPI I3C interface is used and INT2_ON_INT1 = 1 in CTRL4_C (13h). Default value: 0
(0: disabled; 1: enabled)
Enables pulsed data-ready mode. Default value: 0
(0: data-ready latched mode (returns to 0 only after the higher part of the associated output register has
DRDY_PULSED
been read);
1: data-ready pulsed mode (the data-ready pulses are 65 μs long))
Set to 1 in order to change the polarity of the INT2 pin input trigger for DEN or embedded functions.
Default value: 0
INT2_IN_LH
(0: trigger for DEN and embedded functions pin is active low;
1: trigger for DEN and embedded functions pin is active high)
BUS_ACT_ BUS_ACT_
0(1) 0(1) 0(1) 0(1) 0(1) INT_EN_I3C
SEL_1 SEL_0
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
1. When FS = ±4000 dps is selected, the gyroscope OIS chain must be disabled (OIS_G_EN bit of UI_CTRL1_OIS (70h) /
SPI2_CTRL1_OIS (70h) must be set to 0).
LPF1_G_
60 Hz 120 Hz 240 Hz 480 Hz 960 Hz 1.92 kHz 3.84 kHz 7.68 kHz
BW_[2:0]
1. This bit must be set to 0 for the correct operation of the device.
Enables the analog hub and Qvar chain. When this bit is set to 1, the analog hub and Qvar buffers
are connected to the SDx/AH1/Qvar1 and SCx/AH2/Qvar2 pins. Before setting this bit to 1, the
AH_QVAR_EN accelerometer and gyroscope sensors have to be configured in power-down mode. Default value: 0
(0: disabled; 1: enabled)
Analog hub and Qvar data-ready interrupt on the INT2 pin. Default value: 0
INT2_DRDY_AH_QVAR
(0: disabled; 1: enabled)
Configures the equivalent input impedance of the analog hub and Qvar buffers.
(00: 2.4 GΩ (default);
AH_QVAR_C_ZIN_[1:0] 01: 730 MΩ;
10: 300 MΩ;
11: 235 MΩ)
Enables the gyroscope digital LPF1 filter. If the OIS chain is disabled, the bandwidth can be
LPF1_G_EN
selected through LPF1_G_BW_[2:0] in CTRL6 (15h)
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
HP_LPF2_XL_BW_[2:0] Accelerometer LPF2 and HP filter configuration and cutoff setting. Refer to Table 69.
Enables dual-channel mode. When this bit is set to 1, data with the maximum full scale are sent to the output
XL_DualC_EN registers at addresses 34h to 39h. The UI processing chain is used. Default value: 0
(0: disabled; 1: enabled)
HP_SLOPE_
Filter type LPF2_XL_EN HP_LPF2_XL_BW_[2:0] Bandwidth
XL_EN
0 - ODR/2(1)
000 ODR/4
001 ODR/10
010 ODR/20
101 ODR/200
110 ODR/400
111 ODR/800
001 ODR/10
010 ODR/20
011 ODR/45
High pass 1 -
100 ODR/100
101 ODR/200
110 ODR/400
111 ODR/800
1. This value is ODR/2 when the accelerometer is in high-performance mode, high-accuracy ODR mode and normal mode. It
is equal to 2300 Hz when the accelerometer is in low-power mode 1 (2 mean), 912 Hz in low-power mode 2 (4 mean) and
431 Hz in low-power mode 3 (8 mean).
1. This bit must be set to 0 for the correct operation of the device.
Enables accelerometer high-pass filter reference mode (valid for high-pass path -
HP_REF_MODE_XL HP_SLOPE_XL_EN bit must be 1). Default value: 0
(0: disabled, 1: enabled)(1)
Enables accelerometer LPF2 and HPF fast-settling mode. The filter sets the first sample after
XL_FASTSETTL_MODE writing this bit. Active only during device exit from power-down mode. Default value: 0
(0: disabled, 1: enabled)
Accelerometer slope filter / high-pass filter selection. Refer to Figure 32. Default value: 0
HP_SLOPE_XL_EN (0: low-pass filter path selected;
1: high-pass filter path selected)
Accelerometer high-resolution selection. Refer to Figure 32. Default value: 0
LPF2_XL_EN (0: output from first stage digital filtering selected;
1: output from LPF2 second filtering stage selected)
Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR
(75h). Default value: 0
USR_OFF_W
(0: 2-10 g/LSB;
1: 2-6 g/LSB)
Enables accelerometer user offset correction block; it is valid for the low-pass path. Refer to
Figure 32. Default value: 0
USR_OFF_ON_OUT
(0: accelerometer user offset correction block bypassed;
1: accelerometer user offset correction block enabled)
Free-fall LOW_PASS_ON_6D
0
Embedded 6D / 4D
functions 1
LPF2_XL_EN
USR_OFF_ON_OUT
HP_SLOPE_XL_EN
0 0
Digital 0
LP Filter USER
1
OFFSET
LPF2
1 USR_OFF_W
OFS_USR_[7:0]
LPF1 FIFO
Output (1) HP_LPF2_XL_BW_[2:0]
Wake-up
1 1
Activity /
0 0
Inactivity
Digital
USR_OFF_ON_WU SLOPE_FDS
SPI /
HP Filter
I2C /
001 MIPI I3C ®
010
…
111
1
HP_LPF2_XL_BW_[2:0]
SLOPE
000
FILTER
HP_LPF2_XL_BW_[2:0]
S/D Tap
1. The cutoff value of the LPF1 output is ODR/2 when the accelerometer is in high-performance mode, high-
accuracy ODR mode or normal mode. This value is equal to 2300 Hz when the accelerometer is in low-power
mode 1 (2 mean), 912 Hz in low-power mode 2 (4 mean) or 431 Hz in low-power mode 3 (8 mean).
EMB_FUNC_
0(1) 0(1) 0(1) ST_G_1 ST_G_0 ST_XL_1 ST_XL_0
DEBUG
1. This bit must be set to 0 for the correct operation of the device.
FSM_WR_
0 0 0 0 0 - 0
CTRL_STATUS
This flag indicates the current controller of the device configuration registers. This flag must be
used as an acknowledge flag when the value of the FSM_WR_CTRL_EN bit in the
FUNC_CFG_ACCESS (01h) register is changed. Default value: 0
FSM_WR_CTRL_STATUS
(0: all registers and configurations are writable from the standard interface;
1: some registers and configurations are under FSM control and are in read-only mode from the
standard interface).
EMB_ SLEEP_
SHUB_IA D6D_IA 0 TAP_IA WU_IA FF_IA
FUNC_IA CHANGE_IA
TIMESTAMP_
0 OIS_DRDY GDA_EIS AH_QVARDA TDA GDA XLDA
ENDCOUNT
D7 D6 D5 D4 D3 D2 D1 D0
D[15:0] Gyroscope UI chain pitch axis (X) angular rate output value
D7 D6 D5 D4 D3 D2 D1 D0
D[15:0] Gyroscope UI chain roll axis (Y) angular rate output value
D7 D6 D5 D4 D3 D2 D1 D0
D[15:0] Gyroscope UI chain yaw axis (Z) angular rate output value
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
When the analog hub or Qvar is enabled (by setting the AH_QVAR_EN bit to 1 in CTRL7 (16h)), these
AH_Qvar_[15:0] registers contain the analog hub or the Qvar sensor ouput data.
Data are expressed in two's complement.
D7 D6 D5 D4 D3 D2 D1 D0
GYRO_
0 0 0 0 0 GDA_OIS XLDA_OIS
SETTLING
SLEEP_ SLEEP_
0 FF_IA WU_IA X_WU Y_WU Z_WU
CHANGE_IA STATE
SINGLE_ DOUBLE_
0 TAP_IA TAP_SIGN X_TAP Y_TAP Z_TAP
TAP TAP
0 D6D_IA ZH ZL YH YL XH XL
Interrupt active for change position portrait, landscape, face-up, face-down. Default value: 0
D6D_IA
(0: change position not detected; 1: change position detected)
Z-axis high event (over threshold). Default value: 0
ZH
(0: event not detected; 1: event (over threshold) detected)
Z-axis low event (under threshold). Default value: 0
ZL
(0: event not detected; 1: event (under threshold) detected)
Y-axis high event (over threshold). Default value: 0
YH
(0: event not detected; 1: event (over-threshold) detected)
Y-axis low event (under threshold). Default value: 0
YL
(0: event not detected; 1: event (under threshold) detected)
X-axis high event (over threshold). Default value: 0
XH
(0: event not detected; 1: event (over threshold) detected)
X-axis low event (under threshold). Default value: 0
XL
(0: event not detected; 1: event (under threshold) detected)
When the bit WRITE_ONCE in MASTER_CONFIG (14h) is configured as 1, this bit is set to 1 when the
WR_ONCE_DONE
write operation on slave 0 has been performed and completed. Default value: 0
SLAVE3_NACK This bit is set to 1 if Not acknowledge occurs on slave 3 communication. Default value: 0
SLAVE2_NACK This bit is set to 1 if Not acknowledge occurs on slave 2 communication. Default value: 0
SLAVE1_NACK This bit is set to 1 if Not acknowledge occurs on slave 1 communication. Default value: 0
SLAVE0_NACK This bit is set to 1 if Not acknowledge occurs on slave 0 communication. Default value: 0
Sensor hub communication status. Default value: 0
SENS_HUB_ENDOP (0: sensor hub communication not concluded;
1: sensor hub communication concluded)
IS_ IS_
IS_FSM_LC 0 IS_TILT 0 0 0
SIGMOT STEP_DET
Interrupt status bit for FSM long counter timeout interrupt event.
IS_FSM_LC
(1: interrupt detected; 0: no interrupt)
Interrupt status bit for significant motion detection
IS_SIGMOT
(1: interrupt detected; 0: no interrupt)
Interrupt status bit for tilt detection
IS_TILT
(1: interrupt detected; 0: no interrupt)
Interrupt status bit for step detection
IS_STEP_DET
(1: interrupt detected; 0: no interrupt)
IS_FSM8 Interrupt status bit for FSM8 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM7 Interrupt status bit for FSM7 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM6 Interrupt status bit for FSM6 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM5 Interrupt status bit for FSM5 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM4 Interrupt status bit for FSM4 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM3 Interrupt status bit for FSM3 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM2 Interrupt status bit for FSM2 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM1 Interrupt status bit for FSM1 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC4 Interrupt status bit for MLC4 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC3 Interrupt status bit for MLC3 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC2 Interrupt status bit for MLC2 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC1 Interrupt status bit for MLC1 interrupt event. (1: interrupt detected; 0: no interrupt)
Difference in percentage of the effective ODR (and timestamp rate) with respect to the typical.
FREQ_FINE_[7:0]
Step: 0.13%. 8-bit format, two's complement.
The actual timestamp resolution and the actual output data rate can be calculated using the following formulas:
1
tactual s = 46080 ⋅ 1 + 0.0013 ⋅ FREQ_FINE
7.5 1024
15 512
30 256
60 128
120 64
240 32
480 16
960 8
1.92 kHz 4
3.84 kHz 2
7.68 kHz 1
1. This bit must be set to 0 for the correct operation of the device.
Enables basic interrupts (6D/4D, free-fall, wake-up, tap, activity/inactivity). Default value: 0
INTERRUPTS_ENABLE
(0: interrupt disabled; 1: interrupt enabled)
Enables timestamp counter. The counter is readable in TIMESTAMP0 (40h), TIMESTAMP1 (41h),
TIMESTAMP_EN TIMESTAMP2 (42h), and TIMESTAMP3 (43h). Default value: 0
(0: disabled; 1: enabled)
When this bit is set to 1, reading the ALL_INT_SRC (1Dh) register does not reset the latched
interrupt signals. This can be useful in order to not reset some status flags before reading the
DIS_RST_LIR_ALL_INT corresponding status register. Default value: 0
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
TAP_PRIORITY_[2:0] Selection of axis priority for tap detection (see Table 160)
X-axis tap recognition threshold. Default value: 0
TAP_THS_X_[4:0]
1 LSB = FS_XL / (25)
000 X Y Z
001 Y X Z
010 X Z Y
011 Z Y X
100 X Y Z
101 Y Z X
110 Z X Y
111 Z Y X
1. This bit must be set to 0 for the correct operation of the device.
00 80 degrees
01 70 degrees
10 60 degrees
11 50 degrees
DUR_[3:0] When double-tap recognition is enabled, this register expresses the maximum time between two consecutive
detected taps to determine a double-tap event. The default value of these bits is 0000b which corresponds to
16/ODR_XL time. If the DUR_[3:0] bits are set to a different value, 1LSB corresponds to 32/ODR_XL time.
Expected quiet time after a tap detection. Default value: 00
QUIET_[1:0] Quiet time is the time after the first detected tap in which there must not be any overthreshold event. The
default value of these bits is 00b which corresponds to 2/ODR_XL time. If the QUIET_[1:0] bits are set to a
different value, 1LSB corresponds to 4/ODR_XL time.
Maximum duration of overthreshold event. Default value: 00
SHOCK_[1:0] Maximum duration is the maximum time of an overthreshold signal detection to be recognized as a tap event.
The default value of these bits is 00b which corresponds to 4/ODR_XL time. If the SHOCK_[1:0] bits are set to
a different value, 1LSB corresponds to 8/ODR_XL time.
SINGLE_ USR_OFF
WK_THS_5 WK_THS_4 WK_THS_3 WK_THS_2 WK_THS_1 WK_THS_0
DOUBLE_TAP _ON_WU
1. This bit must be set to 0 for the correct operation of the device.
000 156 mg
001 219 mg
010 250 mg
011 312 mg
100 344 mg
101 406 mg
110 469 mg
111 500 mg
1. Activity/inactivity interrupt mode (sleep change or sleep status) depends on the SLEEP_STATUS_ON_INT bit in the
INACTIVITY_DUR (54h) register.
INT2_TIMESTAMP Enables routing the alert for timestamp overflow within 5.6 ms to the INT2 pin.
1. Activity/inactivity interrupt mode (sleep change or sleep status) depends on the SLEEP_STATUS_ON_INT bit in the
INACTIVITY_DUR (54h) register.
HAODR_ HAODR_
0(1) 0(1) 0(1) 0(1) 0(1) 0(1)
SEL_1 SEL _0
1. This bit must be set to 0 for the correct operation of the device.
Selects the ODR set supported when high-accuracy ODR (HAODR) mode is enabled (see Table 20).
HAODR_SEL_[1:0]
Default: 00
1. This bit must be set to 0 for the correct operation of the device.
When dual-channel mode is enabled, this bit enables batching the accelerometer
XL_DualC_BATCH_FROM_IF channel 2 in FIFO. Default value: 0
(0: disabled; 1: enabled)
Enables / masks execution trigger of the embedded functions when gyroscope data
are settling. Default value: 0
(0: disabled;
EMB_FUNC_IRQ_MASK_G_SETTL 1: masks execution trigger of the embedded functions until gyroscope filter settling
ends)
Note: Refer to the product application note for the details regarding operating/power
mode configurations, settings, turn-on/off time and on-the-fly changes.
Enables / masks execution trigger of the embedded functions when accelerometer
data are settling. Default value: 0
(0: disabled;
EMB_FUNC_IRQ_MASK_XL_SETTL 1: masks execution trigger of the embedded functions until accelerometer filter settling
ends)
Note: Refer to the product application note for the details regarding operating/power
mode configurations, settings, turn-on/off time and on-the-fly changes.
Disables execution of the embedded functions. Default value: 0
(0: disabled;
EMB_FUNC_DISABLE
1: embedded functions execution trigger is not generated anymore and all initialization
procedures are forced when this bit is set back to 0).
UI_SHARED UI_SHARED
0(1) 0(1) 0(1) 0(1) 0(1) 0(1)
_ACK _REQ
1. This bit must be set to 0 for the correct operation of the device.
Primary interface side. This bit acknowledges the handshake. If the secondary interface is not accessing
UI_SHARED_ACK the shared registers, this bit is set to 1 by the device and the R/W operation on the UI_SPI2_SHARED_0
(65h) through UI_SPI2_SHARED_5 (6Ah) registers is allowed on the primary interface.
This bit is used by the primary interface master to request access to the UI_SPI2_SHARED_0 (65h)
UI_SHARED_REQ through UI_SPI2_SHARED_5 (6Ah) registers. When the R/W operation is finished, the master must reset
this bit.
D7 D6 D5 D4 D3 D2 D1 D0
Volatile byte is used as a contact point between the primary and secondary interface host. These shared registers are
accessible only by one interface at a time and access is managed through the UI_SHARED_ACK and
D[7:0]
UI_SHARED_REQ bits of register UI_HANDSHAKE_CTRL (64h) and the SPI2_SHARED_ACK and
SPI2_SHARED_REQ bits of register SPI2_HANDSHAKE_CTRL (6Eh).
D7 D6 D5 D4 D3 D2 D1 D0
Volatile byte is used as a contact point between the primary and secondary interface host. These shared registers are
accessible only by one interface at a time and access is managed through the UI_SHARED_ACK and
D[7:0]
UI_SHARED_REQ bits of register UI_HANDSHAKE_CTRL (64h) and the SPI2_SHARED_ACK and
SPI2_SHARED_REQ bits of register SPI2_HANDSHAKE_CTRL (6Eh).
D7 D6 D5 D4 D3 D2 D1 D0
Volatile byte is used as a contact point between the primary and secondary interface host. These shared registers are
accessible only by one interface at a time and access is managed through the UI_SHARED_ACK and
D[7:0]
UI_SHARED_REQ bits of register UI_HANDSHAKE_CTRL (64h) and the SPI2_SHARED_ACK and
SPI2_SHARED_REQ bits of register SPI2_HANDSHAKE_CTRL (6Eh).
D7 D6 D5 D4 D3 D2 D1 D0
Volatile byte is used as a contact point between the primary and secondary interface host. These shared registers are
accessible only by one interface at a time and access is managed through the UI_SHARED_ACK and
D[7:0]
UI_SHARED_REQ bits of register UI_HANDSHAKE_CTRL (64h) and the SPI2_SHARED_ACK and
SPI2_SHARED_REQ bits of register SPI2_HANDSHAKE_CTRL (6Eh).
D7 D6 D5 D4 D3 D2 D1 D0
Volatile byte is used as a contact point between the primary and secondary interface host. These shared registers are
accessible only by one interface at a time and access is managed through the UI_SHARED_ACK and
D[7:0]
UI_SHARED_REQ bits of register UI_HANDSHAKE_CTRL (64h) and the SPI2_SHARED_ACK and
SPI2_SHARED_REQ bits of register SPI2_HANDSHAKE_CTRL (6Eh).
D7 D6 D5 D4 D3 D2 D1 D0
Volatile byte is used as a contact point between the primary and secondary interface host. These shared registers are
accessible only by one interface at a time and access is managed through the UI_SHARED_ACK and
D[7:0]
UI_SHARED_REQ bits of register UI_HANDSHAKE_CTRL (64h) and the SPI2_SHARED_ACK and
SPI2_SHARED_REQ bits of register SPI2_HANDSHAKE_CTRL (6Eh).
1. This bit must be set to 0 for the correct operation of the device.
Table 199. Gyroscope EIS chain digital LPF_EIS filter bandwidth selection
ODR_G_EIS_[1:0] Gyroscope EIS ODR [Hz] LPF_G_EIS_BW Cutoff [Hz] Phase @ 20 Hz [°]
0 153 Hz -13.5°
01 1.92 kHz
1 203 Hz -10.8°
0 148 Hz -15.4°
10 960
1 193 Hz -12.7°
1. This bit must be set to 0 for the correct operation of the device.
Enables OIS chain DRDY on INT2 pin from the UI interface. This setting has priority over all other INT2
INT2_DRDY_OIS
settings.
Enables / masks OIS data available. Default value: 0
(0: disabled;
DRDY_MASK_OIS
1: masks OIS DRDY signals (both accelerometer and gyroscope) until filter settling ends
(accelerometer and gyroscope independently masked))
Disables OIS chain clamp during self-test. Default value: 0
ST_OIS_CLAMPDIS (0: All OIS chain outputs = 8000h during self-test;
1: OIS chain self-test outputs)
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
LPF1_G_OIS_BW_[1:0] Gyroscope OIS digital LPF1 filter bandwidth selection. Refer to Table 206.
Gyroscope OIS full-scale selection:
(000: ±125 dps;
001: ±250 dps;
010: ±500 dps;
FS_G_OIS_[2:0] 011: ±1000 dps;
100: ±2000 dps;
101: reserved;
110: reserved;
111: reserved)
Table 206. Gyroscope OIS chain digital LPF1 filter bandwidth selection
00 293 Hz -7.1°
01 217 Hz -9.1°
10 158 Hz -11.9°
11 476 Hz -5.1°
1. This bit must be set to 0 for the correct operation of the device.
LPF_XL_OIS_BW_[2:0] Selects accelerometer OIS channel bandwidth, see Table 209. Default value: 0
Selects accelerometer OIS channel full-scale:
(00: ±4 g (default);
FS_XL_OIS_[1:0] 01: ±8 g;
10: ±16 g;
11: ±32 g)
Note: When the accelerometer full-scale value is selected only from the UI side it is readable also from the OIS side.
Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on
USR_OFF_W in CTRL9 (18h). The offset can be applied to the output registers (see
X_OFS_USR_[7:0] USR_OFF_ON_OUT bit in the CTRL9 (18h) register) or to the wake-up function input data (see
USR_OFF_ON_WU bit in the WAKE_UP_THS (5Bh) register).
The value must be in the range [-127 127].
Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on
USR_OFF_W in CTRL9 (18h). The offset can be applied to the output registers (see
Y_OFS_USR_[7:0] USR_OFF_ON_OUT bit in the CTRL9 (18h) register) or to the wake-up function input data (see
USR_OFF_ON_WU bit in the WAKE_UP_THS (5Bh) register).
The value must be in the range [-127 127].
Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on
USR_OFF_W in CTRL9 (18h). The offset can be applied to the output registers (see
Z_OFS_USR_[7:0] USR_OFF_ON_OUT bit in the CTRL9 (18h) register) or to the wake-up function input data (see
USR_OFF_ON_WU bit in the WAKE_UP_THS (5Bh) register).
The value must be in the range [-127 127].
0x01 Gyroscope NC
0x02 Accelerometer NC
0x03 Temperature
0x04 Timestamp
0x05 CFG_Change
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
The table given below provides a list of the 8/16-bit registers embedded in the device and the corresponding
addresses.
All these registers are accessible from auxiliary SPI interface only.
Register address
Name Type Default Comment
Hex Binary
Reserved registers must not be changed. Writing to those registers may cause permanent damage to the device.
The content of the registers that are loaded at boot should not be changed. They contain the factory calibration
values. Their content is automatically restored when the device is powered up.
0 1 1 1 0 0 0 0
GYRO_
0 0 0 0 0 GDA XLDA
SETTLING
D7 D6 D5 D4 D3 D2 D1 D0
D[15:0] Gyroscope OIS chain pitch axis (X) angular rate output value
D7 D6 D5 D4 D3 D2 D1 D0
D[15:0] Gyroscope OIS chain roll axis (Y) angular rate output value
D7 D6 D5 D4 D3 D2 D1 D0
D[15:0] Gyroscope OIS chain yaw axis (Z) angular rate output value
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SPI2_ SPI2_
0(1) 0(1) 0(1) 0(1) 0(1) 0(1)
SHARED_REQ SHARED_ACK
1. This bit must be set to 0 for the correct operation of the device.
This bit is used by the auxiliary SPI (SPI2) interface master to request access to the
SPI2_SHARED_REQ UI_SPI2_SHARED_0 (65h) through UI_SPI2_SHARED_5 (6Ah) registers. When the R/W operation is
finished, the master must reset this bit.
Auxiliary SPI (SPI2) interface side. This bit acknowledges the handshake. If the primary interface is not
accessing the shared registers, this bit is set to 1 by the device and the R/W operation on the
SPI2_SHARED_ACK
UI_SPI2_SHARED_0 (65h) through UI_SPI2_SHARED_5 (6Ah) registers is allowed on the auxiliary
SPI interface.
1. This bit must be set to 0 for the correct operation of the device.
INT2_DRDY_OIS Enables OIS chain DRDY on INT2 pin. This setting has priority over all other INT2 settings.
Enables / masks OIS data available. Default value: 0
(0: disabled;
DRDY_MASK_OIS
1: masks OIS DRDY on pin (both accelerometer and gyroscope) until filter settling ends (accelerometer
and gyroscope independently masked))
Disables OIS chain clamp during self-test. Default value: 0
ST_OIS_CLAMPDIS (0: All OIS chain outputs = 8000h during self-test;
1: OIS chain self-test outputs)
Gyroscope OIS chain self-test selection when the self-test is enabled and ST_OIS_CLAMPDIS = 0.
(00: normal mode (default);
ST_G_OIS_[1:0] 01: positive sign self-test;
10: normal mode;
11: negative sign self-test)
Accelerometer OIS chain self-test selection; activated only if the accelerometer OIS chain is enabled.
(00: normal mode (default);
ST_XL_OIS_[1:0] 01: positive sign self-test;
10: negative sign self-test;
11: reserved)
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
LPF1_G_OIS_BW_[1:0] Gyroscope OIS digital LPF1 filter bandwidth selection. Refer to Table 258.
Gyroscope OIS full-scale selection:
(000: ±125 dps;
001: ±250 dps;
010: ±500 dps;
FS_G_OIS_[2:0] 011: ±1000 dps;
100: ±2000 dps;
101: reserved;
110: reserved;
111: reserved)
Table 258. Gyroscope OIS chain digital LPF1 filter bandwidth selection
00 293 Hz -7.1°
01 217 Hz -9.1°
10 158 Hz -11.9°
11 476 Hz -5.1°
1. This bit must be set to 0 for the correct operation of the device.
LPF_XL_OIS_BW_[2:0] Selects accelerometer OIS channel bandwidth, see Table 261. Default value: 0
Selects accelerometer OIS channel full-scale:
(00: ±4 g (default);
FS_XL_OIS_[1:0] 01: ±8 g;
10: ±16 g;
11: ±32 g)
Note: When the accelerometer full-scale value is selected only from the UI side it is readable also from the OIS side.
The table given below provides a list of the registers for the embedded functions available in the device and the
corresponding addresses. Embedded functions registers are accessible when EMB_FUNC_REG_ACCESS is set
to 1 in FUNC_CFG_ACCESS (01h).
Register address
Name Type Default Comment
Hex Binary
Register address
Name Type Default Comment
Hex Binary
Reserved registers must not be changed. Writing to those registers may cause permanent damage to the device.
The content of the registers that are loaded at boot should not be changed. They contain the factory calibration
values. Their content is automatically restored when the device is powered up.
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
PAGE_SEL[3:0] Selects the advanced features dedicated page. Default value: 0000
1. This bit must be set to 0 for the correct operation of the device.
Enables machine learning core function. When the machine learning core is enabled by setting
this bit to 1, the MLC algorithms are executed before the FSM programs. Default value: 0
MLC_BEFORE_FSM_EN(1)
(0: machine learning core function disabled;
1: machine learning core function enabled and executed before FSM programs)
Enables significant motion detection function. Default value: 0
SIGN_MOTION_EN (0: significant motion detection function disabled;
1: significant motion detection function enabled)
Enables tilt calculation. Default value: 0
TILT_EN (0: tilt algorithm disabled;
1: tilt algorithm enabled)
Enables pedometer algorithm. Default value: 0
PEDO_EN (0: pedometer algorithm disabled;
1: pedometer algorithm enabled)
Enables sensor fusion low-power algorithm for 6-axis (accelerometer + gyroscope) game
rotation vector. Default value: 0
SFLP_GAME_EN
(0: sensor fusion algorithm for 6-axis accelerometer + gyroscope disabled;
1: sensor fusion algorithm for 6-axis accelerometer + gyroscope enabled)
1. MLC_EN bit in the EMB_FUNC_EN_B (05h) register must be set to 0 when using this bit.
FIFO_
0(1) 0(1) 0(1) MLC_EN 0(1) 0(1) FSM_EN
COMPR_EN
1. This bit must be set to 0 for the correct operation of the device.
Enables machine learning core function. When the machine learning core is enabled by setting this bit
to 1, the MLC algorithms are executed after executing the FSM programs. Default value: 0
MLC_EN(1)
(0: machine learning core function disabled;
1: machine learning core function enabled and executed after FSM programs)
Enables FIFO compression function. Default value: 0
FIFO_COMPR_EN(2) (0: FIFO compression function disabled;
1: FIFO compression function enabled)
Enables finite state machine (FSM) function. Default value: 0
FSM_EN
(0: FSM function disabled; 1: FSM function enabled)
1. MLC_BEFORE_FSM_EN bit in the EMB_FUNC_EN_A (04h) register must be set to 0 when using this bit.
2. This bit is activated if the FIFO_COMPR_RT_EN bit of FIFO_CTRL2 (08h) is set to 1.
EMB_FUNC_ EMB_FUNC
0 0 0 0 0 0
EXEC_OVR _ENDOP
This bit is set to 1 when the execution of the embedded functions program exceeds maximum time
EMB_FUNC_EXEC_OVR
(new data are generated before the end of the algorithms). Default value: 0
EMB_FUNC_ENDOP When this bit is set to 1, no embedded function is running. Default value: 0
After setting the bit PAGE_WRITE / PAGE_READ in register PAGE_RW (17h), this register is used to set
PAGE_ADDR[7:0] the address of the register to be written/read in the advanced features page selected through the bits
PAGE_SEL[3:0] in register PAGE_SEL (02h).
These bits are used to write (if the bit PAGE_WRITE = 1 in register PAGE_RW (17h)) or read (if the bit
PAGE_VALUE[7:0] PAGE_READ = 1 in register PAGE_RW (17h)) the data at the address PAGE_ADDR[7:0] of the selected
advanced features page.
1. This bit must be set to 0 for the correct operation of the device.
Routing FSM long counter timeout interrupt event to INT1. Default value: 0 (0: routing to INT1
INT1_FSM_LC(1)
disabled; 1: routing to INT1 enabled)
Routing significant motion event to INT1. Default value: 0
INT1_SIG_MOT(1)
(0: routing to INT1 disabled; 1: routing to INT1 enabled)
Routing tilt event to INT1. Default value: 0
INT1_TILT(1)
(0: routing to INT1 disabled; 1: routing to INT1 enabled)
Routing pedometer step recognition event to INT1. Default value: 0
INT1_STEP_DETECTOR(1)
(0: routing to INT1 disabled; 1: routing to INT1 enabled)
1. This bit must be set to 0 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
Routing FSM long counter timeout interrupt event to INT2. Default value: 0 (0: routing to INT2
INT2_FSM_LC(1)
disabled; 1: routing to INT2 enabled)
Routing significant motion event to INT2. Default value: 0
INT2_SIG_MOT(1)
(0: routing to INT2 disabled; 1: routing to INT2 enabled)
Routing tilt event to INT2. Default value: 0
INT2_TILT(1)
(0: routing to INT2 disabled; 1: routing to INT2 enabled)
Routing pedometer step recognition event to INT2. Default value: 0
INT2_STEP_DETECTOR(1)
(0: routing to INT2 disabled; 1: routing to INT2 enabled)
1. This bit must be set to 0 for the correct operation of the device.
Interrupt status bit for FSM long counter timeout interrupt event.
IS_FSM_LC
(1: interrupt detected; 0: no interrupt)
Interrupt status bit for significant motion detection
IS_SIGMOT
(1: interrupt detected; 0: no interrupt)
Interrupt status bit for tilt detection
IS_TILT
(1: interrupt detected; 0: no interrupt)
Interrupt status bit for step detection
IS_STEP_DET
(1: interrupt detected; 0: no interrupt)
IS_FSM8 Interrupt status bit for FSM8 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM7 Interrupt status bit for FSM7 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM6 Interrupt status bit for FSM6 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM5 Interrupt status bit for FSM5 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM4 Interrupt status bit for FSM4 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM3 Interrupt status bit for FSM3 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM2 Interrupt status bit for FSM2 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_FSM1 Interrupt status bit for FSM1 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC4 Interrupt status bit for MLC4 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC3 Interrupt status bit for MLC3 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC2 Interrupt status bit for MLC2 interrupt event. (1: interrupt detected; 0: no interrupt)
IS_MLC1 Interrupt status bit for MLC1 interrupt event. (1: interrupt detected; 0: no interrupt)
1. This bit must be set to 0 for the correct operation of the device.
Enables writes to the selected advanced features dedicated page.(1) Default value: 0
PAGE_WRITE
(1: enable; 0: disable)
Enables reads from the selected advanced features dedicated page.(1) Default value: 0
PAGE_READ
(1: enable; 0: disable)
1. This bit must be set to 0 for the correct operation of the device.
Enables batching the machine learning core results in the FIFO buffer. Default value: 0
MLC_FIFO_EN
(0: disabled; 1: enabled)
Enables batching the step counter values in the FIFO buffer. Default value: 0
STEP_COUNTER_FIFO_EN
(0: disabled; 1: enabled)
Enables batching the gyroscope bias values computed by the SFLP algorithm in the FIFO
SFLP_GBIAS_FIFO_EN buffer. Default value: 0
(0: disabled; 1: enabled)
Enables batching the gravity values computed by the SFLP algorithm in the FIFO buffer.
SFLP_GRAVITY_FIFO_EN Default value: 0
(0: disabled; 1: enabled)
Enables batching the game rotation vector (quaternion) values computed by the SFLP
SFLP_GAME_FIFO_EN algorithm in the FIFO buffer. Default value: 0
(0: disabled; 1: enabled)
1. This bit must be set to 0 for the correct operation of the device.
Enables batching the machine learning core filters and features in the FIFO buffer.
MLC_FILTER_FEATURE_FIFO_EN Default value: 0
(0: disabled; 1: enabled)
FSM8_EN Enables FSM8. Default value: 0 (0: FSM8 disabled; 1: FSM8 enabled)
FSM7_EN Enables FSM7. Default value: 0 (0: FSM7 disabled; 1: FSM7 enabled)
FSM6_EN Enables FSM6. Default value: 0 (0: FSM6 disabled; 1: FSM6 enabled)
FSM5_EN Enables FSM5. Default value: 0 (0: FSM5 disabled; 1: FSM5 enabled)
FSM4_EN Enables FSM4. Default value: 0 (0: FSM4 disabled; 1: FSM4 enabled)
FSM3_EN Enables FSM3. Default value: 0 (0: FSM3 disabled; 1: FSM3 enabled)
FSM2_EN Enables FSM2. Default value: 0 (0: FSM2 disabled; 1: FSM2 enabled)
FSM1_EN Enables FSM1. Default value: 0 (0: FSM1 disabled; 1: FSM1 enabled)
P_X FSM1 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM1 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM1 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM1 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM1 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM1 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM1 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM1 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM2 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM2 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM2 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM2 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM2 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM2 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM2 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM2 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM3 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM3 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM3 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM3 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM3 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM3 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM3 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM3 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM4 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM4 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM4 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM4 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM4 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM4 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM4 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM4 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM5 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM5 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM5 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM5 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM5 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM5 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM5 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM5 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM6 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM6 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM6 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM6 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM6 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM6 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM6 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM6 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM7 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM7 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM7 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM7 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM7 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM7 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM7 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM7 output: negative event detected on the vector. (0: event not detected; 1: event detected)
P_X FSM8 output: positive event detected on the X-axis. (0: event not detected; 1: event detected)
N_X FSM8 output: negative event detected on the X-axis. (0: event not detected; 1: event detected)
P_Y FSM8 output: positive event detected on the Y-axis. (0: event not detected; 1: event detected)
N_Y FSM8 output: negative event detected on the Y-axis. (0: event not detected; 1: event detected)
P_Z FSM8 output: positive event detected on the Z-axis. (0: event not detected; 1: event detected)
N_Z FSM8 output: negative event detected on the Z-axis. (0: event not detected; 1: event detected)
P_V FSM8 output: positive event detected on the vector. (0: event not detected; 1: event detected)
N_V FSM8 output: negative event detected on the vector. (0: event not detected; 1: event detected)
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
1. This bit must be set to 0 for the correct operation of the device.
Read-only bit.
1. This bit must be set to 0 for the correct operation of the device.
MLC_BEFORE_FSM_INIT Machine learning core initialization request (MLC executed before FSM). Default value: 0
SIG_MOT_INIT Significant motion detection algorithm initialization request. Default value: 0
TILT_INIT Tilt algorithm initialization request. Default value: 0
STEP_DET_INIT Pedometer step counter/detector algorithm initialization request. Default value: 0
SFLP_GAME_INIT SFLP game algorithm initialization request. Default value: 0
FIFO_
0(1) 0(1) 0(1) MLC_INIT 0(1) 0(1) FSM_INIT
COMPR_INIT
1. This bit must be set to 0 for the correct operation of the device.
MLC_INIT Machine learning core initialization request (MLC executed after FSM). Default value: 0
FIFO_COMPR_INIT FIFO compression feature initialization request. Default value: 0
FSM_INIT FSM initialization request. Default value: 0
The table given below provides a list of the registers for the embedded advanced features page 0. These
registers are accessible when PAGE_SEL[3:0] are set to 0000 in PAGE_SEL (02h).
Note: External sensor offset compensation registers and transformation matrix correction registers affect FSM data
only. When these registers are set with their default values, no compensation is applied.
Register address
Name Type Default Comment
Hex Binary
The following table provides a list of the registers for the embedded advanced features page 1. These registers
are accessible when PAGE_SEL[3:0] are set to 0001 in PAGE_SEL (02h).
Register address
Name Type Default Comment
Hex Binary
The following table provides a list of the registers for the embedded advanced features page 2. These registers
are accessible when PAGE_SEL[3:0] are set to 0010 in PAGE_SEL (02h).
Register address
Name Type Default Comment
Hex Binary
Reserved registers must not be changed. Writing to those registers may cause permanent damage to the device.
The content of the registers that are loaded at boot should not be changed. They contain the factory calibration
values. Their content is automatically restored when the device is powered up.
Write procedure example: write value 06h in register at address 84h (PEDO_DEB_STEPS_CONF) in page 1.
Read procedure example: read value of register at address 84h (PEDO_DEB_STEPS_CONF) in page 1.
Note: Steps 1 and 2 of both procedures are intended to be performed at the beginning of the procedure. Steps 6 and 7
of both procedures are intended to be performed at the end of the procedure. If the procedure involves multiple
operations, only steps 3, 4 and 5 must be repeated for each operation. If, in particular, the multiple operations
involve consecutive registers, only step 5 can be performed.
SFLP game algorithm X-axis gbias: temporary register for gbias setting procedure (LSbyte).
GAME_GBIASX_[7:0]
Default value: 00000000
SFLP game algorithm X-axis gbias: temporary register for gbias setting procedure (MSbyte).
GAME_GBIASX_[15:8]
Default value: 00000000
SFLP game algorithm Y-axis gbias: temporary register for gbias setting procedure (LSbyte).
GAME_GBIASY_[7:0]
Default value: 00000000
SFLP game algorithm Y-axis gbias: temporary register for gbias setting procedure (MSbyte).
GAME_GBIASY_[15:8]
Default value: 00000000
SFLP game algorithm Z-axis gbias: temporary register for gbias setting procedure (LSbyte).
GAME_GBIASZ_[7:0]
Default value: 00000000
SFLP game algorithm Z-axis gbias: temporary register for gbias setting procedure (MSbyte).
GAME_GBIASZ_[15:8]
Default value: 00000000
FSM_EXT_MAT_XX_[7:0] Transformation matrix row1 col1 coefficient (LSbyte). Default value: 00000000
FSM_EXT_MAT_[15:8] Transformation matrix row1 col1 coefficient (MSbyte). Default value: 00111100
FSM_EXT_MAT_XY_[7:0] Transformation matrix row1 col2 (and row2 col1) coefficient (LSbyte). Default value: 00000000
FSM_EXT_MAT_XY_[15:8] Transformation matrix row1 col2 (and row2 col1) coefficient (MSbyte). Default value: 00000000
FSM_EXT_MAT_XZ_[7:0] Transformation matrix row1 col3 (and row3 col1) coefficient (LSbyte). Default value: 00000000
FSM_EXT_MAT_XZ_[15:8] Transformation matrix row1 col3 (and row3 col1) coefficient (MSbyte). Default value: 00000000
FSM_EXT_MAT_YY_[7:0] Transformation matrix row2 col2 coefficient (LSbyte). Default value: 00000000
FSM_EXT_MAT_YY_[15:8] Transformation matrix row2 col2 coefficient (MSbyte). Default value: 00111100
FSM_EXT_MAT_ZZ_[7:0] Transformation matrix row3 col3 coefficient (LSbyte). Default value: 00000000
FSM_EXT_MAT_ZZ_[15:8] Transformation matrix row3 col3 coefficient (MSbyte). Default value: 00111100
1. This bit must be set to 0 for the correct operation of the device.
External sensor Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)
(000: Y = Y; (default)
001: Y = -Y;
010: Y = X;
EXT_Y_AXIS[2:0]
011: Y = -X;
100: Y = -Z;
101: Y = Z;
Others: Y = Y)
External sensor Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)
(000: Z = Y;
001: Z = -Y;
010: Z = X;
EXT_Z_AXIS[2:0]
011: Z = -X;
100: Z = -Z;
101: Z = Z; (default)
Others: Z = Y)
1. This bit must be set to 0 for the correct operation of the device.
External sensor X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)
(000: X = Y;
001: X = -Y;
010: X = X; (default)
EXT_X_AXIS[2:0]
011: X = -X;
100: X = -Z;
101: X = Z;
Others: X = Y)
FSM_LC_TIMEOUT[7:0] FSM long counter timeout value (LSbyte). Default value: 00000000
FSM_LC_TIMEOUT[15:8] FSM long counter timeout value (MSbyte). Default value: 00000000
1. This bit must be set to 0 for the correct operation of the device.
CARRY_COUNT_EN Set when user wants to generate interrupt only on count overflow event.
1. This bit is activated if the MLC_EN bit of EMB_FUNC_EN_B (05h) or the MLC_BEFORE_FSM_EN bit in the
EMB_FUNC_EN_A (04h) register is set to 1.
Debounce threshold. Minimum number of steps to increment the step counter (debounce).
DEB_STEP[7:0]
Default value: 00001010
EXT_FORMAT
0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1)
_SEL
1. This bit must be set to 0 for the correct operation of the device.
Selects the format of AH / Qvar / external sensor data for FSM and MLC processing. Default value: 0
EXT_FORMAT_SEL
(0: 2-byte format; 1: 3-byte format)
EXT_3BYTE_S_[7:0] External sensor (3-byte output data) sensitivity (LSbyte). Default value: 00000000
EXT_3BYTE_S_[15:8] External sensor (3-byte output data) sensitivity (MSbyte). Default value: 00001100
EXT_3BYTE_OFF_[7:0] External sensor (3-byte output data) offset (low byte). Default value: 00000000
EXT_3BYTE_OFF_[15:8] External sensor (3-byte output data) offset (mid byte). Default value: 01010100
EXT_3BYTE_OFF_[23:16] External sensor (3-byte output data) offset (high byte). Default value: 00111111
The table given below provides a list of the registers for the sensor hub functions available in the device and the
corresponding addresses. The sensor hub registers are accessible when bit SHUB_REG_ACCESS is set to 1 in
FUNC_CFG_ACCESS (01h).
Reserved registers must not be changed. Writing to those registers may cause permanent damage to the device.
The content of the registers that are loaded at boot should not be changed. They contain the factory calibration
values. Their content is automatically restored when the device is powered up.
PASS_
RST_MASTER WRITE_ START_ AUX_ AUX_
THROUGH_ 0(1) MASTER_ON
_REGS ONCE CONFIG SENS_ON1 SENS_ON0
MODE
1. This bit must be set to 0 for the correct operation of the device.
RST_MASTER_REGS Resets master logic and output registers. Must be set to 1 and then set to 0. Default value: 0
Slave 0 write operation is performed only at the first sensor hub cycle.
Default value: 0
WRITE_ONCE
(0: write operation for each sensor hub cycle;
1: write operation only for the first sensor hub cycle)
Sensor hub trigger signal selection. Default value: 0
START_CONFIG (0: sensor hub trigger signal is the accelerometer/gyro data-ready;
1: sensor hub trigger signal external from INT2 pin)
I²C interface pass-through. Default value: 0
PASS_THROUGH_MODE (0: pass-through disabled;
1: pass-through enabled, primary I²C line is short-circuited with the sensor hub line)
Enables sensor hub I²C master. Default: 0
MASTER_ON
(0: master I²C of sensor hub disabled; 1: master I²C of sensor hub enabled)
Number of external sensors to be read by the sensor hub.
(00: one sensor (default);
AUX_SENS_ON[1:0] 01: two sensors;
10: three sensors;
11: four sensors)
I²C slave address of sensor 0 that can be read by the sensor hub.
slave0_add[6:0]
Default value: 0000000
Read/write operation on sensor 0. Default value: 0
rw_0
(0: write operation; 1: read operation)
Address of register on sensor 0 that has to be read/written according to the rw_0 bit value in SLV0_ADD
slave0_reg[7:0]
(15h). Default value: 00000000
1. This bit must be set to 0 for the correct operation of the device.
I²C slave address of sensor 1 that can be read by the sensor hub.
Slave1_add[6:0]
Default value: 0000000
Enables read operation on sensor 1. Default value: 0
r_1
(0: read operation disabled; 1: read operation enabled)
Slave1_reg[7:0] Address of register on sensor 1 that has to be read/written according to the r_1 bit value in SLV1_ADD (18h).
1. This bit must be set to 0 for the correct operation of the device.
2. This bit must be set to 1 for the correct operation of the device.
Slave2_add[6:0] I²C slave address of sensor 2 that can be read by the sensor hub.
Enables read operation on sensor 2. Default value: 0
r_2
(0: read operation disabled; 1: read operation enabled)
Address of register on sensor 2 that has to be read/written according to the r_2 bit value in SLV2_ADD
Slave2_reg[7:0]
(1Bh).
1. This bit must be set to 0 for the correct operation of the device.
Slave3_add[6:0] I²C slave address of sensor 3 that can be read by the sensor hub.
Enables read operation on sensor 3. Default value: 0
r_3
(0: read operation disabled; 1: read operation enabled)
Slave3_reg[7:0] Address of register on sensor 3 that has to be read according to the r_3 bit value in SLV3_ADD (1Eh).
1. This bit must be set to 0 for the correct operation of the device.
Data to be written into the slave 0 device according to the rw_0 bit in register SLV0_ADD (15h).
Slave0_dataw[7:0]
Default value: 00000000
When the bit WRITE_ONCE in MASTER_CONFIG (14h) is configured as 1, this bit is set to 1 when the
WR_ONCE_DONE
write operation on slave 0 has been performed and completed. Default value: 0
SLAVE3_NACK This bit is set to 1 if Not acknowledge occurs on slave 3 communication. Default value: 0
SLAVE2_NACK This bit is set to 1 if Not acknowledge occurs on slave 2 communication. Default value: 0
SLAVE1_NACK This bit is set to 1 if Not acknowledge occurs on slave 1 communication. Default value: 0
SLAVE0_NACK This bit is set to 1 if Not acknowledge occurs on slave 0 communication. Default value: 0
Sensor hub communication status. Default value: 0
SENS_HUB_ENDOP (0: sensor hub communication not concluded;
1: sensor hub communication concluded)
18 Soldering information
The LGA package is compliant with the ECOPACK and RoHS standard.
It is qualified for soldering heat resistance according to JEDEC J-STD-020.
For land pattern and soldering recommendations, consult technical note TN0018 available on www.st.com.
19 Package information
In order to meet environmental requirements, ST offers these devices in different grades of ECOPACK packages,
depending on their level of environmental compliance. ECOPACK specifications, grade definitions and product
status are available at: www.st.com. ECOPACK is an ST trademark.
Figure 33. LGA-14L 2.5 x 3.0 x 0.86 mm package outline and mechanical data
Pin1 indicator
W C H 0.5 4x (0.1)
Pin 1 indicator
1.5
L
14x 0.25±0.05
0.5
1 14x 0.475±0.05
0.05 C
TOP VIEW BOTTOM VIEW
OUTER DIMENSIONS
40mm min.
Access hole at
slot location
B
C
D N
A
A (max) 330
B (min) 1.5
C 13 ±0.25
D (min) 20.2
N (min) 60
G 12.4 +2/-0
T (max) 18.4
Revision history
Table 507. Document revision history
Contents
1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
2 Embedded low-power features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Pedometer functions: step detector and step counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Pedometer algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Tilt detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Significant motion detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 Finite state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 Machine learning core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7 Adaptive self-configuration (ASC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.8 Sensor fusion low power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.1 Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Module specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
4.1 Mechanical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Electrical characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Communication interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4.1 SPI - serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4.2 I²C - inter-IC control interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 Absolute maximum ratings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.6.1 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.6.2 Zero-g and zero-rate level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
5.1 I²C/SPI interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.1 I²C serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.2 I²C operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1.3 SPI bus interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
6.1 Operating modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 Accelerometer power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3 Accelerometer dual-channel mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.4 Gyroscope power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.5 High-accuracy ODR mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.6 ODR-triggered mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.7 Analog hub functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.8 Qvar functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.9 Block diagram of filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.9.1 Block diagrams of the accelerometer filters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.9.2 Block diagrams of the gyroscope filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.10 Enhanced EIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.11 OIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.11.1 Enabling OIS functionality and connection schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.12 FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.12.1 Bypass mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.12.2 FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.12.3 Continuous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.12.4 Continuous-to-FIFO mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.12.5 ContinuousWTM-to-full mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.12.6 Bypass-to-continuous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.12.7 Bypass-to-FIFO mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.12.8 FIFO reading procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7 Application hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
7.1 LSM6DSV32X electrical connections in mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 LSM6DSV32X electrical connections in mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3 LSM6DSV32X electrical connections in mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8 Register mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
9 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
9.1 FUNC_CFG_ACCESS (01h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.2 PIN_CTRL (02h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.3 IF_CFG (03h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.4 ODR_TRIG_CFG (06h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.5 FIFO_CTRL1 (07h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.6 FIFO_CTRL2 (08h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.43 TIMESTAMP0 (40h), TIMESTAMP1 (41h), TIMESTAMP2 (42h), and TIMESTAMP3 (43h) 85
9.44 UI_STATUS_REG_OIS (44h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.45 WAKE_UP_SRC (45h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.46 TAP_SRC (46h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.47 D6D_SRC (47h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.48 STATUS_MASTER_MAINPAGE (48h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.49 EMB_FUNC_STATUS_MAINPAGE (49h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.50 FSM_STATUS_MAINPAGE (4Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.51 MLC_STATUS_MAINPAGE (4Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.52 INTERNAL_FREQ_FINE (4Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.53 FUNCTIONS_ENABLE (50h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.54 DEN (51h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.55 INACTIVITY_DUR (54h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.56 INACTIVITY_THS (55h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.57 TAP_CFG0 (56h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.58 TAP_CFG1 (57h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.59 TAP_CFG2 (58h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.60 TAP_THS_6D (59h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.61 TAP_DUR (5Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.62 WAKE_UP_THS (5Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.63 WAKE_UP_DUR (5Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.64 FREE_FALL (5Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.65 MD1_CFG (5Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.66 MD2_CFG (5Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.67 HAODR_CFG (62h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.68 EMB_FUNC_CFG (63h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.69 UI_HANDSHAKE_CTRL (64h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.70 UI_SPI2_SHARED_0 (65h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.71 UI_SPI2_SHARED_1 (66h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.72 UI_SPI2_SHARED_2 (67h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.73 UI_SPI2_SHARED_3 (68h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.74 UI_SPI2_SHARED_4 (69h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.75 UI_SPI2_SHARED_5 (6Ah). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.76 CTRL_EIS (6Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.77 UI_INT_OIS (6Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.78 UI_CTRL1_OIS (70h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
List of tables
Table 1. Sensor fusion performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Table 2. Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 3. Mechanical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Table 4. Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 5. Electrical parameters of Qvar (@Vdd = 1.8 V, T = 25°C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 6. Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 7. SPI slave timing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 8. I²C slave timing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 9. Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 10. Serial interface pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 11. I²C terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 12. SAD+read/write patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 13. Transfer when master is writing one byte to slave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 14. Transfer when master is writing multiple bytes to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 15. Transfer when master is receiving (reading) one byte of data from slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 16. Transfer when master is receiving (reading) multiple bytes of data from slave . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 17. MIPI I3C® CCC commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 18. Master I²C pin details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 19. Auxiliary SPI pin details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 20. Accelerometer and gyroscope ODR selection in high-accuracy ODR mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 21. Gyroscope LPF2 bandwidth selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 22. OIS configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 23. Internal pin status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 24. Registers address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 25. FUNC_CFG_ACCESS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 26. FUNC_CFG_ACCESS register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 27. PIN_CTRL register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 28. PIN_CTRL register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 29. IF_CFG register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 30. IF_CFG register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 31. ODR_TRIG_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 32. ODR_TRIG_CFG register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 33. FIFO_CTRL1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 34. FIFO_CTRL1 register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 35. FIFO_CTRL2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 36. FIFO_CTRL2 register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 37. FIFO_CTRL3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 38. FIFO_CTRL3 register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 39. FIFO_CTRL4 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 40. FIFO_CTRL4 register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 41. COUNTER_BDR_REG1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 42. COUNTER_BDR_REG1 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 43. COUNTER_BDR_REG2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 44. COUNTER_BDR_REG2 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 45. INT1_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 46. INT1_CTRL register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 47. INT2_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 48. INT2_CTRL register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 49. WhoAmI register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 50. CTRL1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 51. CTRL1 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 52. Accelerometer ODR selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 53. CTRL2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
List of figures
Figure 1. Four-stage pedometer algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5
Figure 2. Generic state machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6
Figure 3. State machine in the LSM6DSV32X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6
Figure 4. Machine learning core in the LSM6DSV32X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7
Figure 5. Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9
Figure 6. LSM6DSV32X connection modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 7. SPI slave timing in mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 8. SPI slave timing in mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 9. I²C slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figure 10. Read and write protocol (in mode 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 11. SPI read protocol (in mode 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 12. Multiple byte SPI read protocol (2-byte example) (in mode 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 13. SPI write protocol (in mode 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 14. Multiple byte SPI write protocol (2-byte example) (in mode 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 15. SPI read protocol in 3-wire mode (in mode 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 16. Single-channel mode (XL_DualC_EN = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 17. Dual-channel mode (XL_DualC_EN = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 18. Block diagram of filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 19. Accelerometer UI chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 20. Accelerometer composite filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 21. Accelerometer chain with mode 3 enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 22. Gyroscope digital chain - mode 1 (UI/EIS) and mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 23. Gyroscope digital chain - mode 3 (OIS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 24. LSM6DSV32X supports UI, enhanced EIS, and OIS processing simultaneously . . . . . . . . . . . . . . . . . . . . . . 40
Figure 25. Gyroscope enhanced EIS and UI block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 26. Auxiliary SPI full control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 27. OIS Primary interface full control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 28. LSM6DSV32X electrical connections in mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 29. Qvar external connections to pin 2, 3 (Qvar input) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 30. LSM6DSV32X electrical connections in mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 31. LSM6DSV32X electrical connections in mode 3 (auxiliary 3/4-wire SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 32. Accelerometer block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 33. LGA-14L 2.5 x 3.0 x 0.86 mm package outline and mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Figure 34. Carrier tape information for LGA-14 package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Figure 35. LGA-14 package orientation in carrier tape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Figure 36. Reel information for carrier tape of LGA-14 package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177