Suzuki GSXR Forum banner
Status
Not open for further replies.

How To ReFlash/Remap 05/06 GSXR1000 stock ECU

1 reading
93K views 11 replies 6 participants last post by  RidgeRacer  
#1 ·
Following are instructions on how to reflash the memory of the stock ECU ( 32920-41G10) of an 05/06 GSXR-1000 using an interface to a personal computer or laptop you can build yourself with about $30 in parts.

The PC software to reflash the CPU chip inside the ECU is available free from the chip manufacturer. There are several software programs to view and edit the map data also available for free. Some are freeware/demo versions of professional software others are just freeware. I prefer Enginuity which is freeware written by some Suburu WRX guys to modify their Denso ECUs.

With these tools you can make simple modifications like adjusting the RPM limiters or removing the 186mph limit or if your in to tuning you can also adjust the ignition, speed density, and Alpha-N fuel maps. In general remapping the stock ECU will yield better results than a piggy back unit like a Power Commander but it will be harder to do.

This technique has already been proven to yield results on ZX-12 and Hayabusas. Having seen the success we had with the Hayabusa people immediately started asking can you do the GSXRs too?

Hardware Interface

There are 4 pins on the ECU wire harness connector used to reflash the ECU. A serial data in, serial data out, FWE, and reset. The serial data in and out are used to establish a communications link with the ECU to transmit the data to be flashed. The FirmWare Enable line or FWE is used to switch the ECU from normal operating mode into a boot loader programming mode. The reset line is needed to restart the ECU software when you switch between normal and boot modes.

Renesas (formerly Hitachi ) the manufacturer of the CPU chip inside the ECU that we need to flash provides free software they call the Flash development Toolkit or FDT. FDT knows how to establish communications with the ECU, command it to reflash, and download the map data. The only problem is your PC uses a serial COM port that is RS-232C standard -10, +10 volt logic signals while the ECU uses TTL or 0, 5 volt logic signals. We need to provide a level converter if the two are going to talk to each other.

Fortunately you can buy a USB device that has a USB to RS232 to TTL converter built right into the molded plug for $20. The USB end of this cable plugs into your PC/Laptop and appears to the FDT software as just another COM port. The other end of the cable has TTL serial wires that can be directly connected to the serial in/out of the ECU.

In addition to the serial communications we need to provide a switch that will connect the FWE line to 5V to put the ECU in boot mode and a momentary push button switch to ground to reset the ECU when we switch modes. The USB-TTL device just happens to have a 5V power line we can use for the FWE switch and a ground wire for the reset switch.

Of course the ground between the USB-TTL device must also be connected to the ECU ground so the signals have a common reference. Here is the schematic in pdf format.

Schematic

The two serial wires needed to flash the ECU run from the ECU connector to the Suzuki Diagnostic System connector under the seat next to the 'Yosh' plug. The FWE and Reset lines have no pins installed in the wire harness connector. It is possible to remove the wire harness ecu pins form one hole and reinsert them in another. If I were setting this up I would remove two of the 'Yosh' plug pins and reinsert them in the FWE, RESET pin holes.

Pin numbers and wire colors are shown in the schematic. Check the manual for a ECU pin number identification drawing.

Once the device is connected you follow this simple procedure to flash the ECU.

Key/ECU power off.
FWE switch off/open.
Connect USB to bike
Connect USB to Laptop
Key/ECU power on.
FWE switch on/closed
Press and release Reset
Connect FDT software
Select map image to download
Download image file
Disconnect FDT software
FWE switch off/open
Key/ECU power off
Disconnect USB


Stay tuned for part II, how to edit maps.
 
#3 ·
All you have to do to restore the ECU to its stock condition is flash the original stock base map back into it.

The datasheet specs on the hd64f7052 MCU used in the Denso ECUs states an absolute minimum of 100 flashes. The same ECU is used in a variety of Denso and Mitsubishi ECUs used in cars. I've talked to several car guys many of them have exceeded this limit. The actual number will vary from ECU to ECU.

This is really isn't issue if you just want to change your limiters. It becomes more of an issue with fuel tuning. Right now there is no way to real time tune these ECUs which means its a trial and error process that will require many reflashes. I and others are working on a real time software patch so the ECU can be adjusted during the dyno run real time and then just flashed once at the end of the session.

BTW the Denso ECUs have a second smaller external serial EEPROM chip that holds the factory fuel trim or 'Yoshbox' values. These can be reflashed 10,000 times. In fact every time you write a new yosh box value into the ECU the software increments a counter in the memory location next to the value. When it reaches 10,000 the software will not let you change the yosh value anymore.
 
#4 ·
Part II Map Editing

What is inside the ECU is basically just a bunch of numbers. The CPU used on GSXR1000 ECU has a 256k FLASH memory which means it holds 262,144 bytes of information. About two thirds of this is software. Think of it as the ECUs operating system or Windows. The other third (81,920 bytes ) is the data or 'map' section.

