I drive a 2013 Honda Fit with factory navigation. The audio player/head unit that came with it has all the features i wanted. It has an AM/FM radio, a DVD player, GPS, Bluetooth, USB, TV and a built in hard drive for storing multimedia. However, despite its rich feature set, most of these features are not usable in Sri Lanka because it is a domestic model designed to be used only within Japan. For instance, it is entirely in Japanese language and there is no way to switch the language to English. Its FM frequency range is 76-90 MHz whereas FM range in Sri Lanka (and most of the other countries as well) is 88-108 MHz. The DVD player supports only a limited number of audio and video formats. GPS is not usable at all since it only has Japanese maps which cannot be replaced. Same goes to TV because Japanese TV frequencies are different from that of Sri Lanka. It was high time for me to replace the factory head unit due to these reasons.
I had the following requirements in mind when i started searching for a suitable replacement:
- No modifications should be needed on the dashboard in order to fit the replacement unit
This is a challenge since the factory head unit has a non-standard frame which fits it into the dashboard. Most replacement head units have a square shape frame which does not retain the original look, and also does not use the available space effectively.
- Should have all the features of the factory head unit mentioned above
It should have an AM/FM radio, a DVD player, GPS, Bluetooth, USB and built in storage.
- Should be able to reuse existing connectors/sockets
Replacement head unit should be able to reuse existing USB connector, A/V input, GPS antenna, AM/FM antenna and the reverse camera. Existing wires should not be cut when installing the replacement unit. The idea here is to make minimum modifications and to be able to replace the original head unit if the need comes.
- Should run a stable, open operating system
An open operating system can be tinkered to best suit the requirements at hand. Availability of a wide range of applications will ensure extensibility. Android OS was chosen due to these requirements.
I was impressed to hear about Android Auto when it was first announced by Google. It allows an Android smartphone to be projected onto the dashboard head unit, allowing the driver to use GPS, navigation, music playback, SMS, telephony and web/voice search. But the release of Android Auto was not so impressive because the protocol specification was only released to aftermarket head unit manufacturers. Google did not want tinkerers and DIY users to play around with it in order to ensure road safety. The downside of this is increased cost of head units that support Android Auto. There is a thread in XDA Developers which attempts to reverse engineer the Android Auto protocol and make it available as a standard Android application. However, it still has a long way to go until it can deliver the fully fledged Android Auto experience.
Having decided not to go ahead with Android Auto, my next option was to look for a head unit which runs Android natively. Things got a little more complicated here because details about the factory head unit was not disclosed to the public. For an example, I was unable to find what kind of sockets and interfaces are in the back of the factory head unit in order to find a matching replacement unit. Only available option was to temporary remove the factory head unit in order to see the back of it. My good friend Lakshitha came to the rescue, and we were able to remove the head unit to find the required details.
Once the sockets and interfaces of the factory head unit were identified, it was a matter of finding a suitable replacement head unit. After an extensive search, i decided to settle on this head unit from Aliexpress. It’s frame is custom made to fit into my dashboard, and comes with a wiring harness that plugs directly into the main audio connector. Shown below are some photos of the replacement head unit:
The wiring harness that came with the replacement head unit directly plugged into the factory audio and power connectors. Therefore powering up the replacement head unit and routing audio to the speakers were fairly straightforward. However, integrating the following features were not so straightforward:
- AM/FM antenna
The wiring harness did come with a connector for the AM/FM radio antenna, but it did not plug into the factory connector. I had to use an adapter to patch the wiring harness in order to overcome this problem.
- GPS antenna
The replacement head unit came with a separate external GPS antenna. It required wiring and positioning the antenna in a place with good signal reception. I didn’t want to do this since the car already had a built in GPS antenna which can be reused. However, the factory connector had a GT5-1PP socket while the replacement head unit was using a SMA connector. An adapter cable was again needed to connect the two ends.
- Steering Wheel Controls (SWC)
The first task in integrating SWC was to find the factory socket and the pins which connect to the SWC buttons on the steering wheel. SWC buttons have fixed resistance values which can be used to identify the button pressed by the user. Finding the correct socket and the pins were quite difficult due to the lack of documentation on factory sockets and their pinouts. I had to check the pins in each factory socket in order to identify the correct socket. Following figure shows the socket and the pin which carries SWC resistance values:
The SWC pin was connected to Key1 (K1) wire in the replacement head unit. This enabled the functionality of channel, volume and mode buttons on the steering wheel. However, Bluetooth buttons (call answer and disconnect) were linked with a different pin, which was identified and connected to Key2 (K2) on the replacement head unit.
- USB connector
The replacement head unit had a USB extension cable which plugs into the head unit, and has a standard USB OTG port at the other end. Most of the time this USB cable is placed in the cubby hole of the vehicle for easy installation and access. I didn’t want to follow this approach since the car already had a standard USB port on the dashboard itself. I just needed to find the factory socket which connects to this port and map that to the head unit socket. This also had to be done using a trial and error process. Identified factory socket and the pinout is shown below:
- A/V input
The car dashboard has 3 RCA connectors to input audio and video to the head unit. The factory socket and the pins which connect to these RCA connectors were identified using the same procedure, and they were mapped to the corresponding connectors in the replacement head unit. Factory connector that carries RCA signals and it’s pinout is shown below:
- Reverse camera
Integrating the reverse camera was the most difficult part in the process. The factory socket at the camera’s end had 6 pins which were quite difficult to identify. The internet didn’t provide much help, and I didn’t want to take too many risks here either since a single wrong connection could damage the camera. Out of the 6 pins, 2 should carry power to the camera and another 2 pins should carry the video signal back to the head unit. I already knew that the video signal from the camera is RCA.
I was able to identify the 2 power pins quite easily using a multi meter. It was learnt that the camera requires a 5v DC supply which was provided by the factory head unit. Since the replacement head unit didn’t have a 5v output, I used a step down power module to drop 12v main supply to 5v required by the camera.
Rest of the pins in the camera’s factory socket were identified using a trial and error process. The socket and the identified pinout is shown below:
The corresponding socket at the head unit’s end and it’s pinout was identified using the same trial and error process:
The head unit also needed to know when the car is in reverse gear (reverse signal) so that it could switch on and display the video feed from the camera. This signal was extracted from the socket and the pin shown below, and connected so Reverse wire in the head unit.
Main power from the head unit was used as the input to the step down power module which in turn powered the camera. Video output from the camera was connected to camera input in the head unit using a RCA connector. Once done, the head unit displayed the video feed from the camera once the car is in reverse gear.
I also wanted to use the OBD interface of the car to monitor engine statistics and fuel efficiency using the new head unit. I used a WiFi ELM 327 OBD2 adapter for this purpose. A WiFi adapter (rather than a Bluetooth adapter) was needed because the head unit can only make a single Bluetooth connection, which is already needed to connect my phone. I am using 2 separate apps on the head unit to view OBD data: Torque and Dashcommand. Both these apps have dashboards to show OBD data, and also allows customizing and creating new dashboards as well. Shown below are some screenshots of these apps:
Shown below are some screenshots from the new head unit:
Results of this project turned out to be very impressive. The new head unit has an AM/FM radio, Bluetooth, GPS navigation, a DVD player and USB support which can play a wide variety of audio and video formats. OBD interface allows monitoring of performance and fuel efficiency of the car. Having internet access enables general internet browsing and real time updates when using navigation (eg: traffic and road closures/repairs).
The new head unit is also an Android running on wheels! It supports Google Now voice assistance which allows me to perform basic tasks directly by talking to it. Full Google Play Store access makes finding and installing new applications a breeze. The car can also be remotely located and tracked by using Android Device Manager (or any other app available for Android).
That’s pretty much everything I expected from a car head unit. Only exception here is support for terrestrial TV which was there in the factory head unit. Watching TV in a car is not really a thing in Sri Lanka anyway. Besides this can be added in the future if needed by simply adding a DVB receiver. The head unit has a video input which can be used for this.
While it is no K.I.T.T, the new head unit integrates well with the car and offers a lot of features including voice assistance. The next step in paving way to a truly smart connected car is to introduce automation. This can be done using apps such as Tasker or IFTTT. This is noted as the next phase of this project.