{"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":"2025-01-31T13:09:25","modified_gmt":"2025-01-31T13:09:25","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>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; 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 [&hellip;]<\/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_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_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}},"categories":[51,20],"tags":[34],"class_list":["post-4726","post","type-post","status-publish","format-standard","hentry","category-caterham-blog","category-ecu-diagnostics","tag-ecu-diagnostics"],"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":"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\u2026","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":5192,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-14-software-framework-mbe-py\/","url_meta":{"origin":4726,"position":1},"title":"ECU Diagnostics &#8211; part 14 : Software Framework mbe.py","author":"John Martin","date":"September 20, 2019","format":false,"excerpt":"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.\u00a0 The idea\u2026","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":5134,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/20\/ecu-diagnostics-part-13-2-obd-ii\/","url_meta":{"origin":4726,"position":2},"title":"ECU Diagnostics &#8211; part 13.2 : OBD-II","author":"John Martin","date":"September 20, 2019","format":false,"excerpt":"The OBD-II diagnostic protocol is well defined and information about it can be found\u00a0in 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\u2026","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":3},"title":"ECU Diagnostics \u2013 part 2 : ECU, OBD and CAN","author":"John Martin","date":"August 31, 2019","format":false,"excerpt":"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. \u00a0And because it has a microprocessor it means it runs some software to control everything. It also connects to a bunch\u2026","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":"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":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":4},"title":"ECU Diagnostics &#8211; part 4 : Wireshark Patching and OBD-II Results","author":"John Martin","date":"September 7, 2019","format":false,"excerpt":"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.\u00a0 That's a pretty bold statement and I\u2026","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":"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":4943,"url":"https:\/\/purplemeanie.co.uk\/index.php\/2019\/09\/07\/ecu-diagnostics-part-5-the-correlator-dead-end\/","url_meta":{"origin":4726,"position":5},"title":"ECU Diagnostics &#8211; part 5 : The Correlator Dead-end","author":"John Martin","date":"September 7, 2019","format":false,"excerpt":"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-cableThe Raspberry Pi can \"sniff\" all the packets sent between the car's ECU and something that can talk to the car,\u2026","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":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/09\/Github-Correlator.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/09\/Github-Correlator.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/09\/Github-Correlator.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/09\/Github-Correlator.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/09\/Github-Correlator.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/purplemeanie.co.uk\/wp-content\/uploads\/2019\/09\/Github-Correlator.png?resize=1400%2C800&ssl=1 4x"},"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":2,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/4726\/revisions"}],"predecessor-version":[{"id":8142,"href":"https:\/\/purplemeanie.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/4726\/revisions\/8142"}],"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}]}}