CruciHiL
CruciHiL is a Hardware-in-the-Loop (HiL) testing platform that catches firmware regressions before they reach the field. Write tests in Python, run them against virtual simulation before hardware exists, then run identical tests against real hardware with zero code changes.Quickstart
Run your first test in under five minutes — no hardware required.
crucihil analyze
Extract the signal interface contract of any C/C++ firmware component.
Rig Configuration
Configure CAN, Ethernet, power, GPIO, and ECU connections in TOML.
MCP Tools
Connect Claude, Copilot, or Cursor directly to your test infrastructure.
What CruciHiL solves
Firmware teams waste enormous time on two problems:- Test authoring friction — figuring out which signals a component actually reads and writes takes days of reading code, tracing RTE wrappers, and asking around.
- Hardware dependency — tests can’t run until hardware is built, so regressions are found late and fixes are expensive.
crucihil analyze command uses static analysis and AI to extract the signal interface contract of any C/C++ component in minutes. The virtual backend lets tests run in CI with no hardware at all, using the same test code that will later run against a real ECU.
Architecture
CruciHiL is organized in six layers. Every component maps to exactly one layer.rig.can.send(...) and rig.can.expect(...) — not “socketcan” or “can0”. When you swap from a virtual backend to a PEAK CAN adapter, only the TOML changes. The test file is identical.
Key value props
Virtual-first
Every test runs against an in-process virtual backend before any hardware exists. CI works on day one.
Zero test changes
Switch from virtual to real hardware by changing one line in a TOML file. Test code is hardware-agnostic by design.
AI signal mapping
crucihil analyze maps AUTOSAR RTE and COM module identifiers to DBC signal names using AI — no more manual tracing.Python-native
Tests are async Python functions. No proprietary scripting language. Use your existing editor, linter, and CI toolchain.
MCP-connected
Claude, Copilot, and Cursor can query rigs, run tests, and explain failures through the built-in MCP server.
Open core
Self-hosted free up to two rigs. No vendor lock-in. Bring your own AI key.
Stack
| Component | Technology |
|---|---|
| Test runner | Python 3.10+, asyncio |
| Control plane | FastAPI + PostgreSQL |
| Web dashboard | React 18 + TypeScript |
| AI interface | FastMCP (MCP server) |
| Config | TOML + Pydantic validation |
| CAN | python-can, cantools |
Next steps
Install CruciHiL
pip install crucihil or pip install 'crucihil[analyze]'Run your first test
Five steps from install to passing test.