Skip to main content

// application note

AN0007 Interfacing an ams OSRAM time-of-flight sensor over I3C with the Binho Supernova

The ams OSRAM TMF8829 is a direct time-of-flight ranging sensor with a MIPI I3C interface alongside I2C and SPI. It reports a distance for each zone of a SPAD array rather than one distance for the field of view, up to 1536 zones per measurement, and it differs from a register-mapped sensor in three respects that determine how a host is written: its ranging firmware is downloaded over the bus at every power-up, results are returned through a FIFO rather than a register file, and a measurement is kilobytes rather than bytes. This application note shows how to bring one up from a Binho Supernova USB host adapter without writing any firmware. It covers enumeration and dynamic address assignment, forcing the bootloader and downloading the ranging application, selecting a zone configuration, the frame header field that determines the size of every zone, the transfer-length limit that a full-resolution frame exceeds, the row interleaving used by the two largest configurations, rendering the results, and an HDR-DDR frame transfer checked against the single data rate read of the same frame. The worked example uses the TMF8829 on a LIGHTRANGER 14 Click, and a reference Python utility that produced every output in this document is supplied.

Products
Binho Supernova
Protocols
I3C
Topics
Time-of-Flight Sensing
Revision
Rev 1.2 · September 9, 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 TMF8829 onto an I3C bus, forced it into its bootloader, downloaded and started its ranging firmware, configured each of its zone grids, read and decoded measurement frames including the two configurations that arrive as two frames, rendered the results, transferred a frame in HDR-DDR and verified it against the single data rate read of the same frame, and established what the target implements from observable effects.

The part worked through is the TMF8829 on a LIGHTRANGER 14 Click. It is exercised on hardware and every output in this document is a real capture.

This note does not cover optical calibration, crosstalk compensation against a cover glass, the histogram output mode, or the point-cloud correction that converts per-zone distances into Cartesian coordinates. Those depend on the optical stack a design puts in front of the sensor and are documented by the sensor vendor.

// background

Background

The ams OSRAM TMF8829 is a direct time-of-flight ranging sensor with a MIPI I3C interface alongside I2C and SPI, on the same two pins. It measures distance by timing returned photons against an emitted laser pulse, across an array of single-photon avalanche diodes divided into zones, and reports a separate result for every zone rather than one distance for the field of view. The largest configuration reports 1536 zones, and each zone can report up to four returns at different distances.

I3C keeps the 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
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
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 a TMF8829 from a Binho Supernova USB host adapter: enumerating it, identifying it from the bus, entering its bootloader, downloading and starting its ranging firmware, selecting a zone configuration, reading and decoding measurement frames at every resolution the part offers, rendering the results, transferring a frame in HDR-DDR, and establishing which of the features above the target actually implements.

Three properties of this part determine how a host has to be written, and all three differ from a register-mapped sensor.

Table: What differs from a register-mapped sensor

Property Consequence for the host
The ranging firmware is not resident The part powers up in a bootloader or a ROM application, neither of which ranges. The application is downloaded over the bus into RAM at every power-up, so it forms part of the boot time of any product built around the part
Results are returned through a FIFO There is no distance register. A measurement is read as one contiguous transfer whose length is described by the frame itself, and a short read leaves the remainder in the FIFO to corrupt the next frame
A measurement is kilobytes, not bytes A 48x32 configuration returns 4674 bytes per measurement at the smallest result format. Section 7.3 establishes the transfer limit this runs into and Section 11 gives the size of each configuration

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

From power-on to measurement data, and which register carries each step.

// applicable devices

Applicable devices

The worked example uses a TMF8829 on a LIGHTRANGER 14 Click. The bus procedures apply to any I3C target; the bootloader, configuration and frame procedures apply to the TMF882x and TMF88xx family, which share the host interface described here.

// 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 Application state and bootloader entry
  5. 05 Downloading the RAM application
  6. 06 Choosing a zone grid and starting a measurement
  7. 07 Reading a frame
  8. 08 Rendering a measurement
  9. 09 More than one object per zone
  10. 10 Declared capabilities against measured behaviour
  11. 11 Measured results
  12. 12 The utility
  13. 13 Practical notes
  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 AN0007 was run on the Binho Supernova. Get the hardware to reproduce it, or talk to our engineers about your I3C bring-up.