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.
cubigato GmbH has released the project gmc-geiger-mqtt as Open Source. The project is now available on GitHub and is available to the developer community.
gmc-geiger-mqtt is a Python application that reads GMC Geiger counters via a serial interface and publishes the radiation measurement values via MQTT. The software enables seamless integration of Geiger counters into smart home systems such as Home Assistant.
The core functionality of the MQTT bridge is fully implemented and production-ready. The software reliably reads radiation values from GMC devices (tested with GMC-800), calculates moving averages and publishes the data via MQTT. Integration into Home Assistant works automatically via MQTT Discovery.
Future enhancements include a web UI for visualizing measurement values as well as additional output plugins for databases.
The project is structured as a modern Python package and uses uv for dependency management. The architecture cleanly separates between device layer (serial communication), processing layer (data processing) and MQTT layer (publishing). Automated unit tests as well as manual hardware tests document the functionality.
The software is aimed at anyone who wants to integrate radiation measurements into Home Assistant, for example. Typical use cases include monitoring background radiation, creating long-term statistics or automation based on radiation values.
The data can of course also be processed with any other MQTT client.
The complete source code is available on GitHub:
cubigato GmbH has released the terminal project tree-style-terminal as Open Source under the GPL-3.0 license. The project is now available on GitHub and is available to the developer community.
tree-style-terminal is a modern Python/GTK terminal application that replaces the traditional tab system with hierarchical tree navigation. Inspired by the popular tree-style-tabs add-on for Firefox, it enables the organization of terminal sessions in an infinitely nestable tree structure.
The project is in active development. Core application functions, the session management system, tree-based sidebar, and full theming support are already implemented. Features like session persistence and advanced keyboard navigation are in progress.
The complete source code is available on GitHub:
https://github.com/cubigato/tree-style-terminal
The project is under the GPL-3.0 license and welcomes contributions from the developer community. Developers can clone the repository, create issues, and submit pull requests.
cubigato works with freelancers worldwide to implement projects. As a German company, end customers receive a transparent invoice with all necessary tax information. Freelancers are paid in Bitcoin, which provides more flexibility and freedom.
However, it is important to note that freelancers are responsible for taxing their income at their place of residence.
If you are a freelancer and interested, please feel free to contact us.
Example blog post. More exciting content will surely follow in the future...