Skip to main content

// application note

AN0006 Interfacing TDK InvenSense MEMS sensors over I3C with the Binho Supernova

The current generation of TDK InvenSense MEMS sensors offers a MIPI I3C interface alongside I2C and SPI, including the high data rate double data rate mode that most sensors leave out. This application note shows how to bring one up from a Binho Supernova USB host adapter and the Binho mikroBUS Adapter Board, and how to exercise the I3C features the sensor implements, without writing any firmware. It covers enumeration and dynamic address assignment, identifying a part from the bus rather than a lookup table, register access, streaming decoded sensor data, in-band interrupts with no interrupt pin connected, and an HDR-DDR transfer checked against the single data rate read of the same register. The worked example uses the ICM-45686 six-axis IMU, and a reference Python utility that produced every output in this document is supplied.

Products
Binho Supernova
Protocols
I3C
Topics
MEMS Sensor Bring-up
Revision
Rev 1.0 · September 1, 2026

// outcomes

What you'll walk away with

By the end of this document a reader with the hardware in front of them will have enumerated a sensor onto an I3C bus, identified it from its own registers, read and written registers, streamed decoded measurements, received in-band interrupts at the sensor's configured output data rate with no interrupt pin connected, performed an HDR-DDR read and checked it against the single data rate read of the same register, and established what the target implements from observable effects.

The part worked through is the ICM-45686. It is exercised on hardware and every output in this document is a real capture.

// background

Background

The current generation of TDK InvenSense MEMS sensors offers a MIPI I3C interface alongside I2C and SPI, on the same two pins. I3C keeps that two-wire footprint and adds a substantial feature set on top of it.

Table: What I3C adds to a two-wire sensor interface

Feature What it gives a design
Dynamic address assignment The controller hands out addresses at run time, so static address collisions stop being a board-design constraint and identical parts can share a bus
Identification from the bus Every target reports a 48-bit provisional identifier, a device class and its bus capabilities, so a controller can enumerate a bus it was not built for
Common command codes A standard command set, broadcast and direct, for enumeration, identification, configuration, interrupt control and reset, the same on every compliant target
In-band interrupts The sensor interrupts the host on the data line, carrying a byte that says why, so no interrupt pin has to be routed or allocated
High data rate modes Double data rate transfers move two bits per clock edge pair, doubling the signalling rate without raising the clock
Group addressing One write reaches several targets at once, addressed as a group
Higher signalling rates Push-pull clocking, to 12.5 MHz in single data rate mode, against the open-drain limits of I2C
Lower power Push-pull signalling avoids the static pull-up current I2C spends continuously, and activity states let a controller tell targets what bus latency to expect so they can idle harder
Hot-join A target powered up after the bus is running can ask to be enumerated
Timing control The controller can have targets timestamp their interrupts against a shared reference
Standard reset and recovery A defined target reset and defined error detection and recovery, rather than per-vendor sequences
I2C compatibility Legacy I2C devices can share the bus

A target implements the subset of that a sensor needs, and the subset differs between parts. The ICM-45686 implements more of it than most: its bus characteristics register declares advanced capabilities, which means high data rate transfers, and Section 8 puts that to the test.

This note works through the part from a Binho Supernova USB host adapter and the Binho mikroBUS Adapter Board: enumerating it, identifying it from the bus, reading and writing registers, streaming decoded measurements, getting interrupts over the data line with no interrupt pin connected, transferring in HDR-DDR, and establishing which of the features above the target actually implements.

Nothing here requires a microcontroller, firmware, or a driver port. Every step is a command from a host PC.

// applicable devices

Applicable devices

Device Function Board Exercised on hardware
ICM-45686 6-axis IMU, accelerometer and gyroscope 6DOF IMU 27 Click Yes

The method applies to any TDK InvenSense MEMS part with an I3C interface on a mikroBUS Click board. Adding one to the supplied utility is a single table entry, described in Section 12.

// what's covered

What's covered in the note

  1. 01 Introduction
  2. 02 Required equipment and software
  3. 03 First contact: enumerate the bus
  4. 04 Identify the part from the bus
  5. 05 Read and write registers
  6. 06 Stream sensor data
  7. 07 Interrupts over the bus, with no interrupt pin
  8. 08 HDR-DDR
  9. 09 Exercising the rest of the I3C feature set
  10. 10 Bus rates
  11. 11 Practical notes
  12. 12 The utility
  13. 13 Measured results
  14. 14 Troubleshooting

The full procedure, measured results, and reference code are in the PDF and the assets archive.

// materials

What you'll need

Binho Supernova Binho Supernova USB host adapter for I3C, I2C, SPI & UART View product
Software Mission Control 3 or the Cosmic SDK (Python, C / C++ / C#). Get the software
Files The reference scripts and assets used in this note. Download the assets

// our edge

We don't just follow the I3C spec.

We don't watch from the sidelines. Plugfest after plugfest, our team is in the room where vendor I3C implementations come together — finding edge cases, debugging quirks, and validating real silicon against the spec.

Binho at the MIPI I3C Plugfest in Taipei, 2024
MIPI I3C Plugfest · Taipei, 2024
Martin from Binho at the MIPI I3C Plugfest in Warsaw, 2025
Martin · MIPI I3C Plugfest · Warsaw, 2025

// track record

We've been doing this for years.

Long enough to know where the gotchas live.

MIPI Alliance

// 01 · standards

We help write the spec.

Binho is a MIPI Alliance Contributor Member, actively shaping I3C — a foundational protocol for cutting-edge embedded systems.

200+

// 02 · tools

We build the tools.

200+ semiconductor companies use Binho tools to develop, validate, and ship devices with I3C protocol support.

5

// 03 · plugfests

We prove it in the field.

We've verified our tools at the past 5 MIPI I3C Plugfests — and helped others verify theirs too.

// trusted by engineering teams at

+ hundreds more

// newsletter

Get new application notes

New notes, firmware releases, and tool updates from Binho. No spam, unsubscribe anytime.

Put it on the bench

Every step in AN0006 was run on the Binho Supernova. Get the hardware to reproduce it, or talk to our engineers about your I3C bring-up.