Implementation of an OBD-II diagnostics tool over CAN-BUS with Arduino

  • Armando Rodríguez Rodríguez Universidad de Pinar del Río
  • José Raúl Vento Álvarez Universidad de Pinar del Río
  • Ricardo Inouye Rodriguez Universidad de Pinar del Río
Keywords: OBD-II; CAN; Arduino; ECU.


Since its beginnings, the goal of On Board Diagnostics [OBD] standard has been to take control over gasses emission  in automotives and its effects in the environment. This project implements a system based on OBD-II diagnostic protocol over a CAN bus, which allows both, displaying real time variables and diagnostic the vehicle status to get codes about its functioning, failures and energy efficiency. On board diagnostic systems allow to obtain failure codes stored and several relevant variables as: speed, gas level and CO2 emission levels, in real time. An OBD-II system centered at the end of the bus, corresponding to the scanner or diagnostic unit, was implemented on an Arduino Mega 2560 board connected to a CAN transceiver-controller composite module. The scanner has a USB connection that makes it easy to view the data recovered in a versatile way on a PC through a graphical interface created in LabVIEW ™.  

Author Biographies

Armando Rodríguez Rodríguez, Universidad de Pinar del Río

Telecommunications and Electronics Engineer  from the Universidad de Pinar del Río [UPR] “Hermanos Saiz Montes de Oca” (Cuba, 2017). Since 2017, he is a professor at the Telecommunications and Electronics Department - Technical Sciences Faculty – UPR, imparting maters related with analogical electronics and power supplies. His research lines are: process automation, demotic control systems and optical fiber sensors.

José Raúl Vento Álvarez, Universidad de Pinar del Río

Telecommunications Engineer  from the Instituto Superior Politécnico “José Antonio Echeverría” -CUJAE (Havana, Cuba - 1982); He has a Master’s degree in Telecommunications Networks, and a and a Ph.D in Telecommunications from the Universidad Politécnica de Madrid (España, 1996 y 1998, respectively). Since 1990, he is professor at the Telecommunications and Electronics Department - Technical Sciences Faculty – Universidad de Pinar del Río (Cuba), imparting maters related with telecommunications’ networks, telematics and optical communications, and he has been grade project tutor (Engineering, and Master and Ph.D in Telecommunications). His research interest are optical fiber sensors and Internet of Things [IoT].

Ricardo Inouye Rodriguez, Universidad de Pinar del Río

Informatics Engineer (2006) and Master in Forestry Sciences (2010). He is an assistant professor at the Informatics Department - Universidad de Pinar del Río [UPR] “Hermanos Saiz Montes de Oca”. Currently he occupies the position as Main Teacher of Academical Year y presides the Provincial Council of the Unión de Informáticos de Cuba (Pinar del Rio). His areas of interest are: development of java applications, Web programming and programming for mobile dispositives.



Arduino Mega 2560 R3. (n.d). Retrieved from:
CanOBD2® Diagnostic Tool™Part#3100e: OBD2 Diagnostic Tool™. (2017). Retrieved from:
Cervantes, A. & Espinosa, S. (2010). Escáner automotriz de pantalla táctil [tesis]. Instituto Politécnico Nacional: México.
García, A. (2015). Diseño de una red CAN bus con Arduino [tesis]. Universidad Politécnica de Navarra: Pamplona, España.
Getting Started with Arduino and Genuino UNO. (2016). Retrieved from:
ISO 9141-2:1994 - Road vehicles — Diagnostic systems — Part 2: CARB requirements for interchange of digital information. Geneva, Switzerland: ISO
ISO 14230-2:2016 - Road vehicles — Diagnostic communication over K-Line (DoK-Line) — Part 2: Data link layer. Geneva, Switzerland: ISO
ISO 15765-4:2016 - Road vehicles: Diagnostics on Controller Area Network (CAN). Part 4: Requirements for emission-related systems. Geneva, Switzerland: ISO
McCord, K. (2011). Automotive diagnostic systems. North Branch, MN: CarTech.
Meseguer, J. E. (2013). Caracterización de los estilos de conducción mediante smartphones, dispositivos OBD-II y redes neuronales [tesis de maestría]. Universidad Politécnica de Valencia: España.
Rayo M. O. (2009). Diseño y realización de un sistema on board diagnostics (OBD-II) [trabajo de final de curso]. Universidad Politécnica de Cataluña: Barcelona, España.
Shield introduction. (n.d)Retrieved from:
Simbaña, W., Caiza, J., Chávez, D., & López, G. (2016). Diseño e implementación de un sistema de monitoreo remoto del motor de un vehículo basado en OBD-II y la plataforma Arduino. Revista Politécnica, 37(1). Retrieved from:
xTool [Web site]. Retrieved from:
Zabler, E. (2002). Los sensores en el automóvil. Stuttgart, Alemania: Robert Bosch GMBH.
Original Research