Carputers – some ideas to get you started

We are firm believers in the idea that computing starts to get really interesting – interesting enough to suck in people who have never programmed before – when you begin interfacing software with real things made out of atoms. That’s why there are GPIO pins on the Pi (another reason you should never tread on one with bare feet). Here are some resources to get you started with some real-world hacking: namely, hacking your car.

The usual disclaimers apply here. Don’t be stupid. Don’t drive along typing, watching videos, playing Transport Tycoon Deluxe or anything else that’s likely to get you killed. You’d make us feel bad, and you’d embarrass the people who know you. Don’t mount any part of your kit on a sharp pointy thing that might impact your body if you crash. Use common sense.

With a Pi, you can build a customised, specialised pieces of equipment; and you’ll want your carputer to do things that a laptop sitting on the passenger seat wouldn’t be able to do. Martin O’Hanlon (who maintains a blog with some of the best Minecraft: Pi Edition hacks we’ve seen – go and check it out) has been busy with car diagnostics, which is as good a place as any to start.

It turns out that there’s a standard for reading data from all makes of modern car, called OBD-II (on-board diagnostics II). Your car can communicate all kinds of data that you may not even have known it was collecting, like the volume of particulates being absorbed by the filter, the temperature of the air coming into the car, or results from the oxygen sensor; and the things you might expect, like oil pressure or speed and distance travelled. You can then process that data to output figures on useful things like fuel economy.

(Martin’s using the screen of that Samsung laptop as a display for his Pi for the time being.)

Consumers can buy a USB to OBD2 interface cable – Martin’s was about £10 on eBay.

Reading and displaying this data is the first step in what Martin hopes will be a larger project. Those of you making carputers will find the ability to do this useful too – it’s well worth being able to work out for yourself why the mysterious red light on your dashboard has come on, without having to spend money at the garage just to find out that your oil levels were low. Martin has forked some existing software from GitHub so that he could find out what sensors were supported by his Lotus, and poll the car every 0.5 seconds, writing the sensor data to the screen.

To run Martin’s code on your own Pi, open a terminal and type:

sudo apt-get install python-serial
sudo apt-get install git-core
cd ~
git clone https://github.com/martinohanlon/pyobd
cd pyobd
python obd_capture.py

Once you’ve got the data from the car out of the way, of course, there’s a lot more you can do with a Pi to make being in the car a bit more fun. First off, there’s music: you can turn your Pi into a Spotify server (you’ll need a premium Spotify account) or a Pandora jukebox.

And, of course, you’ll want GPS and a camera. Using a Raspberry Pi camera board and a separate GPS module hooked up to the Pi, Chicago Electronic Distributors (who specialise in Pi stuff, if you’re in the market for some kit) built a reversing camera and in-car GPS. They’ve also been using another Pi with a camera board as a dashcam.

We’ve been racking our brains about what else you might want in a carputer. Emma suggests you might like to add a thermometer to your Pi too, to log the internal temperature of your car “in case of dogs”. Rob wants disco lights. (You could use a LED matrix for this – I’d be tempted to mount such a matrix in the back window and scroll obscenities at people behind me with their headlights on full beam.) And I would also like a robot valet with a teeny-weeny vacuum cleaner, and something to count the change in the ashtray, but that might be a step too far. JamesH races cars – he’s been talking about infrared sensors for the tyre temperature and accelerometers to measure G-force when taking corners, which might be a bit more practical.

Finally, you’ll want to install the thing. Now, you can do what Chicago Electronic Distributors did and just mount a screen on velcro or attach it to the windscreen with a sticky cup, and hide the Pi itself in the glovebox or the boot: but where’s the fun in that? We found a lovely album of pictures from LuckyJezster, one of our forum members, who is refurbishing a 1980s Ford F120. With a Pi. Here’s his post about the process – click on the image of the Pi he’s embedded in the central console and covered with plexiglass to see the photo album. Blue LEDs! Lovely clicky switches! A Pi logo hand-engraved with a knife!

Are you working on your own carputer? Does your Pi have wheels? Have we missed anything glaring that any carputer worth its salt should have? Let us know in the comments.

91 comments

Avatar

Very cool indeed! Loving the refurbished ford with its plexiglass encase Pi!

The Raspberry Pi Guy

Avatar

It’s really worth checking out the whole album; he’s done a really nice job.

Avatar

