Want to know your real-time information on your car? The OBD-II I2C adapter can make ture.The adapter can be integrated into other MCU or embedded systems in additon to Arduino.
The OBD-II I2C Adapter for Arduino works as a data bridge between a vehicle’s OBD-II port and I2C port 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 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.
The Arduino library is now supporting retrieving accelerometer and GYRO data.
Enhanced Features of model B
The model B has an additional MPU6050 module embedded inside the case, providng additional accelerometer, gyro and temperature sensor accessible via I2C. The accelerometer can be used for measuring car’s acceleration and steering G-force. The gyroscope can be used for measuing car’s orientation without GPS.
The model B has 3 connectors at the end of the cable (whereas the model A has 2) including the additional SDA/SCL connector.
When the adapter is plugged and locked in the car’s OBD-II port, the MPU6050 module inside the case will always stay static to the car body, so the sensor data can reflect the movement of the car accurately. A programming guide using this module is available in the official Arduino playground.
- Vehicle speed
- Engine RPM
- Throttle position
- Calculated/absolute Engine load
- Engine coolant temperature
- Intake temperature
- Intake pressure
- MAF flow pressure
- Fuel pressure
- Barometric pressure
- Ignition timing advance
- Engine running time
- Vehicle running distance
OBD means On-board diagnostics which is an automotive term referring to a vehicle's self-diagnostic and reporting capability. OBD systems give the vehicle owner or a repair technician access to state of health information for various vehicle sub-systems. The amount of diagnostic information available via OBD has varied widely since the introduction in the early 1980s of on-board vehicle computers, which made OBD possible.
OBD II is no longer only used by professionals and hobbyists to repair vehicles. OBD II information is commonly used by vehicle telematics devices that perform fleet tracking, monitor fuel efficiency, prevent unsafe driving, as well as for remote diagnostics and by Pay-As-You-Drive insurance. Although originally not intended for the above purposes, commonly supported OBD II data such as Vehicle Speed, RPM, and Fuel Level allow GPS based fleet tracking devices to monitor vehicle idling times, speeding, and over-revving. By monitoring OBD II DTCs a company can know immediately if one of its vehicles has an engine problem and by interpreting the code the nature of the problem. OBD II is also monitored to block mobile phones when driving and to record trip data for insurance purposes.
- Size: 72x48x28 mm
- Cable Length: 1m
- Embedded MPU6050 I2C accelerometer and gyro
- OBDII FAQ
- Arduino Library Download Link:
- OBD II Designer Website
- DIY project--The ultimate GPS and OBD-II data logger based on Arduino MEGA
- More information about OBD
- Wiki tutorial
- OBD II (Model B) x1