OpenHWTestFixture

A KiCad-native, parametric hardware + software system that automatically generates production-ready bed-of-nails test fixtures from PCB design data.

The problem

Today's bed-of-nails fixture workflow is a manual, time-consuming process: interpreting PCB test points by hand, custom CAD per board revision, one-off CNC tooling, hand-wired pogo pin boards, and ad hoc test scripts.

  • High engineering time per fixture — days to weeks
  • No reuse between products or revisions
  • No standard pogo pin or alignment ecosystem
  • Tight coupling between mechanical, electrical, and test logic
  • Hard to version control or regenerate fixtures
  • Expensive iteration loop for early production builds

The opportunity

There is a missing layer between KiCad PCB design and manufacturing test fixture — a layer that behaves like "Prusa Slicer for electronics test fixtures" or "OpenSCAD for pogo-pin bed systems." This enables rapid fixture generation from PCB files, standardized reusable primitives, automated test point mapping, and turnkey production test stations for low and medium volume hardware.

Product vision

A unified system that converts a PCB into:

Mechanical fixture CAD

  • 3D printable alignment frame
  • CNC plate designs (top + bottom)
  • Pogo pin hole layout
  • Compression mechanism geometry
  • Optional vacuum or lever press system

Electrical test interface

  • Pogo pin to net mapping
  • Harness wiring diagram
  • Connector breakout board (optional PCB)
  • Continuity validation plan

Test software scaffold

  • OpenHTF test plan auto-generated
  • Pin map abstraction layer
  • Instrument drivers template
  • Calibration hooks

Manufacturing package

  • BOM (pogo pins, springs, hardware)
  • Assembly instructions
  • Stack-up tolerances
  • Revision tracking tied to PCB git commit

System architecture

            ┌──────────────────────┐
            │   KiCad PCB Project   │
            └─────────┬────────────┘
                      │
          (netlist + test points + 3D PCB)
                      │
                      ▼
     ┌────────────────────────────────────┐
     │   Fixture Generation Engine        │
     │   (Python + parametric core)       │
     └────────────────────────────────────┘
        │             │              │
        ▼             ▼              ▼
 Mechanical      Electrical      Test Software
   CAD             Mapping         Scaffold
 (OpenSCAD/      (net→pin        (OpenHTF /
  FreeCAD)        assignment)      pytest layer)
        │             │              │
        └──────┬──────┴──────┬──────┘
               ▼             ▼
        Manufacturing Package Output
   (CNC files / STL / BOM / wiring / docs)

Core modules

KiCad integration layer

Reads PCB netlist, footprint coordinates, test point markers, board outline and keepouts, and optional 3D step model. Outputs a structured JSON intermediate representation of the board geometry and test points.

Fixture layout engine

The core innovation. Solves pogo pin placement optimization with mechanical clearance enforcement, minimum spacing rules, pin height and spring force assignment, and alignment pin geometry generation. Uses constraint solving and KD-tree spatial validation.

Mechanical CAD generator

Generates top and bottom plates, guide rails, alignment pins, compression mechanism interface, and modular frame. Export to STEP, STL, and DXF (CNC-ready). Built on OpenSCAD or FreeCAD Python API.

Electrical routing and harness generator

Maps pogo pins to netlist, assigns connector pinouts, generates wiring harness diagrams and a labeled wiring spreadsheet. Optional breakout PCB generation in KiCad.

Test software layer (OpenHTF-based)

Auto-generates a test plan scaffold with per-net measurement hooks, instrument abstraction layer, and logging. Each fixture revision is tied to a specific PCB git commit hash and BOM revision.

Hardware ecosystem

To succeed, the system defines a standardization layer:

Standard pogo modules

  • Spring force classes (low / med / high)
  • Standardized diameter footprints (0.5 / 0.7 / 1.0 mm)
  • Keyed mounting geometry

Alignment system

  • Universal 2–4 pin alignment standard
  • Chamfered guide pins
  • Repeatable board insertion tolerance system

Fixture frame standard

  • Aluminum extrusion base
  • Modular plate sizes
  • Screw / cam / lever compression standard

Differentiation

This is not just a CAD tool, a test framework, or a fixture guide. It is a compiler from PCB to manufacturing test hardware — closing the gap between design and production test.

Why now

This is viable because of the mature KiCad ecosystem, cheap CNC and 3D printing, open test frameworks like OpenHTF, widespread Python hardware tooling, and the increasing volume of low and medium volume hardware production — wearables, IoT, and robotics.

MVP scope

  • KiCad netlist to pogo pin placement
  • OpenSCAD fixture generation (top plate only)
  • CSV harness output
  • Basic OpenHTF test skeleton

Excluded initially: force modeling, vacuum fixtures, fully automated connector PCB generation.

Strategic upside

If successful, this becomes CI/CD for hardware manufacturing test — a standard layer in hardware production pipelines and an ecosystem play spanning KiCad plugins and hardware marketplace.

Get involved

Interested in contributing or using OpenHWTestFixture? We'd love to hear from you.

Contact us