I intend to… It still surprises me the sheer diversity of Pi projects: from cars to toasters to space, it really is extraordinary!

The Raspberry Pi Guy

Avatar

Thanks… I have worked long and hard constructing it but still a work in progress.

Avatar

Ooooh. I should have told you that engine warn light on dashboard/buys ODBC to diagnose light/finds out eventually is just low oil story with a ‘strictly not for telling to anyone else, not even on the blog, because it will make me look like a numpty’ clause.

Avatar

I didn’t say it was *your* story, now, did I? (Numpty.)

Avatar

Damn!

Avatar

I approve his choice of car :-)

My one pre-dates OBD-II however so I won’t be hooking mine up like that.

At some point I’ll have my balloon chase car use a Pi to appear on the map. At the moment that and all the other stuff is done by a PC. Once someone clever (not me) gets the balloon decoding software runnin on the Pi then it can replace the PC completely.

Avatar

Dave, Im pleased you approve.

Avatar

There are a ton of Linux based APRS programs out there that would only require a Pi, sound card or TNC (TNC-Pi, I have one of these somewhere), two radios, and something along the lines of a Tiny-Trak3/4 (assuming you have an amateur radio license or commercial license).

I was wanting to build one for my next pickup that has cross band repeat functions/consolidated microphone options for my radios, a remote access setup (that would allow me to turn the truck on, off, lights, strobes, etc.) from DTMF.

Avatar

When android will be available, with all tge gps software there will be a lot of carputer using pi.

Right now under linux there is not any usable navigation software.

Avatar

I’ve got a couple of OBD-II adapters that I have used a couple of years BP (Before Pi).

In my case I used them to diagnose a problem with the car that Ford charged over £100 to diagnose and didn’t find. It turned out to be an intermittent problem with the speed sensor which I was able to get fixed cheaply once I diagnosed it myself.

You can also do thinks like reset your “next service due” indicator if you are mechanically minded and prefer to change the oil etc. yourself (usually when a car is old enough to be out of warranty).

One of my adapters is a bluetooth adapter and my one concern with it being that it just used a default code with no way to change it. So in theory anyone could connect to my ODB-II sensor. Not that I was concerned it was a particularly big risk. For that reason I think the USB cable version is much better.

Saying that I don’t think there is much you can change that is bad by default, but sounds like some people may have found a way around the security protocols – see http://www.bbc.co.uk/news/technology-23443215 (by coincidence that article was published today).

Avatar

You only need to worry about threats to unsecured Bluetooth devices from about 10 meters. If you try to hack into my Bluetooth stuff, remember that I am rarely more than 10 M from a hammer and your hardware is in mortal danger.

Avatar

That’s generally true, although some Bluetooth devices claim a hundred metre range. However, as with any radio signal a sufficiently determined cracker (or sufficently bored hacker) could dramatically increase the range by rigging an appropriate directional antenna to hir device. Beware of geeks bearing Yagis!

Avatar

um just so you know obd2 goes both ways u can read from it and wright to it there by being able to hack in over bluetooth witch happens to share the same bandwith as wifi and there has ben stable coms on that over 100 mi apart

Avatar

You do know there’s an old fashioned, analog way of telling how much oil’s in your car, right?
(yes, I know OBD can tell you much more, I’m just poking fun at the choice of example measurable thing)

Avatar

I only chose that because SOMEONE here used OBD to diagnose a blinkenlight on their dashboard and discovered that they could have done the same thing for much less money using a dipstick. (Dipstick.)

Avatar

Last time I did the service on my own car, I wondered how come the dipstick was showing empty after I’d filled it up.

Then I noticed the sump plug was still on the floor.

These days I leave it to non-dipsticks to do for me :-)

Avatar

