Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

CarPlay solution for Tesla by Michal Gapinski using Raspberry Pi with Android

This site may earn commission on affiliate links.
So I first I just want to say, great forum and very helpful!
And thanks to mgapinski for this awesome work-around!!

I set up my Tesla-Android this week and finally deployed to my M3P last night. I'd like to say things went smooth.... but no.
Here's my setup:

Rasberry Pi 4 8 gb - (Case is plastic, so it doesn't interfere with WiFi signal)
Overclocked with suggested settings

SanDisk 128 Gb SD Card - (Figured I would go bigger for future update, plus so cheap anyways)

CarlinKit dongle - (Got the CCPA version as it was listed in hardware suggestions)

Phone - iPhone 14 Pro Max. (for Carplay)

Everything hooked up VERY easy and with no hitch at first. Very responsive UI.
The problem comes once the CarlinKit is connected to the Pi and Carplay comes up, the CarlinKit disconnects right away and the music plays through my phone. After that it won't stay connected at all and I have to forget device and re-pair.
I've tried rebooting Pi and car, neither help.

Also I must say even after reading through a few forums, I still don't have a great grasp on the install/setup process. It's not a very organized process.
- Does't the phone ONLY have to pair with the carllinkit?
- Do you also need to pair it to the Pi?
- Do you need to turn on bluetooth tethering (Hotspot) in the Pi settings??
I think we need a bit more detailed setup/settings process and maybe a troubleshooting post with solutions.

Any help with my issue would be extremely appreciated! I'm very excited to get this working! (and looking forward to version 2022.45)
sorry you are having issues. it can work very well. I use it daily. I have same carlinkit dongle model. I use it wireless and wired without issue. Wired mode is less finicky though But not too much.

i have theories and will type it up later when on computer. my rushed iPad type info will be horrible. 🤣
 
Hardware decode/encode is the key to making the virtual display feel like a directly HDMI monitor to the Pi. All the performance bottleneck is on the Pi side now, if Tesla doesn't break the browser or add other cpu hungry features to MCU 2 cars we are good to go. Even with things like gaming on Tesla Android in the full screen mode when parked :cool:
I got the PLEX app running and videos are quite choppy from PLEX.. gonna try Kodi later

Is there a way to install Google Play Store?

Does anyone know of a verizon USB dongle that would work? i have a free verizon sim card i could probably use

Any chance of moving the carlink kit code onboard the Pi so no extra dongle needed (maybe something like this Crankshaft - GNU/Linux for your car with Raspberry Pi and Android Auto ) ?
 
Last edited:
Does anyone know of a verizon USB dongle that would work? i have a free verizon sim card i could probably use
I think you could use any hotspot device that has an Ethernet port

Any chance of moving the carlink kit code onboard the Pi so no extra dongle needed
Don't know how big of a hill that would be to climb, but it would be nice to see just to see the Carlinkit people get cut out of future sales since they're essentially ripping off the developer's system.
 
@mgapinski - Any chance we can get a vertical display for us "Legacy S/X" folks? :)

I did a mock up and the aspect ratio is an almost identical match.
 

Attachments

  • IMG_3477.png
    IMG_3477.png
    1.5 MB · Views: 133
@mgapinski - Any chance we can get a vertical display for us "Legacy S/X" folks? :)

I did a mock up and the aspect ratio is an almost identical match.
Great idea. It might be best to put the suggestion in the anroid-tesla project's GitHub discussion forum and classify it as an idea category. Perhaps Michael has a way to convert those to actionable feature requests for tracking purposes if the idea seems good/possible etc.

Here is the link. You will probably need to make a free GitHub account to post an idea. If you do not want to make an account. I can post for you and add a link back to your original message here.
 
  • Like
Reactions: joshsandi
So I first I just want to say, great forum and very helpful!
And thanks to mgapinski for this awesome work-around!!

I set up my Tesla-Android this week and finally deployed to my M3P last night. I'd like to say things went smooth.... but no.
Here's my setup:

Rasberry Pi 4 8 gb - (Case is plastic, so it doesn't interfere with WiFi signal)
Overclocked with suggested settings

SanDisk 128 Gb SD Card - (Figured I would go bigger for future update, plus so cheap anyways)

CarlinKit dongle - (Got the CCPA version as it was listed in hardware suggestions)

Phone - iPhone 14 Pro Max. (for Carplay)

Everything hooked up VERY easy and with no hitch at first. Very responsive UI.
The problem comes once the CarlinKit is connected to the Pi and Carplay comes up, the CarlinKit disconnects right away and the music plays through my phone. After that it won't stay connected at all and I have to forget device and re-pair.
I've tried rebooting Pi and car, neither help.

Also I must say even after reading through a few forums, I still don't have a great grasp on the install/setup process. It's not a very organized process.
- Does't the phone ONLY have to pair with the carllinkit?
- Do you also need to pair it to the Pi?
- Do you need to turn on bluetooth tethering (Hotspot) in the Pi settings??
I think we need a bit more detailed setup/settings process and maybe a troubleshooting post with solutions.

Any help with my issue would be extremely appreciated! I'm very excited to get this working! (and looking forward to version 2022.45)

" Does't the phone ONLY have to pair with the carllinkit?"
iPhone needs to pair to the carlinkit/autokit bluetooth source. This is used only for initiating wireless CarPlay mode & once your phone asks you to approve setting up wireless CarPlay, you do not need to manually relink each time you get in car. You might want to consider starting off with wired CarPlay to make setup a bit easier as you learn more. Details below.

"Do you also need to pair it to the Pi?"
Nope.

"Do you need to turn on bluetooth tethering (Hotspot) in the Pi settings??"
No. If you changed that setting or any other network settings, I'd revert them to default.

Be sure you downloaded 2022.44.2 (it still will say 2022.44.1 on screen so look at the filenames you downloaded).

It almost sounds like auto kit app lacks permissions. Do you recall having to grant auto kit access to the android OS after plugging in the car linking to the pi the first time? It will ask about having access to photos, noice and I think USB. If you did not see these requests or answered no to them all. You can try going to PI settings & in search bar type auto kit and examine the USB & other permission settings.

I'd recommend using the autokit version which comes with 2022.44.2 . There is a newer one so if you updated, I'd downgrade. However, I'd recommend updating the carlinklit box to latest firmware. This is done via auto kit advanced settings I believe, it was at the bottom of the menu. Something like "update box". This will update the carlikit hardware's firmware I believe.

You should have set the audio destination to be bluetooth instead of box in the auto kit advanced settings.

Set your Tesla to pair to your iPhone and make it the priority connection.

I'd erase all your current CarPlay entires in your phone. I'd also remove the bluetooth entry for the carlinkit dongle. After you check the auto kit permissions and are ready to try auto kit again. Turnon your phone wifi and bluetooth. in bluetooth connect to the carlinkit and keep phone pretty near the carlinkit. This is used to start wireless CarPlay. I get a pop up on phone asking if I want to sync contacts & other data . I say no because the dongle can't use it for anything other than transmit it to who knows where ;). It then asks if I want to start wireless CarPlay and I say yes. After this I never use the bluetooth menu to connect to that device. You will now see an entry for the carlinkit in your phone's CarPlay settings.

You can also try the wired method as a starting point. Might be easier as you get used to the setup. Delete your wireless CarPlay entry and auto kit bluetooth association. To make thinks easier unplug carlinkit and Plug your phone in to carlinkit. then plug carlinkit in to the pi.

Hope this helps more than confuses. I think I'll make a video of my process when the next release comes out and gear it towards people who do not have prior pi or autokit/carlinkit experience (I'm still learning).

I learned a lot by practicing on a kindle that I installed auto kit on and plugged my carlinkit in to via usb bridge since my kindles usb based.
 
  • Informative
Reactions: timeshifter
You can also try the wired method as a starting point. Might be easier as you get used to the setup.
^ this is good advice.
The problem comes once the CarlinKit is connected to the Pi and Carplay comes up, the CarlinKit disconnects right away and the music plays through my phone. After that it won't stay connected at all and I have to forget device and re-pair.
When the Carlinkit dongle is connected to the Pi the app called AutoKit will launch. CarPlay starts when your phone connects. When you say "Carlinkit disconnects" what do you mean? The AutoKit app is still running but it has a message to connect the product (plug in the dongle)?
 
When the Carlinkit dongle is connected to the Pi the app called AutoKit will launch. CarPlay starts when your phone connects. When you say "Carlinkit disconnects" what do you mean? The AutoKit app is still running but it has a message to connect the product (plug in the dongle)?
When I say that carlinkit was disconnecting as soon as carplay came up on the tesla, I meant that the bluetooth connection for AutoKit-9078 on my phone would go right to "Not Connected" and the audio would only play through the phone.

I did however getting it working last night.
The way I weas able to get it working was to FIRST pair my phone to the Pi through bluetooth on my phone. Once that was paired everything else worked perfectly.
Drove it to work this morning and worked great until I received a text. when I tried listening to it on carplay, the audio stopped working. For all carplay.

I do have a small fan heatsink combo that may not be cooling the Pi enough (I am overclocked). Ordered the heatsink tower everyone seems to be using and should have it tonight. Hope it helps.

Thank you for the help @ElectricAnt54! I did most of the troubleshooting in your post before I saw it already and pairing the Pi to my phone first is only thing that worked.