Now I'm sure most of you at some point have seen the pretty 3D topographical fuel maps. While the map section has does have that kind of actual 'map' data it has other data as well. It has single byte 'switches' that turn on and off different features inside the software for instance there is a byte that tells the software to limit rpm by cutting fuel and another one to limit rpm by cutting ignition. There are 2D maps used to convert the nonlinear sensor inputs into linear temperature value. There is even a voltage correction 'map' the compensates for loss of fuel pump pressure at lower voltages like when starting. Then there are values like the RPM limiters. All these different numbers that tell the ECU how to operate. If you changed the numbers you change the way it operates. Only problem, how do you know which numbers do what?

You figure it out by disassembling the software, which is just a very large list of instructions, and by tracing out the circuits. Take RPM for example. How does the bike know how fast the engine is spinning? Well it has a crankshaft position sensor. That sensor is connected to a particular pin of the ECU wire harness connector. That in turn goes thru some electronic circuits and ends up a particular pin on the CPU. The CPU coverts the signal on that pin to a number and stores it in a particular register inside the CPU. That register has a specific numerical address. You then search all the software for an instruction that reads the address of the register that holds the number that equals the time that elapsed between one of the timing wheel tabs passing the sensor and the next.

You keep reading the instructions until eventually you see crank period converted to a rate (number of events per unit time versus time it takes one event) and now you have RPM. You keep reading and eventually you find the part of the software that compares the RPM to map data values and turns something on when the RPM exceed the value and turns if off when below the value. Now you have the RPM limiter addresses in the map data.

Great, now you know that map bytes at address 170,667 hold the value 32755 which divided by 2.56 equals the sixth gear ignition RPM limit value that keeps the bike from going over 186mph. Very useful information but not very user friendly. That is were map editing software comes in.

A map editor is a program the reads the map data section and formats it and coverts it into easy to use information. For a map editor to work however it needs a definition file. A definition file tells the editor what all the different bytes are and how to convert them to RPM or Throttle position or degrees BTDC etc. Once the editor has this information it can display it in a user friendly manner, allow the user to edit or change the values, and then convert the changes back into the original format the ECU understands so the changes can be flashed back into the ECU.

Here is a screen shot of a free map editor called Enginuity displaying the actual RPM limiter values of a K5/K6 GSXR-1000 ECU. It is actually several individual map table windows displayed at once so they would all fit on one screen.

Image


The first is one of those map switches I talked about. If the box is checked then the map editor sets the byte to a value that causes the ECU software to use Soft cut fuel limiting which is cutting half the injector pulses to just the outside cylinders 1 & 4. Softcut makes for a nice smooth limit but if your running a turbo kit with secondary injectors all it will do is make your outside cylinders go really lean, a very bad thing indeed. Clear the check box and the editor will set a value that makes the ECU use a hard cut of all injectors.

The next window has the Soft limit values expressed in RPM. For each limiter there are two values, hi and low. It basically works like this:

RPM > Hi = Limiter on
Lo < RPM < Hi = no change
RPM < Lo = Limiter off

Once the RPM exceeds the hi value the limiter stays on until it falls below Lo.

This window has two values the soft limit kicks in first. If that still doesn't slow down the engine then a hard limit kicks in. This table is only used by the ECU if the softlimit check box is checked in the first window. If not then the next limit table, Hard only is used.

There is also a neutral limit table. The ECU limits the bike at a lower value in neutral because the bike spins up a lot faster when unloaded.

Then you have some more switches. The software provides for a fuel RPM limit by gear (disabled on the stock bike) and if selected you can chose if the gear limit is soft or hard.

Those low numbers you see in 6th gear are what keeps the bike from going over 186mph. This also shows how faking the bike out with a TRE to make it think it is in 5th works.

Then comes ignition or coil cut limiters. It turns out that unlike other bikes I've looked at like the ZX-12 and Hayabusa which use a fuel cut speed limiter the stock GSXR has the fuel limit by gear turned off and used the ignition limit by gear to limit speed.

Now all you need to do to change any of these settings is click on the rpm value and type in a new one. Save the new file and flash it into the bike. Of course if your stupid enough to set the RPM to 18,000 the editor will not stop you. There are other less obvious hazards. For instance you never want to set a limiter lo value greater than a limiter hi value. If you do the limiter will turn on but never turn off.

Down the left side of the screen all the other maps. For GSXR1000. Folders listed such as x17, x40, etc are unknown maps. We know they exist because the software has a map table of contents at the front of the map section that defines the location and dimensions of all 200+ maps. But theses maps are undefined because no one has traced them out in the software to see what their function is.

Those that have been identified are the Ignition maps and the Speed Density and Alpha-N Fuel Maps. As time goes on the definitions become more detailed. Also because Denso uses a lot of the same internal software things learned on say the Busa can be quickly translated to the GSXR.

The stock map files, definition files, and map editor are all available free on the internet. Even if you already have a power commander and don't intend on flashing your ECU you might learn some thing from looking at the stock maps.

