TheSamba.com Forums
 
  View original topic: Wireless CarPlay in a Syncro using a Raspberry Pi
pnwkayaker Tue Jul 04, 2023 1:34 am

WARNING: the following writeup is not the fastest, cheapest or easiest solution to get a CarPlay receiver installed in a Vanagon (for that get any of the ones available at Amazon) - however, I had lots of fun while building it and the end result is exactly what I was looking for.

First, let’s see a picture of the finalized project, since there’ll be lots of words until the next one:



So I’ve been following the updates on the [Apple CarPlay Receiver?] thread with interest, making notes on the models and options used by the different folks, but I’ve never sat with/touched/used any of them on a Vanagon.

Couple months ago while at the Mule Open House @sodo showed me the CarPlay receiver that he installed in his Syncro [BOSS stereo unit 7" screen install thread BE7ACP-CFT] and I was sold out, that big screen was screaming roadtrip! However, I was not convinced of the location of it (replacing the standard stereo): the screen it was too low for my comfort (would need to somehow constantly look down and up to see maps/instructions and/or change music) and some folks using floating displays on a Vanagon have also complained that the shifter sometime would hit the screen.

My requirements were as follows:
- I wanted to have a CarPlay screen at an eye-level almost position
- I wanted to not have to worry about the shifter hitting the screen
- The CarPlay screen shouldn’t be too big (nothing like a Tesla screen) so it wouldn’t be the focal point in the van
- I should not be a permanent installation, something that could be easily removed and locked in the VanagonLife console
- A wireless connection would be super cool, allowing me to eliminate one more cable dangling on the dashboard.
- Finally, I wanted to be able to somehow tweak/customize It if possible, like adding OBD2 displays or something else (Syncro has a Subaru 2.5)

I started to think more about it, and I thought, could I do this using a Raspberry Pi? It turned out that it was possible (a fast search with Google will found lots of possible options in many different ways) so I started to think how to accomplish the above list of requirements.

My parts list is as follows:

- CarlinKit Wireless CarPlay USB Adapter for Android car radios [Amazon link]
- Open Auto Pro - this is the brain of the solution, a software that will install an Android base software on top of Raspbian on a Raspberry Pi and interface with the above CarlinKit [Blue Wave Studio link]. I also bought the AutoBox add-on to enable CarPlay.
- Official Raspberry Pi 7” display, available in many places, the cheapest I found was at DigKey [DigiKey link]
- Raspberry Pi 4 - 4GB (stock levels are coming up again, I had one available from a couple years ago)
- SmartiPi Touch Pro, a case for the Official Raspberry Pi display [SmartiCase link], I also bought the USB extension from it.
- TP-Link USB BluetoothAdapter (Bluetooth 4.0) - very important since Open Auto Pro has problems interfacing with the Broadcom bluetooth native in the Raspberry Pi [Amazon Link]
- A very small (and cheap) RF wireless keyboard with integrated trackpad that can use to interact with the Raspberry Pi if needed [Amazon link].
- Rubberized magnets with Bolts, 26-lbs pull force [Amazon link]

Open Auto Pro is extremely customizable, but it’s not super-beginner friendly. The best way to start with it is try to enable basic CarPlay communication with the iPhone (just connect the iPhone via Bluetooth to the Autokit network) and then start to configure/customize it (the Blue Wave Studio developers are very active at the forum in their website and have posted lost of configuration help and details). Super cool is that the software can enable a WiFi hotspot so I’m able to log-in wirelessly using an iPad and tweak the configuration on-the-fly. I also carry in the van the small keyboard mentioned above just in case.

I’ll be skipping all the steps to configure the software and the Pi (the Blue Wave Studio website contains all the documentation on how to do it) and focus on the Vanagon installation.

The picture below show how I mounted the Raspberry Pi all the way to the right of the case, so the USB ports remain inside, along with the the CarlinKit Receiver, the Bluetooth dongle and the USB extension, ending up with a very clean solution (no cables anywhere). There’s an extra USB port inside that’s not used (yet) but I’ll add something to it. At the top, to the right, you can barely see an optional fan that will constantly blow air to keep it cool (noise level is way low, cannot hear it with engine on)



The next 2 pics show the closed case from the rear and from the side





Then I brought it to the van to prototype where to install it, initially I thought of having it on top of the cluster (felt like a jet fighter) but I was afraid of losing immediate visibility in front of me.



Instead, I decided to mount it centrally, either on top of the aftermarket console (where the ash tray is located) or on front. Since the SmartiPi Touch Pro case has a full metal base, I installed 4 very strong magnets (2 on top, 2 on the front) and played with the position.



Below is a detail of the bolt attached to the magnet (the cables were later taped to the side, and everything is fused, so don’t worry).



I decided at the end to leave it on top, I haven’t removed the front magnets yet (it was a PITA to install them), trying to think if I could use them for anything else. I’m using a very short USB-C to USB-A cable to connect the whole setup to one of the top USB ports (it’s the very short cable in the top, that’s routed from behind).



A view from the back, the magnets are super-strong and that screen does not move at all. In order to remove it, I need to push forward and down to start breaking the connection. There’s a variant that has 40-lbs of pull force, but I think that’s way too much (26-lbs seems to be the sweet spot).



Finally, a view with everything running; the phone is wirelessly connected to the Raspberry Pi while also running MotionX-GPS to show a compass and the speed.



Things left to do:
- Audio: I left my original cheap media-only player in the Syncro, and I connect the Raspberry Pi via Bluetooth to it to play music. However, the connection is not happening automatically upon restart (need to use the external keyboard to enable it) so I still have some work to do make it happen automatically.
- OBD2: Open Auto Pro supports OBD2 and can connect to a Bluetooth dongle with an ELM327 chip. I have a ScanGauge 2 installed in my Syncro and built a special adapter that can use the RJ-11 cable for the ScanGauge to connect the Bluetooth dongle, and then display the information in the Raspberry Pi (works perfectly). However, OBD2 seems it can only support the ScanGauge or the Bluetooth dongle, not both simultaneously (seems like a protocol limitation, tried to build several adapters without luck), so for now I’m just using the ScanGauge. The ScanGauge 2 has another RJ-11 port to daisy link ScanGauge devices, so I might try to look at it to connect the Bluetooth dongle.

Future:
- Having a Raspberry Pi opens a lot of opportunities, for example, I could add buttons to the front case connected to to the GPIO (general purpose input output) connector to the Pi, and use them to trigger special actions and/or programs (need to think which ones).
- Open Auto Pro has full Android Auto in it, not sure if I’ll have any use for it, since I’m using an iPhone, need to do more research
- A co-worker built this awesome partial replica of a 737 Primary Flight Display for his Jeep using a Raspberry Pi and some external GPS and other sensors, I might try to include it also and trigger it with an external button [GitHub link]

I expect to make more improvement/changes now that the basic setup is in place, will try to document them in this thread.

MarkWard Tue Jul 04, 2023 4:21 am

Have you operated the van say in New Mexico in July? Even with clear windshield tint, our phones overheat if they are on the dash. Quite an undertaking.

pnwkayaker Tue Jul 04, 2023 7:39 am

MarkWard wrote: Have you operated the van say in New Mexico in July? Even with clear windshield tint, our phones overheat if they are on the dash. Quite an undertaking.

Nope, I’m in the Pacific NorthWest and just finished the build, New Mexico is quite some way from here :D

The connection is wireless, I can keep the phone in my pocket if I want and it will still work so the phone will not overheat.

Having said that, there’s a fan at the back of the case, blowing air constantly to the Raspberry Pi to keep it cool (you can barely see it at the top of the second pic showing the case open). This is an optional fan and I decided to include it for that exact reason (we’ll see if it’s enough).

I took the van camping this weekend, temperature was above 82 here and had zero issues with the heat.

mtnhome Tue Jul 04, 2023 9:12 am

This looks really cool! Now you've put another thing on my list of future projects. I've been working on using Raspberry Pi's to automate one of my production machines and have a spare RPi 4b and 7" screen laying around since I went to a 10.1" screen,
Is there an on off swithch on the case or do you have a switched USB outlet? I understand that the RPi 4 should have a 3 amp power supply.
Do you need 4gb or would a 2gb Raspberry Pi be adequate for this?
Looking forward to seeing your updates!

pnwkayaker Tue Jul 04, 2023 10:11 am

mtnhome wrote: Is there an on off swithch on the case or do you have a switched USB outlet? I understand that the RPi 4 should have a 3 amp power supply.
Do you need 4gb or would a 2gb Raspberry Pi be adequate for this?
I have a switched USB outlet, running from the aux battery. It’s not delivering 3 amp (2.1A if I remember correctly), so the RPI is throttling down a little (through still working fine). I’m currently researching which panel connectors could I use instead to increase the power output so it runs at full speed (this [Powerwerx connector] seems like a good option).

Open Auto Pro can do a shutdown from the touch screen to prevent SD card corruption, so I use it prior to turning the Raspberry Pi off (since I’m running from the aux battery, I can do it easily even after turning off the engine).

I think a 2 GB Rasbperry Pi should work fine - I just had the 4 GB unit on hand.

pnwkayaker Sat Nov 30, 2024 5:34 pm

Just wanted to provide a short update on this project in case folks want to create a similar solution:

Although my last update was from July 2023, I hadn't yet fixed the issue with the audio not reconnecting automatically upon a restart. Since I usually have a copilot (my wife) she is in charge of playing music from her phone to the head-unit. Nowadays, I took a couple days off this week for Thanksgivings break, so I decided to try to fix the audio issue (wanted to be able to drive to work listening to some good music).

In one of my previous posts I mentioned that the brain of this solution was a software called Open Auto Pro; however, it seems the company that made that solution was sold and all development and support for Open Auto Pro has been discontinued (is not possible to even access the knowledge base, guides, forums, order history, Youtube videos, etc).

Doing some more research I found an Open Source solution called react-carplay [link] that looked very promising, so decided to give it a try. I installed the latest RaspberryPi OS (bookworm) in a new SD card, followed the instructions in the website to install react-carplay (setup-pi.sh script) and my installation was up and running shortly.

Furthermore, I was able to enable a Bluetooth connection from the Raspberry Pi to my cheapo JVC head unit to stream audio, and the audio connection re-established automatically upon a restart (this was my originally goal). Also, since it uses plain Raspberry OS, it’s easy to customize graphics and everything else.

In short, Open Auto Pro was a good solution a year and a half ago, but it was closed source, and based on an older/modified OS version, so it was difficult to fix/customize issues. Furthermore, current support is non-existent. However, since that time new open source solutions have popped up, enabling similar or better functionality.

Some pics below, showing the new VW splash screen, custom Syncro logo, and settings screen (using a RPI 4B, I can run up 60 FPS for smooth animations, with a RPI 5 it's possible to use 80 FPS).

"This is the way…"






jocoman Tue Feb 18, 2025 2:14 pm

This is another piece of software that could do the job.

https://github.com/opencardev/crankshaft

Thinking of giving it a try...



Powered by phpBB © 2001, 2005 phpBB Group