The companion app for DashKit. Turn your phone into a real-time Tesla dash.
See the code
A companion app for DashKit, an open-source controller for Teslas.
DashKit plugs into the car and streams live car data to your phone over Bluetooth Low Energy. DashPilot turns it into a real-time dashboard: speed, gear, blinkers, blind spots, cruise set speed, speed limit, battery and more. Through DashKit it can also control the car (frunk, trunk, charge port, mirrors, climate) and run automations like keeping the climate on after you leave.
Supported cars: Tesla Model 3 / Model Y (2019–2024) and Model Y Juniper (2025+).
Get it on Google Play or TestFlight, and join us on Discord.
The dashboards are dash apps: a web app (HTML, CSS, JavaScript) or a Rive file. You can write your own. The dash-apps README describes the data they receive, and the built-in dashboards are working examples.
To try yours on a phone, open Settings → Developer: Load Rive File, or Load dash app from URL for a web app served from your computer. Set the data source to Demo on the home screen to get simulated driving data without a car.
🏆 Dash App Contest: build a dashboard and win $250. Submissions are open until October 30.
The app connects as a client to ws://<ip>:8080, where <ip> is the address you enter in the app. The port is fixed. Your server sends one JSON object per message, as often as it likes, each one a full snapshot of the car state using the CarState keys. Keys you leave out read as 0 / false. Send metric values (odometer in km, temperatures in °C, speed limit in km/h): the app converts them when the user picks imperial units. egoSpeed and accSetSpeed are shown as-is.
{ "egoSpeed": 87, "gear": 4, "leftBlinker": 2, "adasOn": true, "accSetSpeed": 90, "fusedSpeedLimit": 90 }
| folder | |
|---|---|
dashpilot-android/ | Android app (Kotlin, Jetpack Compose) |
dashpilot-ios/ | iOS app (SwiftUI) |
dash-apps/ | the built-in dashboards, and the contest |
bridge/ | C++ car connection and CAN decoding used by the comma data source, see its README |
scripts/ | copy the dash apps into the Android and iOS builds |
The DashKit firmware lives in its own repo: softwiredtech/dashkit-firmware.
dashpilot-android in Android Studio and run. The dash apps are copied into the app automatically before each build.dashpilot-ios/dashpilot.xcodeproj in Xcode and run. An Xcode build phase copies the dash apps.We're looking for bug fixes, performance improvements, good tests, and new dash apps.
[android], [ios], [dash-apps] or [bridge].The companion app for DashKit. Turn your phone into a real-time Tesla dash.
See the code
A companion app for DashKit, an open-source controller for Teslas.
DashKit plugs into the car and streams live car data to your phone over Bluetooth Low Energy. DashPilot turns it into a real-time dashboard: speed, gear, blinkers, blind spots, cruise set speed, speed limit, battery and more. Through DashKit it can also control the car (frunk, trunk, charge port, mirrors, climate) and run automations like keeping the climate on after you leave.
Supported cars: Tesla Model 3 / Model Y (2019–2024) and Model Y Juniper (2025+).
Get it on Google Play or TestFlight, and join us on Discord.
The dashboards are dash apps: a web app (HTML, CSS, JavaScript) or a Rive file. You can write your own. The dash-apps README describes the data they receive, and the built-in dashboards are working examples.
To try yours on a phone, open Settings → Developer: Load Rive File, or Load dash app from URL for a web app served from your computer. Set the data source to Demo on the home screen to get simulated driving data without a car.
🏆 Dash App Contest: build a dashboard and win $250. Submissions are open until October 30.
The app connects as a client to ws://<ip>:8080, where <ip> is the address you enter in the app. The port is fixed. Your server sends one JSON object per message, as often as it likes, each one a full snapshot of the car state using the CarState keys. Keys you leave out read as 0 / false. Send metric values (odometer in km, temperatures in °C, speed limit in km/h): the app converts them when the user picks imperial units. egoSpeed and accSetSpeed are shown as-is.
{ "egoSpeed": 87, "gear": 4, "leftBlinker": 2, "adasOn": true, "accSetSpeed": 90, "fusedSpeedLimit": 90 }
| folder | |
|---|---|
dashpilot-android/ | Android app (Kotlin, Jetpack Compose) |
dashpilot-ios/ | iOS app (SwiftUI) |
dash-apps/ | the built-in dashboards, and the contest |
bridge/ | C++ car connection and CAN decoding used by the comma data source, see its README |
scripts/ | copy the dash apps into the Android and iOS builds |
The DashKit firmware lives in its own repo: softwiredtech/dashkit-firmware.
dashpilot-android in Android Studio and run. The dash apps are copied into the app automatically before each build.dashpilot-ios/dashpilot.xcodeproj in Xcode and run. An Xcode build phase copies the dash apps.We're looking for bug fixes, performance improvements, good tests, and new dash apps.
[android], [ios], [dash-apps] or [bridge].