Arduino OBD-II Adapter Library & Sketches
This is fork of the original repository, aimed at adding functionality to the OBD library. Please only submit issues against the libraries/OBD component.
Please see the Freematics repository for any other components
- Ability to dynamically add/remove INIT commands
- Advanced statistics calculation like current gear
OBD-II Adapter for Arduino is a product that works as a vehicle OBD-II data bridge for Arduino (literally all embedded platforms) with open-source Arduino library provided. Besides providing easy-to-use OBD-II data access, it also integrates 9-DOF motion sensor and voltmeter for measuring vehicle battery power. The adapter draws power from OBD-II port and convert it to 5V for powering attached device.
About the library
Most commonly use PIDs are defined in OBD library as followings.
PID_RPM – Engine RPM (rpm) PID_ENGINE_LOAD – Calculated engine load (%) PID_COOLANT_TEMP – Engine coolant temperature (°C) PID_ENGINE_LOAD – Calculated Engine load (%) PID_ABSOLUTE_ENGINE_LOAD – Absolute Engine load (%) PID_TIMING_ADVANCE – Ignition timing advance (°) PID_ENGINE_OIL_TEMP – Engine oil temperature (°C) PID_ENGINE_TORQUE_PERCENTAGE – Engine torque percentage (%) PID_ENGINE_REF_TORQUE – Engine reference torque (Nm)
PID_INTAKE_TEMP – Intake temperature (°C) PID_INTAKE_PRESSURE – Intake manifold absolute pressure (kPa) PID_MAF_FLOW – MAF flow pressure (grams/s) PID_BAROMETRIC – Barometric pressure (kPa)
PID_SPEED – Vehicle speed (km/h) PID_RUNTIME – Engine running time (second) PID_DISTANCE – Vehicle running distance (km)
PID_THROTTLE – Throttle position (%) PID_AMBIENT_TEMP – Ambient temperature (°C)
PID_CONTROL_MODULE_VOLTAGE – vehicle control module voltage (V) PID_HYBRID_BATTERY_PERCENTAGE – Hybrid battery pack remaining life (%)
Additional defines can be added to access other OBD-II PIDs.
libraries - all Arduino libraries needed for OBD-II adapter and kits
samples - several simple sketches for testing purpose
nanologger - OBD-II data logger working with 128x64 monochrome OLED display (for Arduino Nano)
megalogger - OBD-II and GPS data logger based on 320x240 TFT LCD display (for Arduino MEGA)
megaloggerHD - OBD-II and GPS data logger based on 480x320 TFT LCD display (for Arduino MEGA)
tester - a testing sketch for OBD-II communication and capability
utilites - useful utility source code for development