No announcement yet.

Help on ELM327 - KWP2000

  • Filter
  • Time
  • Show
Clear All
new posts

  • Help on ELM327 - KWP2000


    I am having trouble to initialize the KWP2000 protocol on a Alfa Romeo 156, seems that the ECU don't want to wake up.. after the inicialization routine nothing is awnsered back to the ELM327.

    Can anyone help me ?


  • #2
    May be it's not EOBD compliant.
    What model year is this car, what engine (capacity, fuel type) is used?
    Where are you located (which country)?


    • #3
      Thanks for your awnser.

      I am using a ELM327 v1.3 on a Alfa Romeo 156 1999 2.0 Brazilian version.
      The ELM board has worked fine in others car/protocol. I have only tested the KWP protocol on this alfa romeo, but on the osciloscope the KWP signal seemed fine to me.

      Can u gimme a hand on that?

      Thanks again.


      • #4
        What's the engine code and what kind of ecu (name/type) does this engine have?
        How many oxygen sensors does it have?


        • #5
          The ECU is a Bosch M1.5.5.
          The car probably is OBD2, not EOBD.

          The elm should work fine, I think the issue is about header and this kind of configuration...

          I couldn't get the engine code yet...

          Is this information helpful?


          • #6
            Engine code is probably 323.01. You can find this code on the vin-plate under the hood.
            The text is usually Italian and reads either "Motor" or "Motori".

            OBD2 is a standard for cars sold in the USA and Canada. This car has not been sold there, so it's not compliant with OBD2.
            EOBD is the European version of this standard, but this engine does not have to comply until 2001, so it's not compliant with this standard either.
            I don't even think there are any standards which the car has to comply to in Brazil.
            How many Oxygen sensors are there in the exhaust? And where are they? In front and/or behind the catalic convertor?

            You need the Alfa specific protocol to communicate with this ecu.
            There's a program called Alfadiag which should be able to read your car.


            • #7
              Humm.. it has only one O2 sen, its between the engine and the cat. Almost every brasilian car follow one OBD standard, I think it depend where is the ECU from, becouse we do not make ECUs, can be found Magneti Marelli and bosch on cars made here.

              I will do some research over the AlfaDiag inicialization routine, all place I have read about OBD and ALFa romeo it says "KWP2000".

              Thanks for your time! It was of great help.



              • #8
                You will have to buy Alfadiag for 60 euro.
                Here's the link:
                You can dowload a 30-day demo version from the above web site for free.


                • #9
                  Dear p2psmurf,
                  I have downloaded the trial version of Alfa Diag. I did some analisis throught the serial port of the initialization sequence for the Bosch M1.5.5 (selected on the Alfadiag), and got this data frames, could u gimme a hand on that ?

                  Start string of Bosch M1.5.5 obtained by examining Alfa Diag on Serial Port
                  (click connect on AlfaDiag)
                  Car Received:		F0 @ 200baud 				-> 25ms INIT
                  (I awnsered F0 @ 200baud)
                  Car Received:		80 10 f1 01 81 03 @ 10400baud		-> fst byte is 80 - It is not the frame size - NOT OBD STANDART
                  								   3 byte header: 80 - Priority
                  										  10 - ECU address
                  										  f1 - Scanner address
                  								   data	bytes:    01 81 - Mode 01 (Show courrent data)
                  											  PID 81 - Dunno what's it.
                  								   checksum:	  03
                  So, are my assumptions o'right? On KWP standard the header isn't suppose to have the first byte as lenght of the packet/frame? If my assumptions are right I am able to get ELM working on this KWP protocol, by seting Static Header and aderesses plus 25ms of Initialization.

                  Please. give-me your opinion.

                  Thanks again for the guidance! You are saving me


                  • #10
                    I also got good information of the Alfa Romeo 156 that I am testing:

                    Model Version: 116.865.0(0) - BN 2.0 TS 16V CF2 RICCO - BRAZILLE
                    Engine Stamp: AR 32303
                    Car Version Code: 932A2
                    Engine Version: M5 - 2000 TS Brazil

                    Well, you almost said the right engine code, wrong by 1 digit But I am pretty sure that both engines (323.01 and 323.03) have the same ECU (M1.5.5), so, I will try to make ELM able to talk using the configuration registers of it.


                    • #11
                      Well, you are looking at the Alfa specific protocol, which is NOT compliant with OBD2 or EOBD. It is KWP2000, but there are soooooo many versions of this protocol.
                      80 at the beginning is header start without any length info, which means byte 4 is the length. The 01 3 byte further is the length of the data following.
                      There's only one byte which is 81. This is the wakeup command.

                      Now officially Alfadiag shoud have send 81 10 F1 81 cs, because at that moment it is not known that the ecu will support the long headers, but it seems to work.


                      • #12
                        Great.. now the packet is discovered If I make the ELM operete this way I get connection!! Now I know what I have to configure.. thanks A LOT mate!!!!! How did you learn so mutch specific data like this? By time and experience or u had access to SAE and ISO documents ? Thanks again.


                        • #13
                          I have had access to SAE and ISO documents as well as manufacturer documents.
                          I worked for 10 years in developing after-market scanners.


                          • #14
                            That's a position of privilegie and you seem to mesure no effort to help ppl like me, that's an exemple witch everybody should follow. Knowlgment is made to pass and receive, not to keep.
                            Thanks again.


                            • #15
                              Updating Solution:

                              To solve this problem is very simple:
                              Just issue this comand to ELM327: AT SH 8010F1
                              SH = Set Header, it will use the proper header for the non OBD KWP2000 of Alfa romeos.
                              Tested and it is initializing comunication.

                              Thanks to p2psmurf.