The ultimate Android Auto alternative for Tesla. Mirror Waze, Google Maps, and your phone screen directly to Tesla's browser.
한국어 · 日本語 · 中文 · Deutsch · Español · Français
Missing Android Auto in your Tesla? Want to run Waze or Google Maps on the big screen?
Castla is a free, open-source solution that streams your Android phone's screen directly to Tesla's built-in web browser over your local WiFi network. No internet connection, no expensive dongles, no cloud servers, and no subscriptions — everything stays fast, secure, and entirely between your phone and your car.
Key highlights:
- The Android Auto Experience — Bring your favorite navigation and music apps to the Tesla display.
- Real-time mirroring — H.264 hardware encoding + WebSocket streaming for ultra-low latency.
- Full Touch control — Tap, swipe, and interact with your phone directly from the Tesla screen (via Shizuku).
- Audio streaming — Stream your device's audio directly to Tesla's speakers (Android 10+).
- 100% local & private — All data stays on your WiFi/hotspot. Zero data is sent to the internet.
- Completely free — No ads, no paywalls. Open-source under GPL-3.0.
| Feature | Details |
|---|---|
| Navigation on Big Screen | Run Waze, Google Maps, or any app smoothly up to 1080p @ 60fps. |
| Touch Input | Full touch injection via Shizuku. Control your phone from the car screen. |
| Split View | Dual-panel multitasking. Navigation (Waze) on the left, YouTube on the right! |
| Virtual Display | Run apps independently on Tesla without keeping your phone screen turned on. |
| Audio | System audio capture (Android 10+, experimental). |
| Tesla Auto-Detect | BLE + hotspot client detection for automatic, seamless connection. |
| Auto Hotspot | Automatically toggle hotspot on/off when mirroring starts/stops. |
| OTT Browser | Built-in browser for DRM content (YouTube, Netflix, etc.). |
| Thermal Protection | Auto quality reduction when device overheats to protect your battery. |
| 9 Languages | EN, KO, DE, ES, FR, JA, NL, NO, ZH. |
- Android 8.0+ (API 26)
- Shizuku for touch control and advanced features
- Tesla vehicle with a web browser
- Phone and Tesla on the same WiFi network (or phone hotspot)
- Go to Releases
- Download the latest
.apkfile - Install on your Android device
git clone https://github.com/Suprhimp/castla.git
cd castla
./gradlew assembleDebugThe APK will be at app/build/outputs/apk/debug/app-debug.apk.
- Install Shizuku — Open Castla, tap "Install Shizuku" and follow the setup guide
- Start Shizuku — Enable Developer Options → Wireless Debugging → Open Shizuku → "Start via Wireless Debugging"
- Grant permission — Allow Castla to use Shizuku when prompted
- Connect — Make sure your phone and Tesla are on the same WiFi (or use phone hotspot)
- Start mirroring — Tap "Start Mirroring" in Castla
- Open in Tesla — Enter the displayed URL in Tesla's browser
┌─────────────┐ WebSocket ┌──────────────────┐
│ Android │ ◄───────────────► │ Tesla Browser │
│ │ │ │
│ MediaCodec │ H.264 frames │ WebCodecs API │
│ (H.264 enc) │ ─────────────► │ (H.264 dec) │
│ │ │ │
│ AudioCapture│ AAC stream │ AudioContext │
│ │ ─────────────► │ │
│ │ │ │
│ Shizuku │ Touch events │ Canvas + Touch │
│ (InputMgr) │ ◄───────────── │ event listeners │
└─────────────┘ └──────────────────┘
│
│ Local Network Only (WiFi / Hotspot)
│ No internet required
- Server: NanoHTTPD WebSocket server (port 8192)
- Video: MediaCodec H.264 hardware encoder → binary WebSocket → WebCodecs decoder → Canvas
- Audio: AudioPlaybackCapture → AAC encoder → WebSocket
- Touch: Tesla browser touch events → JSON WebSocket → Shizuku InputManager injection
- Shizuku: PrivilegedService for virtual display, input injection, hotspot control
Shizuku is required for touch control, virtual display, and auto-hotspot features. Without it, only basic screen mirroring (view only) is available.
See the Shizuku Installation Guide for detailed setup instructions.
We welcome contributions! Please read the Contributing Guide for details on:
- Bug reports and feature requests
- Development environment setup
- Pull request process
- Adding new translations
Castla collects zero data. No analytics, no crash reporting, no telemetry. All communication happens over your local network. See Privacy Policy for details.
I built Castla because I was frustrated by the lack of Android Auto in my Tesla. I decided to make it 100% free and open-source so everyone can enjoy a better driving experience.
If Castla made your road trips better and helped you navigate with Waze on the big screen, consider buying me a coffee! Your support helps cover development costs and keeps the updates coming.
This project is licensed under the GNU General Public License v3.0.
Copyright (C) 2024 Castla
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
