I’d been planning to have a look at the car’s On Board Diagnostic (OBD) port for over a year, but hadn’t really got into the project. I’d bought the required cables and some test equipment, but other stuff always seemed to be higher priority. That was all about to change with a post from Mark (CtrMint) on Lotus7.club‘s Blatchat.
The thinking behind my project was to create a “device” that could plug into the diagnostic port on my car and provide a readout of what the car was thinking… perhaps that might turn into a simple project like change-lights or a race-computer – but a bit more high-tech than a few LEDs on a black box.
So that was my motivation, a home brew race-computer come dashboard come change-lights.
But back to Blatchat… Mark had asked for help looking into ECU Diagnostics and had started a long thread on what he thought was going on (here’s the thread link for club members). Seeing as it was something on my list too I thought I’d pitch in. I hadn’t appreciated how much I’d get sucked into the project, but now, about a month later and many, many hours of work I think I know enough to provide a few posts on the subject.
By the way, I know I’ve plugged Mark’s website before but he does a great job of blogging his Caterham life.
In all though, I think this is going to be a bit more than a few posts… we’ve been busy. It’ll be more like 15+ posts I think.
There’s a lot to talk about and I want to break it down so others can dip into the subjects and not have to plough through one monstrously long post. Some readers will want to get into all the nitty gritty and others will just want to browse. I’ll try and summarise things at the end for people who just want the conclusion.
We’ll be getting into the details of the protocols being used by the ECU, how we decoded those protocols, what we learnt, what software we used, and what software we had to change and/or write, and what we’re hoping to achieve with what we’ve learnt.
My intention with these posts is not to repeat what you can find in other places on the internet about car diagnostics. This is meant to be about diagnostics on a Caterham and where appropriate to point you at other resources to find out more detail, or even the basics. Hopefully it will pull a lot of things together to show what we did, how we did it and what it means for people wanting to find out more about Caterham ECU diagnostics. I hope that makes sense.
I’ve written the posts to be read by someone who is technically minded (aren’t all Caterham owners? 🙂 ) but who may not be steeped in internet knowledge. Hopefully those of you that are internet nerds won’t mind the extra words and can also find what you need without despairing at my efforts to keep everyone up to speed.
One final comment: THESE POSTS AND ESPECIALLY THE SOFTWARE I’VE MADE AVAILABLE HAVE NO WARRANTY OF ANY KIND.
So here we go for a marathon series of posts. I’ll update this page with links to the completed posts as they come along…
- ECUs, OBD and CAN
- Test Setup
- Wireshark Patching and OBD-II Results
- The Correlator Dead-End
- Reading Material
- ECU Maps and Mapping
- Easimap uses ISTOP (sort of)
- The Easimap Protocol Theory
- Decoding EC2 Files
- Logic Analyzer on a CAN bus
- OSI 7 Layers for Caterham Diagnostics
- Three Diagnostic Protocols in the MBE 9A4 ECU
- Software Framework mbe.py
- How To: Raspberry Pi and Software Setup
- Where Next