I’ve tryed that ODB script a few week ago, but it’s not working with my car :(

I have a 2011 Seat Ibiza.

Avatar

It must be a huge car if you can fit 2011 seats in it.

Badum-tish.

Avatar

Actually, they’re really tiny seats.

Avatar

Another use for a carputer would be voice controls for the radio.

Avatar

Oh c’mon! Where’s the adventure in that?
Now hook up voice-control to the steering, then when the sat-nav says “Turn left! Turn left!” the car does exactly that!

My Volvo lights the engine-management light when one of the brake-lights is blown – but only when I’m not braking.

Avatar

Here’s a bit of synchronicity:

http://www.bbc.co.uk/news/technology-23443215

Avatar

I’m working on a way to use the Pi in conjunction with an Arduino to completely replace the Body Control Module in a 97 Ford Falcon (Australia).
Body Control Module (BCM for short) controls all your interior and exterior lights, security, power windows, wipers plus many many more things.
Stay Tuned!

Avatar

The lens on the pi cam has too narrow a field of view to work well. Fortunately you can workaround with some add on lens for about £6. The iphone set of macro/wide angle/fish eye is what you want:
Len Comparison Photos
In car video

Avatar

I was looking at this yesterday as the car started to give some strange, irreproducible symptoms. It would be good also to build a data logger that tracks speed, location etc. especially when my teenage kids want to borrow the car.

Avatar

Ive already changed this into a data logger, it works surprisingly well.

Avatar

You should wire a wireless garage door opener up to the pi and have it open the door when you drive near your house.

Avatar

Im loving that idea..

Avatar

Except that it’s quite common to want to park within a short proximity of the garage door, so you might find it hard to shut the door…

Avatar

I submitted a comment a minute ago, but it didn’t appear. Trying again, apologies if this ends up as a double post or anything.

A while ago, I implemented some OBDII software called OBDGPSLogger [which, curiously, does almost exactly what the name implies]: http://icculus.org/obdgpslogger

I initially developed it on a Linux PC, but as soon as the sheevaplug came out, I immediately moved to that wholesale for my car app. The sheevaplug is like a more expensive, technically inferior, older version of the pi.

Along the way, I got bored of going out to my car to develop it, so I wrote what I believe to still be by far the best software simulator for OBDII out there: http://icculus.org/obdgpslogger/obdsim.html

I would be more than happy to answer any questions people have on the subject.

Avatar

Thanks – I was looking for something like this. The simulator looks really handy.

Avatar

I have a Car-Pi that’s setup w/a usb pcie modem, Bluetooth PAN backup, gps, and LCD that transmits current gps to my server and live plots. While serving as a hotspot in the car.

Avatar

Shaun – do you have the setup documented anywhere?

Avatar

Whatever you do, Stephen King highly recommends you do NOT name your car or its carputer’s hostname “Christine”!

Also, I would encrypt all of the data – if you’re in an accident or other kind of incident, the data could be selectively used to hang you by your own petard, even if you weren’t at fault or had otherwise done nothing wrong. Never underestimate how much trouble lawyers can invent by mischaracterizing information taken out of context. The encryption key should be kept in RAM so that when power is cut, it goes away (it can be reloaded via wireless, manual input, etc.). It should be simple to remove the SD card to protect it, but if you’re incapacitated in an accident/incident and someone gets hold of the encrypted data, it obviously would just have gotten scrambled somehow in all the confusion.

Avatar

Very sensible point…

The Raspberry Pi Guy

Avatar

What we really need is a Pi hack to make the steering wheel glow blue in the presence of lawyers.

Avatar

Hi,

You can look at:
http://rapzak.dsmynas.com/ford/
for some OBD2 logging possibilities.
This uses non-standard OBD2 interface on ford, so i practically can read out all sensors :)
I have ordered a small display i will try hook up.
Sadly i do this not only because it is fun, but the car has blown 2 turbo’s allready, and have some DPF issues :(
But fun enough project.
The wlan is so it uploads data to a sql server every time i come home…
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=41&t=50259

Kasper

Avatar

Thanks for the interesting (and fortuitous) blog post! – Fortuitous because the final piece of my carputer puzzle arrived today (the audio amp) so I’m looking forward to spending a wet weekend of fitting it.
I’ve gone a slightly different route by using risc os (for its quick on / off ability and my bbc basic programming knowledge) and squeezing it in to my 21year old land rover defender. I’m not intending to monitor the car – my sense of smell does that ;) – but I’m hoping to have an effective mp3 player at the very least and the ability to play arch elite as a bonus!

Avatar

In an old defender you really ought to use the sound capabilities to add sound effects to your driving. Squealing wheels as you corner, roaring V8 engine, fake Army radio chatter; you know the sort of things. How much better a burglar deterrent could there be than apparent live chat from squaddies just around the corner? It’s not like you can actually lock anything…

RISC OS sound is much easier to program with if you use John Duffel’s sharedsound modules as found at http://www.orac2.demon.co.uk/software/rdpclient/archives/ssb.zip – they’re how I managed to add sound output to RISC OS-Pi Squeak after only 17 years of thinking about it. Searc

