Caterham Blog

  • Lowflying Article – Nervous Novices, April 2020

    Lowflying Article – Nervous Novices, April 2020

    It was Brian’s fault! The local Bristol and Bath AR (Area Representative), Brian Hall had suggested my name to the Lotus7.club track-day co-ordinator Simon Maitland. Simon was looking for someone to do a piece in Lowflying (the Lotus7.club monthly magazine) about how good the club’s novice track-days are. Brian knew I didn’t mind putting pen…

  • ECU Diagnostics – part 14 : Software Framework mbe.py

    This is hopefully a reasonably short post about the software framework I’ve developed to help read sensor data from the MBE 9A4 ECU. The software is written in Python 3 and is available here: Caterham-OBD. However, I’m going to talk about using one file only which is mbe.py.  The idea behind mbe.py is to “abstract”…

  • ECU Diagnostics – part 13.3 : MBE-ISOTP

    SUMMARY We now understand the communications protocol used by Easimap (the Windows software supplied by the ECU manufacturer) and can use it to ask the ECU for whatever data the car has to offer. We can then manipulate the responses we get back from the car and format them to make sense to us. TL;DR…

  • ECU Diagnostics – part 13.2 : OBD-II

    The OBD-II diagnostic protocol is well defined and information about it can be found in On-board Diagnostics. It’s a mish-mash of many diffrerent standards, both physical and electrical, that I’ll refer to as OBD-II. There’s also a complete breakdown of the Services and PIDs (see below) that can be found in On-board Diagnostic PIDs. I’ll talk…

  • ECU Diagnostics – part 13.1 : MBE-Broadcast

    The simplest of the three Caterham OBD port diagnostic protocols we know about is what I’ve called MBE-Broadcast. As soon as the car is put into ignition switch position 2, the ECU starts to spit out a this stream of data on the CAN bus. Unlike the OBD-II protocol and the MBE-ISOTP protocol, this a…

  • ECU Diagnostics – part 13 : Three Diagnostic Protocols in the MBE 9A4 ECU

    This one’s just a short post to introduce the next three posts. In our investigations of the MBE 9A4 ECU we’ve found three different diagnostics protocols supported on the OBD port. The following three posts will summarise what we’ve learnt about each protocol and will be updated with new information as it becomes available. 13.1…

  • ECU Diagnostics – part 11 : Logic Analyzer on the CAN Bus

    ECU Diagnostics – part 11 : Logic Analyzer on the CAN Bus

    To test out my theories and the code I’d been writing, I needed a simple test and a way to make sure the code (and I) was doing what I thought it should be. The code part was easy, take the JSON files I’d created from the Easimap EC2 file and use it to ask…

  • ECU Diagnostics – part 10 : Decoding EC2 Files

    Now we need to start proving some of our theories about how Easimap is actually talking to the ECU. And it seemed to me that if I was going to prove anything then I’d need to pass a lot of data through any theory I came up with, and that meant writing a program –…

  • ECU Diagnostics – part 8 : Easimap uses ISOTP (sort of)

    ECU Diagnostics – part 8 : Easimap uses ISOTP (sort of)

    Ok, that’s enough of the theory about mapping. Lets get back to what Easimap is doing when it talks to the car. When we left this subject last we had got to the point where we could see what Easimap was sending and receiving on the CAN bus, but we didn’t know what it meant.…

  • ECU Diagnostics – part 7 : ECU Maps and Mapping

    ECU Diagnostics – part 7 : ECU Maps and Mapping

    People often talk about “mapping” a car. When they do that they’re usually interested in one or more of three things: To increase its performance Improve its fuel economy Improve its drivability So what is mapping? In technical terms a map is a translation, or conversion, function that takes an input and produces an output.…

  • ECU Diagnostics – part 6 : Reading Material

    ECU Diagnostics – part 6 : Reading Material

    Another quick one, really quick this time… Mark (CTRMint) had been doing his research and had told us about a book he was buying, and I just couldn’t resist… The book isn’t the cheapest of purchases, at least not in the UK. But for me it was well worth it. It took an evening to…

  • ECU Diagnostics – part 5 : The Correlator Dead-end

    ECU Diagnostics – part 5 : The Correlator Dead-end

    Hopefully this is a quick post… The story so far is that: We’ve got a test bench made of a Raspberry Pi, CAN bus decoder board and an OBD Y-cable The Raspberry Pi can “sniff” all the packets sent between the car’s ECU and something that can talk to the car, like Easimap or an…

  • ECU Diagnostics – part 4 : Wireshark Patching and OBD-II Results

    ECU Diagnostics – part 4 : Wireshark Patching and OBD-II Results

    When Wireshark first appeared, it was called Ethereal… and its motto was: “Sniffing the glue that holds the internet together” Wireshark sniffs the packet-glue that holds the internet together and is one of the most influential pieces of open source software there is.  That’s a pretty bold statement and I even count projects like Linux…

  • ECU Diagnostics – part 3 : Test Setup

    Ok, so we have an OBD port/connector on our cars that connects directly to the ECU. How are we going to figure out how to talk the right communications protocols to the car to get at its internal data? We need a test rig to do some experiments with. If you’re looking for a post…

  • ECU Diagnostics – part 2 : ECU, OBD and CAN

    ECU Caterhams, like all modern cars, have an Engine Control Unit (ECU) – a black box full of electronics, controlled by a microprocessor that manages how the engine runs.  And because it has a microprocessor it means it runs some software to control everything. It also connects to a bunch of sensors, like temperature, pressure,…

  • ECU Diagnostics – part 1 : Introduction

    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… Introduction ECUs, OBD and CAN Test Setup Wireshark Patching and OBD-II Results The Correlator Dead-End Reading Material ECU Maps and Mapping Easimap uses ISOTP (sort of) The Easimap Protocol Theory Decoding…