Generic OBD2 (On-Board Diagnostics II) systems provide valuable insights into your vehicle’s health, but they often scratch the surface. For car enthusiasts and those seeking deeper diagnostics, especially for performance monitoring, customizing your OBD2 setup to access vehicle-specific CAN (Controller Area Network) codes can reveal a wealth of hidden data. This approach goes beyond standard PIDs (Parameter IDs), unlocking information directly from your car’s computer that is otherwise inaccessible.
For certain vehicle models, accessing these custom CAN codes can be a game-changer. Take, for example, the Subaru BRZ, Scion FRS, and Toyota GT86 community. They discovered specific CAN codes that expose critical data points not available through standard OBD2, such as oil temperature and remaining fuel level. Oil temperature is particularly vital for drivers engaged in track days or autocross, where engine heat management is paramount. Knowing the precise oil temperature allows for informed driving decisions, preventing potential engine damage from overheating. Similarly, a more accurate fuel level reading can be beneficial in performance driving scenarios.
To utilize these custom CAN codes, tools like ELM327 interfaces and software modifications may be necessary. In the case of the oil temperature PID for the BRZ/FRS/GT86, a two-step process involving CAN header expression and PID querying was implemented using a modified David Irvine API. This involved initializing the ELM327 with a specific CAN header:
**runCommand("AT SH 7E0",data,20); //(FRS/gt86/brz specific CAN header)**
Followed by querying for the oil temperature using a custom function:
**status=getBytes("21","01",values,1);**
The real challenge lies in discovering these vehicle-specific CAN codes for your particular car model. Fortunately, the online automotive community is a rich resource. Here are some key places to explore to find these codes and further customize your OBD2 experience:
- Online Forums: Vehicle-specific forums dedicated to your car’s make and model are treasure troves of information. Diesel truck forums, in particular, are known for uncovering and sharing custom PIDs.
- Torque App Forums: The forums associated with the popular Torque Android app are a valuable resource, with users frequently sharing custom PIDs and configurations.
- Scangauge X-gauge PID Library: Scangauge, a popular OBD2 gauge, maintains a library of X-gauge commands (http://www.scangauge.com/support/x-gauge-commands/). This library can be a great starting point for finding custom PIDs.
- CAN Sniffing: If online resources fail, you can delve into CAN sniffing. This more advanced technique involves intercepting and analyzing CAN bus communication in your vehicle to identify data signals directly. Guides like this Instructables tutorial (https://www.instructables.com/id/CAN-Bus-Sniffing-and-Broadcasting-with-Arduino/ ) can provide a starting point for learning CAN sniffing.
Once you’ve identified the correct PID, the next hurdle is extracting the relevant data from the often lengthy string of characters returned. This data parsing can be tricky and may require debugging. Techniques like “guess and check” using Arduino sketches or “spamming” responses to the serial monitor (especially helpful with an Arduino Mega) and then graphing the data in a spreadsheet can aid in identifying the hex number corresponding to your desired sensor reading. Cross-referencing with a known good OBD2 program like the Torque app or even physical sensors can further validate your findings.
In conclusion, customizing your OBD2 system with vehicle-specific CAN codes opens up a new dimension of vehicle data access. By venturing beyond generic PIDs, you can unlock valuable information, such as oil temperature and fuel level, enhancing your understanding of your car’s performance and health. While the process of finding and implementing these customizations may require some technical exploration and community engagement, the rewards in terms of data insights are significant, particularly for automotive enthusiasts and performance-focused drivers.