Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
What is PCM Hammer?
It's free software that will allow you to read and/or modify the flash memory of a General Motors Powertrain Control Module (PCM) from the late 1990s through middle 2000s. It is relatively new and untested, so be careful with it.
Who is it for?
It is primarily intended for people who want to tune their cars. However, the "clone" feature is also useful if you simply want to replace your PCM with a new one - you'll want to read the entire flash content from the old PCM, and write the parameter blocks to the new PCM.
Where can I get it?
Pick the most recent release from the list, here: https://github.com/LegacyNsfw/PcmHacks/releases
What else will I need?
You'll need an OBD2 interface that supports J1850 VPW communications (J1850 VPW is the OBD2 variant used by the PCMs that the app supports). Click here for a list of supported devices. Or click the "Supported Devices" link in the sidebar.
Where can I connect with the community of PCM Hammer users?
Please see the PcmHacking.Net forum, specifically the GM sub-forum, here: https://pcmhacking.net/forums/viewforum.php?f=42
What do the buttons do?
When you start PCM Hammer for the first time, you'll need to tell it what kind of OBD2 interface you have, using the "Select Interface" button.
The "Read Properties" button will read several properties of supported Powertrain Control Modules.
For example, it produces this output from a 2002 Corvette:
[11:27:36:044] VIN: 1G1YY12S925100000 [11:27:36:153] OS ID: 12593358 [11:27:36:230] Calibration ID: 9391431 [11:27:36:326] Hardware ID: 9386530 [11:27:36:553] Serial Number: 1EB1WTDK1232 [11:27:36:647] Broad Cast Code: DCPU [11:27:36:726] MEC: 0
The "Read Full Contents" button will read the entire flash-memory contents of a 512kb PCM. It will probably also work with 1MB PCMs, we just haven't tried that yet. You should be able to open the resulting file in TunerPro to view the contents.
The "Modify VIN" button will let you update the VIN of a newly-purchased PCM to match the VIN of your actual car. This is handy for PCM swaps and for replacing failed PCMs.
The "Quick Comparison" button will compare a file on your PC to the contents of your PCM. To save time, it compares the CRC of each block of flash memory, which takes about 30 seconds. (A byte-for-byte comparison would take 15 minutes or so.)
The "Test Write" button will walk through the process of writing a new calibration to the PCM, but it won't erase and reprogram the flash chip. This is useful to testing the quality of the connection between your PC and your PCM.
The "Write Calibration" button will erase and rewrite the calibration section of the flash chip. Don't do this if you depend on the PCM to drive yourself to work - this software is new and while it has worked for those of us who are developing it, we can't yet promise that it will work for everyone.
The "Write Parameters (Clone)" button will erase and rewrite the parameter sections of the flash chip. These sections contain the VIN, serial number, stored OBD2 codes, and so on. This is useful if you're replacing a PCM with one from another car.