I'll keep you posted after new fan/heatsink is installed.
 
  • Like
Reactions: ElectricAnt54
Do you mean connect it via Bluetooth to AutoKit-9078?

Also, have you set the AutoKit setting for Audio Channel to Bluetooth like show in the screenshot here:

Yes.. I have that set to Bluetooth (Not Box).

As far as pairing to the Pi itself, I went into the Pi's settings (Not AutoKit) and went to connections.
There I paired my phone through bluetooth.
This part was a bit quirky.

The pairing had to be initiated at the start through the Pi.
After it was paired to my phone I had a connection in my bluetooth list on the iphone for "rpi4" at which point the connection will disconnect.

It will not stay connected to the Pi unless I connect it through my iphone bluetooth settings (after it is added to my device list).
Once this is done, everything else worked great.

I hope this made sense... lol
 
Guess I'm confused why you're pairing Bluetooth to the Pi then.

Here's how I understand all the various connections work.

1. Tesla computer connects via WiFi to a WiFi network created by the Raspberry Pi.
2. iPhone is paired to Tesla over Bluetooth. Effectively used in the same way it was with a stock Tesla setup.
3. iPhone connects via Bluetooth to AutoKit-XXXX (which is phase one of wireless CarPlay) then
4. iPhone connects via WiFi to AutoKit-XXXX which is how wireless CarPlay operates
5. USB LTE modem connects to cellular network to provide Internet connectivity for Tesla
 
I was finally able to get the USB 4G modem to work with my single pi Tesla Android but I had to connected through a Netgear TL-WR902AC travel router that is very small and have many features including a USB port that you can connect a USB 4G Modem. I connected the Alcatel IK41UC to the TL-WR902A and after a simple and quick configuration it worked the first try. I then connected the travel router through a ethernet cable to the pi. Worked like a charm and it is fast, faster than when I connected to my windows pc. The good part is that this little travel router is only $40.

After the Alcatel IK41UC USB 4G modem worked on the Windows PC and the travel router I think that if you do not previously configure/connected to a two pi Tesla Android configuration the single pi configuration image is missing some configuration settings and it does not work. Hopefully on the new versions this will be addressed.
I have the same travel router and the Alcatel IK41 works fine with my PC however if I plug the ethernet into the PI it does not work, the lights on the plug flash but does not allow the internet connection, do I need to change any setting to enable the ethernet to work?
 
Anyone tried this simple USB CarPlay dongle?looks like plug and play and easy setup incarelectronic|wireless carplay android auto USB dongle
@will7171 I would not buy the product. It is very likely tesla will alter the car browser code at some point which will prevent the device you mention & all browser based solutions from working. It might be in 6 months, a year or two, maybe never if we are all lucky. At least when the ability to view in browser is gone people who use the free open source methodology can sell the pi, use it for something else, donate hardware to schools or other good charity. The device you mention & similar clones will end up in the trashcan, stay in a garbage dump and have no useful second life.
 
Last edited:
I have the same travel router and the Alcatel IK41 works fine with my PC however if I plug the ethernet into the PI it does not work, the lights on the plug flash but does not allow the internet connection, do I need to change any setting to enable the ethernet to work?

I sent this earlier to another TMC member:

"I did this sometime ago so not sure if I will miss any detail step but in general steps - With the router off - Turn router mode switch to "Shared ETH". Connect the USB Modem on the USB port. Connect the RPI Tesla Android ethernet port to the ethernet port on the router (cat5 or cat6 cable will either work). Turn Router on. Connect to the router through WiFi using your web browser from your computer (Windows, Mac, Linux, etc...) - there are two WiFi available networks you can choose to connect - both will work for configuring the router. Once connected to the router WiFi, login to the router through browser using address 192.168.0.1. Once logged in the router click on the "Operation Mode" tab and set the router as "3G/4G Router" and then "Save". Then click on the "Network" tab, make sure "Set the Dial Number, APN, Username and Password manually" is unchecked - if it is checked then uncheck it, and set Location "USA", and Mobile ISP "T-Mobile" (if you are using T-Mobile or any T-Mobile sub-vendor such as Tello, if not you will need to test for what works for your case) , the ISP details will be set automatically leave the APN as "epc.tmobile.com", set "Connection Mode" to "Always On", Set "Authentication Type" to "Auto" the click save. After successful save unplug power from router then re-plug power. Wait and it should start working. Make sure the blue light is not blinking , the first time you do this it takes a few minutes to get a solid usb modem blue light but the next time is fast. Login to Tesla Android, go to web browser and go to a "speed test" on a speed test web site of your choice."
 
  • Helpful
Reactions: ElectricAnt54