This repository contains a bench-only ECU CAN simulator used during development of the AXION Action microCANgauge.
- Experimental / not cleaned: this code is a development tool. Expect rough edges.
- Not the main product: the primary deliverable is the Action microCANgauge firmware (separate repo).
- Bench usage only: intended for testing UI, decoding, scaling, and CAN frame flows without requiring a real ECU.
If you're here to review the main project quality, start with:
- AXION Action microCANgauge firmware repo (cleaner, product-focused)
- Generates synthetic MegaSquirt Simplified Dash Broadcast CAN frames (bench data).
- Provides a small web UI to start/stop scenarios and adjust values.
- Supports a "realistic" mode (e.g., MAP absolute with vacuum at idle; boost is MAP − BARO).
Tested as a dev tool. No production hardening.
- Install Python 3.10+ (recommended).
- Create a venv (optional but recommended):
python -m venv .venv source .venv/bin/activate - Install requirements:
pip install -r requirements.txt
- Run the UI:
python -m ecusim_ms.web_ui
- Open:
A Termux-friendly launcher is included.
- Install Termux.
- Install dependencies:
pkg update pkg install python git
- Run:
bash run_termux.sh
- Open:
Note: Android/USB permissions can be finicky depending on device/OS. This is still a bench tool.
- The simulator emits MAP in kPa absolute.
- Many gauge displays compute boost as: boost = MAP(abs) − BARO(abs).
- Therefore negative boost at idle is normal on gasoline engines due to manifold vacuum.
- Minimal error reporting / recovery (bench tool).
- Not designed for unattended operation.
- No formal test suite / CI guarantees.
GPLv3 (see LICENSE).
This project is provided as-is, without warranty. It is intended for bench testing and development reference only.