Avatar

Cheers for the link, Tim.
I’m using Mike J’s amplay from here http://www.mikejs.com/riscos/amplay.html to play the mp3. I’ve got a poor resolution screen and amplay has a big enough front end to be visible and has hooks that can be used from my own program (not tried yet).

With regards to the sound effects I quite enjoy the default ones that come installed as default with an old landy – current favourite is “randomly vibrating steering column” although I have enjoyed “”un-necessary piece of trim partly submerged in water” with “bit of unconnected wire vibrating against gear lever” :D

Avatar

Thanks for mentioning our GPS / camera setup!
While not entirely legal here in the US, I thought it would be funny to run PiFm and when you see someone texting while driving have it broadcast “Put down your phone!” over popular radio stations.

Avatar

[censord] the FCC!

Avatar

Do you reckon you could do something like this? =)

https://www.youtube.com/watch?v=MGEqlNU30Tg

I guess it depends most on the range of notes your engine can produce.

Avatar

I have been working for a while on my HUD project. Unfortunately, the project has been a victim of “feature creep” So, not it includes an MP3 player, small LCD screen that will be hidden in the dash, to show things like what song is playing, call display for my phone.
Best of all I got the GPS logging working well enough for me to use for mapping my favourite off-road trails. (Testing that next weekend.)

Anyone know of a good way to turn GPS logs into graphical off-road maps?

Avatar

GoogleMaps API. You get the API to drawn the map, routes etc.

All fairly customisable. You can drawn custom flags at points of interest.

Avatar

I wonder I there is some map software with an API that allows you to take raw GPS data and use it to find your location on a road. That would be awesome.

Avatar

I’m a huge Martin O’Hanlon fan. His blog is awesome. Fact.

Happy Birthday Martin.

Avatar

Thank you. Both for the vote of confidence and birthday message.

Mart

Avatar

I must’ve missed something.
Logged into Martins site to download the pycbd module and could not get past the USER:
PASSWORD: challenge.
Tried guest for both but to no avail.

Avatar

Never mind, I cannot read my writing! I had copied the script by hand and then transposed a few letters. Works great when you enter the EXACT words!

Avatar

For mapping/nav applications for raspberrypi, it might be worth looking at some of the apps built for the Nokia N900. Similiar platform in terms of performance/resources, code available, and possible to port with a bit of work ;-) http://my-maemo.com/software/applications.php?fldAuto=814&faq=38

Avatar

The other opensource mapping (with nav) ported to N900/N9 as well as desktop is marble http://marble.kde.org/features.php

Avatar

I am automotive development engineer and knowledge the complexity of automotive networks such as LIN, CAN, MOST etc are impossible to access any information from these vehicle networks. For older cars there is some information, but the OEM’s keep this information very secure manly to avoid vehicle modifications which would damage the vehicle electronics. So I would like to say is you are going to plug into anything to ODB be very very carefully, 1) could damage the electronics 2) comprise vehicle safety (I have stories of someone switches on a module at 70mh (ish) and shorting the main engine bus, not good situation)

I have a few ideas for Pi projects in the car:
1. EDR (Event data recorder) these small box with a camera mounted which when a button is pressed is stores 60seconds of video. Good if you see an accident and you can record the event, it would need to be linked into a GPS to record the speed, location etc. It would be nice to add more than one camera, which I think could re relative easy with the Pi USB interface.
2. Not sure how this would work, but I want to link my Raspberry Pi to phone via Bluetooth or may be GSM interface. Then you have some buttons on the case which state “traffic jam” , “accident”, “accident on other side of the motorway” etc which then link to the iphone application Waze. This means you could just have a simple set of buttons to indicate/report a traffic issue, rather then trying to use your phone which is illegal which driving (I am sure no one does this !!!). We could take the project further with picture of road (not sure how useful that would be), but could become a cheap telematics device
3. I am looking at a high performance in-car entertainment system, I think it would require multi RPi but single media server to rear displays for the kids to watch different films, GSM to provide in vehicle WifI link, access, accident recorder, energy monitor, full telematics to a web server. I have a mini vehicle data recorder which uses a atmegaCAN128 device to provide the CAN bus vehicle interface via SPI into the RPi, works okay but only just tested the setup.

Just a few ideas..

Avatar

“but the OEM’s keep this information very secure manly to avoid vehicle modifications which would damage the vehicle electronics.”

