Repository navigation
User Guide
This comprehensive guide covers all features and functionality of UltraLog.
- Interface Overview
- Loading Files
- Channel Selection
- Chart Interaction
- Timeline and Playback
- Unit Preferences
- Field Normalization
- Computed Channels
- Exporting
- Scatter Plot Tool
- Accessibility Features
- Keyboard Shortcuts
UltraLog's interface consists of these main areas:
| Area | Location | Purpose |
|---|---|---|
| Menu Bar | Top | File operations, settings, help |
| Tab Bar | Below menu | Switch between open files |
| Left Sidebar | Left | File list and view options |
| Chart Area | Center | Data visualization |
| Right Sidebar | Right | Channel selection |
| Timeline | Bottom | Playback controls and navigation |
File Menu
- Open - Load a log file
- Export → PNG - Save chart as image
- Export → PDF - Save chart as PDF document
Units Menu
- Temperature, Pressure, Speed, Distance, Fuel Economy, Volume, Flow Rate, Acceleration
- Each opens a submenu with available unit options
View Menu
- Colorblind Mode - Toggle accessible color palette
- Cursor Tracking - Keep cursor centered during playback
- Field Normalization - Enable/disable standard channel names
- Normalization Editor - Create custom field mappings
Help Menu
- About - Version information
- Documentation - Opens this wiki
| Extension | Format |
|---|---|
.csv |
CSV log files (Haltech, ECUMaster) |
.log |
Standard log files |
.txt |
Text-based log files |
.mlg |
MegaLogViewer binary (Speeduino/rusEFI) |
Method 1: File Dialog
- Click "Select a file" in the left sidebar, or
- Use File → Open from the menu, or
- Press
Ctrl/Cmd + O
Method 2: Drag and Drop
- Drag one or more files from your file manager onto the UltraLog window
- Each file opens in its own tab
- Click tabs to switch between files
- Close tabs with the × button on each tab
- Duplicate files are automatically detected and rejected
After loading, the left sidebar shows:
- File name
- ECU type (Haltech, ECUMaster, Speeduino)
- Channel count
- Delete button to remove the file
Located in the right sidebar, this panel shows all available data channels from the loaded file.
- Search - Type in the search box to filter channels
- Toggle - Click a channel name to add/remove from chart
- Limit - Maximum of 10 channels can be displayed
| State | Appearance |
|---|---|
| Unselected | Gray text |
| Selected | Blue background with color indicator |
Selected channels are assigned colors from a palette:
- Standard: Blue, Orange, Green, Red, Purple, Brown, Pink, Gray, Yellow, Cyan
- Colorblind Mode: Black, Orange, Sky Blue, Bluish Green, Yellow, Blue, Vermillion, Reddish Purple
The main chart shows:
- Y-axis: Normalized values (0-1 scale)
- X-axis: Time in seconds
- Lines: One colored line per selected channel
- Cursor: Vertical line showing current position
- Legend: Channel info with current values
All channels are displayed normalized to a 0-1 range:
- Why? Allows comparing channels with vastly different scales
- Example: RPM (0-8000) and Lambda (0.7-1.3) can be compared visually
- Original values are shown in the legend with proper units
| Action | Result |
|---|---|
| Click | Move cursor to clicked position |
| Scroll | Zoom in/out on time axis |
| Drag | Pan the view left/right |
| Double-click | Reset zoom to fit all data |
For each selected channel, the legend displays:
■ Channel Name Min: 0.00 Max: 100.00 Current: 45.67 units
- Color indicator - Matches the line on the chart
- Channel name - May be normalized if Field Normalization is enabled
- Min/Max - Peak values across the entire log
- Current - Value at cursor position with unit symbol
Located at the bottom of the window:
[▶] [⏸] [⏹] [1.0x ▼] ═══════○═══════════ 00:15.234 / 02:30.000
| Button | Action |
|---|---|
| ▶ Play | Start/resume playback |
| ⏸ Pause | Pause at current position |
| ⏹ Stop | Stop and reset to beginning |
Available speeds:
- 0.25x (quarter speed)
- 0.5x (half speed)
- 1.0x (real-time)
- 2.0x (double speed)
- 4.0x (4x speed)
- 8.0x (8x speed)
- Click anywhere on the timeline to jump to that time
- Drag the handle to scrub through the data
Shows current time / total duration in seconds
Click on the time display to type a specific time in seconds.
When enabled (View → Cursor Tracking):
- The chart automatically scrolls to keep the cursor centered
- Useful when scrubbing through long logs
- The view window is approximately 30 seconds
Access via the Units menu. All conversions are applied at display time only - original data is never modified.
| Category | Options | Default |
|---|---|---|
| Temperature | Kelvin, Celsius, Fahrenheit | Celsius |
| Pressure | kPa, PSI, Bar | kPa |
| Speed | km/h, mph | km/h |
| Distance | km, miles | km |
| Fuel Economy | L/100km, MPG | L/100km |
| Volume | Liters, Gallons | Liters |
| Flow Rate | L/min, GPM | L/min |
| Acceleration | m/s², g | m/s² |
- UltraLog reads raw data from the log file
- ECU-specific parsing converts to base units
- Your unit preference converts for display
- Legend shows values with appropriate unit symbols
Field normalization maps ECU-specific channel names to standardized names.
Different ECU systems use different names for the same data:
- Haltech: "Engine Speed"
- ECUMaster: "engine/rpm"
- Speeduino: "RPM"
Field normalization shows them all as "Engine RPM" for consistency.
View → Field Normalization toggles this feature.
UltraLog includes 100+ built-in mappings. Examples:
| ECU Names | Normalized Name |
|---|---|
| Act_AFR, AFR1, Aft, Lambda | AFR |
| MAP, Boost_Press, engine/map | Manifold Pressure |
| RPM, Engine_Speed, engine/rpm | Engine RPM |
| TPS, Throttle_Pos, Throttle | Throttle Position |
Create your own mappings via View → Normalization Editor:
- Open the Normalization Editor
- Enter the source name (ECU-specific)
- Enter the target name (standardized)
- Click Add
- Mappings apply immediately
Note: Custom mappings are stored in memory and reset when the application closes.
Computed channels allow you to create custom virtual channels from mathematical formulas. These are powerful tools for deriving new data from existing channels.
Access via Tools → Computed Channels in the menu bar.
- Click "+ New Channel" in the Computed Channels window
- Fill in the form:
- Name: Display name for your channel (e.g., "Boost Delta")
-
Formula: Mathematical expression (e.g.,
RPM * 0.5) - Unit: Display unit (e.g., "kPa", "%", "deg")
- Description: Optional notes for reference
- Click "Save" to add to your library
Operators:
- Arithmetic:
+,-,*,/,^(power) - Parentheses:
(,)for grouping
Functions:
- Trigonometry:
sin,cos,tan,asin,acos,atan,atan2 - Hyperbolic:
sinh,cosh,tanh,asinh,acosh,atanh - Math:
sqrt,abs,exp,ln,log,log2,log10 - Rounding:
floor,ceil,round,trunc - Comparison:
max,min
Constants:
-
pi- Pi (3.14159...) -
e- Euler's number (2.71828...) -
tau- Tau (2π) -
phi- Golden ratio (1.61803...)
Channel References:
Simple channel names can be referenced directly:
RPM
TPS
MAP
Channel names with spaces must be quoted:
"Manifold Pressure"
"Coolant Temp"
"Engine Speed"
Time-Shifting:
Reference past or future values of a channel:
Index-based (by sample count):
RPM[-1] Previous sample
RPM[-2] Two samples ago
RPM[+1] Next sample
Time-based (in seconds):
Boost@-0.5s Value 0.5 seconds ago
AFR@-0.1s Value 100ms ago
TPS@+0.2s Value 0.2 seconds in the future
Simple Arithmetic:
RPM * 0.5
Half the RPM value
TPS / 100
Convert TPS from percent to decimal
Channel Combination:
"Manifold Pressure" - "Barometric Pressure"
Calculate gauge pressure
max(AFR1, AFR2)
Maximum of two AFR sensors
(AFR1 + AFR2) / 2
Average AFR from two sensors
Rate of Change:
RPM - RPM[-1]
RPM change per sample
(Boost - Boost[-10]) / 0.1
Boost rate of change (kPa/second, assuming 10Hz logging)
Time-Shifted Calculations:
(Boost@-0.5s - Boost) / 0.5
Boost rate over last 0.5 seconds
RPM - "Engine Speed"[-5]
RPM difference from 5 samples ago
Complex Math:
sqrt(TPS * MAP / 100)
Complex calculation combining channels
abs("Coolant Temp" - 90)
Temperature deviation from 90°C
- Create and save a formula in the library
- Click "Apply to File" next to the formula
- The computed channel appears in your channel list
- Select it like any other channel to visualize
Persistence:
- Templates are saved automatically to disk
- Persist across application restarts
- Stored in JSON format:
- Linux:
~/.config/ultralog/computed_channels.json - macOS:
~/Library/Application Support/UltraLog/computed_channels.json - Windows:
%APPDATA%\UltraLog\computed_channels.json
- Linux:
Editing:
- Click "Edit" on any template to modify
- Changes are saved immediately
Deleting:
- Click "Delete" on any template to remove
- Deletion is permanent but can be recreated
Reusability:
- One template can be applied to multiple log files
- Formulas automatically adapt to available channels in each file
- If a referenced channel doesn't exist, you'll see an error
UltraLog validates formulas before saving:
- Checks for syntax errors
- Verifies all referenced channels exist
- Tests evaluation with sample data
- Shows helpful error messages
If validation fails, the formula cannot be saved. Fix the error and try again.
Naming Conventions:
- Use descriptive names: "Boost Delta", not "BD"
- Include units in descriptions if ambiguous
- Organize with prefixes: "Calc_BoostRate"
Formula Best Practices:
- Test with simple formulas first
- Use parentheses for clarity:
(A + B) / 2instead ofA + B / 2 - Remember operator precedence:
*and/before+and- - Quote all channel names with spaces
Performance:
- Computed channels are evaluated once when applied
- Results are cached for fast visualization
- Complex formulas may take a moment for large files
Save the current chart view as a PNG image:
-
File → Export → PNG (or
Ctrl/Cmd + E) - Choose save location
- Enter filename
- Click Save
The exported image includes:
- Current chart view (with zoom/pan state)
- Legend with channel information
- Time axis labels
Generate a PDF document of your chart:
- File → Export → PDF
- Choose save location
- Enter filename
- Click Save
The scatter plot tool visualizes the relationship between two channels.
- Click the tool switcher in the interface
- Select "Scatter Plot"
- Select the X-axis channel from the dropdown
- Select the Y-axis channel from the dropdown
- Data points are plotted showing the correlation
- AFR vs MAP - See how AFR changes with manifold pressure
- Ignition vs RPM - Visualize timing curve
- TPS vs Load - Check throttle-to-load relationship
- Coolant Temp vs AFR - Check cold-start enrichment
- Linear pattern - Direct correlation between channels
- Scattered points - No strong relationship
- Clusters - Distinct operating conditions
- Outliers - Potential tuning issues or sensor problems
Enable via View → Colorblind Mode
Uses Wong's optimized palette designed for:
- Deuteranopia (red-green colorblindness)
- Protanopia (red colorblindness)
- Tritanopia (blue-yellow colorblindness)
Colorblind Palette Colors:
- Black
- Orange
- Sky Blue
- Bluish Green
- Yellow
- Blue
- Vermillion
- Reddish Purple
UltraLog uses the Outfit typeface for:
- Clear readability
- Consistent appearance across platforms
- Good distinction between similar characters
Non-intrusive notifications appear for:
- File load success/failure
- Export completion
- Errors and warnings
| Shortcut | Action |
|---|---|
Ctrl/Cmd + O |
Open file |
Ctrl/Cmd + W |
Close current tab |
Ctrl/Cmd + E |
Export PNG |
| Shortcut | Action |
|---|---|
Space |
Play/Pause toggle |
Escape |
Stop playback |
- UltraLog handles large files well, but loading may take a few seconds for 50MB+ files
- Use release builds for best performance
- Close unused tabs to free memory
- Start wide - Load the full log and play through at 1x
- Identify areas of interest - Note any anomalies or events
- Zoom in - Use scroll to zoom on specific areas
- Compare channels - Add related channels to identify correlations
- Document - Export charts for records or sharing
- Start with essential channels: RPM, AFR, MAP, TPS
- Add diagnostic channels as needed
- Remove channels you're not currently analyzing
- Use search to quickly find specific channels
- Supported-ECU-Formats - Detailed ECU format information
- Unit-Conversion - Complete unit reference
- Troubleshooting - Common issues and solutions
Links