Project - Vehicle OBD - ELM327

Vehicle OBD - ELM327

The ELM327 integrated circuit ( is a very popular OBD-II interpreter for automotive applications. This IC is used in many commercial automotive diagnostic products. The popularity of the ELM327 is due to in large part to the fact that the IC abstracts away most of the low-level logic for dealing with the different OBD protocols and translates the raw OBD data from the vehicle’s ECUs into messages that are transmitted to a microcontroller via a standard serial connection (or to a PC via RS-232 or USB).

Thank you, John, for the csharp code to talk to the ELM + clones.
I have some code similar working sending commands to and receiving commands from a Nissan Leaf.
The issue I currently have is after I send a particular command, the ECU I’m talking to sends back data in a constant stream and the ELM327 faithfully sends this data on to my receiver routine via the COM port. The trouble is it doesn’t stop - it will write for ever. I can stop reading but then I cant get the ELM/ECU to respond to new commands - (short of switching it off).

When I use hyperterm I can interrupt the incoming flow using ctrl-c - but in my csharp program I’m not sure what to do to achieve the same result.

I looked at the list of AT commands that the ELM327 supports and dont see one that limits the amount of returned data for a subsequent command.

Any hints to get me passed this problem would be appreciated. Thank you.