Introducing the OBD-II UART Adapter for Arduino (with built-in MPU-6050)

The OBD-II UART Adapter for Arduino works as a data bridge between vehicle's OBD-II port and the serial UART of Arduino, used for reading out data such as speed or engine RPM from car's ECU computer. With dedicated Arduino library, it is extremely simple to perform a readout on Arduino. The adapter embeds a MPU-6050 accelerometer/gyro/temperature sensor module inside with I2C interface. The accelerometer can be used for measuring a car's acceleration and steering G-force. The gyroscope can be used for measuing car's orientation without GPS.

Besides providing OBD-II data access, it also outpus DC 5V power supply (converted and regulated from OBD-II port) for Arduino and the attached devices.

The adapter has a standard OBD-II connector which can be plugged and locked in the OBD-II port usually under the dashboard of your car. A cable comes out from the adapter and splits into 3 connectors at the end, which are power connector (VCC/GND), OBD-II data connector (Rx/Tx) and I2C sensor connector (SDA/SCL). They can be connected to Arduino with onboard breakout pins or breakout shield. Your Arduino device will look tidy in car with only one connected cable.

FAQs

Q: How is the adapter powered?
A: The adapter gets power from the 12V DC output from the OBD-II port.

Q: Does my Arduino needs power from somewhere in the car?
A: The adapter provides regulated 5V DC output to provide power for Arduino via its power connector. Your Arduino can be powered by connecting the power connector (VCC/GND) to Arduino’s 5V and GND pins, so no extra power input is needed.

Q: Do I need a CAN bus shield to use with the adapter?
A: Definitely no. The adapter retrieves data from CAN bus, like a CAN bus shield does and convert the more complicated CAN bus interface to simple serial UART interface which Arduino and most embedded systems are easy to access. The data connection is provided by adapter’s data connector (Rx and Tx).

Q: How do I connect the adapter with my Arduino?
A: The adapter works with all models of Arduino with the dedicated Arduino library and is connected with Arduino by connecting adapter’s Tx to Arduino’s Rx (D0) and adapter’s Rx to Arduino’s Tx (D1). If you want to connect and disconnect the adapter with your Arduino effortlessly, it’s recommended to use a common I/O breakout shield or use an Arduino board with breakout pins for Rx/Tx/VCC/GND.

Q: Is the power provided by the adapter always available in car?
A: This depends on whether the OBD-II port of your car still has power after ignition is off. Actually it is so with most cars.

Links

Interesting, but leaves me with a couple questions...

  1. Most of the standard commercial OBD readers can reset the "Check Engine" light - will this be able to do that?

  2. Is there any ability to write stuff BACK to the car's onboard systems so that you can potentially alter the way the car drives - stuff like changing the way the cruise control acts on hills, or any of the other "tuning" functions claimed by some of the aftermarket chips?

My 2010 Chrysler T&C minivan has some behaviors that I find really obnoxious, but not enough to justify the purchase of one of the "chips" for it, even assuming they do what they claim... I'm wondering if there is a way to do this for less money...

Thanks,

ex-Gooserider

I think other handheld products may suit your needs better.

Hello,

does this adapter works with Arduino due? And what about the libraries for Arduino due?

Thanks,
Clouddese

hi,
can i know the working of elm327 v1.5 obd2 interface( in terms of hardware point of view)
i.e., with IC's TJA 1040 , PIC 18F25K80,CH 340T

when interfacing with arduino atmega 2560
please

WOW!! This definitely makes the wheels turn. Autocompensation for HHO. If you could actually make tuning adjustments to the on board CPU or even use the Arduino or SD card to hold changes to fork the OS. Hmmm...

I just realized this is an old post. Oh well...maybe spark an idea in someone.

Hey-you could make a record of how you drive :smiley:

What chip do you use for this? Is it an ATMEGA?