Android app that reads Mercury SmartCraft engine data via Bluetooth LE and displays it as widgets in OsmAnd.
See it in action in OsmAnd:
demo_osmand_compressed.mp4
┌─────────────────────┐ BLE ┌──────────────────────┐
│ Mercury SmartCraft │◄──────────────►│ SmartCraftService │
│ BLE Gateway │ notifications │ (Foreground Service)│
└─────────────────────┘ │ │
│ SmartCraftParser │
│ (protocol decode) │
└──────────┬───────────┘
│ AIDL
┌──────────▼───────────┐
│ OsmAnd │
│ (map widgets) │
│ RPM | Speed | Temp │
└──────────────────────┘
| Widget ID | Metric | Unit |
|---|---|---|
| smartcraft_rpm | Engine RPM | RPM |
| smartcraft_temp | Coolant temperature | °C / °F |
| smartcraft_voltage | Battery voltage | V |
| smartcraft_fuel_flow | Fuel consumption | L/h / gal/h |
| smartcraft_fuel_level | Fuel tank level | % |
| smartcraft_oil_pressure | Oil pressure | kPa / bar / PSI |
| smartcraft_runtime | Engine hours | h |
| smartcraft_fuel_used | Fuel used (trip) | raw |
| smartcraft_gear | Gear (N/F/R) | — |
| smartcraft_block_pressure | Block pressure | kPa / bar / PSI |
| smartcraft_oil_temp | Oil temperature | °C / °F |
| smartcraft_seawater_temp | Seawater temperature | °C / °F |
- Android device with BLE support
- OsmAnd free installed
- Mercury SmartCraft BLE gateway (VesselView Mobile or compatible)
./gradlew assembleDebug./gradlew testTag a version on main to trigger a GitHub Release:
git tag v1.0.0
git push origin v1.0.0- Install the APK on your Android device
- Open the app and tap "Start / Stop"
- Grant Bluetooth and location permissions
- The app will scan for a SmartCraft BLE gateway (device name pattern:
VVM_<address>) - Once connected, widgets appear in OsmAnd's map view
- Enable widgets in OsmAnd: Menu → Configure Screen → check SmartCraft widgets
- Icons use OsmAnd's built-in OBD widget drawables (
widget_obd_*). - Targets OsmAnd free (
net.osmand). ChangeOSMAND_PACKAGEinOsmAndBridge.ktfor OsmAnd+. - Units (°C/°F, kPa/bar/PSI, L/h/gal/h) are configurable in the app.
- See PROTOCOL.md for BLE protocol details and reverse engineering notes.
