{"id":4726,"date":"2019-08-31T20:00:10","date_gmt":"2019-08-31T19:00:10","guid":{"rendered":"https:\/\/www.purplemeanie.co.uk\/?p=4726"},"modified":"2026-05-28T11:49:43","modified_gmt":"2026-05-28T10:49:43","slug":"ecu-diagnostics-part-1-introduction","status":"publish","type":"post","link":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/08\/31\/ecu-diagnostics-part-1-introduction\/","title":{"rendered":"ECU Diagnostics &#8211; part 1 : Introduction"},"content":{"rendered":"\n<p>So here we go for a marathon series of posts. I&#8217;ll update this page with links to the completed posts as they come along&#8230;<\/p>\n\n\n\n<ol class=\"wp-block-list\" id=\"block-f0688f7a-27cf-4d75-a3d7-c9e78197d96d\"><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/08\/31\/ecu-diagnostics-part-1-introduction\/\">Introduction<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/08\/31\/ecu-diagnostics-part-2-ecu-obd-and-can\/\">ECUs, OBD and CAN<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/01\/ecu-diagnostics-part-3-test-setup\/\">Test Setup<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/07\/ecu-diagnostics-part-4-wireshark-patching-and-obd-ii-results\/\">Wireshark Patching and OBD-II Results<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/07\/ecu-diagnostics-part-5-the-correlator-dead-end\/\">The Correlator Dead-End<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/07\/ecu-diagnostics-part-6-reading-material\/\">Reading Material<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/12\/ecu-diagnostics-part-7-ecu-maps-and-mapping\/\">ECU Maps and Mapping<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/15\/ecu-diagnostics-part-8-easimap-uses-isotp\/\">Easimap uses ISOTP (sort of)<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/15\/ecu-diagnostics-part-9-the-easimap-protocol-theory\/\">The Easimap Protocol Theory<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/15\/ecu-diagnostics-part-10-decoding-ec2-files\/\">Decoding EC2 Files<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/16\/ecu-diagnostics-part-11-logic-analyzer-on-the-can-bus\/\">Logic Analyzer on a CAN bus<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/16\/ecu-diagnostics-part-12-osi-7-layers-for-caterham-diagnostics\/\">OSI 7 Layers for Caterham Diagnostics<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-three-diagnostic-protocols-in-the-mbe-9a4-ecu\/\">Three Diagnostic Protocols in the MBE 9A4 ECU<\/a><ol><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-1-mbe-broadcast\/\">Protocol 1 &#8211; MBE-Broadcast<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-2-obd-ii\/\">Protocol 2 &#8211; OBD-II<\/a><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-3-mbe-isotp\/\">Protocol 3 &#8211; MBE-ISOTP<\/a><\/li><\/ol><\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-14-software-framework-mbe-py\/\">Software Framework mbe.py<\/a><\/li><li>How To: Raspberry Pi and Software Setup<\/li><li>Where Next<\/li><li><a href=\"https:\/\/www.purplemeanie.co.uk\/index.php\/2020\/07\/14\/lowflying-article-if-only-caterhams-could-talk-june-july-2020\/\" data-type=\"post\" data-id=\"6428\">Lowflying Article \u2013 If Only Caterhams Could Talk, June\/July 2020<\/a><\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Behind the Story<\/h3>\n\n\n\n<p>I&#8217;d been planning to have a look at the car&#8217;s On Board Diagnostic (OBD) port for over a year, but hadn&#8217;t really got into the project. I&#8217;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 <a href=\"https:\/\/www.lotus7.club\">Lotus7.club<\/a>&#8216;s Blatchat.<\/p>\n\n\n\n<p>The thinking behind my project was to create a &#8220;device&#8221; that could plug into the diagnostic port on my car and provide a readout of what the car was thinking&#8230; perhaps that might turn into a simple project like change-lights or a race-computer &#8211; but a bit more high-tech than a few LEDs on a black box.<\/p>\n\n\n\n<p>So that was my motivation, a home brew race-computer come dashboard come change-lights.<\/p>\n\n\n\n<p>But back to Blatchat&#8230; Mark had asked for help looking into ECU Diagnostics and had started a long thread on what he thought was going on (<a href=\"https:\/\/www.lotus7.club\/forum\/techtalk\/ecu-diagnostics-can-bus-hunt-answers\">here&#8217;s the thread link for club members<\/a>). Seeing as it was something on my list too I thought I&#8217;d pitch in. I hadn&#8217;t appreciated how much I&#8217;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.<\/p>\n\n\n\n<p>By the way, I know I&#8217;ve plugged <a href=\"https:\/\/www.caterham7diaries.com\">Mark&#8217;s website<\/a> before but he does a great job of blogging his Caterham life.<\/p>\n\n\n\n<p>In all though, I think this is going to be a bit more than a few posts&#8230; we&#8217;ve been busy. It&#8217;ll be more like 15+ posts I think.<\/p>\n\n\n\n<p>There&#8217;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&#8217;ll try and summarise things at the end for people who just want the conclusion.<\/p>\n\n\n\n<p>We&#8217;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&#8217;re hoping to achieve with what we&#8217;ve learnt.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>So, in the interests of keeping to that message, if you want a great site talking about engine management in general then this one is fantastic:<\/p>\n\n\n\n<p><a href=\"http:\/\/www.dvapower.com\/ems\">http:\/\/www.dvapower.com\/ems<\/a><\/p>\n\n\n\n<p>I&#8217;ve written the posts to be read by someone who is technically minded (aren&#8217;t all Caterham owners? \ud83d\ude42 ) but who may not be steeped in internet knowledge. Hopefully those of you that are internet nerds won&#8217;t mind the extra words and can also find what you need without despairing at my efforts to keep everyone up to speed.<\/p>\n\n\n\n<p>One final comment: THESE POSTS AND ESPECIALLY THE SOFTWARE I&#8217;VE MADE AVAILABLE HAVE NO WARRANTY OF ANY KIND! <\/p>\n\n\n\n<p>So&#8230; be careful!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction and index for the Caterham ECU diagnostics series, covering MBE ECU traffic, CAN bus, OBD-II, ISO-TP, test setup, protocol decoding, and supporting Python and Wireshark tooling.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[51,20],"tags":[58,66,34,60,59,62,61],"class_list":["post-4726","post","type-post","status-publish","format-standard","hentry","category-caterham-blog","category-ecu-diagnostics","tag-can-bus","tag-caterham","tag-ecu-diagnostics","tag-mbe","tag-obd","tag-python","tag-wireshark"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8yl38-1ee","jetpack-related-posts":[{"id":5112,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-three-diagnostic-protocols-in-the-mbe-9a4-ecu\/","url_meta":{"origin":4726,"position":0},"title":"ECU Diagnostics &#8211; part 13 : Three Diagnostic Protocols in the MBE 9A4 ECU","author":"John Martin","date":"September 20, 2019","format":false,"excerpt":"Introduces the three diagnostic protocols found on the Caterham MBE 9A4 ECU: MBE-Broadcast, OBD-II, and the MBE ISO-TP protocol used by Easimap.","rel":"","context":"In &quot;Caterham Blog&quot;","block_context":{"text":"Caterham Blog","link":"https:\/\/purplemeanie.co.uk\/index.php\/category\/caterham-blog\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4765,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/08\/31\/ecu-diagnostics-part-2-ecu-obd-and-can\/","url_meta":{"origin":4726,"position":1},"title":"ECU Diagnostics \u2013 part 2 : ECU, OBD and CAN","author":"John Martin","date":"August 31, 2019","format":false,"excerpt":"Explains the Caterham MBE 9A4 ECU, how it exposes diagnostic data, and how OBD and CAN bus concepts fit into the ECU diagnostics project.","rel":"","context":"In &quot;Caterham Blog&quot;","block_context":{"text":"Caterham Blog","link":"https:\/\/purplemeanie.co.uk\/index.php\/category\/caterham-blog\/"},"img":{"alt_text":"MBE 9A4 ECU module label on a purple background.","src":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/9A4.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":5192,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-14-software-framework-mbe-py\/","url_meta":{"origin":4726,"position":2},"title":"ECU Diagnostics &#8211; part 14 : Software Framework mbe.py","author":"John Martin","date":"September 20, 2019","format":false,"excerpt":"Introduces the Python mbe.py framework for sending requests to the Caterham MBE 9A4 ECU and formatting diagnostic responses into readable values.","rel":"","context":"In &quot;Caterham Blog&quot;","block_context":{"text":"Caterham Blog","link":"https:\/\/purplemeanie.co.uk\/index.php\/category\/caterham-blog\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4782,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/07\/ecu-diagnostics-part-4-wireshark-patching-and-obd-ii-results\/","url_meta":{"origin":4726,"position":3},"title":"ECU Diagnostics &#8211; part 4 : Wireshark Patching and OBD-II Results","author":"John Martin","date":"September 7, 2019","format":false,"excerpt":"Uses patched Wireshark decoding to inspect Caterham CAN bus captures and compare the useful diagnostic data available through OBD-II.","rel":"","context":"In &quot;Caterham Blog&quot;","block_context":{"text":"Caterham Blog","link":"https:\/\/purplemeanie.co.uk\/index.php\/category\/caterham-blog\/"},"img":{"alt_text":"Wireshark capture with OBD-II packets decoded after the dissector fix.","src":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/cano7-OBD-II-working.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/cano7-OBD-II-working.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/cano7-OBD-II-working.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/cano7-OBD-II-working.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/cano7-OBD-II-working.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/cano7-OBD-II-working.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":5134,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-2-obd-ii\/","url_meta":{"origin":4726,"position":4},"title":"ECU Diagnostics &#8211; part 13.2 : OBD-II","author":"John Martin","date":"September 20, 2019","format":false,"excerpt":"Summarises what standard OBD-II services and PID data the Caterham MBE 9A4 ECU supports and how that data appears on the CAN bus.","rel":"","context":"In &quot;Caterham Blog&quot;","block_context":{"text":"Caterham Blog","link":"https:\/\/purplemeanie.co.uk\/index.php\/category\/caterham-blog\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4769,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/01\/ecu-diagnostics-part-3-test-setup\/","url_meta":{"origin":4726,"position":5},"title":"ECU Diagnostics &#8211; part 3 : Test Setup","author":"John Martin","date":"September 1, 2019","format":false,"excerpt":"Sets up the Caterham ECU diagnostics test rig using the OBD port, Raspberry Pi, PiCAN interface, Easimap, and CAN bus capture hardware.","rel":"","context":"In &quot;Caterham Blog&quot;","block_context":{"text":"Caterham Blog","link":"https:\/\/purplemeanie.co.uk\/index.php\/category\/caterham-blog\/"},"img":{"alt_text":"Diagram linking Raspberry Pi, PiCAN, MBE 9A4 ECU, and a laptop running Easimap.","src":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/Test-Setup-Diagram.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/Test-Setup-Diagram.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/Test-Setup-Diagram.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/Test-Setup-Diagram.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/08\/Test-Setup-Diagram.png?resize=1050%2C600&ssl=1 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/4726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=4726"}],"version-history":[{"count":4,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/4726\/revisions"}],"predecessor-version":[{"id":11501,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/4726\/revisions\/11501"}],"wp:attachment":[{"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=4726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=4726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=4726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}