Native desktop viewer for time-series logs. Open ULog (.ulg) or Betaflight
Blackbox (.bbl, .bfl, .cfl, .txt, .log) files, browse signals, and drag
fields onto docked plots.
- Split, tab, resize, and link plots; edit line appearance and reorder legends.
- Set each plot's background or apply its color to all open plots. Automatic line colors follow Betaflight Blackbox Explorer's palette independently in each plot.
- Click saved geometry to edit it; drag it onto a plot to place it. Hover a state legend entry to see its mode colors. Screenshot legends include geometry.
- Search fields and recorded parameters, with Ctrl/Shift selection and group dragging. Field search leaves saved plots, views, workspaces, geometry, and profile files visible.
- Built-in filters and custom Rust functions compiled to WebAssembly.
- JSON profiles for field names/units, filter chains, geometry, flight-mode bands, and reusable views, with optional firmware matching.
- FFT, PSD, spectrograms, and field-conditioned heatmaps in docked plots.
- SVG/PNG export and clipboard screenshots of individual plots or visible docks together.
Nightly builds support Windows x86_64, Linux x86_64, and macOS Intel/Apple Silicon. Extract the whole archive; portable bundles include example profiles and a Rust-to-WASM compiler for custom filters. No separate Rust installation is needed to use them.
Each push to master starts a nightly build. Downloads publish after all platform
checks pass. Builds are unsigned; macOS builds are not notarized.
Linux archives include Ubuntu 22.04+ (linux-x86_64) and rolling Arch Linux
(arch-linux-x86_64) builds. Choose matching distribution.
To receive update notices, enable Nightly builds under Updates, then restart. Checks run once at startup. Portable installations offer Update & restart when a newer completed build is available. Restart closes current log and unsaved work.
Install Rust through rustup, Git, and native build tools.
Repository selects its required nightly toolchain; keep Cargo.lock for
reproducible dependency versions.
Shared plotting library uses upstream Git revision pinned in Cargo.toml.
- Windows: Visual Studio Build Tools with Desktop development with C++ and a Windows SDK. Use the MSVC Rust target.
- macOS: Xcode Command Line Tools.
- Linux (Debian/Ubuntu):
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libx11-dev libxkbcommon-dev \
libxkbcommon-x11-dev libwayland-dev libxcb1-dev libxcursor-dev libxi-dev \
libxrandr-dev libfontconfig1-dev fonts-dejavu-core- Linux (Arch and derivatives):
sudo pacman -Syu --needed base-devel rustup git libx11 libxkbcommon \
libxkbcommon-x11 wayland libxcb libxcursor libxi libxrandr fontconfig ttf-dejavuSet ENLUMI_BUILD_PLATFORM=arch-linux-x86_64 when making Arch portable bundles
so built-in updater keeps selecting Arch archives.
From repository root:
cargo run --locked --release -p enlumi
# Or open a log directly:
cargo run --locked --release -p enlumi -- /path/to/flight.BBLA desktop session and GPU supported by wgpu are required. See portable build instructions to package the app with its offline filter compiler.
- Click Open log or drop a log file into the window, then expand a field group and drag a field onto a plot.
- Ctrl/Shift-click to select multiple fields, then drag the selection together.
- Drag plot tabs onto docking guides to arrange panels. Use Links to share axes or pointers; double-click a tab title to rename it.
Enlumi is under active development. One log file is open at a time; plots and filters are kept in memory. Full session saving and cross-file comparison are not implemented. Lines within a plot share one Y axis.
Blackbox values retain raw log units until profiles or filters convert them. GPS/home records and event annotations are not exposed. Incomplete logs and parser limits produce load warnings.
- Usage and controls
- Profiles and firmware mappings
- Frequency analysis
- Custom Rust filters
- Contributing and architecture
- Security reporting
Run local checks before submitting changes:
cargo xtask pre-commitGNU AGPL version 3 or later. See copyright and third-party notices for dependency and fixture licenses.