Skip to main content

// application note

AN0014 Single-port I2C/SMBus/I3C operation for NVMe-MI on Binho Supernova

Many SMBus and MCTP devices hold SCL low while they prepare a response. The Supernova's I3C engine cannot wait for that, so on its I3C port such a target used to lose bits. Adapter firmware 4.6.0 and pyCosmicSDK 1.6.0 add a mode in which legacy I2C transfers on the I3C port wait for the target, up to the SMBus 35 ms timeout. This note explains the mode, supplies a script that reads and writes a stretching target with it, and supplies the firmware of the reference target used to measure it: 3600 of 3600 reads correct at 100 kHz and 400 kHz over three runs, with the target stretching from 0 to 30 ms, and every stretched read correct up to the mode's ceiling of about 750 kHz. The script also runs the SMBus to I3C Basic detection flow of the PCI-SIG out-of-band management specification as far as the adapter can.

Products
Binho Supernova
Protocols
I2CI3C
Topics
NVMe-MI / MCTP
Revision
Rev 1.0 · November 6, 2026

// outcomes

What you'll walk away with

This document covers:

  • what the clock-stretching mode changes, and what it refuses while it is on
  • the SCL rates it runs at and how close they come to the request
  • a script that reads and writes a stretching target through the mode
  • a reference target that stretches for a configurable time, and its firmware
  • measured results against that target
  • the SMBus to I3C Basic detection flow used for NVMe-MI, and which of its steps the adapter performs

It does not cover SMBus framing beyond the PEC check of an ARP Get UDID (block read and write, quick command), MCTP or NVMe-MI messages, or the Supernova's separate I2C port.

// background

Background

An I2C target may hold SCL low after it acknowledges its address, to gain time before it answers. The controller must wait until SCL is released. The I2C specification calls this clock stretching, and SMBus allows it for up to 35 ms (tTIMEOUT). SMBus and MCTP devices use it routinely: a management controller that is fetching a value holds the clock until the value is ready.

The Supernova's I3C port can address legacy I2C targets on the same bus as I3C devices. Its I3C engine, however, keeps clocking while a target holds SCL low, so a stretching target misses bits and the transfer returns wrong data or no acknowledge. Adapter firmware 4.6.0 and pyCosmicSDK 1.6.0 add a mode that fixes this for legacy I2C transfers on the I3C port.

// applicable devices

Applicable devices

Role Part Identifier Basis
Controller Binho Supernova hardware revision C, firmware 4.6.1, I3C HV port measured, this document
Controller Binho Supernova firmware 4.5.1 or earlier refuses the mode with FW_UNSUPPORTED_COMMAND
Controller Binho Pulsar any not applicable: the Pulsar has no I3C port
Reference target Microchip PIC18F16Q20 Curiosity Nano firmware stretch_target_pic18q20.c measured, this document

// what's covered

What's covered in the note

  1. 01 Introduction
  2. 02 System overview
  3. 03 Hardware setup
  4. 04 Software setup
  5. 05 The clock-stretching mode
  6. 06 Procedure
  7. 07 The SMBus to I3C Basic detection flow
  8. 08 Measured results
  9. 09 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 AN0014 was run on the Binho Supernova. Get the hardware to reproduce it, or talk to our engineers about your I2C/I3C bring-up.