Manual UM WSEN-ISDS 2536030320001 Rev1.3
Manual UM WSEN-ISDS 2536030320001 Rev1.3
WSEN-ISDS I NERTIAL
M EASUREMENT U NIT
2536030320001,
25360303200011
V ERSION 1.3
Revision history
Manual Product
Notes Date
version version
Abbreviations
Abbreviation Description
ASIC Application specific integrated circuit
BDU Block update data
BLE Big/Little Endian
DRDY Data ready
DC Direct current
ESD Electrostatic discharge
FIFO First-in first-out
HBM Human body model
2
I C Inter integrated circuit
IMU Inertial measurement unit
LSB Least significant bit
LGA Land grid array
MEMS Micro-Electro Mechanical system
MSB Most significant bit
MSL Moisture sensitivity level
ODR Output data rate
PCB Printed circuit board
SPI Serial peripheral interface
Contents
Overview of helpful application notes 7
1 Product description 8
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Sensor features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Pinning description 16
4 Application circuit 17
9 Operating modes 35
9.1 Gyroscope power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.2 Acceleration power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
11 Self test 39
13 Register mapping 47
14 Register description 49
14.1 FIFO_CTRL1 (0x06) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
14.2 FIFO_CTRL2 (0x07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
14.3 FIFO_CTRL3 (0x08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
14.4 FIFO_CTRL4 (0x09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
14.5 FIFO_CTRL5 (0x0A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
14.6 DRDY_PULSE_CFG (0x0B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
14.7 INT0_CTRL (0x0D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
14.8 INT1_CTRL (0x0E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
14.9 Device_ID (0x0F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
14.10 CTRL1_XL (0x10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
14.11 CTRL2_G (0x11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
14.12 CTRL3_C (0x12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
14.13 CTRL4_C (0x13) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
15 Physical specifications 92
15.1 Module drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
15.2 Footprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
16 Manufacturing information 94
16.1 Moisture sensitivity level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
16.2 Soldering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
16.2.1 Reflow soldering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
16.2.2 Cleaning and washing . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
16.2.3 Potting and coating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
16.2.4 Storage conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
16.2.5 Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
17 Important notes 98
18 Legal notice 98
19 License terms for Würth Elektronik eiSos GmbH & Co. KG sensor product soft-
ware and source code 99
http://www.we-online.com/ANM001
This technical document provides necessary information and general guidelines for soldering
and PCB design for the Würth Elektronik eiSos MEMS sensor products with an LGA surface-
mount package.
1 Product description
1.1 Introduction
The IMU sensor is a 16-bit digital ultra-low power and high performance sensor with 3-axis
linear accelerometer and 3-axis gyroscope with digital I2 C and SPI serial interface. It measures
user selectable acceleration range of ±2g, ±4g, ±8g, ±16g and an angular rate range of ±125
dps, ±250 dps, ±500 dps, ±1000 dps, ±2000 dps with an output data rate up to 6.66kHz. It
consists of an in-built FIFO buffer to store the output data. The dimension of the sensor is
2.5 ×3.0 ×0.86 mm. It is available in land grid array package (LGA).
1.2 Applications
• Localization and navigation
Parameters Description
Acceleration selectable full scale ±2g, ±4g, ±8g, ±16g
Gyroscope selectable full scale ±250 dps, ±500 dps, ±1000 dps, ±2000 dps
Sensitivity accuracy ±3 %
Acceleration offset ±40mg
Gyroscope offset ±2 dps
Output data rate Up to 6.66 kHz
up to 1400 Hz for acceleration
Bandwidth
up to 937 Hz for gyroscope
Operating modes High performance, normal, low power
Current consumption 0.69 mA @ high performance mode
FIFO 4-kbyte
Communication interface I2 C & SPI, two independent interrupt pins
Free-fall, wake-up, tap, activity, motion, tilt and 6D
Motion detection functionality
orientation
Clock
Generator
INT_1
The sensor is a MEMS based capacitive sensor for acceleration and gyroscope measurement
with an integrated ASIC. The acceleration MEMS element is capable of measuring both dy-
namic acceleration due to motion or vibration and also static acceleration due to gravity. The
sensor measures the acceleration or vibration through MEMS capacitive sensing principle. The
MEMS element consists of a fixed structure and movable structure. The movable structure is
free to move in the direction of acceleration applied i.e. X, Y and Z direction. The force in-
duced on the MEMS element produces change in the capacitance value that is proportional to
the force exerted on it. Similarly, the gyroscope element is capable of measuring the angular
velocity in degree per second (dps). The induced analog signal is converted to digital form
using an analog to digital converter followed by filters and controller logic blocks. The sensor
is integrated with a temperature sensor and self test functionality for both acceleration and gy-
roscope. The final sensor data from the output register can be accessed through an I2 C or SPI
digital communication interface using a host processor.
Test
Parameters Symbol Min. Typ. Max. Unit
conditions
Measurement User ±2, ±4, ±8,
aRANGE g
range selectable ±16
Axis X, Y, Z 3
User
Output data rate ODR 1.6 6664 Hz
selectable
Resolution RESa 16 bits
Sensitivity T = 25°C,
SENa_ACC -3 +3 %
accuracy 1 aRANGE = ±2g
Sensitivity
delta from T =
change over SENa_TC -0.024 ±0.01 +0.024 % / °C
+25°
temperature
T = 25°C,
aRANGE = ±2g, √
Noise density 2 nD High 75 170 µg / Hz
performance
mode
0g offset 3 aOFF T = 25 °C -85 ±40 +85 mg
0g Offset change
aTCO ±0.1 mg /°C
over temperature
aRANGE = ±2g;
Nonlinearity NL Best-fit ±2 %FS
straight line
Resonant
fres_X X 3 kHz
frequency
fres_Y Y 3 kHz
fres_Z Z 2.2 kHz
Self test output
90 1700 mg
change
3
Not measured during final test after production. These are characterization values with lim-
ited number of samples
Test
Parameters Symbol Min. Typ. Max. Unit
conditions
±125, ±250,
Measurement User
gRANGE ±500, ±1000, dps
range selectable
±2000
Axis X, Y, Z 3
User
Output data rate ODR 12.5 6664 Hz
selectable
Resolution RESg 16 bits
T = 25°C,
Sensitivity
SENg_ACC gRANGE = ±125 -3 +3 %
accuracy 1
dps
Sensitivity
delta from T =
change over SENg_TC -0.048 ±0.007 +0.048 % / °C
+25°
temperature
T = 25°C,
High √
Noise density 2 nD 3.8 11 mdps / Hz
performance
mode
Zero rate offset 3 gOFF T = 25 °C ±2 dps
Zero rate Offset
change over gTCO ±0.015 dps /°C
temperature
gRANGE =
±2000dps;
Nonlinearity NL ±0.07 %FS
Best-fit
straight line
Resonant
fres X,Y & Z axis 20 kHz
frequency
Self test output gRANGE = ±250
20 80 dps
change dps
gRANGE =
150 700 dps
±2000 dps
3
Not measured during final test after production. These are characterization values with lim-
ited number of samples
1
Values are after factory calibration and trimming (parts are not soldered on PCB)
1
Output of temperature sensor is 0 LSB typical at 25 °C
2
Time from power ON bit to the valid data based on characterization data °C
1
4 mA is the maximum driving capability i.e. the maximum DC current that can be sourced/-
sunk by digital pin in order to guarantee correct digital output voltage levels VOH and VOL .
1
SDA, SCL, CS & SAO are control pins. Input voltage on any pin should never exceed 4.8 V.
Parameters Values
Operating temperature -40°C to +85°C
Storage temperature -40°C; < 90 % RH
Communication interface I2 C & SPI
Moisture sensitivity level (MSL) 3
Electrostatic discharge protection (HBM) 2 kV
3 Pinning description
SDA
SCL
CS
1 11
SAO RSVD
14 12
RSVD RSVD
RSVD INT_1
5 7
INT_0 VDD
4 8
VDD_IO
GND
GND
Figure 2: Pinout (top view)
4 Application circuit
Rp Rp
SDA SCL CS
14 13 12
SAO RSVD
1 11
RSVD RSVD
2 10
RSVD INT_1
3 9 4 Wire SPI configuration
SCL CLK
INT_0 VDD VDD
4 8
CS
10 µF 100 nF SS
5 6 7 SDA MOSI
A positive supply voltage is applied to the sensor through VDD pin and I/O supply voltage
for digital interface through VDD_IO. The decoupling capacitor of 100 nF and 10µF in parallel
is highly recommended and should be placed as close as possible to the VDD pin, but also
maintain a keep out area of 2mm distance from the sensor. Communication is still possible,
even if the supply voltage to theVDD pin is removed but maintaining the VDD_IO. In this case,
measurement chain of the sensor is not active.
The CS pin shall be connected to SS (slave select) pin on the controller side to enable SPI
communication interface. The CS pin shall be connected to VDD_IO in order to enable the
I2 C communication interface. It is possible to have two I2 C slave addresses of the sensor by
connecting SAO pin either to VDD_IO or to GND. In the above connection the SAO pin is con-
nected to VDD_IO. Rp are the recommended pull up resistors for I2 C communication interface
which should be connected parallel between I/O supply voltage VDD_IO and SCL and SDA
pins.
+VDD
Rp Rp Pull up resistors
SCL
(serial clock)
Microcontroller
(Master) SDA
(serial data)
Sensor Sensor
(Slave-1) (Slave-2)
Voltage
VDD_IO
high
0.7 x VDD_IO
0.3 x VDD_IO
low
GND
Time
SCL
MSB LSB
R/W
0 = Write
1 1 0 1 0 1 1/0 1 = Read
The 7-bit slave address of the acceleration sensor is 110101xb. LSB of the 7-bit slave address
can be modified with the SAO pin. If SAO is connected to positive supply voltage i.e. LSB is
’1’, making 7-bit slave address 1101011b (0x6B). If SAO is connected to ground i.e. LSB is ’0’,
making 7-bit address 1101010b (0x6A).
The R/W bit determines the data direction. A ’0’ indicates a write operation (transmission from
master to slave) and a ’1’ indicates a read operation (data request from slave).
START STOP
Condition Condition
7-bit slave address of the IMU sensor is 110101xb. LSB of the 7-bit slave
address depends on the SAO pin connection
Slave address[6:1] Slave address[0] 7-bit slave address R/W Slave address + R/W
110101 0 11010100 (0xD4)
SAO = 0 1101010 (0x6A)
110101 1 11010101 (0xD5)
110101 0 11010110 (0xD6)
SAO = 1 1101011 (0x6B)
110101 1 11010111 (0xD7)
S START condition
P STOP condition
ACK Acknowledge
NACK No acknowledge
Once the slave-address and data direction bit is transmitted, the slave acknowledges the mas-
ter. The next byte is transmitted by the master, which must be a register-address of the sensor.
It indicates the address of the register where data needs to be written to or read from.
After receiving the register address, the slave sends an Acknowledgment (ACK). If the master
is still writing to the slave (R/W bit = 0), it will transmit the data to slave in the same direction.
If the master wants to read from the addressed register (R/W bit =1), a repeated start (SR)
condition must be transmitted to the slave. Master acknowledges the slave after receiving
each data byte. If the master no longer wants to receive further data from the slave, it would
send No-Acknowledge (NACK). Afterwards, master can send a STOP condition to terminate
the data transfer. Figure 9 shows the writing and reading procedures between the master and
the slave device (sensor).
1. Clock (SCL)
MOSI SDA
MISO SAO
µC Sensor
(SPI Master) CLK CLK (SPI Slave)
CS CS
Master generates the clock signal and is connected to all slave devices. Data transmission
between the master and salves is synchronized to the clock signal generated by the master.
One master can be connected to one or more slave devices. Each slave device is addressed
and controlled by the master via individual chip select (CS) signals. CS is controlled by the
master and is normally an active low signal.
MOSI and MISO are data lines. MOSI transmits data from the master to the slave. MISO
transmits data from the slave to the master.
MSB LSB
The next bytes of data, depending on the R/W bit, is either written to or read from the indexed
register. Figure 12 shows the complete SPI data transfer protocol.
CS
SCK
SDA
R/W A[6] A[5] A[4] A[3] A[2] A[1] A[0] DI[7] DI[6] DI[5] DI[4] DI[3] DI[2] DI[1] DI[0]
SAO
External stress: Vias under the sensor on a PCB, PCB warpage, external me-
chanical stress to the sensor
It should be noted that VDD level should never be lower than VDD_IO i.e. proper power up
should be VDD > VDD_IO. It is possible to remove VDD by keeping VDD_IO pin without com-
munication interruption but the measurement chain of the sensor is turned off i.e. VDD = 0 with
VDD_IO "high" is allowed. In this case, the measurement chain is turned off but the communi-
cation to the sensor is possible without interruption.
It is also possible to initiate the boot sequence manually by the user. It is performed by setting
the BOOT bit of the CTRL3_C register to ’1’, then the boot sequence is initiated and trimming
parameters are reloaded. In this case, the device operation mode does not change after boot
procedure. No toggle of the power is required and the content of the device control registers is
not modified.
The boot status signal is identified by setting the INT0_BOOT bit of the INT0_CTRL register
to ’1’. When the sensor is in boot sequence, INT_0 interrupt pin is driven high. Similarly when
the boot sequence is completed, INT_0 interrupt pin is driven low.
The below steps should be considered for setting the BOOT bit manually:
1. Write SOFT_RESET bit to ’1’
2. Wait for 5 µs
3. Write BOOT bit to ’1’
4. Wait for 20 ms
Parameter Time
Boot sequence 20 ms
Soft reset duration 5 µs
Power up
Yes No
Device ID = 0x6A ?
CTRL1_XL(0x10), CTRL2_G(0x11),
Enable high performance mode
CTRL6_C(0x15, CTRL7_G(0x16)
Select output data rate: 208 Hz
Enable low power mode for
lowest power consumption
If No
XLDA and GDA bit No data in the output register
=1?
Yes
Request data from output register
Request data from output register
Steps can 0x22 and receive data from 0x22, to
G_X_OUT_L (0x22)
0x2D
be
performed
in loops Read acceleration and Save data from output registers from
gyroscope output data (XL and 0x22 to 0x2D
G)
Acceleration value in mg
Gyroscope value in mdps
No
No new data available in the
New data needed?
output registers
Yes
In order to set the sensor in one of the operation modes, the sensor needs to be initialized.
The initialization of the sensor can be performed by defining output data rate, full scale setting
and filtering path. After initializing the sensor, it is recommended to check if the data sam-
ples are available in the output registers. It can be verified by reading GDA and XLDA bit in
STATUS_REG register(0x1E). If the GDA and XLDA bit is enabled, the output data from ac-
celeration and gyroscope sensor of three axes from 0x22 to 0x2D registers are available. The
acceleration and angular velocity values of the sensors are obtained by multiplying output data
with respective sensitivity parameter value based on the selected full scale range. Sensitivity
parameter values for different full scale ranges are mentioned in the table 5.
9 Operating modes
The sensor can be operated in three different operation modes which provides different combi-
nation of noise and current consumption values. These operating modes are selected by using
the ODR_XL[3:0] bits in the CTRL1_XL register(0x10) and ODR_G[3:0] bits in the CTRL2_G
register(0x11).
• Normal mode
The acceleration and the gyroscope sensor can be turned on/off independently of each other
and are capable to operate with different ODRs and power modes. The three operating modes
are available
• Power down
• Low power
• Normal mode
The operating modes can be selected using the G_HM_MODE bit in CTRL7_G (0x16). If
G_HM_MODE is set to ’0’, high performance mode is valid for all ODRs (from 12.5 Hz up to
6.66 kHz). To enable the low power and normal mode, the G_HM_MODE bit has to be set
to ’1’. Low power mode is available for lower ODRs (12.5, 26, 52 Hz) while normal mode is
available for ODRs equal to 104 and 208 Hz.
• Power down
• Low power
• Normal mode
The operating mode can be selected using the XL_HM_MODE bit in CTRL6_C (0x15). If
XL_HM_MODE is set to ’0’, high performance mode is valid for all ODRs (from 12.5 Hz up to
6.66 kHz).To enable the low power and normal mode, the XL_HM_MODE bit has to be set to
’1’. Low power mode is available for lower ODRs (1.6, 12.5, 26, 52 Hz) while normal mode is
available for ODRs equal to 104 and 208 Hz.
10.2 Activity/Inactivity
The activity/inactivity function monitors the sensor, which defines whether the sensor is active
or not. This function allows developing application with low power consumption. If the sensor is
not active, the output data rate automatically goes to output data rate of 12.5 Hz with low power
operating mode. As soon as the sensor detects an activity, the output data rate is switched back
to the selected output data rate.
10.3 Stationary/Motion
Stationary/motion function is similar to the activity/inactivity function but the output data rate
and operating mode will not change after the motion is detected.
10.4 6D Orientation
Six dimension (6D) orientation of the sensor is detected when one axis exceeds a selected
threshold and the acceleration values from other two axes are lower than the defined threshold
value.
10.5 Wake-Up
If a number of data samples exceed the defined threshold on both positive and negative accel-
eration a wake-up interrupt signal is generated. It can either be achieved by setting high-pass
filter or user defined offset function.
10.6 Free-Fall
Free fall detection interrupt is generated when the device is in free-fall i.e. the acceleration
measured in all axes goes to zero. In a real case, a free-fall zone is defined around the zero-g
level where all the acceleration values from the three axes are small enough to generate the
interrupt.
10.8 FIFO
The integrated FIFO buffer allows consistent power saving operation for the system since the
host processor does not need continuously data logging from the sensor. But it can wake up
only when needed and burst the significant data out from the FIFO. The sensor embeds 4
kbytes data FIFO to store the following data:
11 Self test
The sensor includes a self test feature which tests the both acceleration and gyroscope sensor
functionality without any external force. When the self test feature is enabled, an actuation
force is applied to the sensor which causes the non-stationary part to move. This change in
the movement provides the change in the DC level of the sensor.
The self test function is enabled by writing ’01’ to ST_G[1:0] and ST_XL[1:0] in CTRL5_C
(0x14) register which causes movement in positive direction of the axis for both acceleration
and gyroscope sensor. Similarly by writing ’10’ to ST_G[1:0] and ST_XL[1:0] in CTRL5_C
(0x14) register causes the movement in negative direction of the axis for both acceleration and
gyroscope sensor. When the sensor self test functionality is enabled, the output level is given
by the algebraic sum of the data produced by the electrostatic test force and gravity.
The device should be fixed without any movement during self test procedure
The following procedure is recommended for the self test verification. Refer to the block
diagram in the figure 17 for acceleration sensor self test procedure and figure 18 for gyroscope
sensor self test procedure.
• Average five data samples before enabling the self test without moving the sensor
• Average five data samples after enabling the self test without moving the sensor
• The difference in the absolute value of each axis provides the self test induced DC accel-
eration value.
• Verify the value, whether it is in the range of 70 mg to 1500 mg for acceleration and 150
dps to 700 dps for gyroscope sensor
Check XLDA
Read output register – 0x28, 0x29 -> Save in X_AXIS_WOST
Read output register – 0x2A, 0x2B -> Save in Y_AXIS_WOST WOST – Without self test
Read output register – 0x2C, 0x2D -> Save in Z_AXIS_WOST
Repeat -> 5 times and Average the output data
Check XL_DA
Read output register – 0x28, 0x29 -> Save in X_AXIS_ST ST – self test
Read output register – 0x2A, 0x2B -> Save in Y_AXIS_ST
Read output register – 0x2C, 0x2D -> Save in Z_AXIS_ST
Repeat -> 5 times and Average the output data
X = (X_AXIS_ST) – (X_AXIS_WOST)
Y = (Y_AXIS_ST) – (Y_AXIS_WOST)
Z = (Z_AXIS_ST) – (Z_AXIS_WOST)
if
Yes 70 mg ≤ X ≤ 1500 mg No
70 mg ≤ Y ≤ 1500 mg
70 mg ≤ Z ≤ 1500 mg
Check GDA
Read output register – 0x22, 0x23 -> Save in X_AXIS_WOST
Read output register – 0x24, 0x25 -> Save in Y_AXIS_WOST WOST – Without self test
Read output register – 0x26, 0x27 -> Save in Z_AXIS_WOST
Repeat -> 5 times and Average the output data
Check GDA
Read output register – 0x22, 0x23 -> Save in X_AXIS_ST ST – self test
Read output register – 0x24, 0x25 -> Save in Y_AXIS_ST
Read output register – 0x26, 0x27 -> Save in Z_AXIS_ST
Repeat -> 5 times and Average the output data
X = (X_AXIS_ST) – (X_AXIS_WOST)
Y = (Y_AXIS_ST) – (Y_AXIS_WOST)
Z = (Z_AXIS_ST) – (Z_AXIS_WOST)
if
Yes 150 dps ≤ X ≤ 700 dps No
150 dps ≤ Y ≤ 700 dps
150 dps ≤ Z ≤ 700 dps
Step 1:
1. XL_X_OUT_L (0x28)
2. XL_X_OUT_H (0x29)
3. XL_Y_OUT_L (0x2A)
4. XL_Y_OUT_H (0x2B)
5. XL_Z_OUT_L (0x2C)
6. XL_Z_OUT_H (0x2D)
Step 2:
Concatenation of two 8-bit output values from the registers to get a signed 16-bit output value
for each axis.
Step 3:
Multiply with respective sensitivity will provide the acceleration value in mg.
(Sensitivity = 0.488 mg /digit for FS: ±16g, please refer to table 5)
Step 1:
1. G_X_OUT_L (0x22)
2. G_X_OUT_H (0x23)
3. G_Y_OUT_L (0x24)
4. G_Y_OUT_H (0x25)
5. G_Z_OUT_L (0x26)
6. G_Z_OUT_H (0x27)
Step 2:
Concatenation of two 8-bit output values from the registers to get a signed 16-bit output value
for each axis.
Step 3:
Multiply with respective sensitivity will provide the gyroscope value in mdps.
(Sensitivity = 70 mdps /digit for FS: ±2000 dps, please refer to table 5)
• The temperature data rate is equal to 12.5 Hz if the acceleration sensor ODR is equal to
12.5 Hz low power mode
• The temperature data rate is equal to 52 Hz for all other acceleration sensor configura-
tions.
If both the acceleration and the gyroscope sensors are in power down mode,
the temperature sensor is off
If the gyroscope is not in power down mode, the temperature data rate is equal to 52 Hz, re-
gardless of the acceleration and gyroscope sensor configuration. table 16 and table 17 provides
a few basic examples of the data that is read from the temperature data registers at different
ambient temperature values. The values listed in this table are given under the hypothesis of
perfect device calibration (i.e. no offset, no gain error).
T_OUT_H T_OUT_L
Temperature values (if BLE (big/little endian) bit = 0)
(0x21) (0x20)
0 °C 0xE7 0x00
25 °C 0x00 0x00
50 °C 0x19 0x00
T_OUT_H T_OUT_L
Temperature values (if BLE (big/little endian) bit = 1)
(0x21) (0x20)
0 °C 0x00 0xE7
25 °C 0x00 0x00
50 °C 0x00 0x19
1
The registers contents that are loaded at boot procedure should not be changed. They con-
tain the factory calibration values and their content is automatically restored when the device
is powered up.
2
This bit must be set to ’0’ for the correct operation of the device.
14 Register description
14.1 FIFO_CTRL1 (0x06)
bits Description
FIFO threshold level setting. Default value: 0000 00001 Watermark flag
rises when the number of bytes written to FIFO after the next write is greater
FTH[7:0]
than or equal to the threshold level. Minimum resolution for the FIFO is 1
LSB = 2 bytes (1 word) in FIFO
bits Description
Enables timestamp data to be stored as the 4th FIFO data set. (0:
FIFO_TIMER_EN
timestamp not included in FIFO; 1: timestamp included in FIFO)
Enables the temperature data storage in FIFO. Default: 0 (0:
FIFO_TEMP_EN temperature not included in FIFO; 1: temperature included in
FIFO)
FIFO threshold level setting. Default value: 00001 Watermark flag
rises when the number of bytes written to FIFO after the next
FTH[10:8]
write is greater than or equal to the threshold level. Minimum
resolution for the FIFO is 1LSB = 2 bytes (1 word) in FIFO
bits Description
DEC_FIFO_GYRO Gyro FIFO (first data set) decimation setting.
[2:0] Default: 000 For the configuration setting, refer to Table 24.
Acceleration sensor FIFO (second data set) decimation setting.
DEC_FIFO_XL [2:0]
Default: 000 For the configuration setting, refer to Table 25.
bits Description
Enable FIFO threshold level use. Default value: 0 (0: FIFO depth
ON_FTH
is not limited; 1: FIFO depth is limited to threshold level).
8-bit data storage in FIFO. Default: 0 (0: disable MSByte only
HIGH_DATA memorization in FIFO for XL and Gyro; 1: enable MSByte only
memorization in FIFO for XL and Gyro in FIFO)
Fourth FIFO data set decimation setting. Default: 000. For the
DEC_DS4_FIFO[2:0]
configuration setting, refer to Table 28.
Third FIFO data set decimation setting. Default: 000. For the
DEC_DS3_FIFO[2:0]
configuration setting, refer to Table 29.
DEC_DS4_FIFO[2:0] Configuration
000 Fourth FIFO data set not in FIFO
001 No decimation
010 Decimation with factor 2
011 Decimation with factor 3
100 Decimation with factor 4
101 Decimation with factor 8
110 Decimation with factor 16
111 Decimation with factor 32
DEC_DS3_FIFO[2:0] Configuration
000 Third FIFO data set not in FIFO
001 No decimation
010 Decimation with factor 2
011 Decimation with factor 3
100 Decimation with factor 4
101 Decimation with factor 8
110 Decimation with factor 16
111 Decimation with factor 32
bits Description
FIFO ODR selection, setting FIFO_MODE also.
ODR_FIFO[3:0]
Default: 0000 For the configuration setting, refer to Table 32.
FIFO mode selection bits, setting ODR_FIFO also.
FIFO_MODE_[2:0]
Default value: 000 For the configuration setting, refer to Table 33.
ODR_FIFO[3:0] Configuration
0000 FIFO disabled
0001 FIFO ODR is set to 12.5 Hz
0010 FIFO ODR is set to 26 Hz
0011 FIFO ODR is set to 52 Hz
0100 FIFO ODR is set to 104 Hz
0101 FIFO ODR is set to 208 Hz
0110 FIFO ODR is set to 416 Hz
0111 FIFO ODR is set to 833 Hz
1000 FIFO ODR is set to 1.66 kHz
1001 FIFO ODR is set to 3.33 kHz
1010 FIFO ODR is set to 6.66 kHz
If the device is working at an ODR slower than the one selected, FIFO ODR is limited to
that ODR value. Moreover, these bits are effective if the DATA_VALID_SEL FIFO bit of MAS-
TER_CONFIG (0x1A) is set to 0.
FIFO_MODE_[2:0] Configuration
000 Bypass mode. FIFO disabled.
001 FIFO mode. Stops collecting data when FIFO is full.
010 Reserved
Continuous mode until trigger is deasserted, then FIFO
011
mode.
Bypass mode until trigger is deasserted, then Continuous
100
mode.
101 Reserved
Continuous mode. If the FIFO is full, the new sample
110
overwrites the older one.
111 Reserved
bits Description
Enable pulsed data-ready mode. Default value: 0 (0: data-ready
DRDY_PULSED latched mode. Returns to 0 only after output data has been read; 1:
data-ready pulsed mode. The data-ready pulses are 75 µs long.)
bits Description
FIFO full flag interrupt enable on INT0 pad. Default value: 0 (0:
INT0_FULL_FLAG
disabled; 1: enabled)
FIFO overrun interrupt on INT0 pad. Default value: 0 (0: disabled;
INT0_FIFO_OVR
1: enabled)
FIFO threshold interrupt on INT0 pad. Default value: 0 (0:
INT0_FTH
disabled; 1: enabled)
Boot status available on INT0 pad. Default value: 0 (0: disabled;
INT0_BOOT
1: enabled)
Gyroscope data-ready on INT0 pad. Default value: 0 (0:
INT0_DRDY_G
disabled; 1: enabled)
Acceleration sensor data-ready on INT0 pad. Default value: 0 (0:
INT0_DRDY_XL
disabled; 1: enabled)
bits Description
FIFO full flag interrupt enable on INT1 pad. Default value: 0 (0:
INT1_FULL_FLAG
disabled; 1: enabled)
FIFO overrun interrupt on INT1 pad. Default value: 0 (0: disabled;
INT1_FIFO_OVR
1: enabled)
FIFO threshold interrupt on INT1 pad. Default value: 0 (0:
INT1_FTH
disabled; 1: enabled)
Temperature data-ready on INT1 pad. Default value: 0 (0:
INT1_DRDY_TEMP
disabled; 1: enabled)
Gyroscope data-ready on INT1 pad. Default value: 0 (0:
INT1_DRDY_G
disabled; 1: enabled)
Acceleration sensor data-ready on INT1 pad. Default value: 0 (0:
INT1_DRDY_XL
disabled; 1: enabled)
bits Description
ODR_XL[3:0] Output data rate and power mode selection. Default value: 0000
Acceleration full-scale selection. Default value: 00 (00: ±2 g; 01: ±16
FS_XL[1:0]
g; 10: ±4 g; 11: ±8 g)
Acceleration digital LPF (LPF1) bandwidth selection. For bandwidth
LPF1_BW_SEL
selection refer to CTRL8_XL (0x17).
Acceleration analog chain bandwidth selection (only for acceleration
BW0_XL
ODR ≥ 1.67kHz). (0: BW @ 1.5 kHz; 1: BW @ 400 Hz)
bits Description
ODR_G[3:0] Output data rate and power mode selection. Default value: 0000
Gyroscope full-scale selection. Default value: 00 (00: ±250 dps; 01:
FS_G[1:0]
±500 dps; 10: ±1000 dps; 11: ±2000 dps)
FS_125 Gyroscope full-scale at ±125 dps. Default 0 (0: disabled; 1: enabled)
bits Description
Reboots memory content. Default value: 0 (0: normal mode; 1: reboot
BOOT
memory content)
Block Data Update. Default value: 0 (0: continuous update; 1: output
BDU
registers not updated until MSB and LSB have been read)
Interrupt activation level. Default value: 0 (0: interrupt output pads
H_LACTIVE
active high; 1: interrupt output pads active low)
Push-pull/open-drain selection on INT0 and INT1 pads.
PP_OD
Default value: 0 (0: push-pull mode; 1: open-drain mode)
SPI Serial Interface Mode selection. Default value: 0 (0: 4-wire
SIM
interface; 1: 3-wire interface)
Register address automatically incremented during a multiple byte
IF_INC access with a serial interface (I2 C or SPI). Default value: 1 (0:
disabled; 1: enabled)
Big/Little Endian Data selection. Default value 0 (0: data LSB @ lower
BLE
address; 1: data MSB @ lower address)
Software reset. Default value: 0 (0: normal mode; 1: reset device)
SW_RESET
This bit is automatically cleared.
bits Description
Extend DEN functionality to acceleration sensor.
DEN_XL_EN
Default value: 0 (0: disabled; 1: enabled)
Gyroscope sleep mode enable.
SLEEP
Default value: 0 (0: disabled; 1: enabled)
All interrupt signals available on INT0 pad enable. Default value: 0
INT1_on_INT0 (0: interrupt signals divided between INT0 and INT1 pads; 1: all
interrupt signals in logic or on INT0 pad)
DEN DRDY signal on INT0 pad.
DEN_DRDY_INT0
Default value: 0 (0: disabled; 1: enabled)
Configuration 1 data available enable bit. Default value: 0 (0: DA
DRDY_MASK
timer disabled; 1: DA timer enabled)
Disable I2 C interface. Default value: 0 (0: both I2 C and SPI enabled;
I2 C_disable
1: I2 C disabled, SPI only)
Enable gyroscope digital LPF1. the bandwidth can be selected
LPF1_SEL_G
through FTYPE [1:0] in CTRL6_C (0x15) (0: disabled; 1: enabled)
bits Description
Circular burst-mode (rounding) read from output registers through
ROUNDING[2:0] the primary interface. Default value: 000 (000: no rounding; others:
refer to Table 56)
DEN active level configuration. Default value: 0 (0: active low; 1:
DEN_LH
active high)
Angular rate sensor self-test enable. Default value: 00 (00: self-test
ST_G [1:0]
disabled; others: refer to Table 57)
Linear acceleration sensor self-test enable. Default value: 00 (00:
ST_XL [1:0]
self-test disabled; others: refer to Table 58)
bits Description
TRIG_EN DEN data edge-sensitive trigger enable. Refer to Table 62.
LVL1_EN DEN data level-sensitive trigger enable. Refer to Table 62.
LVL2_EN DEN level-sensitive latched enable. Refer to Table 62.
High performance operating mode disable for acceleration.
XL_HM_MODE Default value: 0 (0: high performance operating mode enabled; 1:
high performance operating mode disabled)
Weight of XL user offset bits of registers X_OFS_USR (0x73),
USR_OFF_W Y_OFS_USR (0x74), Z_OFS_USR (0x75) (0: 2-10 g/LSB; 1: 2-6
g/LSB)
Gyroscope low pass filter (LPF1) bandwidth selection.Table 63 and
FTYPE[1:0]
Table 64 show the selectable bandwidth values.
Table 63: Gyroscope LPF1 bandwidth selection for ODR=800 Hz and ODR=1.6 kHz
Table 64: Gyroscope LPF1 bandwidth selection for ODR=3.3 kHz and ODR=6.6 kHz
1. Phase delay @ 20 Hz
bits Description
High performance operating mode disable for gyroscope.
G_HM_MODE Default: 0 (0: high performance operating mode enabled; 1:
high performance operating mode disabled)
Gyroscope digital high-pass filter enable. The filter is enabled
HP_EN_G only if the gyro is in HP mode. Default value: 0 (0: HPF
disabled; 1: HPF enabled)
Gyroscope digital HP filter cutoff selection. Default: 00 (00: 16
HPM_G[1:0]
mHz; 01: 65 mHz; 10: 260 mHz; 11; 1.04 Hz)
Source register rounding function on WAKE_UP_SRC (0x1B),
TAP_SRC (0x1C), D6D_SRC (0x1D), STATUS_REG (0x1E),
ROUNDING_STATUS
and FUNC_SRC1 (0x53) registers in the primary interface.
Default value: 0 (0: rounding disabled; 1: rounding enabled)
bits Description
LPF2_XL_EN Acceleration low-pass filter LPF2 selection.
Acceleration LPF2 and high-pass filter configuration and
HPCF_XL[1:0]
cutoff setting. Refer to Table 71.
Enable HP filter reference mode. Default value: 01 (0:
HP_REF_MODE
disabled; 1: enabled))
Composite filter input selection. Default: 0 (0: ODR/2 low
IN_COM pass filtered sent to composite filter (default) 1: ODR/4 low
pass filtered sent to composite filter)
HP_SL_XL_EN Acceleration slope filter / high-pass filter selection.
LOW_PASS_ON_6D LPF2 on 6D function selection.
bits Description
DEN value stored in LSB of X-axis. Default value: 1 (0: DEN
DEN_X
not stored in X-axis LSB; 1: DEN stored in X-axis LSB)
DEN value stored in LSB of Y-axis. Default value: 1 (0: DEN
DEN_Y
not stored in Y-axis LSB; 1: DEN stored in Y-axis LSB)
DEN value stored in LSB of Z-axis. Default value: 1 (0: DEN
DEN_Z
not stored in Z-axis LSB; 1: DEN stored in Z-axis LSB)
DEN stamping sensor selection. Default value: 0 (0: DEN pin
info stamped in the gyroscope axis selected by bits [7:5]; 1:
DEN_XL_G
DEN pin info stamped in the acceleration axis selected by bits
[7:5])
bits Description
TILT_EN Enable tilt calculation.1
Enable embedded functionalities (tilt). Default value: 0 (0:
disable functionalities of embedded functions and acceleration
FUNC_EN
filters; 1: enable functionalities of embedded functions and
acceleration filters)
bits Description
Manage the master DRDY signal on INT0 pad. Default: 0
DRDY_ON_INT1 (0: disable master DRDY on INT0; 1: enable master DRDY
on INT0)
Selection of FIFO data-valid signal. Default value: 0 (0:
data-valid signal used to write data in FIFO is the XL/Gyro
DATA_VALID_SEL_FIFO
data-ready; 1: data-valid signal used to write data in FIFO
is the sensor hub data-ready)
bits Description
Free-fall event detection status. Default: 0 (0: free-fall event not
FF_IA
detected; 1: free-fall event detected)
Sleep event status. Default value: 0 (0: sleep event not detected;
SLEEP_STATE_IA
1: sleep event detected)
Wakeup event detection status. Default value: 0 (0: wakeup event
WU_IA
not detected; 1: wakeup event detected.)
Wakeup event detection status on X-axis. Default value: 0 (0:
X_WU wakeup event on X-axis not detected; 1: wakeup event on X-axis
detected)
Wakeup event detection status on Y-axis. Default value: 0 (0:
Y_WU wakeup event on Y-axis not detected; 1: wakeup event on Y-axis
detected)
Wakeup event detection status on Z-axis. Default value: 0 (0:
Z_WU wakeup event on Z-axis not detected; 1: wakeup event on Z-axis
detected)
bits Description
Tap event detection status. Default: 0 (0: tap event not detected;
TAP_IA
1: tap event detected)
Single-tap event status. Default value: 0 (0: single tap event not
SINGLE_TAP
detected; 1: single tap event detected)
Double-tap event detection status. Default value: 0 (0: double-tap
DOUBLE_TAP
event not detected; 1: double-tap event detected.)
Sign of acceleration detected by tap event. Default: 0 (0: positive
TAP_SIGN sign of acceleration detected by tap event; 1: negative sign of
acceleration detected by tap event)
Tap event detection status on X-axis. Default value: 0 (0: tap
X_TAP
event on X-axis not detected; 1: tap event on X-axis detected)
Tap event detection status on Y-axis. Default value: 0 (0: tap
Y_TAP
event on Y-axis not detected; 1: tap event on Y-axis detected)
Tap event detection status on Z-axis. Default value: 0 (0: tap
Z_TAP
event on Z-axis not detected; 1: tap event on Z-axis detected)
bits Description
DEN data-ready signal. It is set high when data output is related
DEN_DRDY
to the data coming from a DEN active condition.1
Interrupt active for change position portrait, landscape, face-up,
D6D_IA face-down. Default value: 0 (0: change position not detected; 1:
change position detected)
Z-axis high event (over threshold). Default value: 0 (0: event not
ZH
detected; 1: event (over threshold) detected)
Z-axis low event (under threshold). Default value: 0 (0: event not
ZL
detected; 1: event (under threshold) detected)
Y-axis high event (over threshold). Default value: 0 (0: event not
YH
detected; 1: event (over-threshold) detected)
Y-axis low event (under threshold). Default value: 0 (0: event not
YL
detected; 1: event (under threshold) detected)
X-axis high event (over threshold). Default value: 0 (0: event not
XH
detected; 1: event (over threshold) detected)
X-axis low event (under threshold). Default value: 0 (0: event not
XL
detected; 1: event (under threshold) detected)
1. The DEN data-ready signal can be latched or pulsed depending on the value of the dataready_pulsed
bit of the DRDY_PULSE_CFG (0x0B) register.
bits Description
Temperature new data available. Default: 0 (0: no set of data is
TDA available at temperature sensor output; 1: a new set of data is
available at temperature sensor output)
Gyroscope new data available. Default value: 0 (0: no set of data
GDA available at gyroscope output; 1: a new set of data is available at
gyroscope output)
Acceleration new data available. Default value: 0 (0: no set of
XLDA data available at acceleration output; 1: a new set of data is
available at acceleration output)
bits Description
Temperature sensor output data. The value is expressed as two’s
Temp[15:0]
complement sign extended on the MSB.
bits Description
Pitch axis (X) angular rate value (LSbyte) G_X[15:0] expressed in
G_X[7:0] two’s complement and its value depends on the interface used:
SPI/I2 C: Gyro GP chain pitch axis output
bits Description
Pitch axis (X) angular rate value (MSbyte) G_X[15:0] expressed
G_X[15:8] in two’s complement and its value depends on the interface used:
SPI/I2 C: Gyro GP chain pitch axis output
bits Description
Roll axis (Y) angular rate value (LSbyte) G_Y[15:0] expressed in
G_Y[7:0] two’s complement and its value depends on the interface used:
SPI/I2 C: Gyro GP chain roll axis output
bits Description
Roll axis (Y) angular rate value (MSbyte) G_Y[15:0] expressed in
G_Y[15:8] two’s complement and its value depends on the interface used:
SPI/I2 C: Gyro GP chain roll axis output
bits Description
Yaw axis (Z) angular rate value (LSbyte) G_Z[15:0] expressed in
G_Z[7:0] two’s complement and its value depends on the interface used:
SPI/I2 C: Gyro GP chain yaw axis output.
bits Description
Yaw axis (Z) angular rate value (MSbyte) G_Z[15:0] expressed in
G_Z[15:8] two’s complement and its value depends on the interface used:
SPI/I2 C: Gyro GP chain yaw axis output.
bits Description
XL_X[7:0] X-axis linear acceleration value (LSbyte).
bits Description
XL_X[15:8] X-axis linear acceleration value (MSbyte).
bits Description
XL_Y[7:0] Y-axis linear acceleration value (LSbyte).
bits Description
XL_Y[15:8] Y-axis linear acceleration value (MSbyte).
bits Description
XL_Z[7:0] Z-axis linear acceleration value (LSbyte).
bits Description
XL_Z[15:8] Z-axis linear acceleration value (MSbyte).
bits Description
DIFF_FIFO[7:0] Number of unread words (16-bit axes) stored in FIFO.
bits Description
FIFO watermark status. The watermark is set through bits
FTH_[7:0] in FIFO_CTRL1 (0x06). Default value: 0 (0: FIFO
WaterM
filling is lower than watermark level1 ; 1: FIFO filling is equal to
or higher than the watermark level).
FIFO overrun status. Default value: 0 (0: FIFO is not
OVER_RUN
completely filled; 1: FIFO is completely filled)
Smart FIFO full status. Default value: 0 (0: FIFO is not full; 1:
FIFO_FULL_SMART
FIFO will be full at the next ODR)
FIFO empty bit. Default value: 0 (0: FIFO contains data; 1:
FIFO_EMPTY
FIFO is empty)
DIFF_FIFO_[10:8] Number of unread words (16-bit axes) stored in FIFO.2
1. FIFO watermark level is set in FTH_[10:0] in FIFO_CTRL1 (0x06) and FIFO_CTRL2 (0x07)
2. For a complete number of unread samples, consider DIFF_FIFO [7:0] in FIFO_STATUS1
(0x3A)
bits Description
FIFO_PATTERN[7:0] Word of recursive pattern read at the next read.
bits Description
FIFO_PATTERN[9:8] Word of recursive pattern read at the next read.
bits Description
DATA_OUT_FIFO_L_[7:0] FIFO data output (first byte)
bits Description
DATA_OUT_FIFO_H_[7:0] FIFO data output (second byte)
bits Description
Tilt event detection status. Default value: 0 (0: tilt event not
TILT_IA
detected; 1: tilt event detected)
bits Description
Enable basic interrupts (6D/4D, free-fall, wake-up, tap,
INTERRUPTS_ENABLE inactivity). Default value: 0 (0: interrupt disabled; 1:
interrupt enabled)
Enable inactivity function. Default value: 00 (00: disabled
01: sets acceleration ODR to 12.5 Hz (low power mode),
gyro does not change; 10: sets acceleration ODR to 12.5
INACT_EN[1:0]
Hz (low power mode), gyro to sleep mode; 11: sets
acceleration ODR to 12.5 Hz (low power mode), gyro to
power down mode)
HPF or SLOPE filter selection on wake-up and
SLOPE_FDS activity/inactivity functions. Default value: 0 0: SLOPE filter
applied; 1: HPF applied)
Enable X direction in tap recognition. Default value: 0 (0: X
TAP_X_EN
direction disabled; 1: X direction enabled)
Enable Y direction in tap recognition. Default value: 0 (0: Y
TAP_Y_EN
direction disabled; 1: Y direction enabled)
Enable Z direction in tap recognition. Default value: 0 (0: Z
TAP_Z_EN
direction disabled; 1: Z direction enabled)
Latched Interrupt. Default value: 0 (0: interrupt request not
LIR
latched; 1: interrupt request latched)
bits Description
4D orientation detection enable. Z-axis position detection is
D4D_EN
disabled. Default value: 0 (0: enabled; 1: disabled)
Threshold for 4D/6D function. Default value: 00. Threshold
SIXD_THS[1:0]
for D4D/D6D function.
Threshold for tap recognition. Default value: 00000 1 LSb
TAP_THS[4:0]
corresponds to FS_XL/25
bits Description
Duration of maximum time gap for double tap recognition.
Default: 0000 When double tap recognition is enabled, this
register expresses the maximum time between two
DUR[3:0] 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 time is the time after the first detected tap in which
there must not be any over threshold event. The default value
QUIET[1:0]
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 over threshold event. Default value: 00
Maximum duration is the maximum time of an over threshold
signal detection to be recognized as a tap event. The default
SHOCK[1:0]
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.
bits Description
Single/double-tap event enable. Default: 0 (0: only
SINGLE_DOUBLE_TAP single-tap event enabled; 1: both single and double-tap
events enabled)
Threshold for wakeup. Default value: 000000 1 LSb
WK_THS[5:0]
corresponds to FS_XL/26
bits Description
Free fall duration event. Default: 0 For the complete
FF_DUR5 configuration of the free-fall duration, refer to FF_DUR[4:0] in
FREE_FALL (0x5D) configuration. 1 LSB = 1 ODR_time
WAKE_DUR[1:0] Wake up duration event. Default: 00 1LSB = 1 ODR_time
Duration to go in sleep mode. Default value: 0000 (this
SLEEP_DUR[3:0]
corresponds to 16 ODR) 1 LSB = 512 ODR
bits Description
Free fall duration event.
Default: 0 For the complete configuration of the free-fall
FF_DUR[4:0]
duration, refer to FF_DUR5 in WAKE_UP_DUR (0x5C)
configuration.
Free fall threshold setting.
FF_THS[2:0]
Default: 000 For details refer to Table 143
bits Description
Routing on INT0 of inactivity mode. Default: 0 (0: routing on
INT0_INACT_STATE INT0 of inactivity disabled; 1: routing on INT0 of inactivity
enabled)
Single-tap recognition routing on INT0. Default: 0 (0: routing
INT0_SINGLE_TAP of single-tap event on INT0 disabled; 1: routing of single-tap
event on INT0 enabled)
Routing of wakeup event on INT0. Default value: 0 (0:
INT0_WU routing of wakeup event on INT0 disabled; 1: routing of
wakeup event on INT0 enabled)
Routing of free-fall event on INT0. Default value: 0 (0: routing
INT0_FF of free-fall event on INT0 disabled; 1: routing of free-fall event
on INT0 enabled)
Routing of tap event on INT0. Default value: 0 (0: routing of
INT0_DOUBLE_TAP double-tap event on INT0 disabled; 1: routing of double-tap
event on INT0 enabled)
Routing of 6D event on INT0. Default value: 0 (0: routing of
INT0_6D 6D event on INT0 disabled; 1: routing of 6D event on INT0
enabled)
Routing of tilt event on INT0. Default value: 0 (0: routing of
INT0_TILT tilt event on INT0 disabled; 1: routing of tilt event on INT0
enabled)
bits Description
Routing on INT1 of inactivity mode. Default: 0 (0: routing on
INT1_INACT_STATE INT1 of inactivity disabled; 1: routing on INT1 of inactivity
enabled)
Single-tap recognition routing on INT1. Default: 0 (0: routing
INT1_SINGLE_TAP of single-tap event on INT1 disabled; 1: routing of single-tap
event on INT1 enabled)
Routing of wakeup event on INT1. Default value: 0 (0:
INT1_WU routing of wakeup event on INT1 disabled; 1: routing of
wakeup event on INT1 enabled)
Routing of free-fall event on INT1. Default value: 0 (0: routing
INT1_FF of free-fall event on INT1 disabled; 1: routing of free-fall event
on INT1 enabled)
Routing of tap event on INT1. Default value: 0 (0: routing of
INT1_DOUBLE_TAP double-tap event on INT1 disabled; 1: routing of double-tap
event on INT1 enabled)
Routing of 6D event on INT1. Default value: 0 (0: routing of
INT1_6D 6D event on INT1 disabled; 1: routing of 6D event on INT1
enabled)
Routing of tilt event on INT1. Default value: 0 (0: routing of
INT1_TILT tilt event on INT1 disabled; 1: routing of tilt event on INT1
enabled)
bits Description
Acceleration X-axis user offset correction expressed in
X_OFS_USR[7:0] two’s complement, weight depends on the CTRL6_C(4) bit.
The value must be in the range [-127 127].
bits Description
Acceleration Y-axis user offset correction expressed in
Y_OFS_USR[7:0] two’s complement, weight depends on the CTRL6_C(4) bit.
The value must be in the range [-127 127].
bits Description
Acceleration Z-axis user offset correction expressed in
Z_OFS_USR[7:0] two’s complement, weight depends on the CTRL6_C(4) bit.
The value must be in the range [-127 127].
15 Physical specifications
15.1 Module drawing
0,25 ±0,05
4 8
5 7
14 12 1,5
0,5
1 11
0,475 ±0,05
0,86 max.
3,0 ±0,1
0,05
Pin 1
2,5 ±0,1
15.2 Footprint
0,35 ±0,05
0,5
1 11
14 12
1,5
5 7
4 8
0,575 ±0,05
16 Manufacturing information
16.1 Moisture sensitivity level
The sensor product is categorized as JEDEC Moisture Sensitivity Level 3 (MSL3), which re-
quires special handling.
More information regarding the MSL requirements can be found in the IPC/JEDEC J-STD-020
standard on www.jedec.org. More information about the handling, picking, shipping and the
usage of moisture/re-flow and/or process sensitive products can be found in the IPC/JEDEC
J-STD-033 standard on www.jedec.org.
16.2 Soldering
16.2.1 Reflow soldering
Attention must be paid on the thickness of the solder resist between the host PCB top side
and the modules bottom side. Only lead-free assembly is recommended according to JEDEC
J-STD020.
Table 156: Classification reflow soldering profile, Note: refer to IPC/JEDEC J-STD-020E
* In order to reduce residual stress on the sensor component, the recommended ramp-
down temperature slope should be lower than 3°C /s.
Table 157: Package classification reflow temperature, PB-free assembly, Note: refer to IPC/-
JEDEC J-STD-020E
It is recommended to solder the sensor on the last re-flow cycle of the PCB. For solder paste
use a LFM-48W or Indium based SAC 305 alloy (Sn 96.5 / Ag 3.0 / Cu 0.5 / Indium 8.9HF /
Type 3 / 89%) type 3 or higher.
The reflow profile must be adjusted based on the thermal mass of the entire populated PCB,
heat transfer efficiency of the reflow oven and the specific type of solder paste used. Based on
the specific process and PCB layout the optimal soldering profile must be adjusted and verified.
Other soldering methods (e.g. vapor phase) have not been verified and have to be validated
by the customer at their own risk. Rework is not recommended.
Tp
TC –5°C
Max. Ramp Up Rate tp
Max. Ramp Down Rate
TL
tL
Ts max Preheat Area
Temperature
Ts min
tS
25
Time 25°C to Peak
Time
After reflow soldering, visually inspect the board to confirm proper alignment
• Washing agents used during the production to clean the customer application might dam-
age or change the characteristics of the component. Washing agents may have a nega-
tive effect on the long-term functionality of the product.
• Using a brush during the cleaning process may damage the component. Therefore, we
do not recommend using a brush during the PCB cleaning process
• Conformal coating may affect the product performance. We do not recommend coating
the components.
• For a moisture sensitive component, the storage condition in the original packaging is
defined according to IPC/JEDEC-J-STD-033. It is also recommended to return the com-
ponent to the original moisture proof bag and reseal the moisture proof bag again.
16.2.5 Handling
• Violation of the technical product specifications such as exceeding the nominal rated
supply voltage, will void the warranty.
• Violation of the technical product specifications such as but not limited to exceeding the
absolute maximum ratings will void the conformance to regulatory requirements.
• ESD prevention methods need to be followed for manual handling and processing by
machinery.
• The edge castellation is designed and made for prototyping, i.e. hand soldering purposes
only.
• The applicable country regulations and specific environmental regulations must be ob-
served.
• Do not disassemble the product. Evidence of tampering will void the warranty.
17 Important notes
The following conditions apply to all goods within the wireless connectivity and sensors product range of Würth Elektronik eiSos GmbH & Co. KG:
Product improvements
Due to constant product improvement, product specifications may change from time to time. As a standard reporting procedure of the Product
Change Notification (PCN) according to the JEDEC-Standard, we inform about major changes. In case of further queries regarding the PCN,
the field sales engineer, the internal sales person or the technical support team in charge should be contacted. The basic responsibility of the
customer as per section 17 and 17 remains unaffected.
All software like ¨wireless connectivity SDK¨, ¨Sensor SDK¨ or other source codes as well as all PC software tools are not subject to the
Product Change Notification information process.
Property rights
All the rights for contractual products produced by Würth Elektronik eiSos GmbH & Co. KG on the basis of ideas, development contracts as
well as models or templates that are subject to copyright, patent or commercial protection supplied to the customer will remain with Würth
Elektronik eiSos GmbH & Co. KG. Würth Elektronik eiSos GmbH & Co. KG does not warrant or represent that any license, either expressed
or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right relating to any combination, appli-
cation, or process in which Würth Elektronik eiSos GmbH & Co. KG components or services are used.
18 Legal notice
Exclusion of liability
Würth Elektronik eiSos GmbH & Co. KG considers the information in this document to be correct at the time of publication. However, Würth
Elektronik eiSos GmbH & Co. KG reserves the right to modify the information such as technical specifications or functions of its products
or discontinue the production of these products or the support of one of these products without any written announcement or notification to
customers. The customer must make sure that the information used corresponds to the latest published information. Würth Elektronik eiSos
GmbH & Co. KG does not assume any liability for the use of its products. Würth Elektronik eiSos GmbH & Co. KG does not grant licenses for
its patent rights or for any other of its intellectual property rights or third-party rights.
Notwithstanding anything above, Würth Elektronik eiSos GmbH & Co. KG makes no representations and/or warranties of any kind for the
provided information related to their accuracy, correctness, completeness, usage of the products and/or usability for customer applications.
Information published by Würth Elektronik eiSos GmbH & Co. KG regarding third-party products or services does not constitute a license to
use such products or services or a warranty or endorsement thereof.
Trademarks
AMBER wireless is a registered trademark of Würth Elektronik eiSos GmbH & Co. KG. All other trademarks, registered trademarks, and
product names are the exclusive property of the respective owners.
Usage restriction
Würth Elektronik eiSos GmbH & Co. KG products have been designed and developed for usage in general electronic equipment only. This
product is not authorized for use in equipment where a higher safety standard and reliability standard is especially required or where a failure
of the product is reasonably expected to cause severe personal injury or death, unless the parties have executed an agreement specifically
governing such use. Moreover, Würth Elektronik eiSos GmbH & Co. KG products are neither designed nor intended for use in areas such as
military, aerospace, aviation, nuclear control, submarine, transportation (automotive control, train control, ship control), transportation signal,
disaster prevention, medical, public information network etc. Würth Elektronik eiSos GmbH & Co. KG must be informed about the intent of
such usage before the design-in stage. In addition, sufficient reliability evaluation checks for safety must be performed on every electronic
component, which is used in electrical circuits that require high safety and reliability function or performance. By using Würth Elektronik eiSos
GmbH & Co. KG products, the customer agrees to these terms and conditions.
Limited license
Würth Elektronik eiSos hereby grants you a limited, non-exclusive, non-transferable and royalty-free license to use the software and under the
conditions that will be set forth in these license terms. You are free to use the provided software only in connection with one of the products
from Würth Elektronik eiSos to the extent described in these license terms.
You are entitled to change or alter the source code for the sole purpose of creating an application embedding the Würth Elektronik eiSos
sensor product. The transfer of the source code to third parties is allowed to the sole extent that the source code is used by such third parties
in connection with our product or another hardware provided by Würth Elektronik eiSos under strict adherence of these license terms. Würth
Elektronik eiSos will not assume any liability for the usage of the incorporated software and the source code.
You are not entitled to transfer the source code in any form to third parties without prior written consent of Würth Elektronik eiSos.
You are not allowed to reproduce, translate, reverse engineer, decompile, disassemble or create derivative works of the incorporated software
and the source code in whole or in part.
No more extensive rights to use and exploit the products are granted to you.
information or support that may be provided by Würth Elektronik eiSos. YOU SHALL INDEMNIFY WÜRTH ELEKTRONIK EISOS AGAINST
ANY DAMAGES ARISING OUT OF THE USE OF WÜRTH ELEKTRONIK EISOS’ PRODUCTS IN SUCH SAFETY-CRITICAL APPLICATIONS.
Ownership
The incorporated software created by Würth Elektronik eiSos is and will remain the exclusive property of Würth Elektronik eiSos.
Disclaimer of warranty
THE SOFTWARE AND IT’S SOURCE CODE IS PROVIDED "AS IS". YOU ACKNOWLEDGE THAT WÜRTH ELEKTRONIK EISOS MAKES
NO REPRESENTATIONS AND WARRANTIES OF ANY KIND RELATED TO, BUT NOT LIMITED TO THE NON-INFRINGEMENT OF THIRD
PARTIES’ INTELLECTUAL PROPERTY RIGHTS OR THE MERCHANTABILITY OR FITNESS FOR YOUR INTENDED PURPOSE OR US-
AGE. WÜRTH ELEKTRONIK EISOS DOES NOT WARRANT OR REPRESENT THAT ANY LICENSE, EITHER EXPRESS OR IMPLIED, IS
GRANTED UNDER ANY PATENT RIGHT, COPYRIGHT, MASK WORK RIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT RELATING
TO ANY COMBINATION, MACHINE, OR PROCESS IN WHICH THE WÜRTH ELEKTRONIK EISOS’ PRODUCT WITH THE INCORPO-
RATED SOFTWARE IS USED. INFORMATION PUBLISHED BY WÜRTH ELEKTRONIK EISOS REGARDING THIRD-PARTY PRODUCTS
OR SERVICES DOES NOT CONSTITUTE A LICENSE FROM WÜRTH ELEKTRONIK EISOS TO USE SUCH PRODUCTS OR SERVICES
OR A WARRANTY OR ENDORSEMENT THEREOF.
Limitation of liability
Any liability not expressly provided by Würth Elektronik eiSos shall be disclaimed.
You agree to hold us harmless from any third-party claims related to your usage of the Würth Elektronik eiSos’ products with the incorporated
software and source code. Würth Elektronik eiSos disclaims any liability for any alteration, development created by you or your customers as
well as for any combination with other products.
Severability clause
If a provision of these license terms is or becomes invalid, unenforceable or null and void, this shall not affect the remaining provisions of the
terms. The parties shall replace any such provisions with new valid provisions that most closely approximate the purpose of the terms.
Miscellaneous
Würth Elektronik eiSos reserves the right at any time to change this terms at its own discretion. It is your responsibility to check at Würth
Elektronik eiSos homepage for any updates. Your continued usage of the products will be deemed as the acceptance of the change.
We recommend you to be updated about the status of new software, which is available on our website or in our data sheet, and to implement
new software in your device where appropriate.
By ordering a product, you accept these license terms in all terms.
List of Figures
1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Pinout (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Electrical connection (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Master-slave concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 SDA and SCL logic levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Data validity, START and STOP condition . . . . . . . . . . . . . . . . . . . . . . 20
7 Slave address format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8 Complete data transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9 Write and read operations of the sensor . . . . . . . . . . . . . . . . . . . . . . . 22
10 SPI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
11 SPI register address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
12 4-wire SPI data transfer (CPOL = 1, CPHA = 1) . . . . . . . . . . . . . . . . . . . 26
13 SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
14 SPI read protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
15 Communication check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
16 Sensor in operation with high performance mode . . . . . . . . . . . . . . . . . . 33
17 Self test procedure for acceleration sensor . . . . . . . . . . . . . . . . . . . . . . 40
18 Self test procedure for gyroscope sensor . . . . . . . . . . . . . . . . . . . . . . . 41
19 Sensor dimensions [mm] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
20 Recommended land pattern [mm] (top view) . . . . . . . . . . . . . . . . . . . . . 93
21 Reflow soldering profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
List of Tables
1 Sensor Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Acceleration sensor specifications . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Gyroscope sensor specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Acceleration and gyroscope sensitivity parameter . . . . . . . . . . . . . . . . . . 13
6 Temperature sensor specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8 Absolute maximum rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
10 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
11 Slave address and Read/Write commands . . . . . . . . . . . . . . . . . . . . . . 22
12 I2 C timing parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
13 SPI communication modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14 SPI timing parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
15 Time consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
16 Temperature output data BLE bit = 0 . . . . . . . . . . . . . . . . . . . . . . . . . 45
17 Temperature output data BLE = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
18 FIFO_CTRL1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
19 FIFO_CTRL1 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
20 FIFO_CTRL2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
21 FIFO_CTRL2 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
22 FIFO_CTRL3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
23 FIFO_CTRL3 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
24 Gyro FIFO decimation setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
25 Acceleration FIFO decimation setting . . . . . . . . . . . . . . . . . . . . . . . . . 51
26 FIFO_CTRL4 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
27 FIFO_CTRL4 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
28 Fourth FIFO data set decimation setting . . . . . . . . . . . . . . . . . . . . . . . 52
29 Third FIFO data set not in FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
30 FIFO_CTRL5 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
31 FIFO_CTRL5 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
32 FIFO ODR selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
33 FIFO mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
34 DRDY_PULSE_CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
35 DRDY_PULSE_CFG register description . . . . . . . . . . . . . . . . . . . . . . 55
36 INT0_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
37 INT0_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
38 INT0_CTRL register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
39 INT1_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
40 INT1_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
41 INT1_CTRL register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
42 Device_ID register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
43 CTRL1_XL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
44 CTRL1_XL register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
45 Acceleration sensor output data rate configuration . . . . . . . . . . . . . . . . . 58
46 CTRL2_G register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
47 CTRL2_G register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
48 Gyroscope sensor output data rate configuration . . . . . . . . . . . . . . . . . . 59
49 CTRL3_C register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
50 CTRL3_C register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
51 CTRL4_C register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
52 CTRL4_C register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
53 CTRL4_C register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
54 CTRL5_C register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
55 CTRL5_C register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
56 Output registers rounding pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
57 Angular rate sensor self-test mode selection . . . . . . . . . . . . . . . . . . . . . 62
58 Linear acceleration sensor self-test mode selection . . . . . . . . . . . . . . . . . 63
59 CTRL6_C register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
60 CTRL6_C register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
61 CTRL6_C register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
62 Trigger mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
63 Gyroscope LPF1 bandwidth selection for ODR=800 Hz and ODR=1.6 kHz . . . . 65
64 Gyroscope LPF1 bandwidth selection for ODR=3.3 kHz and ODR=6.6 kHz . . . 65
65 CTRL7_G register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
66 CTRL7_G register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
67 CTRL7_G register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
68 CTRL8_XL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
69 CTRL8_XL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Max-Eyth-Straße 1
74638 Waldenburg
Germany