I’ve been waiting to write about my project “Carputer”, for a long time. I tried to share all details step by step from the first stages of this long-term project till completion. You can check my previous articles that I have written as a preparation to this project.
UPDATE: You can check it out my latest project, fitting iPad mini in car here if you’d like: iPad Mini in CAR explained
The Carputer project first started in 2009. My first goal was to provide a 7-inch touch screen, mount it in-dash on my vehicle, and connect an old laptop to this display to allow use of computer in car.
For this purpose, I first searched for touch enabled displays on the internet. I found the CarTFT store and chose the CTF700-SH model from many options. This is a 7-inch LCD display with a strong backlight to prevent glare under the sun and a special anti-glare coating. The native screen resolution is 800×480, which is also used smoothly with the interpolated resolution at 800×600. If you so desire, the product is also supported with 800×480 intel drives. In this way, although Windows does not support the standard with a modified driver, you can use your computer at 800×480 resolution. But this is not handy at all in low resolution windows. By the way, the time is not too old, but the fact that a 7-inch screen has a resolution of 800×480 was not a bad resolution for in 2010 🙂
You always need a simple user interface to use in car for security concerns. There are many applications developed for this purpose, paid or free. My first application was the interface you see in the photo above. This interface is a freely distributed by CarTFT. It offers a simple interface and was easy to use.
After I use some of these apps, I thought that I should develop on my own. I developed 3-4 different applications with C # .NET for 3 years.
I share 3 screenshots from old to new:
The image below was after I realized that I had to take application away from the Windows standard controls and make my own design in Photoshop. The basic application features and ‘code behind’ remained mostly the same.
Let me talk about the features and how I implement them to to my app:
This screenshot from a theme design that I created for Centrafuse ;
While I was doing search for alternative UIs for my carputer, I saw a car pc user interface application called Centrafuse. The advantage of the application is that it provides you the ability to develop plug-ins and themes using its API and SDKs. So I found this application is worth looking at and installed. I’ve used Centrafuse for about 3-4 months, Since I can connect to the vehicle via CAN-BUS and receive vehicle-specific data, I was doing a plug-in and theme work that could include them in Centrafuse.
I explained all staff about software. Let me start explain how I fit it.
2007 Citroen C4 out of the box dashboard:
The picture below shows the cars that coming with navigation as factory default. In Turkey there was no such option at that times. So even I could not find any after market 2-din mount kit.
Inspiring from the dashboard in the first picture, I cut the familiar dashboard to be able to be fit to my 7-inch monitor in-dash like shown in picture below.
I know the above image doesn’t look good. The above part was sanded from thick to thin. Then cut the plastic parts from the shampoo bottle glued to full the gaps from left and right side. Then the gaps were filled with putty and sanding started. This putty + sanding cycle took for 2-3 days .
After putty I used opaque black paint:
The problem after mounting display is computer unit. When I realised that this not gonna work with laptop, I decided to put a mini-atx motherboard in glow box as hearth of my carputer. I bought a video and audio onboard motherboard from Asus with DDR3 Ram and USB 3.0 support. Intel i3 is used as processor, a 60 GB SSD and an OCZ brand hard drive. The mechanical disk was nightmare because of vibrations. SSD’s boot time is another advantage.
The image above is still not good, but all good when you close the glow box. Glow box has air conditioning, so very good choice.
In the meantime, the socket at the bottom left of the touch screen above is the connection socket of our tiny trip computer display. Both power and data communication is provided on this line. Three years ago, I thought that this type of data communication was VAN (Vehicle Area Network), and I made a research about it and shared the data I received with an article I wrote on the blog. I thought the data analysis I did with the oscilloscope misled me and bought a Protocol Analyzer that can be connected to a computer via USB.
I bought a cheap protocol analyser to connect to PC: http://r.ebay.com/4bgJNr
After I realised the protocol is CANBUS, I got progress on deciding data form car. At the moment, almost I can decode most of the data coming from comfort bus of my car.
I think the reverse engineering that I applied in CAN-BUS should be subject of an article itself. Because there is no public document about this data. I also contacted with Citroen, they suggested me to contact with couple of companies in France for test equipments, sales and training. Since we do not have commercial purposes for the time being, they do not share details about CAN-BUS node IDs and values .. so I continue with Reverse Engineering.
Decoding without any document is challenging. I collected gigabytes of data for each scenario (ignition on, radio on, etc.). So I exported all data to MySQL server for better analysis of data. I tried to figure out bit changes on data by selecting distinct data from database. It took almost 2 months, approximately 30 mins in garage, 2 hours by doing data analysis a day.
I don’t use an after market radio. By default there is no aux output in radio. There is a special pin at the rear side of the radio but it should be enabled via software.
I use 3 pins from rear side of the radio (Right+, Left+, common).
Other side of this cable is standard 3.5mm stereo jack. In E-Bay there are ready to plug cables can be found. I have been using my own for 3 years.
Another issue is to provide power to motherboard. I used a DC-DC converter. A power card called the M4-ATX.
This small card you see above not only provide power for my carputer, also powers on the carputer automatically when You switched ignition on. The carputer is powered off by sending hibernate & shutdown & sleep command to the operating system when you switched ignition off. When the battery voltage becomes critical, it can automatically cut off the power. There are many more functional features.
Click here to download the data sheet of the device.
What I have in my glow box: Asus Mini-ATX Motherboard + M4-ATX DC-DC Power supply + SSD Disk
Result:
You can reach out to my next project after Carputer below;
Avaya SAL Gateway (Secure Access Link) is a remote connectivity solution used by Avaya to provide remote support for its… Read More
You can change Linux Timezone via bash command line easily. All Timezone information are stored in /usr/share/zoneinfo/./etc/localtime is symlink to… Read More
DALI is a communication protocol that is used for the automation of lighting, which is not new at all. It… Read More
Communication requires being in sync just like an orchestra. What happens when the bass guitar in band is not sync… Read More
You have access to many different Linux / Unix servers during the day, you are in the IT department, remembering… Read More
CAR PC in car is now old school and I decided to mount an iPad mini into the dashboard. (more…) Read More