Beta Release v0.1.0

Advanced CAN Analysis &
Test Automation Workbench

An intuitive, high-performance workbench combining multi-hardware abstraction, in-memory DBC editing, automation scripting, a flowchart-based standalone GUI App Builder, and native AI integration for engineers worldwide.

AiCAN Smart Logo

Core Architecture & Features

Powerful engineering toolset designed for efficiency and flexibility

🔌

Multi-OS & HW Abstraction

Integrate PCAN, Vector, Kvaser, SocketCAN, and SLCAN adapters via custom C-API dynamic binding. Analyze multi-channel CAN buses concurrently across macOS, Windows, and Linux environments.

macOS PCAN, SLCAN, Simulator
Windows Vector, PCAN, Kvaser, SLCAN, Simulator
Linux SocketCAN, PCAN, Kvaser, SLCAN, Simulator

AI Analysis & LLM Integration

Perform smart diagnostics and log analysis using native AI integration. Connect frontier APIs (ChatGPT, Claude, Gemini) or local models (Ollama, Llama) to automate command execution safely.

📤

Standalone GUI App Creator

Design custom panels by dragging widgets (gauges, buttons, lights). Bind interactive logic using flowchart-based visual diagrams and export them as independent programs (.aicapp).

🌲

DBC Search & In-Memory Editor

Quickly search and verify loaded DBC messages and signals. Edit parameters, scales, and endianness in-memory, then validate and export directly back to physical .dbc files.

🔧

Event-Driven Script DSL

Write automation scenarios with direct events like 'on message', 'on signal', and 'on timer'. Powerful, lightweight scripting engine built specifically for automated diagnostic testing.

📈

ΔT Diagnostic & High-Perf Graph

Calculate delta-times alongside high-performance signal plotting. Supports three graph rendering modes (Shared, Overlay, Stacked) to analyze bus loads and instantly visualize frame drops.

Multi-Workspace & Docking Layout

Organize your work with a flexible tab-docking layout and split panels

AiCAN - Advanced CAN Analyzer
📂 💾
📜 🌲 📈 🔧 📤 🖥
🔌 Setup ▶ Start ⏹ Stop
Total: 2362590, Err: 0 🔑 Active
Signal Tree (1)
Logged +
Msg Name Ch Id Min Max
[+] CONTROL_UNITV7B
[+] POWER_TRAINV95
[+] BATTERY_PACKV110
[+] THERMAL_SYSV11A
[+] SENSOR_NODE_AV703
[+] DASHBOARD_INFOV100
[+] VEHICLE_STATUSV11C
[+] FUEL_SYSTEMV208
[+] COOLING_SYSTEMV207
[+] System_SensorV204
[+] Temp_SensorV206
[+] Volt_Current_NetV205
Log Monitor (1)
ΔT 🔍
Time Ch Dir Id Size Data
0.000000sVRx423800 94 00 00 00 00 00 00
0.000234sVRx510801 03 00 00 00 00 00 00
0.000469sVRx7B800 00 41 00 00 00 00 00
0.002617sVRx224812 10 0C 10 0F 10 0E 10
0.004023sVRx419803 D3 01 00 00 00 00 00
0.004258sVRx418803 D2 00 00 00 00 00 00
0.004492sVRx41B813 D6 FF FF 00 00 00 00
0.004726sVRx540822 5F 06 00 1F 06 00 28
0.005469sVRx41A813 D6 00 00 00 00 0F 00
AI Assistant (1)

Welcome to AiCAN Assistant

Ask naturally about loaded CAN logs, DBC databases, signal behavior, or run local commands.

@log.ids limit=30 List active IDs by channel
@log.frames id=0x100 limit=50 Inspect frames for one ID
@dbc.coverage limit=30 Check DBC matching coverage
🔑 Enter pw to unlock AI:
Signal Graph (1) Console (1)
Sig Ch Id Val Min Max
System_Sensor::Alive_Counter V 540 - 0.000 255.000
System_Sensor::Voltage_Val V 204 - -57.000 0.700
<< Shared Overlay Stacked Fit ΔT
CSV
0 40 80 120 Time [s]

Automation & Visual Design

Choose between lightweight scripting DSL or visual block builder

Lightweight CAN Scripting

AiCAN features a custom, event-driven domain-specific language (DSL) for quick test automation without setting up complex runtimes.

  • on message 0xID : Trigger on CAN frame reception
  • on signal Msg.Sig : Trigger on DBC signal updates
  • on timer <ms> : Trigger periodic execution tasks
engine_test.aics
// 100ms periodic timer event
on timer 100 {
    let speed = get_signal("EngineState", "EngineSpeed");
    if speed > 3000.0 {
        log("warning: Over-speed detected!");
        set_signal("Dashboard", "WarningLed", 1);
    }
}

// Receive message 0x201 event
on message 0x201 {
    // Send a response CAN message
    send_message("ResponseMsg", [0x01, 0xFF, 0x00, 0x00]);
}

Visual Logic & Flow Editor

Build full-fledged test panels by dragging widgets onto the canvas and linking inputs/outputs with logical connectors.

  • App Layout : Drag gauges, buttons, and status lights to design custom GUI panels
  • Logic Flow : Draw flowchart connections to visually define interactive logic
  • Standalone App : Compile and export as an independent executable program (.aicapp)
App Builder [ Engine_Monitor ]
3 widgets · 4 blocks
▶ Run 💾 Save Package
Toolbox
App Widgets
Button
Gauge
Status Light
Logic Blocks
Startup
Condition
CAN Tx
App Layout Logic Flow
Layout Canvas
2350 RPM
Start Engine Normal
Inspector
SelectedGauge_1
SignalEngine_Speed
Min / Max0 / 6000