Here's some answers (with the easiest-to-answer coming first)...
In 2014-05, I inquired of ELM Electronics: "Do you have a list of say 3-5 manufacturers of ELM327 based devices, especially any that utilize the new ELM327 2.0 chip?". They essentially refused to answer me, citing that they can not divulge customer information. Maybe if you ask the question in a different manner, you'll get a useful reply. Personally, I would like a real ELM327 v2.1 device -- either USB, Bluetooth, or WiFi -- that can be used with a Windows laptop (either WinXP, Win7, Win8.1, or Win10) or with an Android v4.2 (and higher) phone, since the ELM327 v2.1 chip has some PP parameters that help to further finetune the timing of ISO 9141-2 style connections. But I have no idea how to locate such a device that includes the real ELM327 v2.1 chip from Elm Electronics.PeteB wrote:...I also see that there are mostly clones out there of the complete ELM327 and that
the manufacturer only sells the chip not complete boxes. Suggestions on where to
buy a real one?
All ELM327-compatible devices that I've seen connect to the computer via one of these physical transports: RS-232, USB, Bluetooth, or Wi-Fi.PeteB wrote:Just to be sure that I understand this, the ELM327 device connects to the computer
thought USB and the terminal emulator makes it look like a COM port to the user?
Because most newer laptops do not have COM ports...
The terminal emulator is not what makes it look like a COM port. The driver for the USB-to-RS232 serial chip is what does that for USB devices (eg, the drivers for the CP210x, FTDI, or CH340 chips). And for ELM327 Bluetooth devices, the SPP profile in the Bluetooth software stack is what makes ELM327 Bluetooth devices appear as COM ports.
That explanation applies for Windows.
Not sure how it works for Android, Linux, MacOSX, iOS, other than I know:
- ELM327 Bluetooth devices are extremely easy to work with in Android. Basically, pair Android to the ELM327 BT device, run your app, configure your app to use that BT device, then connect. Future connections usually only involve: run your app, connect. Very simple. [It's unclear to me if the SPP Bluetooth profile is being used "under the hood" in Android, but I could care less, since it all works so effortlessly.]
- ELM327 Wi-Fi devices are (usually) required for iOS.
I've yet to see an ELM327 Wi-Fi being used as a virtual COM port. I think (most if not) everyone uses the IP address/port approach with the wi-fi devices.
In all the above cases, if the terminal emulator can access the ELM327 device via a Windows COMnn port, Linux devnn port, Bluetooth device, or Wi-Fi device, it is most likely because some driver is making that information available to the terminal emulator.
Examples from my experience:
- My ELM327 v1.5 USB clone tool has a CP210x chip that handles the USB to RS232 conversion. That driver makes the ELM327 appear as some specific COM port (eg, COM5, ..., COM14, ...) and as a virtual port (usually \Silabser0).
- My ScanTool.net OBDLink SX USB ELM327-compatible tool has an FTDI chip that handles the USB to RS232 conversion. That driver makes the ELM327 appear as some specific virtual COM port (eg, COM6, ..., COM23, ...) and as a virtual port (usually \VCP0 or \VCP1, depending on how many other devices are presently being used that utilize an FTDI chip). [If you have a VAG/COM KKL FTDI USB cable in addition to an OBDLink SX USB cable and you have both plugged in simultaneously, you'll see that use of \VCP1.]
- The Bluetooth case (on MS Windows) is a bit different from the USB case, but the net result is that virtual COM ports are generated. They'll take the traditional COMnn form (eg, COM5, COM6, ..., COM12, ..., COM20, ...). They'll also take a form similar to \BthModem0, \BthModem1, ..., \BthModemn, or \BtPort0, \BtPort1, ..., \BtPortn, depending on what Bluetooth stack you are using. And there's probably other symbolic virtual COM port names for other Bluetooth stacks which I haven't encountered yet. The most common symbolic COM port names that I've seen associated with actual Bluetooth ELM327 devices are: \BtPort1 and \BthModem1. The appearance of these virtual COM ports for a Bluetooth ELM327 device depends upon the SPP profile being available in the Bluetooth software stack. Usually that comes with the operating system. If it doesn't, then you have to install the Bluetooth drivers that come with your computer's Bluetooth hardware. My understanding is that is why iOS devices can not use Bluetooth, but must use Wi-Fi instead -- Apple doesn't provide the SPP profile in the iOS's Bluetooth stack.
esl_97_850_T5






