Connection Setup
Device Connection
Connect directly to your ECU via Bluetooth or USB
Device Control
Manage real-time data streaming and permanent memory updates
Logging & Recording
Configure and record ECU runtime data for later analysis
ECU Configuration
The application automatically downloads the correct INI file based on your ECU signature. Tuning data (MSQ) is synchronized from your ECU on connection or restored from your last session.
Debug Settings
Debug level controls console logging. Trace adds low-level communication timing and enables the /trace stream.
Editor
Select a parameter from the sidebar to start tuning
| Channel | Value | Channel | Value |
|---|---|---|---|
| No data yet | |||
App Settings
Beginner Mode
Simplifies the interface to show only essential tuning settings (VE table, injector, spark, and starting). Hides advanced tabs and menus. Adds helpful descriptions to fields. Recommended for new users.
Appearance
Choose your preferred color theme or follow system settings.
ECU Settings
Configure ECU-specific settings defined in the INI file. Changes are applied immediately and stored locally.
Customize Realtime Display
Select which channels to show in the Realtime Display dialog. Changes are saved automatically and persist between sessions.
Project Status & Capabilities
Project Status & Capabilities
Welcome to VETuner. This is an early-access web-based tuning application. Here is a summary of what currently works and what is still in development:
- Unified Dashboard UI: Modern, space-efficient tabular layout with dedicated views for Tuning, Connection, Settings, and Status.
- Free-Form Gauge Dashboard: Fully positionable gauge dashboard with long-press or pencil-button to enter edit mode. Drag to move, corner-grip or pinch to resize, snap-to-grid layout, per-gauge config and delete buttons, and Add Gauge popover. Layout persists per ECU signature. Gauges scale to fill the container width at normal viewing scale and render at 1:1 during editing.
- Gauge Styles: Circular SVG gauges (needle, filled arc, modern) with value and label text rendered inside the SVG for a compact square footprint; bar and fat-bar horizontal gauges; rolling line chart gauges; design/dual-design SVG skin overlays; and linear (horizontal bar-graph) SVG designs. All gauge types are selectable from a single unified "Gauge Type" dropdown in the configuration dialog.
- Direct ECU Connection: Connect via USB/Serial using native Web Serial API or WebUSB polyfill.
- Session Restoration: Automatic restoration of your last session's INI and MSQ (tune) files with protection against save corruption.
- Advanced VE Analysis: Real-time heatmap visualization with bilinear interpolation, O2 sensor delay compensation, and automated filtering.
- Tuning Editors: Tab-integrated editors for VE tables, ignition maps, and curves with real-time expression evaluation and inline editing.
- Interactive Graphing: High-performance canvas-based graphing with integrated minimap, intuitive gestures (double-tap to zoom out), and smart auto-scrolling.
- Enhanced Log Replay: Simulation-mode playback providing an authentic real-time engine experience with incremental data presentation.
- Data Logging: Spec-compliant high-speed binary logging (MLG v2) and human-readable (MSL) format support.
- Status Bar Integration: Real-time global feedback loop showing every application event directly in the footer status bar.
- CommandButton Support: Full support for dialog command buttons with conditional enable/disable logic and ECU command execution.
- GraphLine Visualization: Real-time multi-channel graphing within live graph containers with automatic parameter resolution.
- Optimized Dialog Layouts: Improved border layout responsiveness with space-efficient inline label-input arrangement for better usability on all screen sizes.
- Start Doctor: Automated startup diagnostic tool that analyses a cranking log to check sensor health, cranking RPM, battery voltage, pulse width, ignition advance, flood-clear conditions, stall events, and signal noise — producing a structured pass/fail report.
- Required Fuel Calculator (
std_injection): Interactive calculator for the MegaSquirt reqFuel constant. Uses the canonical air-density formula from the MegaManual. Inputs: displacement (CC or CID), cylinders, injector count, injector flow (cc/min or lb/hr), squirts per cycle, injection staging (simultaneous/alternating), and fuel type (9 presets from petrol to methanol). Shows both the per-cylinder value and the ECU value (scaled for injector count and squirts). Writes directly to the reqFuel constant with a single Apply button.
⚠️ Known Limitations
- Experimental Status: This software is early-stage. Use caution when applying changes to a running engine.
- Large INI Files: Complex INI files with heavy macro usage may take several seconds to initialize on lower-powered devices.
- Advanced Features: Specialized CAN commands and internal SD card logging management are still in active development.
Recent Updates (February 2026)
Linear Gauge Designs: New
SvgLinearGaugecomponent supporting horizontal bar-graph style gauges loaded from SVG design files. Two linear designs available. The previous separate Style and Gauge Face dropdowns in the gauge configuration dialog have been merged into a single "Gauge Type" selector with grouped options (Circular, Circular SVG Designs, Linear, Dual-Channel, Bar/Chart).Required Fuel Calculator (
std_injection): Interactive calculator for the MegaSquirt reqFuel constant using the canonical MegaManual air-density formula (AIRDEN(100 kPa, 70°F) = 0.0391568 × (MAP×10 − 31) / ((TempF + 459.7) × 1728)). Accepts displacement (CC/CID toggle), cylinders, total injector count, injector flow per injector (cc/min/lb/hr toggle), squirts per engine cycle, injection staging (simultaneous/alternating), and fuel type (9 presets: Petrol E0 through Diesel). Displays both the per-cylinder reqFuel and the scaled ECU value — the latter accounts for injector count and squirts per cycle exactly as MegaTune does. A single Apply button writes the ECU value to the reqFuel constant and triggers an autosave.- Free-Form Gauge Dashboard: Replaced the fixed-grid / hero-layout system with a fully free-form canvas. Long-press any gauge (or tap the pencil button) to enter edit mode. Gauges can be freely dragged, resized by corner grip or pinch gesture, deleted, or reconfigured in place. An Add Gauge popover lets you introduce new gauge slots at any time. Layouts are saved per ECU signature and restored on next load; deleted gauges are not re-added on reload. Gauges scale to fit the container at normal viewing scale and switch to 1:1 pixel/snap mapping in edit mode so drag distances exactly match the snap grid.
- Embedded SVG gauge text: Value readout and channel title/units are now rendered inside the SVG element (viewBox
0 0 100 90) rather than in a separate info panel below it, giving circular gauges a near-square footprint and eliminating dead whitespace. - Removed Gauge Customization Settings panel: The "Customize Gauges" card that previously appeared in the ECU Settings tab has been removed. All gauge management (add, remove, configure, rearrange) is now done directly on the dashboard in edit mode.
- Start Doctor: Comprehensive startup diagnostic module that analyses a log file captured during engine cranking. Checks cranking RPM health, TPS/MAP sensor readings, coolant temperature plausibility, battery voltage, pulse width, duty cycle, ignition advance, flood-clear detection, stall events, and signal spike noise. Generates a structured diagnosis report with pass/fail/warn results for each check.
- Line Chart Gauge Style: New "Line Chart" option for dashboard gauges — each slot can display a compact 5-second rolling real-time graph instead of a circular or bar gauge, with per-gauge colour assignment, auto-scaling Y-axis for unresolved expression ranges, and full responsive layout support.
- Realtime Display Customization: Configurable channel selection for the std_realtime dialog via a Settings tab UI with per-slot channel/colour pickers and localStorage persistence.
- CommandButton Element Support: Full parser and renderer implementation for dialog command buttons with enable/disable expressions and post-action flags (closeDialogOnClick, showMessageOnClick).
- GraphLine Visualization: Complete support for nested graphLine entries within liveGraph containers with real-time multi-channel rendering.
- Dialog Layout Improvements: Enhanced border layout system with flexible West/East/Center panels, inline label-input layout for better space utilization, and resolved issues in complex dialogs like Idle Advance Settings.
- Bug Fixes: Resolved log field filtering issues and VE table race conditions that affected initialization timing.
Contact!
Suggestions? Complaints? Email them to me at vetuner@smithfamily.org.uk
Last Updated: 2026-02-24 (Linear gauge designs, unified gauge type selector, required Fuel calculator with canonical MegaManual formula, free-form gauge dashboard, embedded SVG gauge text, gauge customization panel removed, drag/delete fixes, Start Doctor diagnostics, line chart gauges, realtime display customization, CommandButton support, GraphLine visualization)