Teslas are known for popularizing the massive touchscreen on the dashboard, but as Tesla owners know all too well, that screen can’t be used to connect your phone using Android Auto or Apple CarPlay. But what if there was a way, a very convoluted way, but a way nonetheless?
Developer Michał Gapiński has been working on the “Tesla Android Project” for a few months now and just demonstrated a working solution. Here it is captured on video:
The eagle-eyed among you may have noticed something weird – the CarPlay UI is running in the browser. Well, that’s not quite the case, the car’s browser is used to cobble together a sort of screen casting solution.
There is actually a Raspberry Pi 4 that runs a modified version of Android 12. The video output of that is sent to a second Raspberry Pi (running Linux), which converts it into something that can be viewed using the car’s browser. Touch input is captured by the browser and sent to the first Pi for processing. It is the first Raspberry that handles the CarPlay stuff and it can also run native Android apps. You can find more details on the hardware requirements here, but fair warning – this project is not for the faint-hearted.
As convoluted as all of this sounds, it actually works. You can use Apple Maps for navigation, apps that let you access third-party charging stations and so on, all from the touchscreen on your Tesla. Even DRM-protected multimedia works correctly (Apple Music is demoed in the video, Netflix works too, apparently). With recent performance improvements that raised the frame rate to 60fps, the whole thing actually appears fairly smooth.
The developer suggests that it might be possible to drop the second Raspberry Pi in the future, but right now you need two. You can use wireless Android Auto or CarPlay if you have a CarlinKit dongle (in fact, this project uses AutoKit app that dongle).
Have a peak at the latest release notes for the project, there have been impressive improvements in a short amount of time.