!DOCTYPE html> BeeEmUu — free, open-source BMW diagnostics
BeeEmUu v2.2.0 is here Read the release notes →
GPL-3.0 · Rust core · Tauri 2 · Python API

High-Performance BMW Diagnostics.
Powered by Rust & Tauri 2.

An open-source, ultra-fast desktop suite engineered for real-time ECU telemetry, OBD-II logging, and deep module diagnostics. Zero bloat, zero compromise.

Cross-Platform · Win / Mac / Linux Latency <8ms 100% Open Source
beemuu — live session · E90 335i · K+DCAN LINK OK
$ beemuu connect --iface k+dcan --baud 500k
✓ K-Line handshake OK (6.2 ms)
✓ ECU identified: MSD80 · DME 8F3A21
— streaming telemetry @ 42 Hz ———————————
$ beemuu dtc read --module all
29F1Fuel pump relay — shadow · cleared
30FFBoost dev. — intermittent · logged
▮ awaiting input_

// System Architecture

Three layers. One purpose: speed you can trust on a live vehicle.

BeeEmUu is engineered like the cars it diagnoses — every layer has a single, well-defined job, and timing-critical paths never touch a garbage collector or a browser event loop.

LAYER 01

Core — Rust

Hardware abstraction layer driving sub-millisecond OBD-II, K-Line and CAN-BUS communication. Async Tauri commands keep the FTDI latency timer at 1 ms and ISO-TP reassembly per ISO 15765-2 off the UI thread.

let frame = isotp::send(0x22F190).await?;
LAYER 02

Shell — Tauri 2

A lightweight native shell rendering HTML5 web views through the OS webview — roughly 50× lighter than Electron. Multi-window support, native menus, and a memory footprint under 60 MB.

bundle: 9.4 MB · ram: <60 MB
LAYER 03

API — Python

A stdlib-only, read-only hosted API at api.beemuu.com powering community diagnostic scripts, DTC seeds, vehicle profiles and parameter extensions — no runtime dependencies.

GET /v1/dtc/29F1 → 200 OK

// Core Capabilities

Everything a modern BMW workshop needs. Nothing it doesn't.

Ultra-Low Latency Telemetry

Direct hardware polling with no Java or legacy runtime in the data path. Round-trips measured in single-digit milliseconds.

Fault Code Diagnostics

Read, interpret, and clear manufacturer-specific BMW shadow codes across every module — with plain-English descriptions.

Custom Python Scripting

Write your own diagnostic routines and live telemetry processors against a clean, documented Python API.

ECU Parameter Logging

Stream dozens of sensor channels simultaneously into lightweight JSON or CSV logs for post-drive analysis.

Modern Native Shell

Multi-window support, dark-mode interface, and under 60 MB of RAM. It feels like it belongs on your OS.

Transparent & Community-Driven

Fully open source — built with independent shops and BMW enthusiasts, auditable line by line.

// Try It In Your Browser

Live gauges, simulated CAN frames.

—
—
—
—
—
—

Demo runs in your browser via frontend/live_gauges.js. Source of truth for the byte patterns is the Rust simulator in src-tauri/src/transport/sim.rs::broadcast_frames_at; the public-site mirror and the desktop-app mirror are pinned to byte-for-byte parity by frontend/live_gauges.test.js. Real-car scales need E46 verification — see docs/validation/can-broadcast.md.

// Screenshots

See it in action.

Real screenshots of BeeEmUu running against the built-in E90 simulator.

BeeEmUu vehicle test showing the DME fault memory with codes 2A82 and 30FF
Vehicle test — fault memory for the DME control unit
BeeEmUu live data view with real-time gauges and peak tracking
Live data — real-time gauges and peak tracking
BeeEmUu logging tab with trigger and math channel configuration
Logging — session triggers and math channels
BeeEmUu diagnostics tab with connection self-test and community data
Diagnostics — self-test, community data, and traffic log
BeeEmUu vehicle info showing VIN, mileage, and suggested profile
Vehicle info — VIN, mileage, and suggested profile
BeeEmUu community plugins catalog with discover and import sections
Plugins — community catalog and import

// Community

What the community says.

★★★★★
"Finally a free alternative to ISTA that actually reads my E90's fault memory without a subscription. The live gauges alone are worth it."
— E90 owner, verified user
★★★★★
"The walkthrough JSON export is a game-changer. I hand a diagnostic session to my indie mechanic and they know exactly what to check."
— N54 owner, verified user
★★★★☆
"Open source, no account, no telemetry. It's the tool I reach for before paying for a dealer scan."
— F30 owner, verified user

Reviews are community-submitted. BeeEmUu is free and open source — share your experience.

// Live Telemetry

Watch the car think — in real time.

Stream high-rate sensor channels into live graphs, decode DTCs the moment they fire, and run flash-protection checks before a single byte is written.

  • Live graphing — multi-channel rendering at 60 fps with per-channel scaling and pause/rewind.
  • Instant DTC decode — community-seeded definitions resolve codes to causes and fixes on read.
  • Flash-protection checks — battery voltage, keep-alive cadence and session state verified before any write path unlocks.
telemetry · boost + rpm · 42 Hz REC
BOOST 1.24 bar RPM 5 842
42 Hz
Sample rate
6.1 ms
K-Line RTT
0
Dropped frames

// Quick Start

From clone to connected in minutes.

# Debian / Ubuntu — Tauri system deps
$ sudo apt-get install -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev librsvg2-dev libudev-dev
$ git clone https://github.com/ohgeeceee/beemuu.git && cd beemuu
$ cargo tauri dev
# Windows 10/11 — grab the signed installer
> winget install beemuu
# K+DCAN: install FTDI VCP drivers, set Latency Timer → 1 ms
$ brew install --cask beemuu
# or download the universal .dmg from Releases
# Rust 1.78+ required
$ git clone https://github.com/ohgeeceee/beemuu.git && cd beemuu
$ cd src-tauri && cargo test
$ cargo tauri build

E-series via K+DCAN (FTDI) · F/G/I-series via ENET — DoIP auto-discovery on UDP 13400

// Project Pulse

Live from the repo

APILoading
RepoLoading
ProfilesLoading
BundlesLoading
  • Loading bundles…

Latest release

VersionLoading… Released— Downloads MSI · NSIS

Recent commits

  1. Loading…

Pull requests

Loading…

Ready to upgrade your
diagnostic workflow?

Free forever. Open source forever. Built for the people who actually turn the wrenches.