No — they don’t care if you damage your car. They keep this information secure so that they can charge ludicrous prices for what is basically a project box with $5 worth of electronics in. They hate DIY because a) it costs them money and b) it makes people wonder — if they are being ripped off for this then what else are they being ripped off for?

Avatar

Since about 2000 it has been mandatory for all new cars etc to have OBDII. Some manufacturers play the game, others only in so far as they avoid prosecution.

The obfuscation is partially to keep the vehicle in the dealer network for longer but for some more complex vehicles it does allow for better technological improvements.

Luckily mine plays the game fairly, and only uses proprietory pins for the immobliser.

I couldn’t get on with any of the open-source ones, so I wrote my own demo one in text lua. All I want to do is to diagnose my vehicle when it goes sick. So all my software needs to do is to allow it to read problem codes and PIDs and enable you to clear them.

In the first instance it is text, when I get around to it I will give it a GUI.

Avatar

see this is were i love car oem’s they say one thing are bound by governments to do another and in reality are doing both at the same time. it is true that obd2 is a industry standard and one most oem’s do not want you to know about so they use one of 5 protocols to encode the data. all of witch are public knowledge and can be decoded easily. there are i believe 4 manufactures ford toyota dodge and one other i believe and of course there sister companies that all use specialised encoding all of witch are.. yep you guested it publicly assessable to be decoded by the end user. the reason it is illegal to hide anything your vehicle does from you the end user so for us techies its good news for oems well they will prob try and hunt me down lol

Avatar

I would be really interested to know how people power their CarPi projects, to safely power down the Pi (via shutdown or similar) when the ignition is turned off. I can think of three possibilities:
1) Large capacitor to give the Pi time to shutdown. I think it would have to be a pretty large capacitor, though, to supply 700ma at 5V (without dropping significantly below that) for about 30s for the shutdown.
2) Rechargeable batteries, trickle-charged while ignition is on. This seems to me to be quite a complex piece of design, and I’ve not seen anything on the various forums.

Or is everybody using a read-only operating system?

Avatar

I try install RPi in my old Ford Fiesta and i have next solution for power management.
I want use a project of my compatriot Albert. I found it on russian Car PC site http://pccar.ru/showthread.php?t=19000
The algorythm:
1. ACC on, waiting for 5 sec. If ACC off, then nothing, else to step 2
2. Control of a battery voltage, if U19V then error, RPi off, and waiting for next ACC on. If 8V<U<11V, then run "emergency" on for 5 min and waiting for voltage increase, If no – send "poweroff" signal.
3. (Not for RPi) Control of comp up. Waiting 5V on control pin.
4. Working. Same as step 2
5. ACC off, waiting for 5 sec, then send "poweroff" signal (boulean 1).
6. (Not for RPi)

Poweroff signal may be send to GPIO pin, and simple script run shutdown RPi correctly.

Sorry for my pidgin :)

Avatar

Damn!
Step 2:
Control of a battery voltage, if U19V then error, RPi off, and waiting for next ACC on. If 8V<U<11V, then run "emergency" on for 5 min and waiting for voltage increase, If no – send "poweroff" signal (boulean 1).

Avatar

* ” if U 19V then error”

Avatar

I mean

If U19V then error.

Avatar

WTF?
“voltage is less than 8 V or more than 19 v”

Avatar

Way better than my Russian :-)

Thanks, I’ll check out your links (with the help of Google translate).

Avatar

And it looks as if Albert is already working on a Raspberry PI version with shutdown delay: http://pccar.ru/showthread.php?t=19000&page=5

“Cool gizmo A dream does not support it? If you do not support, I’ll do a separate firmware for these devices. ACCon -> on 12v, ACCoff -> press the button and wait for shutdown, then blackout. See if there is an entrance into the BIOS where you can specify the inclusion of a button, instead of auto-on. If there is an entry into the BIOS screen show. Think you can do.”
(C) Albert and Google Translate.

Could you ask Albert to post here when he is done?

Thanks.

Avatar

It’s already done (I mean the firmware without sleep mode): http://pccar.ru/showpost.php?p=264147&postcount=64

But Albert haven’t RPi, he working with x86 PC. I will assemble smart power supply, and I will describe my experience here after test. OK?

Avatar

Isn’t it easier to work it like a traditional UPS? Use one pin for “mains on” which goes high when there’s power and low when there’s not.

