The MBE 9A4 AJP8-75 is the ECU in most AJP-engined TVRs (Cerbera, Tuscan, Tamora). It speaks a proprietary serial protocol over a 25-pin diagnostic port and was never given a phone app. So I built one.
Live engine telemetry over Bluetooth, GPS + G-force overlay, a software gear indicator derived from RPM and speed, full data logging, and an Apple Watch companion that lets you keep an eye on water temp, oil pressure, and RPM while you're under the bonnet.
Scans for "MBE-ECU-Bridge", pairs over BLE, shows link status, raw bytes if you want them.
Live water temp, oil pressure, battery, RPM, speed, throttle position — all the live channels the ECU broadcasts.
GPS speed vs ECU speed, G-force pad, lean-angle, gear indicator (derived from RPM ÷ wheel speed).
ECU map browser — read fuel and ignition maps live, see breakpoints, compare against archived baselines.
Recording sessions to CSV + GPX, replay, export to share with tuners.
Live fault flags from the ECU, plus an explanation layer that maps cryptic codes to plain English.
A Raspberry Pi Pico 2 W sits in the car, wired to the ECU diagnostic port. MicroPython runs three modes: a byte-level pass-through for full read/write sessions, a broadcast mode that streams the live signal frame to any nearby phone, and a raw UART diagnostic mode for when something has gone wrong.
| Bridge | Raspberry Pi Pico 2 W (BLE + UART) |
|---|---|
| Firmware | MicroPython — ble_uart, ecu_bridge, ecu_broadcast, mbe_frame |
| App | SwiftUI for iPhone + watchOS |
| Bonus | Proof-of-concept ECU ROM patch that adds broadcast streaming natively (emulator-tested only — for now) |