-
Notifications
You must be signed in to change notification settings - Fork 73
Supported PCMs
PCM Hammer supports the P01 and P59 families of PCMs. All were used in General Motors vehicles from 1999-2007 that used V8 engines from the LS family. But note that not all LS V8 engines from that period used P01 or P59 PCMs. For example, the 6th generation Corvette came out in 2005 and it used a complete different PCM.
C5 Corvette
- 1997 and 1998 Corvettes are not supported
- 1999 and 2000 Corvettes used the "896" version of the P01.
- 2001-2003 Corvettes used the "411" version of the P01.
- 2004 Corvettes use the P59.
Camaro
- If you know which years used P01 and P59 PCMs, please open an Issue using the links above, and include the details.
Silverado (Truck)
- If you know which years used P01 and P59 PCMs, please open an Issue using the links above, and include the details.
Express (Van)
- If you know which years used P01 and P59 PCMs, please open an Issue using the links above, and include the details.
Others (?)
- If you know of other vehicles whichused P01 and P59 PCMs, please open an Issue using the links above, and include the details.
Adding support for other PCMs is hard. If you are prepared to spend months of weeks working on it, we can help a little bit. Your best bet is to start a thread on PcmHacking.net to describe the vehicle and ECU / PCM and hopefully meet some other folks with similar interests to collaborate with.
It's a hard problem and you'll have to attack from different directions at once.
Open the ECU and find out what kind of CPU is in there, because you might have to write code for it.
Also find out what kind of flash memory chip is in there, because you might have to write code to read / erase / write it.
Get datasheets for the ECU and flash.
Look for a debugging tool for the CPU in the ECU.
Use it to dump the contents of the flash chip.
Open the software in IDA Pro or Ghidra.
Find out what protocol is used to communicate with the ECU, get something that can monitor the messages.
Record the messages that get sent/received during a software update, probably at the dealership.
Figure out what those messages are doing. This might be hard.
Write software that emulates the dealership's flash tool. This might be hard. That tool might be sending code to the ECU that runs during the flash process. It might suffice to just re-use that code at first, but if you want to release an open source tool you'll need to write your own from scratch.
After you have flashing working, then there's the matter of finding all of the tables that you edit to tune the car. This is more software reverse engineering.
And you'll also want to be able to do data logging. If you can find an existing data logging tool (dealerships might have one) you can start with protocol reverse engineering. If not you'll have to reverse engineer the firmware to find the data logging stuff. We lucked out in that other people had already done some of that work for GM ECUs.
It's a big undertaking. If there's a forum for your make/model, ask if there are any people there who would be willing to tackle this problem. Software development skills help a lot, but it's not necessarily a requirement if someone has enough motivation.
For Users
- Overview
- Where do I start?
- How Tuning Works
- Supported PCMs And Vehicles
- Supported Interfaces
- Download
- Operating Systems
- .bin and XDF Repositories
- Logger XML Files
- FAQ
- Glossary
- Acknowledgements
- Similar Projects
For Developers
PCM Hardware & Firmware
Misc