eriksmartt.com>Selected Archives

A Python script to calculate UTEC map checksums

I had a sudden burst of inspiration the other night and wrote a Python script that can read/write map files for the TurboXS UTEC, along with generating or inserting the proper checksum value into the map. For Mac OS X users, I also wrote a BBEdit filter that will stick the checksum into maps you are editing with that text editor.

If you don't know what a UTEC is, it's probably safe to stop reading here. For those that are curious, the UTEC, which stands for "User Tunable Engine Computer", is a programmable ECU for the Subaru WRX. Until now, there were no Open Source utilities to compute the checksums necessary to upload self-edited ECU maps, nor were there any tools for OS X users at all.

You can find the readme and pylibutec.tgz file here: pylibutec

pylibutec.tgz contains some unit testing code, sample maps to validate, the bbedit filter, a readme, and the 'utec' module, which contains a script called 'maputil.py'

The code was written and tested with Python 2.3 on Mac OS X (Panther) for the 4.1 UTEC firmware. I have not tested on any other platforms, but I would appreciate any feedback, patches, etc., so I can improve the code.

Mad props go to Pete at TurboXS for explaining the checksum process. His explanation is included in the source code.

pylibutec is Open Source, licensed under the Creative Commons Attribution 2.0