Skip to content
Sertel Şekerci edited this page Aug 9, 2026 · 1 revision

Setup and Usage

  1. Google Maps API: Add your own API key to the com.google.android.geo.API_KEY field in the app/src/main/AndroidManifest.xml file.
  2. Google Drive Backup/Restore (optional): Needs a Google Cloud project with two OAuth 2.0 clients in the same project:
    • An Android client with package name com.example.mototelemetryapp and the SHA-1 of your signing certificate (keytool -list -v -keystore <keystore> -alias <alias>).
    • A Web application client — its ID is what goes into setServerClientId(...) in MainActivity.kt. Using the Android client's ID there fails with [28444] Developer console is not set up correctly; Credential Manager's Google Sign-In requires the Web client ID as the token audience regardless of platform.
    • While the OAuth consent screen is in Testing status, every Google account that needs to sign in (including your own) must be added under Audience → Test users, or sign-in fails with 403: access_denied.
    • The app requests both drive.appdata (hidden ride-DB backups) and drive.file (visible diagnostics uploads, see below) scopes in one grant — add both under the OAuth consent screen's Data Access section, or the diagnostics upload silently fails to find/create its Drive folder.
  3. OBD2 Adapter: Plug your Bluetooth ELM327 adapter into the motorcycle and pair it with your phone, then connect it once from the Panel's OBD badge dropdown — the app remembers whichever device you pick there, and auto-start (below) only works for a previously-connected device. If you haven't connected one yet, the app falls back to auto-detecting a paired device whose name contains OBD, ELM327, ELM, VLINK, V-LINK, ICAR, VGATE, or OBDLINK.
  4. Permissions: The app will request Bluetooth, Location, and Notification permissions on the first launch.
  5. Tracking: Start the data collection loop and background service with the "Start Tracking" button on the main screen, or enable Auto-start tracking when OBD connects in Settings to have it start automatically when the adapter powers on.

Dashboard Interface

  • Main Menu: Last Ride, Fuel, and Service info cards, Quick Access shortcuts (Panel/History/Analysis/Bike Info/Settings), and Start Tracking/Stop/Backup/Restore controls.
  • Panel: Displays Speed, Gear, RPM, Throttle, and Brake bars. The lean gauge tilts in real-time based on the selected sensor (phone or bike), with a tap-to-calibrate button and a phone/motorcycle icon toggle. A check-engine badge appears next to the OBD status badge whenever the MIL is on, showing the stored DTCs and a clear-codes action.
  • History: View recorded routes as Polylines on the map, with a KM/duration/average speed overlay.
  • Analysis: Session list with per-ride speed sparklines, stats, rename, and delete, plus a detail view charting Speed/RPM, Lean Angle, G-Force, and Altitude over the ride.
  • Bike Info: Model/engine identity with the live ECU odometer, an engine-health stat grid (coolant, fuel, battery, intake/ambient temp, engine load, MAP, catalyst temp, engine runtime, etc.), a permanent diagnostics card, a live sensor-status table for every known CAN header/DID, a standard-PID and manufacturer-DID sweep tool, a gated UDS extended-session probe, and a raw CAN bus monitor for capturing unmapped signals.
  • Settings: Auto-start tracking on OBD connect, the ride-continuation grace period, battery-optimization exemption status, diagnostic log sharing, and language.

See screenshots in the README.

Back to Home.

Clone this wiki locally