ELM327 copies were widely sold in devices claiming to contain an ELM327 device, and problems have been reported with the copies.
With this software, pirates could trivially produce ELM327 clones by purchasing the same microcontroller chips and programming them with the copied code.
Consequently, anyone could buy a genuine ELM327, and read ELM's proprietary binary microcontroller software using a device programmer. When ELM Electronics sold version 1.0 of its ELM327, it did not enable the copy protection feature of the PIC microcontroller. The ELM327 is a PIC microcontroller that has been customized with ELM Electronics' proprietary code that implements the testing protocols. Typical cheap ELM327 copy without label on the controller The ELM327 command set is similar to the Hayes AT commands.
The ELM327 abstracts the low-level protocol and presents a simple interface that can be called via a UART, typically by a hand-held diagnostic tool or a computer program connected by USB, RS-232, Bluetooth or Wi-Fi. Main article: On-Board Diagnostics § OBD Applications