What is OpenHTF?

OpenHTF is Google's open-source Python framework for hardware testing. History since 2016, who maintains it today, who uses it, what it does and does not do.

Last updated · Verified with OpenHTF 1.6.1

OpenHTF (Open Hardware Testing Framework) is an open-source Python framework for writing the tests that run against physical products: functional tests on a PCB, end-of-line tests on an assembled unit, burn-in and environmental tests, calibration routines. It was created at Google, is licensed under Apache 2.0, and is installed with pip install openhtf.

What it does

A test is a Python script. OpenHTF supplies the structure around it:

Sequencing

Test steps are phases — functions the framework runs in order, with timeouts, retries, guaranteed teardown, early stop and conditional branches.

Measurements with limits

Values are declared with validators (ranges, regex, custom functions) and units; the framework computes pass/fail and stores value, limits and unit in the record. See Measurements.

Instrument abstraction

Plugs wrap instruments, the DUT's interfaces and the operator, with a managed lifecycle (created before the test, torn down after).

Operator interface

A browser Operator UI shows live phases and measurements and handles prompts ("scan the serial number", "press the button").

Test records

Every run produces a structured test record — outcome, phases, measurements, logs, attachments — written to JSON or any sink.

What it is not

  • Not a test executive with a GUI editor. Tests are code, versioned in git. There is no drag-and-drop sequence editor like NI TestStand's.
  • Not a database or analytics tool. OpenHTF writes one record per run and stops. Storage, yield, Cpk and traceability are left to whatever consumes the records — a folder of JSON, a homegrown database, or a product like TofuPilot.
  • Not an instrument driver library. Plugs are your code around PyVISA, pyserial, pymodbus or a vendor SDK. A few plugs ship in the box (ADB, Fastboot, serial capture).
  • Not a unit-test runner. It does not discover test_* functions or run assertions the way pytest does; a run is one DUT through one sequence.

History

WhenWhat
2016Open-sourced by Google (v1.0.0, August 2016). Built for the hardware teams behind Google's consumer devices.
2017–20181.1 → 1.3: new Angular web GUI, improved logging, station discovery.
2022v1.5.0: Python 3.7 minimum, many fixes accumulated over four years.
March 20251.6.0 "roll-up" release: Python 3.10 minimum, protobuf 5, modern packaging. 1.6.1 followed.
2026Active development continues on master (version 1.6.2 in pyproject.toml), maintained by a team at Waymo.

The full list is on Releases.

Who maintains it

OpenHTF is maintained by engineers at Waymo (Alphabet), where it is used in production. In 2025 the TofuPilot team visited the original authors in Mountain View and spoke with the current lead maintainer; the framework is maintained by a dedicated group of about five engineers, with no internal fork and no breaking changes planned. The repository is github.com/google/openhtf — 720+ stars, 230+ forks as of September 2026.

Who uses it

Companies known to run OpenHTF in production include Google, Waymo, Sony, STMicroelectronics and research groups at UC Berkeley. The user base is hardware teams that already write Python: robotics, consumer electronics, automotive, aerospace and medical devices, from prototype bring-up through high-volume manufacturing.

How it compares

On this page

First-pass yield
0%4.1
Track with TofuPilot