82 / 100
Vehicle Health Score
Battery 80% ยท Range 320km
โš ๏ธ
Fault Codes
All Systems Normal
โ€บ
๐Ÿ”ต
Tires
Normal ยท FL 240kPa
โ€บ
๐Ÿ”ง
Maintenance
1 Item Due Soon
โ€บ
๐Ÿ 
Dashboard
โš ๏ธ
Faults
๐Ÿ”ต
Tires
๐Ÿ”ง
Service
๐Ÿ“ฑ
Pair
๐Ÿš— BYD DiLink Exclusive ยท Android

Vehicle health,
at a glance

Translate 23 fault codes into plain language, monitor tire pressure, and track maintenance schedules โ€” all on your BYD in-car display.

Supported Models
Atto 3SealSealion 6Sealion 7Dolphin

App Components

Three components, one system

Vehicle, server, and smartphone work together seamlessly.

๐Ÿš—

Vehicle App

Installed on BYD DiLink headunit

Directly integrated with the BYD HAL OpenAPI to read real-time sensor data. Displays fault codes, tire pressure, and maintenance status on the in-car display. On CRITICAL fault detection, sends an alert to the relay server.

Kotlin Jetpack Compose Hilt ยท Room
โ˜๏ธ

Relay Server

Deployed on Railway

Issues 6-digit pairing codes to securely link vehicles with smartphones. Receives fault alerts from the vehicle app, persists them in PostgreSQL, and immediately forwards push notifications to paired smartphones. Handles FCM/APNs delivery since DiLink has no GMS.

Node.js PostgreSQL Firebase Admin
๐Ÿ“ฑ

Companion App

iOS & Android smartphones

Install on your smartphone and enter the 6-digit pairing code shown on the vehicle app to link your devices. Receive instant push alerts on CRITICAL faults and browse the full alert history at any time. Connection persists across engine restarts. iOS uses APNs; Android uses FCM.

Flutter iOS APNs Android FCM

How It Works

Fault detected. Phone notified.

A real-time alert pipeline from vehicle to server to smartphone.

๐Ÿ”—
One-time Setup โ€” Pairing
Vehicle app "Pair" tab โ†’ enter code in companion app
  • Vehicle app requests a 6-digit code from the server (valid 5 min)
  • Enter the code in the companion app โ†’ accessToken issued & stored
  • Connection persists across engine restarts
โ†“ Normal operation after pairing
๐Ÿš—
BYD DiLink Vehicle App
android/ ยท Kotlin + Jetpack Compose
  • Reads sensor data in real-time via BYD HAL OpenAPI
  • Analyzes 23 fault codes and classifies severity
  • On CRITICAL fault: sends to server with 1-hr cooldown & 3 retries
  • Displays fault, tire, and maintenance status on in-car screen
โ†“ HTTP POST /alert
โ˜๏ธ
Railway Relay Server
server/ ยท Node.js + PostgreSQL
  • Persists alert history in PostgreSQL
  • Sends APNs push to all registered iOS devices
  • Sends FCM push to all registered Android devices (500-batch)
  • Auto-cleans expired tokens weekly
โ†“ APNs / FCM
๐ŸŽ
iOS Companion
iPhone ยท APNs
  • Instant push, even in background
  • Browse alert history
๐Ÿค–
Android Companion
Smartphone ยท FCM
  • Instant push on GMS devices
  • Browse alert history

Companion App

Your phone, always in the loop

Pair once with a 6-digit code, then receive real-time fault alerts wherever you are.

โ‘  One-time pairing
9:41โ—โ—โ—
BYD Health Monitor
๐Ÿ”—
Connect to Vehicle
Enter the 6-digit code shown
in the vehicle app's "Pair" tab
4
8
2
ยท
9
5
1
Connect
Code expires in 5 minutes
โ‘ก Real-time alerts
9:41โ—โ—โ—
BYD Health Monitor
โ†ป
๐Ÿšจ
Coolant Temp Exceeded
CRITICAL
Coolant temperature exceeded the limit. Inspect immediately.
2026.09.21 14:32
โš ๏ธ
Battery Cell Imbalance
WARNING
High voltage deviation detected across battery cells.
2026.09.20 09:15
โ„น๏ธ
Cabin PM2.5 Elevated
INFO
Indoor PM2.5 level is high. Ventilation recommended.
2026.09.19 18:44

