The Obsolescence Brief Subscribe
← Parts Teardown Family Map · Hub

IMU & motion-sensor obsolescence: which 6- and 9-axis MEMS parts are EOL & how to cross them

The MEMS inertial measurement unit, the 6-axis part combining a 3-axis gyroscope and accelerometer, and its 9-axis sibling that adds a magnetometer, is one of the most widely designed-in sensor blocks in electronics, and much of the generation that defined it is now obsolete. TDK has retired the MPU line, and the Bosch parts engineers reach for as crosses are themselves mid-retirement. What decides each swap is the register map and the driver identity the host firmware binds to, and whether the candidate even carries the sensor you need and is itself still in production. The footprint match tells you none of that. Suggested candidates to validate in your own design, not drop-in equivalents.

MPU-6000 / 6050: obsolete at TDK MPU-9250: obsolete at TDK · ICM-20948: EOL BMI160: EOL at Bosch · BNO055: NRND Forward: ICM-426xx · BMI270 / BMI323 · LSM6DS3
Map

The family map

Every legacy MPU routes to a current-generation forward part. Unlike a footprint swap, the arrow crosses a new register map and a new driver identity every time. Where the maker's own named successor is itself end-of-life, the forward node is red: read that as a signal to skip to the current generation, not stop at the exit.

Legacy · obsolete new map Current-generation forward
MPU-6000TDK · SPI 6-axis
Obsolete
Map RM-MPU-6000A
Pkg QFN-24
ID WHO_AM_I 0x68
new map
+ driver
ICM-42688-PTDK · named successor
Active
Map bank-switched
Pkg LGA-14
ID new WHO_AM_I
MPU-6050TDK · I2C 6-axis
Obsolete
Map RM-MPU-6000A
Pkg QFN-24
ID WHO_AM_I 0x68
new map
+ driver
ICM-42670-PTDK · named alternate
Active
Map own architecture
Pkg LGA-14
ID new WHO_AM_I
MPU-9250TDK · 9-axis (+ mag)
Obsolete
Map RM-MPU-9250A
Pkg QFN-24
ID WHO_AM_I 0x71 + AK8963
exit is
itself EOL
ICM-20948TDK-named · itself EOL
EOL
Map bank-switched
Pkg QFN-24
Go to 6-axis + mag, or BNO085
The cross-vendor forward poolnew driver · new register map · board redesign
BMI270Bosch
Active
6-axis
Config file each boot
BMI323Bosch
Active
6-axis
Forward path
LSM6DS3STMicro
Active
6-axis
ST register map
Legacy / dead exit obsolete or EOL Current-gen forward active, new map & driver Cross-vendor pool driver, map & footprint change
Modes

What is going EOL, and the two ways it happens

MEMS IMUs are not all reaching end-of-life the same way, and the difference decides whether the obvious cross even helps. Diagnose the case first.

MPU-6000 / 6050 / 9250 · TDK

The MPU generation, retired wholesale

The MPU-6000 and MPU-6050 carry an “Obsolete” status on TDK's Product Center, the MPU-9250 is obsolete, and even the ICM-20948 named as the 9-axis step-up is itself EOL at TDK. The forward line is the current ICM-426xx generation, in production, on a different register architecture.

LTB defers, doesn't remove the requal
BMI160 · BNO055 · Bosch

The cross-vendor alternates, dying too

The Bosch parts most often cross-shopped are no safe harbour: the BMI160 is at Bosch end-of-life and not for new designs (Bosch PDN of 27 March 2024: last order acceptance 15 October 2024, last shipment ex-factory 15 April 2025), and the BNO055 is NRND. Bosch names the BMI270 and BMI323 as the forward path.

The obvious cross is dying too

The durable path is the maker's current-generation part, the ICM-426xx line at TDK, the BMI270 or BMI323 at Bosch, the LSM6DS3 family at ST. Every one of those is a register-map and driver change, not a footprint swap.

Catches

The four catches that decide every IMU cross

01

Register map & driver identity Load-bearing

Firmware keyed to the RM-MPU-6000A map and its WHO_AM_I value stops matching the moment the silicon changes. No active cross keeps that map. The ICM-426xx line answers on its own bank-switched architecture, the Bosch parts on a Bosch model (the BMI270 uploads a config file every power-on), the BNO055 on a fusion register set.

02

Sensor content: gyro? raw data?

A distributor “motion sensor” tag does not promise a gyroscope or raw output. The ADXL345 is a 3-axis accelerometer with no gyro; the BNO055 is a 9-axis fusion SiP outputting absolute orientation, not a raw-register match. Match the sensor class, not the label.

03

The candidate's own lifecycle

Many parts a cross-reference returns are themselves EOL or NRND: the BMI160, the MPU-9250, the ICM-20948, the BNO055. A cross that is itself dying relocates the obsolescence. Confirm each candidate's own standing at the maker field before you design it in.

04

Package & footprint

No cross shares an MPU footprint. The MPU-6000 and MPU-6050 are 24-pin QFNs; the active crosses sit in different LGA and QFN packages with different pin counts. Every cross is a board re-layout, never a pin-for-pin swap.

Table

The IMU & motion-sensor landscape

The common parts a cross-reference returns, mapped by the axis that actually decides the swap, the register map and driver identity, plus the sensor class and the part's own lifecycle. Confirm every lifecycle standing at the maker field before you design a part in.

