// application note
AN0004 Interfacing Bosch Sensortec MEMS sensors over I3C with the Binho Supernova
The current generation of Bosch Sensortec MEMS sensors offers a MIPI I3C interface alongside I2C and SPI. This application note shows how to bring one up from a Binho Supernova USB host adapter and the Binho I3C Target 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, and in-band interrupts with no interrupt pin connected. Worked examples use the BMI323 inertial measurement unit and the BMP581 and BMP585 pressure sensors, 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 2.1 · September 3, 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, and established what the target implements from observable effects.
The three parts worked through are the BMI323, BMP581 and BMP585. All three are exercised on hardware and every output in this document is a real capture.
// background
Background
The current generation of Bosch Sensortec 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 |
| 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. This note works through three Bosch Sensortec parts from a Binho Supernova USB host adapter and the Binho I3C Target Board: enumerating them, identifying them from the bus, reading and writing registers, streaming decoded measurements, getting interrupts over the data line with no interrupt pin connected, and establishing which of the features above each 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 | Evaluation board | Exercised on hardware |
|---|---|---|---|
| BMI323 | 6-axis IMU, accelerometer and gyroscope | Shuttle Board 3.0 | Yes |
| BMP581 | Barometric pressure sensor | Shuttle Board 3.0 | Yes |
| BMP585 | Barometric pressure sensor, media resistant | Shuttle Board 3.0 | Yes |
The method applies to any Bosch Sensortec MEMS part with an I3C interface on a Shuttle Board 3.0 adapter. Adding one to the supplied utility is a single table entry, described in Section 11.
// what's covered
What's covered in the note
- 01 Introduction
- 02 Required equipment and software
- 03 First contact: enumerate the bus
- 04 Identify the part from the bus
- 05 Read and write registers
- 06 Stream sensor data
- 07 Interrupts over the bus, with no interrupt pin
- 08 Exercising the rest of the I3C feature set
- 09 Bus rates
- 10 Practical notes
- 11 The utility
- 12 Measured results
- 13 Troubleshooting
The full procedure, measured results, and reference code are in the PDF and the assets archive.
// materials
What you'll need
Binho Supernova USB host adapter for I3C, I2C, SPI & UART View product // 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.
// track record
We've been doing this for years.
Long enough to know where the gotchas live.
// 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.
// 02 · tools
We build the tools.
200+ semiconductor companies use Binho tools to develop, validate, and ship devices with I3C protocol support.
// 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
// related notes
Related Application Notes
// 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 AN0004 was run on the Binho Supernova. Get the hardware to reproduce it, or talk to our engineers about your I3C bring-up.