Hello folks, I own a Skoda Roomster 2007 car that I really love so much, however it doesn’t have neither a bluetooth nor phone system, I had the same car in the past that had a bluetooth and hands-free calling system, unfortunately this one doesn’t. So I wanted to add these functionalities to the car. This was challenging as I am iPhoner already and never been an Android user before, although I am a Linux system Engineer. The good news is my son is and that’s where all started.
I wanted to share my setup with you, the challenges I went through and how I overcome them. Let’s exchange knowledge and if someone has a better solution please be so kind to share.
What I wanted to achieve:
In my setup there are two auxiliary cables (Legs) coming out of the system, the first leg is from the external USB sound card and this will handle the voice commands, Google Assistant responses, music and media outputs, while the other cable coming out of the phone socket will be dedicated to calling and to put this into work you need to disable "Calls" in the bluetooth settings of the Android phone after pairing and keep "Sharing Contacts" and "Media".
Using an old Android phone will avoid us the hassle of testing multiple bluetooth dongles that don’t support HFP/HSP profiles that won’t work in most scenarios, it will act as our phone server for making and receiving phone calls.
I have setup Tasker profile to switch to my second SIM card once bluetooth is connected when the OpenAuto Pro boots (to make it the default for receiving calls, a second SIM is already capable of making calls, send text messages, and internet).
I have also setup the ContactSync app to automatically sync my contacts from iCloud to the Android Gmail account registered on the Android phone. (This app is free for up to 40 contacts however you would need to upgrade to the premium for the auto-sync to work, it’s such a great app and I highly recommend it, but you can always use your favorite.
I wanted to share my setup with you, the challenges I went through and how I overcome them. Let’s exchange knowledge and if someone has a better solution please be so kind to share.
What I wanted to achieve:
- Hands-free voice command system
- Hands-free calling with the the caller name/number being displayed on the 7-inch touch-screen.
- Bluetooth media music controlled by the touchscreen and voice commands.
- Turn-by-turn navigation system using my favorite apps (Google Maps, Waze)
- Live car position tracking for security and other finding my car.
- Raspberry Pi 3B or higher (Raspberry Pi 4B is recommended)
- At least 3A charger with a type B micro USB end. (OpenAuto Pro requires more with more USB peripherals connected and still showing the lightening flash on the touchscreen with 3.1A)
- SD card (at least 8 GB) and the OpenAuto Pro preloaded on it using the Etcher or the official Imager software.
- Standard HDMI cable (the one comes with touchscreen will do just fine).
- External USB sound card.
- Lapel mic (nick mic) stereo and not mono as mono won’t work
- 2 auxiliary cables of good quality
- 2 extra USB-A to micro USB-B cables for the Raspberry Pi and the phone.
- 7-inch touchscreen for Raspberry Pi
- Bluetooth dongle that supports HFP/HSP and A2DP bluetooth profiles is preferred but not mandatory, a normal Bluetooth dongle will work in my setup.
- An old Android phone that is Android Auto capable.
- Multi-SIM card with same number (This provides calling functionality and Internet)
- Tasker app to automate things.
- Audio splitter (2-femal to 1 Male).
- Contacts Sync App from Google Play store.
- I bought a cheap CSR bluetooth dongle that doesn’t support the HFP/HSP profiles for making and receiving calls it’s known that it has issues with OpenAuto Pro. However, that was the only one among other unknown brands available in the market in my country, the known to work Panda brand is not available, so there was no guarantee that other ones will work. However if you can get one that support HFP/HSP and A2DP you will save the second AUX leg, so only one AUX cable is required in this case.
- Second, I am an iPhoner and I want to stick to my iPhone.
- I had to have something that keeps my contacts on both phones the Android and my iPhone in sync otherwise only the callers’ phone numbers will display without names identifying who is calling.
- The Android phone use (Huawei Y5 Prime 2018) runs Android Ore 8.1 with the latest security patch (no root) and doesn’t natively support Android Auto, so I had to download and install Android Auto from external sources (APK mirror) though this still have defeats and somehow slow performance but it did the job for me, maybe yours will do better.
In my setup there are two auxiliary cables (Legs) coming out of the system, the first leg is from the external USB sound card and this will handle the voice commands, Google Assistant responses, music and media outputs, while the other cable coming out of the phone socket will be dedicated to calling and to put this into work you need to disable "Calls" in the bluetooth settings of the Android phone after pairing and keep "Sharing Contacts" and "Media".
Using an old Android phone will avoid us the hassle of testing multiple bluetooth dongles that don’t support HFP/HSP profiles that won’t work in most scenarios, it will act as our phone server for making and receiving phone calls.
I have setup Tasker profile to switch to my second SIM card once bluetooth is connected when the OpenAuto Pro boots (to make it the default for receiving calls, a second SIM is already capable of making calls, send text messages, and internet).
I have also setup the ContactSync app to automatically sync my contacts from iCloud to the Android Gmail account registered on the Android phone. (This app is free for up to 40 contacts however you would need to upgrade to the premium for the auto-sync to work, it’s such a great app and I highly recommend it, but you can always use your favorite.
- Connect the HDMI port on the Raspberry Pi to the HDMi port on touchscreen using the HDMi cable.
- Connect the micro-USB port in the touchscreen to one of the USB-A ports on the Raspberry Pi.
- Connect the charger micro-USB type B to the powering socket on the Raspberry Pi.
- Connect the external USB sound card to the Raspberry Pi and connect the mic and one AUX cable to it.
- Connect the second micro-USB cable to the phone and the USB-A to the Pi, this is more stable for Android Auto than the bluetooth.
- Connect the bluetooth dongle to the fourth USB port on the Pi.
- Connect the second AUX cable to the phone audio output.
- Connect both AUX cables to the AUX audio splitter then to the car AUX socket as input to your car sound system/speaker.