Features

Everything you need

Directly integrated with the BYD HAL OpenAPI for real-time vehicle data.

โš ๏ธ

Fault Code Translation

Translates 23 fault codes into human-readable descriptions with recommended actions. Categorized by CRITICAL ยท WARNING ยท INFO severity.

๐Ÿ”ต

Tire Dashboard

Live pressure (kPa), temperature, air leak detection, and TPMS system status for all 4 tires โ€” overlaid on a top-down vehicle graphic.

๐Ÿ”ง

Maintenance Tracker

Track replacement intervals for engine oil, brake fluid, coolant, tires, AC filter, and brake pads. Log service history with mileage and notes.

๐Ÿ“Š

Health Score Gauge

A single 0โ€“100 score summarizing fault severity and maintenance status, displayed with an animated circular gauge.

๐Ÿ””

CRITICAL Alerts

Automatic status bar notification when a critical fault is detected. Built-in deduplication prevents repeated alerts for the same code.

๐Ÿ“ˆ

Battery & Range

Real-time battery percentage and estimated electric driving range displayed directly on the dashboard.

๐ŸŒ™

Dark Theme

Designed for in-vehicle use. A BYD-inspired dark color palette minimizes glare during night driving.

๐Ÿ”Œ

Mock Mode

Full UI works without a real vehicle. Automatically falls back to mock data when BYD OpenAPI is unavailable.

๐Ÿ”—

Pairing Code Link

The vehicle app generates a 6-digit code. Enter it once in the companion app to link your phone. The connection survives engine restarts automatically.

๐Ÿ”„

In-App Auto Update

When a new version is released on GitHub, the vehicle app downloads and installs the APK directly. The companion app guides you to the release page.


Health Score

One number, full picture

Multiple vehicle metrics combined into a single score so you know exactly when to act.

82
Good
1 maintenance item due soon
80+ โ€” Good
50โ€“79 โ€” Caution
Under 50 โ€” Critical

Scoring Formula

Starting score 100 pts
Per CRITICAL fault โˆ’40 pts
Per WARNING fault โˆ’15 pts
Per overdue maintenance item โˆ’10 pts
Minimum 0 pts

Requirements

Before you install

A BYD DiLink vehicle and Android build environment are required.

Vehicle
BYD DiLink-equipped model
OS
Android API 23+
Orientation
Landscape (fixed)
Build Tool
Android Studio / Gradle
BYD OpenAPI
ADB-extracted jar or Mock mode
Permission
Notifications (CRITICAL alerts)

Install

Download APK or build from source

Grab a pre-built APK from GitHub Releases, or build it yourself.

โšก Quick Install โ€” Download APK from GitHub Releases

No build tools needed. Future updates are prompted automatically inside the app.

1

Download the APK

Visit GitHub Releases (latest) and download byd-vehicle-vX.X.X.apk.

2

Find your vehicle IP

Enable Wireless ADB in DiLink Settings โ†’ Developer Options and note the IP address.

3

Install via ADB

adb connect <vehicle_IP>:5555 adb install byd-vehicle-vX.X.X.apk
4

Install the Companion App (smartphone)

From the same Releases page, download byd-companion-android-vX.X.X.apk and install it on your phone.

โš ๏ธ

Real-vehicle testing is still limited. Behavior may vary by model and DiLink version. We welcome feedback from early testers!

๐Ÿ›  Developer โ€” Build from source

Connect your BYD DiLink via USB or wireless ADB to install directly.

1

Clone the repository

git clone https://github.com/GeyuongGongPark/BYD-Health-Monitor.git cd BYD-Health-Monitor
2

Open in Android Studio

Go to File โ†’ Open and select the cloned folder. Gradle sync starts automatically.

3

Deploy to DiLink

./gradlew :android:installDebug
โ„น๏ธ

The app runs fully in Mock mode without a real BYD vehicle. Test the entire UI on any Android device or emulator before deploying to DiLink.