Documentation

Sketch / skeleton. Fill the sections below with real content as features stabilise; each section has a stable anchor so the navigation in the sidebar (and external links) won't drift.

Getting started

  1. Install Test0
  2. First launch — pick an EDIABAS implementation
  3. Detect a connected ECU
  4. Start your first log

Install Test0

Grab the installer from Downloads and run it. The default install location is C:\Program Files\Test0 (machine-wide) or %LOCALAPPDATA%\Programs\Test0 (per-user).

If you also want the bundled ECU file collection, install Test0 ECU files bundle afterwards — it auto-targets <Test0>\Ecu.

First launch — EDIABAS implementation

Test0 ships with EdiabasLib as the default and works out of the box. If you have BMW INPA / Tool32 / ISTA installed, you can switch to BMW EDIABAS in Settings → EDIABAS.

Full details, including the Currently loaded verification panel and troubleshooting tips, are in the EDIABAS implementation guide.

Connect your adapter (COM port)

Plug in your OBD interface (K+DCAN, ENET, or a USB-to-serial cable) before launching Test0. On first run, Test0 scans the available serial ports and auto-selects the one that most looks like a real adapter, writing it into both its own settings and the EDIABAS config — so in the common case it just works with no manual setup.

If auto-detection picks the wrong port (or you later move the adapter to a different USB socket and it gets a new COM number), open Settings → EDIABAS and use Configure port… to list every serial port and pick the right one. The dialog also shows a note when it has auto-changed the port for you.

Detect a connected ECU

File → Detect ECU opens the detection dialog. Pick your interface (the dialog reads ediabas.ini / EdiabasLib.config for available interfaces), hit Detect, and Test0 lists every ECU that responded.

Start your first log

From an ECU window:

  1. Pick a job from the list (e.g. STATUS_LESEN).
  2. Drag interesting result variables into the plot area.
  3. Hit the record button — Test0 polls the job at your chosen rate and appends rows to a CSV in <Desktop>\Test0_Logs (change the folder under Settings → Logging).

Setting up the AI chat panel

Test0 ships no API key — you bring your own. The chat panel works with any OpenAI-compatible provider (Claude, OpenAI, Groq, DeepSeek, Kimi, …) or a fully local Ollama install.

  1. Open the AI chat panel and pick a provider from the Provider dropdown.
  2. Paste your API key. It's saved to testo.ini under [ai] <provider>ApiKey — not in any config file that ships with the app.
  3. For local Ollama, no key is needed — point the provider at your local endpoint (default http://localhost:11434).

To add a provider that isn't in the list, edit config/ai_providers.json (each block becomes a Provider choice), restart Test0, then pick it and paste your key.

Where Test0 keeps things

WhatWhere
CSV data logs <Desktop>\Test0_Logs (configurable in Settings → Logging)
Settings testo.ini, next to testo.exe
Application log (for bug reports) testo.log, next to testo.exe
ECU description files <Test0>\Ecu
Bundled EdiabasLib runtime <Test0>\ediabaslib
BMW EDIABAS config (if using BMW's install) C:\EDIABAS\Bin\ediabas.ini / obd.ini

Reference

TopicWhere
EDIABAS implementation choice + troubleshooting EDIABAS guide
MCP server overview (Model Context Protocol) MCP overview
MCP client setup MCP client setup

See all generated docs →

Troubleshooting

ECU dropdown is empty
Most often: wrong EDIABAS implementation, or wrong ECU folder. See the EDIABAS troubleshooting section.
"COM port in use by another program"
Close any other diagnostic software holding the port (INPA, Tool32, a serial terminal, ISTA). Only one program can own a serial port at a time.
Worked before, now can't connect after re-plugging the adapter
USB-to-serial adapters can get a new COM number when moved to a different socket. Test0 re-detects automatically on most launches; if not, set it manually in Settings → EDIABAS → Configure port….
App won't start / missing Qt6 DLL
The installer should bundle every Qt dependency. If you're running a manual build, run windeployqt testo.exe in the build directory.
BMW EDIABAS loads but jobs time out
Usually a missing helper (api64.exe, ebas32.dll) in C:\EDIABAS\Bin. Reinstall BMW's tools to restore them.
Reporting a bug
Grab testo.log from next to testo.exe and attach it — it records ECU detection, port scanning, and EDIABAS activity, which is usually enough to pin down the problem.