Hire Me!

ECUmulator Studio

Virtual ECU emulation for automotive diagnostics development

Emulate full vehicle buses with realistic UDS, KWP2000, and OBD-II responses. Build specs from real captures. Connect via CAN, DoIP, HSFZ, or ELM327. Cross-platform. No subscription.

ECUmulator Studio main window

3
Platforms
6
Service Adapters
3
Diagnostic Protocols
2
Editions

Why ECUmulator
Your vehicle lab — without the vehicle.

Testing diagnostic tools against real cars is slow, expensive, and often impossible during early development. ECUmulator gives you a full virtual vehicle bus that responds like the real thing — UDS, KWP2000, OBD-II, security access, DTCs, memory transfers, and more. Define your ECUs in JSON, hit run, and connect your tooling.

Multi-ECU Emulation

Run an entire vehicle bus with multiple ECUs, each with its own arbitration IDs, services, DIDs, DTCs, and security levels.

JSON Spec Format

Define vehicles and ECUs in human-readable JSON. Version-control your test fixtures. Share specs across teams.

6 Service Adapters

Expose your virtual bus via CAN (SocketCAN / gs_usb), ECUconnect TCP, HSFZ, DoIP, ELM327/STN, or ENET Service Broker.

Spec Import

Generate vehicle specs from real CAN captures — candump, CL1000, ECUconnect, or PCAPNG files go in, ready-to-run specs come out.

Real Hardware Bridge

Attach to a physical CAN interface and bridge virtual ECUs onto a real bus. Test your tools end-to-end with actual adapters.

CAN FD + ISO-TP/FD

Full CAN FD support with configurable transport profiles. Switch between classic ISO-TP and ISO-TP/FD per vehicle.


Studio Edition
Point. Click. Emulate.

ECUmulator Studio wraps the full emulation engine in a desktop GUI built with Tauri. Configure vehicles visually, toggle services with a click, and watch the bus come alive.

Vehicle and ECU spec editor

Visual Spec Editor

Create and edit vehicle specs without touching JSON. The form-based editor covers every aspect of ECU configuration — from arbitration IDs to individual DID values.

  • Vehicle-level bus settings (bitrate, transport profile, timing)
  • Per-ECU UDS, KWP2000, and OBD-II configuration
  • DID editor with hex value input
  • DTC editor with status masks
  • Security access seed/key pair management
  • Custom service definitions with pattern matching
Bus topology view

Bus Topology View

Toggle between the form editor and a visual bus topology that shows how your ECUs, services, and transport layers interconnect — at a glance.

  • Visual overview of all ECUs on the bus
  • Service adapter connections and status
  • Transport layer indicators (ISO-TP, ISO-TP/FD, SAE TP2.0)
  • Toggle with Cmd/Ctrl+T
Service dashboard

Service Dashboard

Enable and configure service adapters from a single panel. Each adapter runs independently and can be toggled without restarting the emulation.

  • ECUconnect TCP adapter with firmware update simulation
  • HSFZ (BMW) with UDP discovery
  • DoIP (ISO 13400) with routing activation
  • ELM327/STN2xxx with full AT/ST command set
  • CAN Logger with Zeroconf advertisement
  • ENET Service Broker integration

CLI Edition
Headless. Scriptable. CI-ready.

Everything Studio can do, epy can do from the terminal. Perfect for automated test pipelines, CI/CD environments, or anyone who prefers the command line.

epy CLI in action

The epy Command

One command to run a full vehicle emulation. Combine with service flags to expose exactly the interfaces your tooling needs.

  • epy server ecu:spec.json — run a vehicle
  • epy server --doip --hsfz — enable Ethernet adapters
  • epy server -a can0@500000 — bridge to real CAN
  • epy import capture.log -o specs/ — generate specs from logs
  • epy client --doip / --hsfz — REPL clients
  • Install via Homebrew, pipx, or pip

ISO-TP Flow Control Testing

Inject realistic FC stalls, WAIT frames, and OVERFLOW conditions with configurable probability. Validate your tester’s error handling.

Bus Timing Simulation

