Last Updated: 09/08/2020 @ 12:50 pm
Member Credit: Matt Riney
For all you hardcore Nissan/Infiniti enthusiasts, there is finally an open-source solution that allows you to modify and flash ECUs! With a $10 VAG-KKL cable, you can basically flash your own ECU and tune it your to personal comfortable without breaking your wallet. The average tune costs roughly $600+ these days. Since you’re modifying the ROM yourself, there’s no vendor lock-in and you are free to do what you need and want. Great for those who have knowledge of tuning and want to tune their own vehicles!
- 2000-2001 5thgen Nissan Maxima
- 2003-2003 5.5gen Nissan Maxima
- 2004-2008 6thgen Maxima
- 2009 7thgen Maxima
- 2002-2004 Nissan Altima
- 2005-2006 Nissan Altima SE-R
- 2003 Infiniti G35
- And various others……
Links to Tool/Software that you will need (Click links to Download):
- You will need to buy an OBD2 KKL VAG-COM 409.1 USB Cable. It costs $10 or less.
- Rom Raider (RomRaider 0.5.9 Release Candidate 3 – Released 09/28/2016)
- Java (Requires the latest 32bit (x86) version of Java SE JRE)
- Npkern (Latest Version npk_7055_35.bin)
- Nissan Roms
Below are helpful videos on installing and running Rom Raider, along with dumping a Nissan SH7055 ECU with the Nisprog/Npkern software.
- Kernel 7055_35 is used by the early ecus 2002 & 2003 Maxima (and 2004 in most cases).
- Kernel 7058 is used for 05+ Maxima
- It’s all based on the ROM size. If the ROM size is 512K then you should use the 7055_35 kernel. If the ROM size is 1024K then you use the 7058 kernel.
Cars Tuned on ROMRaider / Nisprog
5.5 Gen Maxima Tuned by AdminTuning VQ35 Bolt Ons
Shaquille Jenkins 5.5 Gen Maxima Gen2 VQ35DE
Trevon Walters 4thgen Maxima Hits 11.77 (All Motor) Gen2 VQ35DE
Which ECUs Will This Work On?
Most gasoline Nissan / Infiniti ECUs from ~ 2002 onwards share very similar ECU hardware, based on SuperH microcontrollers manufactured by Renesas (previously Hitachi). This project supports ECUs that use the OBD-II “K line” signal for diagnostics communications.
How Does the Reflash Process Work?
The process is carried out entirely over the OBD-II “K Line” serial communications link through an undocumented set of manufacturer-defined extensions to the standard ISO14230 protocol. Recently, the necessary commands have been reverse-engineered revealing the required steps:
- Establish connection to the ECU.
- Send the first stage data payload: this is the “kernel”, a simple program that will receive commands and data for the reflash.
- Make the ECU run the kernel. From this point on, the kernel runs from RAM and effectively takes control of the whole ECU.
- Send the reflash commands and new firmware data to the kernel.
- Reset the ECU: the new firmware will now be executed, and the kernel will be completely removed.
The basic kernel is an implementation of an ISO14230-compliant protocol with extensions. It implements the following requests:
- Fast ROM dump (tested up to 5.4 kB/s; typical speed is ~100 B/s without a kernel)
- Read ROM/RAM/external EEPROM
- Write to RAM
- Erase flash ROM block
- Write flash ROM block
The basic reflashing kernel will support gasoline ECUs with:
- SH7055 or SH7058, 0.18um microcontrollers (the most common types)
- K line wired to the OBD-II connector pin 7
- Unfortunately CAN-only ECUs are not currently supported.
- OS: Linux and Windows are known to work; Nisprog is based on freediag source code which is cross-platform and should run on most Linux/UNIX flavors.
- Connectivity: a simple USB-OBD adapter is required. These are the “Generic dumb serial adaptors” described in the freediag docs.
OBD2 KKL VAG-COM 409.1 USB Cable
There are several important points to be aware of when using Nisprog:
- The ECU is a safety-critical system in a car. Reflashing an ECU can void warranties, reduce the vehicle’s reliability, and cause a whole variety of undesirable consequences. Use of this project and any associated tools (freediag, Nisprog, etc) is of course entirely at the user’s risk. Standard disclaimers apply.
- Reflashing an ECU may be illegal in some areas. Responsibility in this matter lies again with the user.
- Diesel ECUs are not supported, they are entirely different.
- Tuning and modifying ROMs are complex skills that can only be acquired through significant investments of time and effort!