cubigato GmbH has released the project ThinkCar TC Reader as Open Source under the Apache 2.0 license. The project is now available on GitHub and is available to the developer community.
ThinkCar TC Reader is a Python library and command-line tool for reading and converting ThinkCar .TC diagnostic log files to CSV format. ThinkCar diagnostic devices (ThinkDiag, ThinkScan, ThinkTool) and reseller apps (Kingbolen eDiag, Topdon) record OBD-II live data in a proprietary binary format with the .TC extension. This software enables parsing these files and exporting the data for further analysis.
tc2csv command for quick conversionsThe proprietary .TC file format has been fully analyzed and documented through reverse engineering. The insights from this process are described in a detailed blog article:
Reverse Engineering Binary File Formats: ThinkCar .TC Diagnostic Data
The format uses an interesting string table architecture with 1-based indexing and stores all values as string references. The complete format specification can be found in the project documentation under docs/TC-FILE-FORMAT.md.
The tool can be used both via command line and programmatically:
Command Line:
tc2csv recording.TC
tc2csv recording.TC -o output.csv
Python API:
from thinkcar_tc_reader import parse_tc_file, export_to_csv
data = parse_tc_file("recording.TC")
export_to_csv(data, "output.csv")
# Access metadata and data
print(f"Manufacturer: {data.metadata.manufacturer}")
print(f"Parameters: {data.parameters}")
The project is structured as a modern Python package and uses uv for dependency management. The architecture cleanly separates parser, exporter, and command-line interface. The TC format uses a magic signature (LSX9), little-endian encoding, and stores up to 32 parameters per record in fixed size (128 bytes).
Comprehensive unit tests with pytest document the functionality, and a sample dataset from a Subaru Outback BR (2014) TCM is included in the repository.
The software is aimed at anyone who wants to export vehicle diagnostic data from ThinkCar devices for further analysis. Typical use cases include:
The complete source code is available on GitHub:
https://github.com/cubigato/thinkcar-tc-reader
The project is under the Apache 2.0 license and welcomes contributions from the developer community. Developers can clone the repository, create issues, and submit pull requests.