Wire it the same as a radio: a permanent link to keep it energised and another on ACC. Your “UPS” works off the main battery. Things would have to be very bad for you not to have that.

When you switch on ACC goes high and you wait to see if you really mean it, then switch on the PSU.

When ACC goes low: wait for a period, then run your powerdown script and eventually unhook the PSU.

This is all well documented/supported out of the box.

All you need is a switchable PSU.

Avatar

Hi Simon,

thanks, that sounds the simplest. You say that this is well documented / supported out of the box – it would be great if you could point to any online resources.

Thanks,
David

Avatar

Mine is connected to a dual powered USB 12v port that is connected to one of the ON/OFF switches. All of the switches are connected to a line that runs directly to the battery. So I can turn it off and on when I want or just leave it on when I run into a store. I have also left it on all day while I was at work since it is just a small drain on the battery. As far as shutdown goes, I either tell XBMC to shutdown or I just flip the switch. So far just flipping the switch has not caused any OS issues or anything.

Avatar

Like I said earlier you just need to take a line off ACC to a digital input pin to tell the RPi that the car is on/off, just like on a traditonal UPS.

So when you switch off the warning script gets run. After you have been in the shop for a long while the poweroff script runs and finally opens the PSU switch. Then all asleep.

Avatar

I’m very interested in this as well. The only available circuit to properly shut down costs $28 (more than the Pi itself). I’d love to find something cheaper (or alternatively, something open source I could try building myself).

Avatar

I have a carputer project called Pi Link underway at diyivi.com. It currently functions as an Android mirror and bluetooth audio sync, and I’ll be support for an AM/FM tuner and physical buttons to control the phone via the GPIO header soon.

Avatar

It is nice to see my project displayed on the front page, even though there are lots of spelling, mistakes, and the photo is upside down… =P Hopefully it will give others some more ideas for their projects.

Avatar

Hi,

You might be interested in my latest post about overlaying OBD data (mph, rpm, engine temp, throttle position, etc) onto video taken with the raspberry pi camera board.

http://www.stuffaboutcode.com/2013/07/raspberry-pi-car-cam-overlaid-with-obd.html

It taken at castle combe race track.

Mart

Avatar

Another thing that is interesting to play with is communication with the A/V bus in the car. I only have details for IEBus, which is used in Honda, Acura, Toyota OEM systems, as well as Pioneer systems. But I seem to remember seeing information out there for American make cars as well. For IEBus, the SigmaObjects write up is probably the easiest starting place: http://www.sigmaobjects.com/toyota/ Writing a bus sniffer is surprisingly easy. Sending things out on the bus is more difficult, but can also allow for more interesting applications. It’s a little easier to do with an Arduino since then you have an onboard analog comparator to read the differential signal, but I think throwing an analog comparator onto the RPi GPIO should work.

Avatar

For example, with a bus sniffer, you could have your carputer respond to button pushes on the OEM radio. With a full bus communicator, you could use the RPi to simulate a trunk disc changer, which is the standard way (at least in older Toyotas) to send audio through the OEM speaker system.

Avatar

For older bmws you can find this kind of sws. I used my PI to read bmw ibu(using resler’s ibus adapter)s and used codes found from internet to detect OEM navi/wheel buttons etc. Then I used reverse cam video input and basically hijacked TAPE mode from original navi (i.e. PI take actions only in TAPE mode). That way OEM navi could be extended with for example XBMC.

Avatar

Very nice! I’ve seen Toyota projects to send video to the navi screen; I think there is an IEBus component to it, but don’t know the details.

Avatar

Hi,
That is exactly what i am looking for! I want to run exactly the same configuration: Pi with XBMC and Resler Interface connected to E39 IBUS. Video over PIN 17 and Audio with a Pre-Amp to TAPE.
Would you tell me where to find this software or would you share yours, please?

Avatar

When i arrived in Sydney Australia 12 years ago I was amazed at how often the spped limit changes as you drive down the roads … and especially down the motorways. In fact I have never seen so many traffic signs of all types … one barely has time to watch the road and other vehicles.

I thought of mounting a dashboard camera and monitoring the video for red circles containing a number, and to display the last seen speed limit for the driver.

Now in the past year its gone from “too complicated” to “why not ?” … or “got to find another excuse” ;-)

Avatar

Hmm, wonder if I could spoof the emissions test on my aging beast.

