MrFixit
Well-Known Member
This thread has become cluttered
Click HERE for simplified How-To instructions
A collaboration between @lincomatic and @MrFixit has resulted in a some success in capturing and deciphering the relevant CAN messages that are associated with the Clarity’s HV battery parametrics.Click HERE for simplified How-To instructions
Our hope was that we could extract this information using a low-cost and ubiquitous ELM327 OBD2 device. There are literally hundreds of these devices available (having so many choices is actually problematic).
The most common way to do this is to install an OBD2 adapter on your diagnostic port, and then run an App on your phone to collect and format the data for display. The typical (and lowest cost) rendition of this is an ELM327 adapter and a phone App such as “Torque”. Generally, this part is ‘easy’. The hard part is knowing how to obtain the right messages, and how to decode the fire hose of binary data into meaningful parameters. The Clarity has a LOT of available CAN data.
Although at the early stage of where this could go, we believe we have succeeded in deciphering the most important parameter (Battery Capacity). Other important battery information has been identified too.
There were 2 major challenges with this effort:
1. The Clarity produces large messages in response to CAN requests. These messages are on the order of 250 bytes, and almost ALL of the low-end ELM327 devices fail because their buffer size is too small resulting in overflows.
These ELM327 devices are like the Wild West. They appear everywhere. All are made in China, and almost all of them are “clones” which don’t use actual ELM327 devices inside. It is virtually impossible to judge whether a given adapter has any chance of working from the information provided in the advertisements. We tried maybe 10 adapters altogether, and almost all of them failed with buffer overflows.
The more expensive ones are probably more likely to work, but our goal was to find a ‘good’ low cost device that others could purchase with confidence that it will be suitable.
The more expensive ones are probably more likely to work, but our goal was to find a ‘good’ low cost device that others could purchase with confidence that it will be suitable.
2. The next major challenge was to find and decode the desired parameters. This is like finding a needle in a haystack. With many hours of sifting through hexadecimal data and trying to hunt for a few ‘known’ values, we were able to make some substantial progress. We are just scratching the surface of what is there, but some of the key battery numbers have been found…
Here is a view of the custom PID setup, and the Battery Capacity being displayed in Torque :


We do not intend for this to be a Torque tutorial, and therefore we assume a certain level of technical skill. If someone wants to create a step-by-step procedure, you are welcome to do that and post it.
- We used the “Torque Pro” App (cost $4.95)
- And, we used this Vgate BLE 4 OBD2 Adapter (cost $27):
* Again – We can’t emphasize enough, the Wild Wild West nature of these ELM adapters. We know this one works, but we also know that MOST of the low cost ones do not. If you find other low-cost adapters that work, let us know. If you don’t want to experiment, then buy this exact one.
The HV Battery Capacity comes in a message from the Clarity’s ‘PHVBAT1’ ECU (ID=DA01F1), and a PID of 22202A. We ultimately plan to build a custom list of Clarity PID’s that can be input to Torque Pro as a .csv file, but also will explore some kind of custom Clarity App as a possibility.
More comprehensive lists of PID’s can be provided to any who are technically inclined and would like to participate in this effort. Feel free to provide any comments here, or via PM.
@lincomatic and @MrFixit
Last edited: