Skip to content

Project setup ​

A project describes the ECUs of one vehicle. Start it by hand or let the CAN scanner fill it in.

Create a project ​

  1. File → New project (Ctrl+N).
  2. Enter a project name. The application creates a folder inside the workspace projects/ directory.
  3. Save with Ctrl+S.

The title bar shows Black Magic - [Workspace : Project]. A dot next to an ECU status icon means unsaved changes. Closing with unsaved changes asks Yes / No / Cancel.

Add ECUs ​

From the scanner ​

  1. Open Tools → CAN Scanner.
  2. Select the adapter, bit rate and 11/29-bit mode.
  3. Use Broadcast for a functional request or Scan for an ID range; Stop ends the run.
  4. Add the found ECU pairs to the project.

By hand ​

Create an ECU in the project and fill in:

  • unit name and caption (for example ENG / Engine control);
  • transmit and receive CAN IDs, or the DoIP address;
  • transport type;
  • auth levels and the Seed2Key DLL, if the ECU needs security access;
  • parameters, routines and IO controls.

Each ECU is stored as a separate .bmecu file, so it can be copied into another project.

ECU list with several demo ECUs

Project properties ​

View → Project Properties holds:

  • Title — project name;
  • Local DTC File — .json or .txt descriptions;
  • Auth Library — project auth DLL;
  • Features — project feature flags (for example vehicle modules);
  • Cover Image — PNG/JPG/BMP cover;
  • Notes — opens notes.md.

A missing file is highlighted in red. Project Notes supports Save and Reload; notes.md is limited to 64 KiB and is stored next to the project, not inside .bmprj.

Project properties dialog

Undo and table behaviour ​

  • Edit → Undo (Ctrl+Z) and Redo (Ctrl+Y). The depth is a setting (default 20, range 0–100); history is not saved between launches and is blocked while an ECU task runs.
  • In ECU List, a single click selects, a double click opens the ECU and reads its parameters, and a right click opens the context menu.
  • Right-click the Unit column header for Fill from. Columns can be sorted, reordered, hidden and resized.
  • If no ECU is selected, ECU Edit shows No ECU selected.

Before the first read ​

  • Check that every ECU has the correct request and response IDs.
  • Select the transport per ECU.
  • Open the ECU once and refresh identification parameters; this proves the addressing before you build a large parameter table.

Free core. Local workspace. No cloud.