Multi-Target Embedded Testing

When you need to flash and test more than one board at a time — what the options are, what they actually cost, and the gap between programming and real testing.

Compare Debug Probes

The three approaches

When production volumes or test workloads grow beyond a single probe, there are three established approaches — each with clear tradeoffs.

Gang programmers

What they do: Flash identical firmware to multiple targets simultaneously. The SEGGER Flasher series, PEmicro Cyclone, and dedicated gang programmers from Phyton, BP Microsystems, and others.

What they don't do: Debug, functional test, logic capture, UART monitoring, power measurement. They program flash memory and verify it. That's it.

Cost: SEGGER Flasher ARM (~€5,000), supporting 4-24 targets. PEmicro Cyclone FX (~$3,000-6,000). Purpose-built for high-throughput flash programming.

Best for: High-volume production lines where flashing is the only operation needed per board, and a separate test station handles functional testing.

Flash only

J-Link farms (multiple discrete probes)

What they do: N individual J-Link probes connected via USB to a host PC (usually through a USB hub). Each probe is independent. Each can debug, flash, and test one target.

What they don't do: They don't include logic analysis, UART capture, power measurement, or any test instrumentation beyond SWD access. No co-ordination between probes out of the box — you write your own orchestration.

Cost: 7× J-Link BASE = ~€2,800. 7× J-Link PLUS = ~€5,600. Plus a USB hub, cabling, and custom host software for parallel orchestration.

Best for: Teams that already own J-Links and need to scale up. Labs where SWD access alone is sufficient for the test procedure.

N × probes

Integrated test probe (the gap)

The concept: A single unit with multiple independent channels, each providing SWD debug + logic analyser + UART capture + power measurement + GPIO stimulus. Not just a programmer — a per-target test instrument.

Why it doesn't exist yet: Gang programmers solved the flash-only problem. J-Link farms solved the debug problem. But combining flash + functional test + signal capture + power monitoring into one multi-channel product is a gap in the market. Individual tools exist for each function — but not integrated per-channel across multiple targets.

What it would enable: Flash firmware, run a functional test (toggle GPIOs, read ADCs over SWD, verify I2C peripherals), capture a logic trace to verify protocol timing, measure current draw in sleep mode, log UART output — all in parallel across every target. One host connection, one tool, one test script.

Flash + Test

Who actually runs multi-probe setups?

Production / end-of-line test

Contract manufacturers and OEM production floors. Every board that comes off the SMT line needs to be programmed and verified before shipping. Volumes: 100-10,000+ units per day. The test fixture has pogo pins or a bed-of-nails that contact the DUT's test pads. The operator places the board, presses a button, waits for pass/fail, removes the board.

Hardware CI/CD labs

Firmware teams that test on real hardware, not simulators. Every commit triggers a build, the firmware is flashed to a bank of real target boards, an automated test suite runs, and results feed back to the CI pipeline (GitHub Actions, Jenkins, GitLab CI). These labs run 24/7 with no operator. A crash, hang, or regression is caught before merge.

Variant management

Same PCB, different firmware per product SKU. A test fixture with 7 slots programs each board with the correct image based on configuration, then runs a variant-specific test sequence. Common in consumer electronics where one hardware platform serves multiple product models.

R&D / validation labs

Running the same test across multiple board revisions, temperature conditions, or power supply configurations. Each channel tests one variation simultaneously. Results are compared in a single report.

Comparison: gang programmer vs probe farm vs integrated test

What you get from each approach.

Capability Gang Programmer J-Link Farm (7×) Integrated Test Probe
Flash programming
Debug (breakpoints)
Logic analyser per target
UART capture per target VCOM (1 per probe) 3× per target
Current measurement
DUT power control
Digital stimulus/verify
Pass/fail per target Basic
Python scripting
CI/CD integration Limited Via GDB Native
Single host connection
7-target cost €5,000+ €2,800-5,600 TBD

The real problem: flash is solved, test is not

Gang programming is a solved problem. SEGGER, PEmicro, and others have been doing it reliably for 20 years. If all you need is to put firmware on chips, buy a Flasher ARM and be done.

The unsolved problem is flash + test + verify + log in one step, per channel, at scale. Today, production teams typically have:

Each station is a separate fixture, separate software, separate data log. The board moves physically between stations. Traceability requires a database linking serial numbers across stations. Failure at station 3 means the board was already programmed and functionally tested — wasted work at stations 1 and 2.

Integrating all test functions into a single per-channel probe collapses these into one step: flash, test, verify, log, pass/fail — one fixture, one script, one data record per board.

What an integrated test channel needs

To replace the multi-station approach, each channel needs:

Function Why
SWD debug probeFlash, debug, read/write memory — the core function
Logic analyser (2-8 channels)Verify protocol timing (SPI, I2C, UART), catch signal integrity issues
UART capture (multiple)Log debug output, inject test commands, bridge between DUT buses
Power control (relay/switch)Power-cycle the DUT for boot tests, hang recovery, sleep/wake testing
Current measurement (shunt + ADC)Catch solder shorts, verify sleep current, validate power modes
GPIO stimulus/verifyDrive test fixture signals, read pass/fail indicators, toggle relays
Per-channel status displayOperator sees pass/fail at a glance without checking the host PC

All of this from a single MCU per channel (a modern Cortex-M4 at 200+ MHz has more than enough performance and peripherals), connected to the host via USB High Speed.

We're building exactly this

A 7-channel SWD test probe with all of the above — per channel. USB High Speed. Python-scriptable. Designed for production test and hardware CI/CD. Register for early access.

Register for Early Access What is SWD?