{"id":1713,"date":"2020-04-06T16:28:12","date_gmt":"2020-04-06T15:28:12","guid":{"rendered":"http:\/\/www.beady.com\/blog\/?p=1713"},"modified":"2025-03-07T18:20:11","modified_gmt":"2025-03-07T18:20:11","slug":"p38-becm-communications","status":"publish","type":"post","link":"https:\/\/www.beady.com\/blog\/p38-becm-communications\/","title":{"rendered":"P38 BECM communications (Updated Mar 2025)"},"content":{"rendered":"\n<p>When making my p38 camper I needed to make a new wiring loom but still wanted to keep the look of the P38 internally as I feel it is a very tidy interior,  I also wanted to remove the BECM and make a small neater one that did the bits I just needed.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>The BECM talks to all the other systems (ABS,ENGINE,HVAC) via simple wires going hi and lo to indicate errors or status, <\/p>\n\n\n\n<p>The outstations in the doors, display and the switch panel use a form of serial comms to talk to each other.<\/p>\n\n\n\n<p>I only reverse-engineered the display but the comms system is the same on the others it will take someone else to sniff the codes using a simple cheap Arduino.<\/p>\n\n\n\n<p>There is a working arduino sketch at the end of the post.<\/p>\n\n\n\n<p>you just need three wires to the display, +12v and ground to make it work with any of the components., if you only want to listen then you can just sniff the data wire, to know which is sending the data is a little harder to do, because you cant detect which end pulled the line low.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>The system runs on three wires,  <\/p>\n\n\n\n<ol>\n<li>Clock wire<\/li>\n\n\n\n<li>Data Direction<\/li>\n\n\n\n<li>Data wire<\/li>\n\n\n\n<li>ground is always needed \ud83d\ude42 <\/li>\n<\/ol>\n\n\n\n<p>The data wires to the display are easy to get to on the BECM they are on the plug just below the fusebox and can easy be identified because of the dual coloured wires. push a paperclip into the data wire and connect that to the a input pin on the arduino with a 1k resistor in series then  connect a earth from the car to  your arduino and then make a sketch to relay, use  4800 8N1 bps comms on the BECM wire to the serial monitor on the computer. then press things or make things happen on the car and see what gets sent to\/from the BECM. you should see the mileage being sent from the display to the BECM it is easy to work it out.<\/p>\n\n\n\n<p>Bytes : A6 13 83 73     45 <\/p>\n\n\n\n<p>A6 is the code to says its mileage then the mileage is in plain text here the  mileage is 138373     (45 is the checksum)<\/p>\n\n\n\n<p>Here is how the connections are wired into the switch panel for the windows<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"764\" height=\"1024\" src=\"http:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/Annotation-2020-04-06-141732-764x1024.png\" alt=\"Range rover electric windows wiring diagram\" class=\"wp-image-1714\" srcset=\"https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/Annotation-2020-04-06-141732-764x1024.png 764w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/Annotation-2020-04-06-141732-224x300.png 224w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/Annotation-2020-04-06-141732-768x1029.png 768w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/Annotation-2020-04-06-141732-1146x1536.png 1146w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/Annotation-2020-04-06-141732.png 1205w\" sizes=\"(max-width: 764px) 100vw, 764px\" \/><\/figure>\n\n\n\n<p> three wires OG,LG and R  (black = GND)<\/p>\n\n\n\n<p>on the display the signals wires  are doubled up for reliabilty .<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"734\" height=\"1024\" src=\"http:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/range-rover-body-control-wiring-diagram-734x1024.png\" alt=\"Range rover wiring diagram, with dtata comms descrition and protocols\" class=\"wp-image-1715\" srcset=\"https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/range-rover-body-control-wiring-diagram-734x1024.png 734w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/range-rover-body-control-wiring-diagram-215x300.png 215w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/range-rover-body-control-wiring-diagram-768x1071.png 768w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/range-rover-body-control-wiring-diagram-1101x1536.png 1101w, https:\/\/www.beady.com\/blog\/wp-content\/uploads\/2020\/04\/range-rover-body-control-wiring-diagram.png 1205w\" sizes=\"(max-width: 734px) 100vw, 734px\" \/><\/figure>\n\n\n\n<p>basically there is a red a green and a orange wire  2 &amp; 12 ,3 &amp; 13 , 5 &amp; 15<\/p>\n\n\n\n<p>     orange is  Data direction<\/p>\n\n\n\n<p>      red is clock signal<\/p>\n\n\n\n<p>     green is the actual data<\/p>\n\n\n\n<p>the clock wire runs at 4.8 khz<\/p>\n\n\n\n<p>the data dir wire is pulled low when sending data, you must wait 5ms before writing to the data line after pulling this low<\/p>\n\n\n\n<p>and the data is 4800 8N1 just like any rs232<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">So what does this data ?<\/h4>\n\n\n\n<p>The data is in 10 byte blocks <\/p>\n\n\n\n<p>which consist of two 5 byte sections<br>byte 0  : ID<br>byte 1 : data<br>byte 2  :data<br>byte 3  :data<br>byte 4  : Checksum byte  :  bytes 0,1,2,3 all XORed together<br><\/p>\n\n\n\n<p>The display sleeps if it doesn&#8217;t get a valid data stream, so if you have power and nothing is on the screen then your data stream is wrong somehow.<\/p>\n\n\n\n<p>to keep the screen awake when you dont need to send any data then you must send AA AA AA AA cs 00  which is the keep alive signal<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Byte 1 is the control\/action code<\/p>\n\n\n\n<ul>\n<li>0xA5   : is the lights on the display<\/li>\n\n\n\n<li>0x00    : are messageson the upper line of the LCD, I pressume these vary by Display ROM, you can set the language<\/li>\n\n\n\n<li>0x0F    : message on the lower line of the LCD<\/li>\n<\/ul>\n\n\n\n<p>0x<\/p>\n\n\n\n<p>OK, if you now used my Arduino sketch and have the hazard lights on the display going on\/off what else can you send to the display?<\/p>\n\n\n\n<p>Here is what I have found that you can send the display, I didn&#8217;t decode the data coming from the display because I didn&#8217;t need it.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Byte #<\/td><td>Hex<\/td><td>bit<\/td><td>Function<\/td><\/tr><tr><td>1<\/td><td>A5<\/td><td>&nbsp;<\/td><td><strong>{lighting }<\/strong><\/td><\/tr><tr><td>2<\/td><td>&nbsp;<\/td><td>\u2026. \u20260<\/td><td>Left indicator<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. ..1.<\/td><td>Main beam indicator<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. .2..<\/td><td>Right indicator<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. 3\u2026<\/td><td>Brake warning light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u20264 \u2026.<\/td><td>Low fuel light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>..5. \u2026.<\/td><td>Over temp light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>.6.. \u2026.<\/td><td>Traction control light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>7\u2026 \u2026.<\/td><td>Seat belt light<\/td><\/tr><tr><td>3<\/td><td>&nbsp;<\/td><td>\u2026. \u20260<\/td><td>BATT light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. ..1.<\/td><td>Oil light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. .2..<\/td><td>ABS light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. 3\u2026<\/td><td>Heater plugs light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u20264 \u2026.<\/td><td>Engine check light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>..5. \u2026.<\/td><td>Nothing ???<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>.6.. \u2026.<\/td><td>Transfer box warning<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>7\u2026 \u2026.<\/td><td>Trailer light<\/td><\/tr><tr><td>4<\/td><td>&nbsp;<\/td><td>\u2026. \u20260<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. ..1.<\/td><td>SRS light? Gauges ON must be set to make gauges work I.e. BYTE 4 must be at least 0x06 for back light to be on and the gauges working.<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. .2..<\/td><td>LCD back Light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. 3\u2026<\/td><td>Side light indicator<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u20264 \u2026.<\/td><td>Air susp up light<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>..5. \u2026.<\/td><td>Nothing ??<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>.6.. \u2026.<\/td><td>Nothing ??<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>7\u2026 \u2026.<\/td><td>Nothing??<\/td><\/tr><tr><td>5<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>CS first 4 bytes XORed together<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Byte #<\/td><td>Hex<\/td><td>bit<\/td><td>function<\/td><\/tr><tr><td>1<\/td><td>00<\/td><td>&nbsp;<\/td><td><strong>{messages}<\/strong><\/td><\/tr><tr><td>2<\/td><td>&nbsp;<\/td><td>0x_0<\/td><td>english<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x_1<\/td><td>french<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x_2<\/td><td>german<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x_3<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>Upper nibble<\/td><td>??<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>3<\/td><td>&nbsp;<\/td><td>0x00<\/td><td>Same as byte 4 but for lower LCD line<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>4<\/td><td>&nbsp;<\/td><td>Message<\/td><td>On upper line of lcd<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x00 to 0x16<\/td><td>&#8220;FUSE&nbsp; xx&nbsp; failed&#8221;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>17<\/td><td>Right dip beam<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>18<\/td><td>Left dip beam<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>19<\/td><td>RH main beam<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>1A<\/td><td>LH main beam<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x33<\/td><td>&#8220;Check oil level&#8221;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x34<\/td><td>&#8220;Engine oil overheat&#8221;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x35<\/td><td>&#8220;gearbox overheat&#8221;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x36<\/td><td>Transfer overheat<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x48<\/td><td>Ignition key in<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x49<\/td><td>Lights on<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x4b<\/td><td>Overspeed<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x4e<\/td><td>Fuel guage fault<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0x4f<\/td><td>Temp guage fault<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0xA1<\/td><td>Diagnostic mode<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0xa3<\/td><td>Start engine<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0xA6<\/td><td>SLOW DOWN<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0xA8<\/td><td>ICE alert<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>0xff<\/td><td>Test pattern<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Byte #<\/td><td>Hex<\/td><td>bit<\/td><td>function<\/td><\/tr><tr><td>1<\/td><td>0F<\/td><td>&nbsp;<\/td><td>0x59 messes this up<\/td><\/tr><tr><td>2<\/td><td>&nbsp;<\/td><td>Bit 0-3&nbsp; 0-7<\/td><td>P N R D 2 1in lcd<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>Bit 3<\/td><td>LOW or L if PDRN is shown<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>Upper nibble<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>1<\/td><td>SPORT<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>2<\/td><td>high<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>3<\/td><td>&nbsp;<\/td><td>\u2026. \u20260<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. ..1.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. .2..<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. 3\u2026<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u20264 \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>..5. \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>.6.. \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>7\u2026 \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>4<\/td><td>&nbsp;<\/td><td>\u2026. \u20260<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. ..1.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. .2..<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u2026. 3\u2026<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>\u20264 \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>..5. \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>.6.. \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>7\u2026 \u2026.<\/td><td>&nbsp;<\/td><\/tr><tr><td>5<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>0x55 fuel and temp gauge<\/strong><\/p>\n\n\n\n<p>3<\/p>\n\n\n\n<p>Warning lights come on automatic but can be tested using&nbsp; A5<\/p>\n\n\n\n<p>0x49 temp warning light comes on<\/p>\n\n\n\n<p>0x97 low fuel light comes on<\/p>\n\n\n\n<p><strong>NOTE<\/strong><\/p>\n\n\n\n<p>AA AA AA AA cs 00&nbsp;&nbsp; = 0 keep alive<\/p>\n\n\n\n<p>If not received by dash or another message then the display goes into fail mode.<\/p>\n\n\n\n<p>Warning about temp and fuel and both&nbsp; gauges go to min fuel and max temp<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>erors and wierd stuff <\/p>\n\n\n\n<p>If the DIR wire is disconnected the dash goes to sleep<\/p>\n\n\n\n<p>0x59   does something weird but never worked out what<\/p>\n\n\n\n<p>0x15&nbsp;&nbsp; turns stuff off?<\/p>\n\n\n\n<p>A6,, message strategy?<\/p>\n\n\n\n<p>{0x5a,0x9B,0xF5,0x00,0x3B,0xA5,0x00,0x00,0x04,0xA0};<\/p>\n\n\n\n<p>This was making the overall mileage run up<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Arduino sketch for P38 BECM comms<\/h4>\n\n\n\n<p>Here is a working Arduino sketch , if you know what an Arduino is then you know what to do,<\/p>\n\n\n\n<p>I think I used pull-up resistor to get 12v lines from the 5v , but I am not fully sure of this so check, the signal will be inverted if I did<\/p>\n\n\n\n<p>have fun and please send me updates.<\/p>\n\n\n\n<p><a href=\"http:\/\/www.beady.com\/BigFileForBlog\/P38_Ardiuno2display.zip\" data-type=\"URL\" data-id=\"http:\/\/www.beady.com\/BigFileForBlog\/P38_Ardiuno2display.zip\" target=\"_blank\" rel=\"noreferrer noopener\">Arduino Sketch to Communicate with a P38 BECM<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n\n\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">Please add\/correct me on any info here so we can build a good knowledge of this subject<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Update March 2025<\/mark><\/strong><\/p>\n\n\n\n<p>Thanks to <strong>Haavard<\/strong>, <\/p>\n\n\n\n<p>we have some updates on the codes used, he has managed to get a lot more info and also the fact that the RPM and road speed is given by the display top to the BECM.<\/p>\n\n\n\n<p>See the comments  for his code to use on the Pico2040.<\/p>\n\n\n\n<p>and his second comment for all the new codes<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>I am still going to try and work out how the fuel computer works&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When making my p38 camper I needed to make a new wiring loom but still wanted to keep the look of the P38 internally as I feel it is a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1723,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,31],"tags":[],"post_folder":[],"_links":{"self":[{"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/posts\/1713"}],"collection":[{"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/comments?post=1713"}],"version-history":[{"count":14,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/posts\/1713\/revisions"}],"predecessor-version":[{"id":3884,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/posts\/1713\/revisions\/3884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/media\/1723"}],"wp:attachment":[{"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/media?parent=1713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/categories?post=1713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/tags?post=1713"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/www.beady.com\/blog\/wp-json\/wp\/v2\/post_folder?post=1713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}