Skip to content
174 STEP TYPES · NO CODE NEEDED

ECU test automation, step by step

Build a test as a table of steps: switch power, send a frame, wait for an answer, check a value against limits, read DTCs. No scripting language to learn, and every test is a readable file you can review and keep in Git.

TC-021 · Under-voltage warning · REQ-PWR-07
1psu_voltage 13.5 V · relay KL15 ONstimulus
2wait_until ECU.State == RUN≤ 500 ms
3ramp PSU.Voltage → 9.0 V in 2 sstimulus
4check LowVoltageWarning == 1limit
5check_dtc expected U3003diag
✓ No problems · 5 steps · ready to run

In short: Ecuhawk has a test table editor with a library of 174 step types in 17 groups, a properties panel, live problem checking and a YAML view. Tests have setup, main and cleanup sections, are saved as plain .test.yaml files and run by the Ecuhawk engine on a real or simulated bench, with a PASS or FAIL verdict and a report for every run. You can also draft tests with AI or add Python.

Screenshot: the test table editor with steps, project explorer and the step library
Real Ecuhawk app on a simulated bench

How a test is built

  1. Pick steps from the library. Drag them into the table, or type to search.
  2. Fill in the details. Signals, messages, relays and diagnostic services come from your DBC, ARXML, ODX or CDD files, so names are picked, not typed.
  3. Fix problems as you go. The problems panel flags unknown signals, missing limits and wrong values before you run. The engine checks the same rules again at run start.
  4. Run. Run one test, a selection or the whole project, on the bench or in simulation.
  5. Read the result. Each step is shown live with its measured value, and the run ends with a verdict and a report.

The step library

GroupExamples
StimulusWrite a signal, ramp, pulse, waveform, send cyclic frames, set supply voltage and current limit, switch relays, power cycle
WaitsWait a time, wait until a condition, wait for a message, an event or the operator
ChecksValue, within limits, stable for a time, bits, text, cycle time, counters, edges, expression, statistics
DiagnosticsSession, read and write DIDs, read, check and clear DTCs, routines, ECU reset, tester present, raw request
Bus and faultsStop a message, change its cycle or length, corrupt CRC, freeze counters, error frames, replay
FlowIf, loops, repeat until, try, parallel, data-driven cases and sweeps
OperatorMessages, confirmations, ask for a value, scan a serial number, show an image
SafetyRequire an interlock, go to safe state, react to emergency stop
Report and loggingMeasured values, tables, plots, images, recording start and stop, markers, verdict

The runner already handles the core steps for stimulus, waits, checks, bus faults, UDS diagnostics and reporting. The remaining step types are being added during the beta.

Requirements and traceability

Each test can carry the ID of the requirement it covers. The ID appears in the test list, in the live results and in the report, so you can show which requirement passed or failed.

Built for safety on a real bench

Three ways to create tests

Questions

Do I need to know programming to automate ECU tests in Ecuhawk?

No. Tests are built in a table from ready-made steps such as set voltage, wait for a message, check a signal and read DTCs. Python is available but optional.

How are Ecuhawk tests stored?

As plain YAML files (.test.yaml) in the project folder, so they can be reviewed, compared and kept in Git.

Can I link tests to requirements?

Yes. Each test can carry a requirement ID that is shown in the results and the report.

Can tests run without hardware?

Yes. Tests can run against a simulated bench and ECU, which is useful for checking a test before using it on real hardware.

Is it like vTESTstudio or ECU-TEST?

The idea is similar: tests are built from steps rather than written as code. Ecuhawk adds bench control, operator mode, AI drafting and Linux support in the same app.

Join the private beta.

Tell us how you test today. It takes about a minute. Beta members get early access, a vote on the roadmap and a direct line to our engineers.

Become a design partner

Run Ecuhawk on your own bench before launch and shape it with us. We are taking five teams.

Prefer email? hello@ecuhawk.com

Which features matter most? Pick up to three.