BlinkOBD — Cross‑platform OBD‑II Diagnostics App

Production‑grade Flutter app for real‑time vehicle data, DTC reading/clearing, maintenance resets, and a power‑user Hex console with robust BLE transport.

(2025 | Flutter, Dart, BLE (flutter_blue_plus), Provider, Intl, CSV | Android + iOS)

Overview

A cross‑platform OBD‑II diagnostics app delivering real‑time vehicle telemetry, DTC read/clear, maintenance resets, and an advanced Hex console. Built for reliability and store‑ready release operations.

Development Process

Planning & Design

  • Scoped MVP around stable BLE transport, core diagnostics (DTC/maintenance), and a clean Material 3 UI with EN/CN i18n.
  • Defined data model for ECU descriptors from CSV and navigation flows for “Connect → Diagnose → Reset”.

Implementation

  • Engineered BLE transport: MTU negotiation, connection state machine, permission gating, reconnection policy; stable comms with common OBD‑II BLE dongles.
  • Implemented ECU workflows: SFD access, searchable ECU selector backed by structured repository; safe command execution via Hex console.
  • UI: responsive Material 3 with light/dark themes; i18n and low‑friction interactions across Home/Settings/Diagnosis.

Deployment & Optimization

  • Release pipelines: Android signing/APK; iOS code signing/IPA; App Store Connect uploads (Transporter/altool).
  • GitHub Releases automation and semantic version tags; repository rename/migration, bundle IDs/names, crypto/export compliance.
  • Targeted tests for frame codec/BLE flows/repository behaviors; defensive error handling across BLE/diagnostics.

Key Highlights

  • Robust BLE stack + advanced diagnostics (SFD/Hex console).
  • Internationalization (EN/CN) and polished, low‑friction UX.
  • Store‑ready release process and compliance hygiene.