What Is ORT with TofuPilot
Ongoing reliability testing (ORT) pulls units from the production line at regular intervals and subjects them to stress tests. It catches reliability problems caused by process drift, supplier changes, or material variation that production tests don't detect. This guide covers how ORT works, what it catches, and how to track ORT results with TofuPilot.
Why Production Test Is Not Enough
Production tests verify that a unit works right now. They don't tell you whether it will still work in a year. A solder joint can pass ICT and FCT but crack after 200 thermal cycles. A capacitor can measure within spec but degrade under humidity.
ORT catches these problems by:
- Sampling units from each production lot
- Running stress tests (temperature, humidity, vibration, powered operation)
- Comparing results to the reliability baseline established during DVT
If ORT results drift from baseline, something changed in the process or supply chain.
What ORT Catches
| Problem | How It Shows Up in ORT |
|---|---|
| Solder process drift | Increased failures during thermal cycling |
| Component substitution | Different failure mode than baseline |
| Contamination | Humidity test failures, leakage current increase |
| Fixture wear | Marginal contact resistance readings |
| Supplier quality change | Shifted measurement distributions |
Typical ORT Program
| Parameter | Typical Value |
|---|---|
| Sample size | 2-5 units per lot or per week |
| Stress profile | Subset of HALT/DVT stress levels |
| Duration | 48-168 hours per sample |
| Functional checks | Before, during (at intervals), and after stress |
| Acceptance criteria | Zero failures, measurements within DVT baseline |
Prerequisites
- Python 3.10+
- OpenHTF installed (
pip install openhtf) - TofuPilot Python SDK installed (
pip install tofupilot)
Step 1: Define ORT Functional Checks
ORT functional checks run before stress, at intervals during stress, and after stress. They should match the measurements used in your DVT baseline.
import openhtf as htf
from openhtf.util import units
@htf.measures(
htf.Measurement("output_voltage_V")
.in_range(
minimum=4.85, maximum=5.15,
marginal_minimum=4.9, marginal_maximum=5.1,
)
.with_units(units.VOLT),
htf.Measurement("quiescent_current_uA")
.in_range(maximum=50)
.with_units(units.MICROAMPERE),
)
def phase_electrical(test):
"""Core electrical parameters for ORT baseline comparison."""
test.measurements.output_voltage_V = 5.01
test.measurements.quiescent_current_uA = 12.4
@htf.measures(
htf.Measurement("boot_time_ms")
.in_range(maximum=1500)
.with_units(units.MILLISECOND),
htf.Measurement("memory_check").equals("PASS"),
)
def phase_functional(test):
"""Functional checks to detect degradation after stress."""
test.measurements.boot_time_ms = 980
test.measurements.memory_check = "PASS"Step 2: Log Each Check to TofuPilot
Run the ORT check script at each interval. Each execution creates a new run linked to the unit's serial number.
from tofupilot.openhtf import TofuPilot
test = htf.Test(
phase_electrical,
phase_functional,
)
with TofuPilot(test):
test.execute(test_start=lambda: input("Scan ORT sample serial: "))Step 3: Monitor ORT Trends in TofuPilot
TofuPilot tracks ORT results alongside production test data. Open the Analytics tab to see:
- Measurement trends per ORT sample over time
- Baseline comparison between ORT results and DVT data
- Marginal results flagged before they become failures
- Control charts showing process stability across production lots
When an ORT sample shows measurements drifting toward limits, investigate before the next production lot ships. The earlier you catch process drift, the smaller the containment scope.
ORT vs Other Reliability Methods
| Method | When | Units | Goal |
|---|---|---|---|
| HALT | Design (EVT/DVT) | 5-15 prototypes | Find design limits |
| ALT | Pre-production (DVT) | 20-50 units | Predict field life |
| HASS | Production | Every unit | Screen latent defects |
| ORT | Production (ongoing) | 2-5 per lot | Monitor reliability drift |
| Burn-in | Production | Every unit or sample | Screen infant mortality |
ORT is the ongoing check that validates your HALT margins and HASS screens are still working. If ORT starts failing, your HASS profile may need updating, or your process needs investigation.