They do it on a dyno, so it would have to pass on the mph and such, and just modify whatever it is they are testing for.

Just speculating of course…

Avatar

For all those who are looking to create a Carputer, This kickstarter is a must. I’ve backed… http://kck.st/17PuWpb

Avatar

It would be nice to have it sense the temp of a car and turn on an exhaust fan or sound an alarm/call you if you left a pet or God forbit a child in the car.That would be great safety CS project.

Avatar

U could do. An in car WiFi hotspot, with 3g. I believe there is a Audi that has it built in.

Avatar

I’ve started a carputer of my own. However, the car in question was created long before ODB or even sending units. It is a 1970 Cadillac Eldorado. And the only gauges it has on its dash are fuel and speed. There are switches that trigger idiot lights for oil pressure and engine temperature. That’s it. So I’ve begun a quest to add modern sending units, read the analog values with an Arduino, convert the digital values to actual psi, degrees fahrenheit, etc., send them to the Pi’s GPIO, have Python read those inputs and pass the values to a web server running on the Pi. From there, I can design my own interface for displaying the data as a web page. I am planning on mounting a 7″ Lilliput HDMI display on the dash. Should be an interesting ride…

Avatar

Hi!

Please have a look at my CarPC too.
http://www.engineering-diy.blogspot.ro/2013/08/car-pc-project.html

Andrei

Avatar

did I buy “too much” I got this elm327 unit with usb out .. but the more I read the comments It appears that the Pi will function as the “reader”? here is the link.
http://dx.com/p/aluminum-case-obd2-elm327-usb-can-bus-scanner-127854

Avatar

Well, my car is too old for OBD2. If it were new enough, there’s enough available for Android that a cheap tablet would be more than enough, since they tend to have GPS and bluetooth so that and a cheap OBD2 bluetooth interface would do everything that the Pi would.

Not good enough for me.

I have some aftermarket sensors and the like in my car, and it has information that I want to know, and more than that, I want the ability to do things based on that information that a tablet simply couldn’t do. I want the ability to activate other in-car circuits via relays based on certain inputs, as well as just display stuff, or playback music, or whatever.

So, I need a few things to be able to happen. Most of my aftermarket sensors output an analogue 0-5V signal, things like exhaust gas temperature, Air/fuel ratio, and manifold boost pressure all can output 0-5V signals, so an ADC can be used to make meaningful input to the Pi. The boost controller and to certain extents, the factory ECU can all accept inputs to act in specific ways to alarm conditions, if I can switch things on or off. Exhaust gas temperature too high, or air/fuel mixture too lean? Turn down the boost. If it’s dangerously bad, put the engine in super-safe “limp home” mode. All that needs is control over a few relays. This is the stuff that a tablet can’t do, and you need something that can do some real-world I/O to tackle, and this is where the Pi should really shine.

In the meantime, while this monitoring and some display tasks are going on, I want the Pi to playback music, and talk to my phone, so that if the phone rings, it will pause/mute the music, and act as a handsfree bluetooth device for the phone. After I hang up, it can resume playback, or better yet, ask me if I want to resume playback.

The expensive bits to the project will be the ADC circuits, display and input devices, Bluetooth, GPS, wireless, and other USB adapters, probably a USB hard disk drive or two for media etc, and of course programming time for me to make it all work. I’d probably build it in as an “in car” function for XBMC, which can then handle the media playback and the like. So far, I’ve got the Pi, a 7″ and 10″ display (I’ll use one or the other, depending on what fits best with the dash, the 7″ is easier, but the 10″ would be nicer.) and some GPIO stuff to make work. I was actually looking at some of the 4 row LCD displays as possible outputs for real-time engine status display, so that the graphics display could be left to other functions, like the XBMC defaults.

Still a lot of decisions to make, but with the Pi being such an affordable device, a lot of possibilities, including multiple Pi devices for different features.

Avatar

My plans are bluetooth keyless entry and ignition using a smartphone (need to do a bit of android development for that) I’d like to add the diag stuff as well if possible.

Avatar

I’m looking at doing something along these lines for my chevy, i have the pi but does anyone know if the code is car specific? for example would the code posted, for a lotus, work on my obd2 chevrolet. I know the obd2 aspect is most likely the same but probably not sensors. Whether or not it is i would be curious to know where i could find car specific code for obd2 reading. Thanks, this is an awesome post!

Leave a Comment

Comments are closed