Now this only applies to the 05/06 GSXR because that is the only one I've been able to get my hands on to open up and read out.

If you have a broken ECU with a bad injector or ignition channel etc. from a 03/04 or a 750 or 600 that is just sitting on a shelf in your garage collecting dust I hope you will consider donating it to the cause.

And ECU is a terrible thing to waste....
 
#5 ·
I'm curious if Suzuki's SDS tool has any way to manipulate these types of settings? From what I can tell in the manual it is only a diagnostic tool.

There is a Denso ECU for the K5/K6 part# 32920-41GR0 that I saw recently floating around on the Internet. I saw pictures of it here ( http://forums.13x.com/showthread.php?t=167644 ). I looked up the part number and sure enough it exists in OEM inventory but without a description. It's priced about $175 more than a standard ECU 32920-41G10. It would be interesting to find out how this one works. My guess is the ECU is a race version set up with no restrictions and perhaps different mapping. Anyway thought I'd share and appreciate your post Ridgeracer.
 
#8 ·
Apparently Enginuity got in a trade name dispute with some one and had to change their name. You can find them at www.romraider.com

Just to make sure we are on the same page here you do understand the difference between being the FIRST guy to flash a '07 750 and the SECOND guy to do it.

The first guy needs to cut open an 07 ecu and find the AUD port. Then he needs to attach a home made AUD port interface using some kind of small micro device like a PIC or Parallax processor and down load all the code out of the ECU.

Then the first guy has to disassemble all the code and find all the limiters, fuel, ignition maps etc. and write a definition file so Romraider will know where the data is located inside the 256,000 bytes that is the map binary file.

Also the first guy needs to figure out which pins on the wire harness are the programming pins. The serial in/out is probably the same as the SDS connector but you may have to hunt for the FWE and Reset pins.

Once all that is done then all the first or second guy needs to do is build a simple USB interface with a couple of switches and a $20 cable, edit the map file, and flash it into the ECU.

As far as I know you would be the first guy to do the '07 750. If you want to be that first guy I'll do all I can to help you. All I ask in return is you share what you find out with the rest of us.
 
#11 ·
Here is the 'map' or binary file image for a 05/06 GSX-R1000 ECUs.

US Domestic Market ECU image:

32920-41G10
112100-2610
12V NEP0G4



European Market ECU image:

32920-41G00
112100-2600
12V NEP0G3


I have also done a preliminary Enginuity definition. I will update this file as I update the definition and post rev notes in this thread.

Enginuity definition

Ver 1.00 4-30-08 Untested prototype with limiters, crude ignition, fuel maps identified, full map table listings.
Ver 1.10 5-14-08 Modified so definition will work with either US or Euro version.
Ver 1.11 5-17-08 Updated Ignition and Alpha-N definitions.







As Always use at your own risk.
 
#10 · (Edited)
Cool concept, now all we need is maps and information about increased performance programming. Basically what DynoJet has done.
Also, has anyone run the Linux software under OS X?


Answered my own question. The Linux version runs well under OS X. No issues
 
#12 ·
Real Time map switching

I don't know if I mentioned it in the write-up above but all these Denso ECUs have dual map sets. Two complete sets of ignition and fuel maps that can be selected by grounding or ungrounding a wire harness pin.

This means you can set the bike up with different street / track maps or performance / pass emissions maps or of course Normal / NOS maps. Well a guy I know in Finland actually tried this out today on a Busa which has the same feature.

MS (Map Select) input is tested in real life situation today and I can confirm it works. Normally the MS signal indeed is grounded - at least in K1 wiring harness. I need to look from my EU model too about this but I would guess its the same thing with that.

Anyway to cut a long story short. We today tuned a 200+hp all motor 1397 hayabusa with using ecueditor. This bike has 68psi of fuel pressure so we set the fuel pressure setting (in the ECU map) to 135%, a figure I knew from experience. After some tuning we got 204hp.

Then we added a NC relay in series of the nitrous solenoid and connected that to MS input. (Just one hickup though, if the relay has a protection diode then particular attention must be paid that its connected right way round - we learned to keep that in mind the hard way). Tested the setup by adding +20 units fuel at 11% area, the bike reacted very well to pushing the nitrous button. Encouraged by this experiment we copied (Manually, by hand) the TPS map into MS map and added +40 units of fuel to RPMs above 7000rpm. Testrun the bike first without bottle and then with the bottle and nitrous jet 37. The result was 250hp with just push of the button.

After taking the bike off from dyno and doing the test run on the road the chap whose bike we tuned come back and said that now finally the bike works as it should work. Particularly the vacuum map tuning was helping to get the bike working a big thing. Additionally according to the gauge and initial testing the fuel consumption went down by almost 1.5L/100km. Something I have also personally experienced when tuning the bike with ecueditor compared to bikes with have powercommander or alike products for additional fuel.

So all this above without a powercommander or alike products and just with increased fuel pressure at a cost of a relay to add the MS signal to ECU.
 
Status
Not open for further replies.
You have insufficient privileges to reply here.