ELM327 Programmed Microcontroller Car Diagnostics

How a little computer chip revolutionized car diagnostics

Ever since the introduction of onboard computers in the late 1970s and early 1980s, it has become increasingly difficult for shade-tree mechanics and intrepid DIYers to work on their vehicles. However, a little chip called the ELM327 microcontroller used along with an ELM327 device is helping to change that.

Close up of hands holding an Arduino microcontroller board
Ernesto r. Ageitos / Getty Images

History of Automobile Scan Tools

Throughout the 1980s and up until the mid-1990s, each car manufacturer had its own standards and protocols. This made it difficult, even for professional technicians, to keep tabs on all of these standards. That started to change with the introduction of Onboard Diagnostics II (OBD-II), a standard adopted by automakers around the world.

Despite the progress, professional scan tools can cost tens of thousands of dollars, putting them out of range for most DIY mechanics. Up until a few years ago, even basic code and data readers cost hundreds of dollars. Simpler devices could read and clear codes, but they typically didn't provide access to the PIDs that are often vital for diagnosing drivability problems and other issues.

The ELM327 programmed microcontroller is a tiny, relatively low-cost solution that helps bridge the gap. Devices that use this microcontroller, like the Yongtek ELM327 Bluetooth scanner, don't compare with professional scan tools, but these devices put a lot of information in the hands of DIYers.

How Does ELM327 Work?

The ELM327 microcontroller functions as a bridge between the onboard computer in a car and a PC or handheld device. ELM327 is capable of communicating with the OBDII system and then relaying data through a USB, Wi-Fi, or Bluetooth connection, depending on the implementation.

ELM327 supports a number of SAE and ISO protocols. Legitimate ELM327 devices are capable of communicating with any OBDII vehicle. The command set used by ELM327 isn't identical to the Hayes command set, but these commands are similar.

What Can I Do With ELM327?

You can use an ELM327 device to diagnose your car or truck, but you'll typically need some additional hardware and software. ELM327 devices can be connected to computers, smartphones, tablets, and other devices using several means. The three primary methods include wired USB connections, wireless Wi-Fi connections, and Bluetooth.

Wired USB connections:

  • Most widely compatible option.
  • Relatively inexpensive due to no wireless radio.
  • No chance of a dropped connection.
  • The cable can get in the way.

Wireless Wi-Fi connections:

  • Compatible with more devices than Bluetooth.
  • Expensive.


  • Relatively inexpensive.
  • Bluetooth is available on many devices.
  • Incompatible with some devices, like iPhones.

If you have a PC or Android device, any one of these methods will typically work. If you have an iPhone or iPad, you probably won't be able to use a Bluetooth ELM327 device due to the way that iOS handles the Bluetooth stack. Jailbroken devices may work, though that does carry some level of risk.

ELM327 can provide you with access to trouble codes and also display PIDs. Since the communication is bidirectional, ELM327 also allows you to clear codes after you fix a problem. The precise actions you can perform depend on your ELM327 device and the software you're using. You may also be able to view readiness monitors and other data.

Beware of Clones and Pirates

There are a number of clones and pirates on the market, and some work better than others. The first version of the ELM327 microcontroller code wasn't copy protected by Elm Electronics, which resulted in it being pirated. Some devices that use the old code have been modified to use the current version, and others report a newer version that doesn't exist yet.

Some pirated clones are stable, and others are extremely buggy. In any case, even the stable clones lack the additional functionality found in newer versions of the legitimate ELM327 code.

Scanning Alternatives to ELM 327

If you would rather use a standalone scan tool, there are various options that fall into a variety of price ranges:

  • Code readers: Car code readers can read and clear codes only.
  • Scan tools: Basic scan tools provide access to codes and PIDs. Advanced units include troubleshooting information.
  • OBD-I scan tools: Necessary for vehicles built before 1996. Some OBD-I scan tools work with only a single make of vehicles and others include adapters for use with multiple vehicles.

While devices that make use of the ELM327 microcontroller are typically the easiest and most cost-effective way to scan for codes and view PIDs, there are situations where one of the above options would work better. For example, ELM327 only works with OBD-II, so an ELM327 scan tool won't do any good if your car was built prior to 1996. Unless you're a professional mechanic, an ELM327 device will work fine in most other situations.​

Was this page helpful?