PartVendorSensor classRegister map / driver identityLifecycle
MPU-6000TDK InvenSense6-axis (gyro + accel)RM-MPU-6000A, WHO_AM_I 0x68Obsolete TDK status field
MPU-6050TDK InvenSense6-axis (gyro + accel)RM-MPU-6000A (shared)Obsolete TDK status field
MPU-9250TDK InvenSense9-axis (+ magnetometer)RM-MPU-9250A, mag at aux I2CObsolete TDK status field
ICM-20948TDK InvenSense9-axis (+ magnetometer)own bank-switched mapEOL at TDK
BMI160Bosch Sensortec6-axis (gyro + accel)Bosch register mapObsolete Bosch PDN, last order 15 Oct 2024
BNO055Bosch Sensortec9-axis fusion SiP (fused)fusion set + operating modesNRND at Bosch
ADXL345Analog Devices3-axis accel, no gyroaccelerometer registers onlyActive
ICM-42688-PTDK InvenSense6-axis (gyro + accel)bank-switched, new WHO_AM_IActive TDK current gen
ICM-42670-PTDK InvenSense6-axis (gyro + accel)own architecture, new WHO_AM_IActive TDK-named alternate
BMI270Bosch Sensortec6-axis (gyro + accel)Bosch map + config upload/bootActive Bosch forward path
LSM6DS3STMicro6-axis (gyro + accel)ST register mapActive cross-vendor path

The load-bearing column is register map / driver identity: no active cross keeps the RM-MPU-6000A map, so every migration off an MPU part is a driver rewrite. The sensor-class column is what rules a mislabelled “IMU” cross in or out. Lifecycle, sensor and register data is vendor-reported, not independently audited.

Teardowns

The per-part teardowns

Each legacy part has a full forensic teardown, carrying the fit-catch on every cross, the comparison table and the migration path:

Method

How to approach an IMU obsolescence

No single winner across the family. Look for a fit to your design and, above all, your host firmware:

1

Go to the maker's current generation Durable path

For a TDK design that is the ICM-426xx line (the ICM-42688-P or ICM-42670-P), for Bosch the BMI270 or BMI323, for a cross-vendor move ST's LSM6DS3 family. Each is in production, and each changes the register map and the driver.

2

Diagnose whether your cross is itself dead first

Several obvious crosses, the BMI160, the MPU-9250, the ICM-20948 and the BNO055, are themselves EOL or NRND. Confirm the candidate's own standing at the maker field before you qualify it.

3

The register-map & driver rewrite is the gating validation

The target has to enumerate on its own WHO_AM_I identity and stream correctly in your firmware before the board is committed. Prove it on a breakout ahead of the re-layout.

4

Every cross is a board re-layout

No active cross shares an MPU footprint or pin count, so budget the package change alongside the firmware work and, for a 9-axis part, a separate magnetometer sub-system if the forward part drops it.

5

Requalify in your own system

A matching axis count and interface do not qualify the part; validate the register map, the sensor content and the calibration in your design.

FAQ

Frequently asked questions

Which MEMS IMUs and motion sensors are obsolete?

The TDK InvenSense MPU-6000 and MPU-6050 are obsolete on TDK's own status field, the MPU-9250 is obsolete at TDK and the ICM-20948 is end-of-life, the Bosch BMI160 is at Bosch end-of-life, and the Bosch BNO055 is not recommended for new designs. Confirm the exact part you use at the maker field; the current-generation parts are the TDK ICM-426xx line, the Bosch BMI270 and BMI323, and ST's LSM6DS3 family.

Are 6-axis IMUs interchangeable?

Not as drop-ins. They share a function, but each part answers on its own register map with its own WHO_AM_I identity, the sensor content differs (some cross-shopped parts have no gyroscope or output fused orientation rather than raw data), the packages and pinouts differ, and several of the obvious crosses are themselves end-of-life. Any host firmware keyed to the old register map and identity must be reworked, and every cross is a board re-layout.

What replaces the MPU-6050 and the MPU-6000?

Each has its own set of real crosses with a specific catch; the teardowns linked above work them in full. In short: the current-generation TDK parts are the ICM-42670-P (TDK's named MPU-6050 alternate) and the ICM-42688-P, each on its own register architecture; the cross-vendor options are Bosch's BMI270 and ST's LSM6DS3. Treat all as candidates to validate, not drop-ins.

Is the BMI160 or the BNO055 a safe cross for an obsolete MPU part?

Neither is a durable long-term cross. The BMI160 is at Bosch end-of-life and not available for new designs (Bosch PDN of 27 March 2024: last order acceptance 15 October 2024, last shipment ex-factory 15 April 2025), and Bosch names the BMI270 and BMI323 as the forward path. The BNO055 is NRND at Bosch, and it is a 9-axis fusion System in Package that outputs absolute orientation on its own register set, not a raw-register match. Crossing to either can relocate the obsolescence.

Does the register map change when moving off an MPU part?

Yes, on every active cross. The MPU-6000 and MPU-6050 share the RM-MPU-6000A register map, and no active candidate keeps it: the ICM-426xx generation uses its own bank-switched architecture with a new WHO_AM_I identity, the Bosch parts use a Bosch register model (the BMI270 also uploads a configuration file at each boot), and the BNO055 uses a fusion register set. The driver rewrite is the core of the migration.

Related

Keep reading

Sources

Sources · public, primary

Lifecycle, package, sensor and register data is vendor- and distributor-reported, not independently audited. Alternates are candidates to validate in your own design. Confirm every detail with the manufacturer before committing.

About the author

Hermann Njike is a systems obsolescence manager who leads the cross-functional response when critical components go end-of-life, and is the single point of contact for thousands of production parts.