3G (1) 8600GT (1) AI (4) amazon (1) API (1) apple (3) apple mail (1) atlassian (1) audio (1) bambo (1) Bamboo (1) bloat (1) boost (1) bugbear (1) C++ (5) calling conventions (1) cdecl (1) chromecast (1) CI (1) compiler (1) continuous integration (1) coursera (1) custom domain (1) debugging (1) deltanine (1) diagnosis (1) diy (5) DLL (1) dns (1) don't be evil (1) ec2 (1) education (1) electronics (1) express checkout (1) fail (6) fink (1) firewire (1) free hosting (1) GAE (1) google (1) Google App Engine (4) H170 (1) hackerx (1) hackintosh (1) Haskell (3) homebrew (2) i1394 (1) icloud (2) iOS 9 (1) ipad2 (2) jobhunting (2) lag (1) letsencrypt (2) libjpeg (1) linux (1) mac (2) mbcs (1) mechanic (1) memory (1) MFC (3) Microsoft (1) migration (1) ML (1) mobile (1) movi (1) MSBuild (1) music (1) naked domain (1) NLP (2) o2 sensor (1) obd (1) Optiplex960 (1) osx (1) outlook express (1) payments (1) paypal (1) photos (2) PIL (1) Project Euler (1) projectmix (1) python (2) raspberrypi (3) recruitment (1) renwal (1) skylake (1) soundcloud (1) ssl (2) stdcall (1) stripe (1) subaru (2) supermemo (1) supermemo anki java (1) sync (2) Telstra (1) tests (1) thunderbird (1) udacity (1) unicode (1) Uniform Cost Search (1) university (1) upgrade (2) vodafail (1) vodafone (1) VS2010 (1) vs2013 (1) VS6.0 (1) weather (1) win (1) Win32 (1) Z170 (1)

Monday, 7 May 2012

Subaru Outback check engine light diagnosis

The other day the check engine light came on on my 2005 Subaru Outback. The manual says take it in to a service centre to have them check it out... sounds expensive!

Most modern cars have an OBD II interface you can connect to the cars computer to find out what the check engine light means. The OBD port on my Subaru Outback is located under the dash above the accelerator pedal. OBD scanners or code readers can be found on ebay for as little as $15 dollars so I thought I would try and diagnose the issue myself.

I actually opted for a bluetooth OBD scanner from a local seller based on the ELM-327 chipset for around $30 - thinking "cool, I can use my iPad or iphone to see what my car is doing"

That was a mistake - Apple have crippled the bluetooth interface on the iphone so that it only works with handsfrees and does not support the serial port profile. But it will work with android devices.

The other mistake was that pairing a bluetooth device adds another layer of complexity compared to using a USB scanner. I could pair it with my mac, but could I find any free software I could use to download the codes from my car? No... the only thing that seems to exist on the mac are two python projects, confusingly both named pyobd - this one and this one - pyobd2. Neither of which I could get to work - pyobd2 would run but not find my bluetooth serial port and pyobd would crash when I tried to run it.

So then I turned to windows - which has a myriad of software for reading OBD scanners - most incredibly ugly VB apps. Unfortunately I couldn't get any of them to read codes from my OBD bluetooth scanner under parallels on the mac... at best they would connect but then fail to read any data from my OBD scanner.

However, there is some nice software on the mac that will do the trick- movi. I downloaded the demo version, verified that it works with my scanner. But I could read any codes until I bought the full version, so I gritted my teeth and forked out $52 bucks to buy it from the App store.

Lo and behold - the mysterious code was P0032 - which means high voltage on the front oxygen sensor heater coil. Most likely the heater coil had burned out - which is not that serious - it just means it will take a little while to get accurate readings from the air -fuel sensor when the engine is cold until the sensor warms up. But having an engine warning light may mean your car will not pass rego.

So i called my local subaru dealers spare parts desk, gave him my vehicles VIN code and he advised me that the part I needed was part number 22641aa230, which was in stock and available for the bargain price of $530!!!

After my jaw hit hit the ground in shock I did some googling and found I could buy the genuine subaru part online in Australia for as little as $250. But I kept searching, and discovered that the subaru genuine part is manufactured by Denso, and the Denso equivalent part number is 234-9015. There is also a Bosch part 15501.

Further googling revealed that the Denso part on ebay could be had for $105 including shipping from the USA to Australia- what a saving! I think that is where I will be buying it from. But first I need to open the hood, and see if I can locate that pesky air/fuel sensor and see how feasible it is for a car novice like me to replace.

Anyway, I just thought I would post this info for the benefit of anyone else to save me the hours of googling I wen through.


  1. Hi Paul, do you have an update on your Subaru? Were you able to make the repairs yourself? Many drivers feel the same frustration as you whenever the check engine light appears. This light signals problems so it is a good thing that you did your research to find some answers. Good luck with your repairs!

    1. Oh yeah, see my followup post about the O2 sensor replacement

      Thanks for reading!