Site Information

 Loading... Please wait...

Blog

Know OBD2 Before You Start That Development Project

Posted by Wilfried Voss on

Teensy 4.0 OBDII CAN-Bus ECU Simulator Includes Teensy 4.0

We at Copperhill Technologies offer a variety of CAN (Controller Area Network) devices for developing automotive and industrial embedded systems. In that capacity, we receive frequent inquiries regarding OBD2 (Onboard Diagnostics). 

OBD2, or Onboard Diagnostics Second Generation, is a vehicle diagnosis system found in modern cars and trucks. The OBD2 system collects data from sensors and other monitoring devices, which are then examined by the vehicle's engine control unit (ECU) to determine whether any issues need to be addressed. Problems with the engine, gearbox, emissions system, and others, are among the most common faults that OBD2 can discover.
Source: https://www.autopi.io/blog/what-is-obd-2/

The inquiries we receive, unfortunately, also reflect some misunderstanding of OBD's purpose and functionality. To make it a point, OBD2 is a mere diagnostics system that allows you to monitor the vehicle's performance. It does not allow you to control the car stereo, windows, steering wheel, or brakes (there were multiple inquiries in that direction, ignoring the more than serious liability aspects). 

Of course, there are valid approaches to ODB2 development. Besides some unique ideas, most are about vehicle maintenance and fleet management, including telematics, vehicle performance, and predictive failure analysis. 

Furthermore, some entrepreneurs with great ideas miss the stringent hardware requirements to meet harsh environmental conditions, such as temperature and vibration. Your solution should work in Death Valley as well as Antarctica. Many of our customers use the Raspberry Pi with the PiCAN series of CAN Bus HATs for their OBD2 projects. This approach is a great starting point to prove the concept, but in the majority of cases, not recommended for mass production. Alternatively, if you deem your OBD2 project a fun hobby, you are on the right track. 

To make it a point, regardless if your OBD2 project is a mere hobby or a great business idea, you need to know OBD2. For example, OBD2 is not a mere protocol based on the CAN Bus. There are five different OBD2 protocols. They are: 

  • ISO 15765 (CAN bus): Mandatory in US cars since 2008 and is today used in the vast majority of cars 
  • ISO14230-4 (KWP2000): The Keyword Protocol 2000 was a common protocol for 2003+ cars in, e.g., Asia 
  • ISO9141-2: Used in EU, Chrysler & Asian cars in 2000-04 
  • SAE J1850 (VPW): Used mostly in older GM cars 
  • SAE J1850 (PWM): Used mostly in older Ford cars 

Source: https://www.csselectronics.com/pages/obd2-explained-simple-intro

However, since ISO 15765 (CAN Bus) has been mandatory for US cars since 2008, one can assume that OBD2 in the majority of cars in the US uses Controller Area Network. 

For more information on OBD2, see:


Teensy 4.0 OBDII CAN-Bus ECU Simulator Includes Teensy 4.0Teensy 4.0 OBDII CAN-Bus ECU Simulator Includes Teensy 4.0

This is a CAN-Bus OBDII ECU simulator using the Teensy 4.0 module (included). Useful for testing OBDII interface and writing diagnostic software. ECU PIDs parameters are adjustable via potentiometers.

This board requires a 12 VDC power supply. A 12 VDC adapter is included.

More Information...

CAN Bus Tutorial - Benefits of Using the CAN Bus

The following is an excerpt from  A Comprehensible Controller Area Network by Wilfried Voss. Like any field-bus system based on serial communication, Controller Area Network will reduce wiring, which was initially considered an advantageous side effect. Distributed control, i.e., the use of a multi-processor system, will consequently result in increased performance. The vastly reduced costs of microcontroller [...]

Read More »


CAN Bus Tutorial - CAN Bus Main Characteristics

The following is an excerpt from  A Comprehensible Controller Area Network by Wilfried Voss. Everything that has to do with Controller Area Network (CAN) is based on maximum reliability with the maximum possible performance in mind. After all, CAN was initially designed for automobiles, definitely a very demanding environment for microprocessors, not only regarding required electrical robustness [...]

Read More »


CAN Bus Tutorial - Typical CAN Bus Applications

The following is an excerpt from  A Comprehensible Controller Area Network by Wilfried Voss. One frequently asked question is regarding any other field of application, besides automobiles, where CAN is successfully used. There is not just one answer, but many.  There is no particular niche for CAN; its use is universal from any industrial application, space, aviation, maritime, [...]

Read More »


CAN Bus Tutorial - What is CAN?

The following is an excerpt from  A Comprehensible Controller Area Network by Wilfried Voss. Controller Area Network (CAN) is a serial network technology that was originally designed for the automotive industry, especially for European cars, but has also become a popular bus in industrial automation and other applications. The CAN bus is primarily used in embedded systems, [...]

Read More »


CAN Bus Tutorial - A Brief History of CAN

The following is an excerpt from  A Comprehensible Controller Area Network by Wilfried Voss. The idea of Controller Area Network (CAN) was hatched by engineers at the Robert Bosch GmbH in Germany in the early 1980s. They investigated the market for a suitable field-bus technology for use in automobiles that would enable them to add additional functionality. [...]

Read More »


A Beginner's Guide to SAE J1939 Embedded Software Development

Introduction Welcome to my beginner's guide! By opening this page, you have entered the first and probably most crucial stage toward developing your SAE J1939 project: Reading. Over the years, I dealt with many newcomers to the J1939 technology, some of them motivated by great product ideas. Others were thrown into a project because they were [...]

Read More »


Controller Area Network (CAN Bus) And Higher-Layer Protocols CANopen, SAE J1939, NMEA 2000

For the longest time, the major misconception about Controller Area Network (CAN) was that it merely applies to automobiles. The truth is, CAN, since its introduction in 1986, proved to be a robust, versatile, and straightforward technology and, consequently, the CAN Bus technology found its way into all areas of applications where microprocessors need to [...]

Read More »


The Benefits Of Controller Area Network - CAN Bus - For Embedded Applications

The following is an excerpt from  A Comprehensible Controller Area Network by Wilfried Voss. Controller Area Network, like any field-bus system based on serial communication, will reduce wiring, which was initially considered only as an advantageous side effect.  Distributed control, i.e., the use of a multi-processor system, will consequently result in increased performance, and the vastly reduced costs [...]

Read More »


LIN To CAN Bus Gateway - Prototyping And Firmware Development With The Arduino-Compatible Teensy Board

In general, let's start with a brief comparison of  CAN Bus (Controller Area Network) and LIN Bus (Local Interconnect Network): LIN Bus networks provide cost-efficient communication in applications where the bandwidth and versatility of the CAN Bus technology are not required.  LIN Bus applications are relatively inexpensive using the standard serial universal asynchronous receiver/transmitter (UART) technology, which are embedded [...]

Read More »