-
-
Notifications
You must be signed in to change notification settings - Fork 4
FAQ
Common questions about UltraLog.
UltraLog is a high-performance, cross-platform desktop application for viewing and analyzing ECU (Engine Control Unit) log files. It's designed for automotive tuners, engineers, and enthusiasts who need to analyze data from performance tuning systems.
Yes, UltraLog is free and open source under the AGPL-3.0 license. You can use it for personal or commercial purposes, with the requirement that modifications must be shared under the same license.
- Windows 10/11 (x64)
- macOS 10.15+ (Intel and Apple Silicon)
- Linux (most distributions, x64)
No additional software is required. UltraLog is a standalone application. On Linux, you may need to install some system libraries (see Installation).
Currently supported:
- Haltech - Full support (CSV from NSP)
- ECUMaster EMU Pro - Full support (CSV export)
- RomRaider - Full support (CSV export)
- Speeduino / rusEFI - Full support (MLG binary)
- AiM - Full support (XRK/DRK binary)
- Link ECU - Full support (LLG binary)
- Emerald - Full support (LG1/LG2 binary)
Coming soon:
- MegaSquirt
- AEM
- MaxxECU
- MoTeC
Yes! Open an issue on GitHub with:
- ECU system name and model
- Software version used for logging
- A sample log file (if possible)
- Any documentation links
Some ECU software uses proprietary binary formats that aren't publicly documented. CSV export is universally supported and ensures accurate data parsing.
-
.csv- CSV log files (Haltech, ECUMaster, RomRaider) -
.log- Standard log files -
.txt- Text-based log files -
.mlg- MegaLogViewer binary (Speeduino/rusEFI) -
.xrk,.drk- AiM binary format -
.llg- Link ECU binary format -
.lg1,.lg2- Emerald ECU binary format (both files required)
UltraLog automatically detects the format based on file contents, not the file extension. Just load the file and UltraLog will identify it.
UltraLog uses LTTB downsampling to handle very large files efficiently:
- Files up to 50MB load in seconds
- Files 100MB+ may take longer but are fully supported
- Memory usage is approximately 1-2× file size
Yes! Each file opens in its own tab. You can switch between tabs and each maintains its own channel selections.
This is intentional to prevent confusion. If you need to reload a file:
- Close the existing tab
- Load the file again
UltraLog normalizes all channels to a 0-1 range so you can compare data with vastly different scales on the same chart. For example, RPM (0-8000) and AFR (10-18) can be visually compared.
The actual values with proper units are always shown in the legend.
Up to 10 channels can be displayed simultaneously. This limit ensures the chart remains readable and maintains performance.
If Field Normalization is enabled (View → Field Normalization), channel names are standardized for consistency. Disable this to see original ECU names.
- Min - The lowest value for that channel across the entire log
- Max - The highest value for that channel across the entire log
These help you understand the range of data at a glance.
- Click on the chart at the desired time
- The legend shows the value at the cursor position
- For precise timing, type the time in seconds in the timeline input
- Click the Settings icon (⚙️) in the activity bar
- Scroll to the Units section
- Select your preferred units for each category (Temperature, Pressure, Speed, etc.)
No. Unit conversion is display-only. Your original data is never modified. You can switch between units freely without affecting the underlying data.
Some ECUs (like Haltech) store temperature in Kelvin. Check your unit preference in the Settings panel → Units → Temperature. If set to Kelvin, you'll see 363K. Change to Celsius to see 90°C.
- 0.25x (quarter speed)
- 0.5x (half speed)
- 1.0x (real-time)
- 2.0x (double speed)
- 4.0x (4x speed)
- 8.0x (8x speed)
When enabled (Settings → Display → Cursor Tracking), the chart automatically scrolls to keep the cursor centered as you scrub through data. This is useful for following data through long logs.
Yes. Click on the time display in the timeline controls and type the time in seconds.
- PNG - Image file of the chart
- PDF - PDF document of the chart
Currently, UltraLog is focused on visualization. Data export to CSV/Excel is planned for a future release.
The export captures the current window view. Maximize the window before exporting for higher resolution.
UltraLog v2.0 includes several built-in analysis tools accessible from the Tools panel:
- Scatter Plot - XY correlation visualization between two channels
- Histogram - 2D heatmap visualization with configurable grid sizes
-
Analysis Tools - Four categories:
- Filters - Moving average, Kalman filter, signal processing
- Statistics - Min/max, percentiles, standard deviation
- AFR - Air-Fuel Ratio analysis with target comparison
- Derived - Calculate new channels from existing data
- Click the Tools icon (🔧) in the activity bar
- Select "Histogram" from the tool selector
- Choose X-axis and Y-axis channels
- Optionally select a Z-axis channel for color coding
- Select grid size (10x10, 16x16, 20x20, or 25x25)
- Toggle between "Hit Count" and "Average Z-Value" modes
The histogram shows a 2D heatmap with colors ranging from blue (low) to red (high).
- Click the Tools icon (🔧) in the activity bar
- Select "Analysis" from the tool selector
- Choose a category (Filters, Statistics, AFR, or Derived)
- Select a specific analysis tool
- Configure parameters as needed
- Click "Run Analysis"
- Optionally save results as a computed channel
Yes! After running an analysis, you can click "Save as Computed Channel" to add the results to your channel list for visualization alongside your original data.
UltraLog uses the LTTB (Largest Triangle Three Buckets) algorithm to reduce millions of data points to a maximum of 2,000 for display. This preserves visual accuracy while ensuring smooth rendering.
- Use the release build (not debug)
- Close tabs for files you're not using
- Select only the channels you need
- Ensure adequate system memory (8GB+ recommended)
UltraLog uses OpenGL (via glow) for rendering, which provides hardware acceleration on most systems.
Yes! Enable Settings → Display → Colorblind Mode for Wong's optimized color palette, designed to be distinguishable for various types of color vision deficiency.
Yes! UltraLog v2.0 includes font scaling. Go to Settings → Display → Font Size and choose from S (Small), M (Medium), L (Large), or XL (Extra Large).
UltraLog is written in Rust using the egui/eframe GUI framework.
Yes, UltraLog is open source under the AGPL-3.0 license. The source code is available at GitHub.
Yes! Contributions are welcome. See Development for information on building from source and contributing.
UltraLog sends anonymous usage analytics to help improve the application. This includes:
- App version and platform (Windows/macOS/Linux)
- ECU type when loading files (e.g., "Haltech")
- Feature usage (exports, tool switches, playback)
What is NOT sent:
- Your log file data or contents
- File names or paths
- Any personal information
- Channel names or values
All analytics are anonymous with no persistent identifiers. See Privacy for complete details.
Some settings persist across sessions:
- Font size - Saved to application config
-
Computed channel library - Saved to:
- Linux:
~/.config/ultralog/computed_channels.json - macOS:
~/Library/Application Support/UltraLog/computed_channels.json - Windows:
%APPDATA%\UltraLog\computed_channels.json
- Linux:
Other settings (unit preferences, colorblind mode, etc.) are currently stored in memory and reset when the application closes. Full persistent settings storage is planned for a future release.
- Check the Troubleshooting page
- Search GitHub Issues
- Open a new issue if needed
Open an issue on GitHub with:
- UltraLog version
- Operating system
- Steps to reproduce
- Sample file if applicable
Open an issue on GitHub and describe:
- What feature you'd like
- Your use case
- Any examples or references
Check Help → About for version information.
- Download the latest release from GitHub Releases
- Replace the old binary with the new one
- On macOS/Linux, you may need to re-apply execute permissions
No. Updates are manual downloads from GitHub Releases. This ensures you control when updates are applied.
If your question isn't answered here:
- Check the User-Guide for detailed feature documentation
- See Troubleshooting for common issues
- Open a GitHub Issue for support
- Getting-Started - Quick introduction
- User-Guide - Complete feature reference
- Troubleshooting - Common issues and solutions
Links