These two IMUs share a package size and almost nothing else. The ICM-45686 is a 14-LGA measuring 2.5 × 3.0 × 0.81 mm; the ST LSM6DSV is an LGA-14L measuring 2.5 × 3.0 × 0.83 mm.
Two hundredths of a millimetre apart, same footprint class, same pin count - which is why a real board swap between them has already happened in the open-source flight-controller world.
That physical near-match is also the trap. Nothing else about them lines up: the register maps share no addresses, the identity registers return different values, and each part wins on a different axis.
From what we see on the sourcing side, the question is never "which is better". It's "which one does my application actually need", and the two parts answer that differently.
This page puts the numbers side by side and then walks the decision.
Yes, to within 0.02 mm in height - and no, in every way that matters to your firmware. Both are 14-pad land grid arrays on a 2.5 × 3.0 mm outline, both run from 1.71 to 3.6 V, and both cover the same temperature range.
What does not match is the part your firmware talks to. The ICM-45686 puts its identity register at 0x72 and returns 0xE9; it also has no bank-select register, reaching internal registers indirectly through a three-address path at 0x7C, 0x7D and 0x7E.
The LSM6DSV puts its identity register at 0x0F and returns a fixed 0x70. There is no indirect access path, because the part does not need one.
Two parts that occupy the same square of copper and have no register address in common. That is the whole reason this comparison exists.
Each part wins on a different axis, and neither wins overall. The table below puts the published figures side by side; the notes after it matter as much as the numbers.
| Parameter | ICM-45686 | LSM6DSV |
|---|---|---|
| Package | 14-LGA, 2.5 × 3.0 × 0.81 mm | LGA-14L, 2.5 × 3.0 × 0.83 mm |
| Gyroscope full-scale range | ±15.625 to ±4000 dps, 8 settings | ±125 to ±4000 dps, 6 settings |
| Accelerometer full-scale range | ±2 / ±4 / ±8 / ±16 / ±32 g | ±2 / ±4 / ±8 / ±16 g |
| Gyroscope noise density | 3.8 mdps/√Hz | 2.8 mdps/√Hz |
| Accelerometer noise density | 70 µg/√Hz | 60 µg/√Hz |
| FIFO | 8 KB | 4.5 KB |
| Current, 6-axis high performance | 0.42 mA at 1600 Hz | 0.65 mA |
| Shock rating | 20,000 g | 20,000 g for 0.2 ms |
| Supply voltage | 1.71 to 3.6 V; VDDIO 1.2 / 1.8 / 3.0 V | 1.71 to 3.6 V; IO 1.08 to 3.6 V |
| Host interface | I3C 12.9 MHz, I²C 1 MHz, SPI 24 MHz | SPI, I²C, MIPI I3C v1.1 |
| Auxiliary channel | SPI slave for OIS, or I²C master | Aux SPI for OIS; dedicated EIS channel |
| WHO_AM_I | Register 0x72, returns 0xE9 | Register 0x0F, returns 0x70 |
| Indirect register access | Yes - 0x7C / 0x7D / 0x7E | No |
| Operating temperature | −40 to +85 °C | −40 to +85 °C |
The noise figures are the LSM6DSV's strongest card, and they are the reason someone would move. Lower noise density on both axes is the one advantage that shows up directly in a control loop.
Read those two bars as separate comparisons, because they are scaled separately. On buffering the ICM-45686 is nearly twice the size; on current it draws about two thirds as much. Both of those are the opposite direction from the noise result.
And the accelerometer range is a hard boundary rather than a preference. The ICM-45686 reaches ±32 g; the LSM6DSV stops at ±16 g. If your application needs the higher range, the comparison is over before the other rows are read.
Start with the requirement that cannot be traded, then work down. Four questions decide it, and three of them are hard limits rather than preferences.
Question 4 is the one that gets skipped. Both parts are 14-pad devices on the same outline, which creates an expectation that changing them is a sourcing exercise. It is a firmware project, and the driver work is the cost - not the part.
Everything that touches the register map, which is most of a driver. The two parts do not share an identity register, an addressing model or an interface to the internal configuration.
| What a driver needs | ICM-45686 | LSM6DSV |
|---|---|---|
| Verify the part is present | Read 0x72, expect 0xE9 | Read 0x0F, expect 0x70 |
| Reach a register outside the base map | Write the address to 0x7C and 0x7D, move data through 0x7E | Direct access - no indirect path exists |
| Bank switching | Not present; the map jumps from 0x5A to 0x72 | Not present |
| Sensitivity per range | Read from the full-scale selection | 0.061 to 0.488 mg/LSB and 4.375 to 140 mdps/LSB by range |
The practical consequence is that a driver written for one will compile and fail on the other, and usually it fails late. An identity read that returns an unexpected value is the cheap failure; a configuration write that lands on a different register is the expensive one.
The habit that avoids it is the same one that applies to any IMU port: read the identity register and compare it rather than merely succeeding at the read.
Stay when range, buffering or current is the constraint. Move when noise is. That is the honest summary of the table above.
Stay with the ICM-45686 when:
Switch to the LSM6DSV when:
Both parts carry a 20,000 g shock rating and the same 1.71 to 3.6 V supply range, so neither of those decides anything.
Because on these two parts the datasheet is where the decision lives, and reading it properly is what we do before a quote goes out.
Both are 14-pad devices in the same 2.5 × 3.0 mm outline, which makes them look interchangeable on a sourcing sheet and anything but interchangeable in firmware. We keep DS-000577 Rev 1.0 and DS13476 Rev 5 together and read the specification tables, not the feature bullets.
Tell us the range you need, whether gyro or accelerometer noise is the binding constraint, and whether the driver is being written fresh. We'll confirm what we can supply and quote it - and if the other part is the right answer for your design, we'll say so.
A: They share a package size and pin count, but not a register map. Both are 14-pad parts on a 2.5 × 3.0 mm outline - 0.81 mm and 0.83 mm tall respectively. The firmware, however, shares no register addresses at all.
A: The LSM6DSV, on both axes. 2.8 mdps/√Hz against 3.8 for the gyroscope, and 60 µg/√Hz against 70 for the accelerometer.
A: The ICM-45686 on the accelerometer. It reaches ±32 g where the LSM6DSV stops at ±16 g. Both reach ±4000 dps on the gyroscope.
A: The ICM-45686 in the comparable high-performance mode - 0.42 mA against 0.65 mA. The LSM6DSV's advantage is noise, not current.
A: Not without a register port. The ICM-45686 identifies itself at register 0x72 returning 0xE9 and reaches internal registers indirectly through 0x7C, 0x7D and 0x7E. The LSM6DSV identifies at 0x0F returning 0x70 and has no indirect path.
A: 8 KB on the ICM-45686 and 4.5 KB on the LSM6DSV. For a high-rate logger reading the buffer between host cycles, that gap is usually the deciding number.
A: Yes - 20,000 g on both. The LSM6DSV specifies it as acceleration for 0.2 ms. This row does not separate them.
A: The same main rail, different IO options. Both run from 1.71 to 3.6 V. The ICM-45686 supports 1.2, 1.8 and 3.0 V IO; the LSM6DSV has an independent IO supply from 1.08 to 3.6 V.
A: It depends on which constraint binds. If the loop needs the lowest gyro noise, the LSM6DSV. If it needs ±32 g, deeper buffering or lower current, the ICM-45686. Real designs have swapped in both directions.
A: Both offer SPI, I²C and I3C. The ICM-45686 specifies I3C at 12.9 MHz, I²C at 1 MHz and SPI at 24 MHz. The LSM6DSV supports MIPI I3C v1.1 alongside SPI and I²C.
A: Offloading image stabilisation and secondary sensor traffic. The ICM-45686 offers an SPI slave for OIS or an I²C master. The LSM6DSV offers an auxiliary SPI for OIS output plus a dedicated EIS channel on the primary interface.
A: No, despite the matching footprint. They occupy the same board area and have nothing in common in the register map. Treat the change as a firmware project that happens to reuse the land pattern.
A: The ICM-45686 datasheet DS-000577 Rev 1.0 and the ST LSM6DSV datasheet DS13476 Rev 5. Every figure in the comparison table was read from those two specification tables.





