> Complete documentation index: [llms.txt](/llms.txt). Markdown versions of all pages are available by appending `.md` to page URLs.

# What is a host adapter?

> A host adapter lets a PC talk to chips over I2C, I3C, SPI and UART; this explains the idea and which Binho adapter covers which bus.

A **host adapter** connects a computer to chips that it cannot talk to directly. Sensors, memories, power ICs and microcontrollers use buses such as I2C, I3C, SPI and UART. A PC exposes none of these. A Binho USB host adapter plugs into USB and drives those buses under the control of software on the PC: Mission Control 3 with no code, or a script with PyCosmicSDK.

<iframe class="gb-embed" src="https://www.youtube.com/embed/49SveRYJpWA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

![A laptop connected over USB to a Binho host adapter, which connects to a circuit board under test](/files/hostadapterad-v4.png)

## Which Binho Adapter Covers Which Bus

| Adapter | Buses |
| ------- | ----- |
| [Binho Supernova](/hardware/supernova/) | I3C, I2C, SPI, UART, GPIO |
| [Binho Pulsar](/hardware/pulsar/) | I2C, SPI, UART, GPIO, RS-485, CAN-FD |
| [Binho Nova](/hardware/nova/) (legacy) | I2C, SPI, UART, 1-Wire, Single-Wire Interface (SWI), GPIO |

Details per protocol: [Protocols and Interfaces](/hardware/protocol-support/).

## What People Use One For

**Bring-up and driver development.** Talk to a new chip from a PC before the board or firmware exists. Write and debug the driver in Python, then port it.

**Automated tests.** Run the same script against every board revision or firmware build, for example from a CI job. Scripts replace manual checks that take hours.

**Production programming and provisioning.** Erase, program and verify EEPROM, Flash or FRAM; write serial numbers, MAC addresses or calibration data; load keys into a secure element. Several adapters on one PC can run in parallel. See [Can multiple devices be used at the same time?](/support/faq/can-multiple-devices-be-used-at-the-same-time/)

**Programming a microcontroller through its ROM bootloader.** Many MCUs accept new firmware over I2C, SPI or I3C with no debugger. Worked examples on binho.io:

* [Flashing STM32 firmware over I3C using Binho Supernova](https://binho.io/blog/flashing-stm32-firmware-over-i3c-using-binho-supernova/)
* [Programming STM32 firmware over I2C using Binho Pulsar](https://binho.io/blog/programming-stm32-firmware-over-i2c-using-binho-pulsar/)
* [Programming STM32 firmware over SPI using Binho Pulsar](https://binho.io/blog/programming-stm32-firmware-over-spi-using-binho-pulsar/)

More on binho.io: [USB to I2C adapter](https://binho.io/test-measurement/solutions/usb-i2c-adapter/), [USB to I3C adapter](https://binho.io/test-measurement/solutions/usb-i3c-adapter/), [USB to SPI adapter](https://binho.io/test-measurement/solutions/usb-spi-adapter/).