Slow down virtual bus responses with --bus-timing-factor to simulate real CAN latencies during development.

Firewall ECU Emulation

Simulate gateway ECUs that lock and unlock other ECUs on the bus. Test your security access workflows realistically.

Hot Reload

Edit ECU spec files while the server is running. Changes are picked up automatically — no restart needed.


Protocol Coverage
Three protocols. Dozens of services.

ECUmulator implements real diagnostic service logic, not just echo responses. Security access, memory transfers, DTC management, and routine control all behave as specified.

UDS (ISO 14229)

20+ services including DiagnosticSessionControl, SecurityAccess, ReadDID, WriteDID, RoutineControl, RequestDownload/Upload, TransferData, and custom service overrides.

KWP2000 (ISO 14230)

Full legacy protocol support — StartDiagnosticSession, ReadECUIdentification, SecurityAccess, ReadMemoryByAddress, and communication control services.

OBD-II (SAE J1979)

All 11 standard modes with PID support bitmaps, configurable sensor values, freeze frame data, and DTC management.


Spec import from capture logs

Import Specs from Real Captures

Don’t write specs from scratch. Point ECUmulator at a CAN capture and let it extract the vehicle topology, ECU addresses, and observed diagnostic responses.

  • candump log files
  • CSS CL1000 format
  • ECUconnect binary logs
  • PCAPNG (including DoIP / HSFZ encapsulation)
  • Outputs ready-to-run .vehicle + ECU JSON specs

Connectivity
Every interface your tools expect

Whether your diagnostic tool speaks CAN, Ethernet, or serial AT commands — ECUmulator has an adapter for it.

CAN Bus

Direct CAN interface via SocketCAN or gs_usb adapters.

SocketCAN (Linux)
gs_usb (macOS)
TouCAN (macOS)
CAN FD + ISO-TP/FD

Automotive Ethernet

TCP/UDP adapters for Ethernet-based diagnostics with automatic discovery.

DoIP (ISO 13400)
HSFZ (BMW)
ECUconnect TCP
ENET Service Broker

Serial / Legacy

ELM327/STN2xxx emulation for tools that speak AT commands.

Full AT/ST command set
CAN + ISO-TP transport
SAE TP2.0 channels
Zeroconf CAN Logger

Positioning
Where ECUmulator fits

A representative overview of how different ECU simulation approaches typically compare.

Capability ECUmulator Enterprise HIL OEM Bench Tools DIY / Scripts
Multi-ECU emulation Yes Limited Manual
UDS / KWP / OBD-II All three Varies Partial
DoIP / HSFZ adapters Built-in Vendor-specific Uncommon
ELM327 emulation Full AT/ST Uncommon Uncommon Basic
Spec from real captures 4 formats Proprietary Manual Manual
CAN FD Yes Varies Varies
GUI editor Studio None
CI/CD integration CLI + headless Complex setup Uncommon
Cross-platform macOS, Win, Linux Windows typical Windows typical
Typical price From €149 one-time Tens of thousands Thousands Free (your time)

Try ECUmulator Studio free for 10 days

Full functionality · No registration required
CLI Edition
€149
one-time purchase · no subscription
Full emulation engine, all service adapters, spec import, CAN bridge. Install via Homebrew or pip. Headless and CI-ready.

The final amount is shown in Lemon Squeezy checkout before payment, including applicable tax. Review the Terms of Sale, the App Privacy Policy, and the Legal Notice before purchase.


Getting Started
Up and running in 60 seconds

CLI (all platforms)

Homebrew: brew tap mickeyl/formulae && brew install ecumulator-py
pipx: pipx install ecumulator-py
pip: pip install ecumulator-py

Studio — macOS

Download the DMG, drag ECUmulator Studio to Applications. On first launch, right-click and select “Open” to bypass Gatekeeper. Python runtime is set up automatically.

Studio — Windows

Run the installer. Python runtime is bundled. Both 32-bit and 64-bit systems supported.

Linux: AppImage, .deb (with offline Python runtime bundle), and .rpm packages available — see the Legal Notice for contact details.


Questions, feature requests, or bug reports? See the Legal Notice for contact details.