Tuning the NSX 3.0L Using the OEM ECU

Would I be able to borrow your rear bank spool valve for a quick test if it is readily available (on your workbench)?

Sorry- it's now on the car.

AM-JKLX8QBCZRcMEA87UmI6cWGg_0BOLwV3y7c5lXPhSDjTGcPNt2mizl-6EBAj2qR2JBwgMFKjILmyzU9iunugE_WwKignnuSu2-HLcdvxUENPhb3rO25pxYfw6jWyDldms3KK7uPnRmg8dXIaQPJvB_J-j=w1279-h960-no


If I were you, I would replace your rear bank VTEC pressure switch. Aftermarket replacements are readily available if you don't want to shell out the $$$$ for OEM:

https://www.carid.com/genuine/variable-valve-timing-oil-pressure-switch-mpn-37250-pr3-003.html?singleid=2098735677&url=12123292
 
For testing it might be possible to bypass the VTEC pressure switch. The JDM 4 cylinder engines don't have VTEC pressure switches while the US market engines do, so to run JDM engines with US ECUs guys just jump the VTEC solenoid control wire to the VTEC pressure input wire and this makes the ECU happy.

Or you could just swap the pressure switches front to rear and see if the trouble code follows the pressure switch.

Edit: I wonder if I could just disable the VTEC pressure switch system completely in the code...
 
Last edited:
Did you change your fuel tables from Brian's original tune? If so, what are your settings?

Big time --- well it turns out you don't change pulse widths very much to get significant AFR changes. You can read all about my tuning thought processes from the Google Docs page. Down load my app and in the instructions there are all the illustrated notes I made during about 6 alterations in my bin code. The "thought process" is ~36 pages long, but it is mostly illustrations (screen dumps) and should be able to be followed in way less than an hour.

https://drive.google.com/drive/folders/1Q4Gp9o0bTzopCs24VK3hBu_S2OWP9luk?ths=true


I'd be happy to upload my latest bin adx and xdf files for anyone who wants them. The adx and xdf files are essentially John's files with minor tweaks. I don't know assembler at this point so can't really write those two files
 
Big time --- well it turns out you don't change pulse widths very much to get significant AFR changes. You can read all about my tuning thought processes from the Google Docs page. Down load my app and in the instructions there are all the illustrated notes I made during about 6 alterations in my bin code. The "thought process" is ~36 pages long, but it is mostly illustrations (screen dumps) and should be able to be followed in way less than an hour.

https://drive.google.com/drive/folders/1Q4Gp9o0bTzopCs24VK3hBu_S2OWP9luk?ths=true


I'd be happy to upload my latest bin adx and xdf files for anyone who wants them. The adx and xdf files are essentially John's files with minor tweaks. I don't know assembler at this point so can't really write those two files

Please do upload them. We share altitude and the RDX setup. Your car starts and idles perfectly, so I may want to use them as a base map to get my car started later this fall.
 
The bin file is already in the Google Docs folder and I just added the adx and xdf to the TableAnalysis folder in Google Docs (url above).

nsx_v1_0_alpha.xdf
nsx_v1_0_alpha HT - Copy.adx

These will give you the color coded dashboard that goes with the color coded TunerProRT graphs. The colors also carry over to the final table analysis excel files and graphs.

Let me know when you start using them and I'll help you every way I can.

Mark
 
Yes, everything is working well and consistently.

I've made several pulls through 1st and 2nd gear up to redline and my analysis tool works great, but I cannot for the life of me get them to attach here. It is either too large (>100000) or I don't have permission to attach. Every time I change a screen it wants me to sign-in again. I've spent over an hour trying to get some attachments to work in the post to no avail. Is everything OK at the Prime website?

In any event, after an AFR/Pulse Width transient during map change, the AFR runs amazingly steady up to redline. However during about an 800 RPM range the Pulse Width decreases and the AFRs get much higher than I would like. In first gear this lasts about 1/2 second, but in second gear it lasts about a second. I haven't tried it in third gear as I don't feel like going to jail for doing 120 mph on the 6th avenue freeway.

I'm convinced the Fuel Tables are fine due to the steady AFRs after the transients. I'll look through all the other bin tables and variables to see what may be operating to cause this behavior. If you are available this weekend, I could shoot down to show you in person.

Any ideas from anyone else are greatly appreciated.
 
Yes, everything is working well and consistently.

I've made several pulls through 1st and 2nd gear up to redline and my analysis tool works great, but I cannot for the life of me get them to attach here. It is either too large (>100000) or I don't have permission to attach. Every time I change a screen it wants me to sign-in again. I've spent over an hour trying to get some attachments to work in the post to no avail. Is everything OK at the Prime website?

In any event, after an AFR/Pulse Width transient during map change, the AFR runs amazingly steady up to redline. However during about an 800 RPM range the Pulse Width decreases and the AFRs get much higher than I would like. In first gear this lasts about 1/2 second, but in second gear it lasts about a second. I haven't tried it in third gear as I don't feel like going to jail for doing 120 mph on the 6th avenue freeway.

I'm convinced the Fuel Tables are fine due to the steady AFRs after the transients. I'll look through all the other bin tables and variables to see what may be operating to cause this behavior. If you are available this weekend, I could shoot down to show you in person.

Any ideas from anyone else are greatly appreciated.

Yep, Spencer and I will be working tomorrow on both Type S cars. Come on down! As for the forum, the file size is too large. If you want to post pictures, you can take a screenshot of whatever log data you find interesting and post that photo here (so long as it is smaller than 512k I believe). Or, you can do what I do and upload the pic to a shared photo host (I use Google Photos) and link to it here. Once we do the host and software upgrade, we hope to be past any picture attaching issues. Ideally, you will even be able to do it directly from your phone or tablet!

Did you adjust fuel injector dead times at all? Or did you stick with Brian's original numbers?
 
Did you adjust fuel injector dead times at all? Or did you stick with Brian's original numbers?

My base bin file is John's, which has been adjusted for injector dead times. Those times are not identical to some of those posted elsewhere, although they are very close. Again, looking at the quite flat AFR curves I get from all the tables, there doesn't seem to be much here.

It has to be some sort of transient factor, and it will be an interesting search.

I'll stop by tomorrow, late morning or early afternoon. I have a early morning zoom meeting with one of Nancy's fancy pants (virtual) national convention.
 
Last edited by a moderator:
My base bin file is John's, which has been adjusted for injector dead times. Those times are not identical to some of those posted elsewhere, although they are very close. Again, looking at the quite flat AFR curves I get from all the tables, there doesn't seem to be much here.

It has to be some sort of transient factor, and it will be an interesting search.

I'll stop by tomorrow, late morning or early afternoon. I have a early morning zoom meeting with one of Nancy's fancy pants (virtual) national convention.

Oh ok- I'm asking because your car starts and idles perfectly, even at our altitude. Dead times affect mosty starting and idling and I know folks like [MENTION=12723]greenberet[/MENTION] have had problems there. I may use your bin as my base. And your analysis tool is amazing!
 
I should clarify that the base files in the Google Drive have not had their injector dead times adjusted, they are the dead times from the stock 240cc injectors. When the alternator is running, battery voltage will be fairly constant so its possible to "tune out" the injector dead times to some degree which I suspect is what was done with the Prospeed maps, but then the injection timing won't be quite right, this approach can also pose issues when starting in extreme cold or on a dying battery where the battery voltage can be up to several volts lower.

I've had excellent start and idle characteristics even with my ITBs down to the factory specified 650rpm base idle using these dead times (found here): 3.469 at 7.03V, 1.936 at 9.04V, 1.242 at 12.06V, 0.915 at 14.07V, and 0.726 at 16.01V.

Also, @mskrotzki, @jvtec95, @Honcho, and anyone else logging using the files from the Google drive: the final timing log address is wrong, to fix it, open up the "Moates Demon II Logging Address List" entry and change the value at index 08 to 0xFC9D. Apparently I made a typo while making that list a couple years ago then never looked into the garbage random number generator timing values long enough to realize it. With this fixed, the timing values make a whole lot more sense.

There's another issue that's not quite so egregious, but the current final pulsewidth value is always the larger of the bank 1 and bank 2 pulsewidths. Since the fuel trim logged by default is from bank 1, it makes more sense to log the bank 1 pulsewidth as well. So change the entries at indices 10 and 11 to 0xFC70 and 0xFC71 if you'd rather see the pulsewidth associated with the fuel trim.

I also might have found a way to increase the data rate of the log packets (or increase the amount of data in each packet without losing speed), so I might roll out a new version of the logging patch once I can get some testing done on that end. I'm hoping to get the packet rate up to 25-30hz instead of the ~17 we get now.
 
Last edited:
I'll post a new ADX/XDF combo soon with much improved data logging. (faster packet rate, more reliable, much less prone to randomly deciding not to work)
@jvtec95 @mskrotzki any interesting in helping me test some logging patches?
Yes, definitely interested! I just got out of a 2-day stay in the hospital with some kidney issues, so this may not be very coherent.

I've managed to reinvent the wheel with a table analysis of the existing function that is able to isolate individual pulls during a logging session. I've never experienced the logging to "randomly deciding not to work," but have noticed some anomalies like decreasing RPM under wide open throttle (3 or 4 readings) which I have written routines to eliminate from analysis. I'll post it up on the Google Docs site later today for anyone who would like to look at it.

My computer just recovered from a crash so I'll post this now and get back to it later.

Stay healthy

Mark
 
Yes, definitely interested! I just got out of a 2-day stay in the hospital with some kidney issues, so this may not be very coherent.

I've managed to reinvent the wheel with a table analysis of the existing function that is able to isolate individual pulls during a logging session. I've never experienced the logging to "randomly deciding not to work," but have noticed some anomalies like decreasing RPM under wide open throttle (3 or 4 readings) which I have written routines to eliminate from analysis. I'll post it up on the Google Docs site later today for anyone who would like to look at it.

My computer just recovered from a crash so I'll post this now and get back to it later.

Stay healthy

Mark

Mark-

Hope you're feeling better! Could you also post some of those logs showing those odd lean spikes you showed me a few months ago? John and I are interested in looking at these further. I will say it again- your excel log analysis tool is simply amazing. That plus John's scripts and work on the code makes tuning the NSX just as easy as with a commercial solution. Thank you again for making it- it's quite incredible!

Paul
 
Here is a not so short article about street tuning the NA1 NSX. Contrary to popular opinion, it is more than possible to do this with the OEM ECU, and has been for about 10 years. Some intrepid individuals have partially cracked Honda’s ECU code and “published” the results here on NSXPrime.

If you want to do this, you will need to (1) purchase a Moates Demon II ECU Emulator, (2) install a socket on your ECU to accept the Demon, (3) purchase and install TunerPro RT from http://www.tunerpro.net, on a laptop computer, (4) Install a wide band O2 sensor in your exhaust system, (5) go to https://drive.google.com/drive/folders/1JIpy1YxEH27n2_a4UJa7LrPwDgSgEBFc?ths=true to download a pile of information and required files to (6) hook it all together. All of this is well below $500 and can be done relatively quickly – after futzing around with it a bit. I’d be happy to help anyone to do this.

You will need the TableAnalysis set up file and the Excel Macro Enabled Worksheet NSX_AFR_Analysis_for_VS.xlsm to run these files. There is (an outdated) instruction manual accompanying the setup file that I will update soon. Everything is open for inspection, correction and improvement. Have at it.

I did all the above last year and then ran into a typical difficulty: Drowning in data. The files you download from Google Docs can, and will, generate about 20 readings per second of about 20 parameters – 400 readings per second or 24,000 readings per minute. Tunerpro outputs a comma separated file (CSV) readable in Excel or any other spread sheet program. If you drive around for 10 minutes you’ll have a quarter million data points which you will quickly find out are gibberish. Well, maybe not gibberish – the information you want is definitely in there, but you’ll have to work to get it out.

I’ve created TableAnalysis, a solution to help anyone who wants to go down this path to reach quick and safe results: more power, better fuel mileage and less pollution. Using Visual Studio and Excel (what a horrible development platform) TableAnalysis gives you a graphical, push button means, of extracting the information you need, as well as suggestions for changes to make in your NSX fuel maps. A few computer steps on the side of the road to extract the CSV data from TunerPro and port it into TableAnalysis and you see graphs of what is happening. Finally you can change the fuel maps (slowly and gently, please) to make another run to hone in on your desired results. If all goes well, you’ll run partial throttle and EGR at a steady 14.7 AFR through the entire RPM range, and you can tune Power Enhancement and VTEC to whatever AFR you want. (I chose 12.5 AFR, and someday I’ll put my car on a dyno and see exactly where the best power range is.
TunerPro.jpg
Here is what TunerPro looks like during a data logging run:
and here is the CSV file spit out by TunerPRO
CSV.jpg
Good luck figuring anything out from this raw data dump.

AllPoints.jpg
Here is my TableAnalysis displaying the entire data run – still pretty confusing. Using the rectangular buttons you can see each part of the run in each of the 5 fuel maps – but it is still too much data to do anything meaningful with it.


But here is the magic – this little blue button (button, not pill) to allow you to extract any single pull from the entire run:
SelectPull.jpg

Here I have chosen one of the VTEC pulls. TableAnalysis cleans out the data and presents the information you need to get the fuel mixture right. You can see that the mixture is mostly too rich, and needs to be leaned out a bit.

SingleRun.jpg
And the piece d’resistance, what to do about it:

Correction.jpg

This is NSX Map 5—VTEC WOT. The bluish highlighted pulse widths on the map on the left are the ones operating for this particular run. Various % AFR and ∆Pulse Widths are listed in the chart on the right. The lower graph has the map points displayed along with the AFR and PW and ∆PW. Suggested changes are shown in the red and green column and next to it the final changes you could make directly through
TunerPro to the Emulator. The columns headed in yellow are factors under your complete control concerning desired WOT AFR and “factor” (your guess is as good as mine) you may want to transfer to the Map for your next run.
 

Attachments

  • TunerPro.jpg
    TunerPro.jpg
    130.3 KB · Views: 129
  • TunerPro.jpg
    TunerPro.jpg
    104.8 KB · Views: 131
  • AllPoints.jpg
    AllPoints.jpg
    124.4 KB · Views: 132
  • SelectRun.jpg
    SelectRun.jpg
    119.1 KB · Views: 136
[MENTION=7151]mskrotzki[/MENTION] - That's a great tool, much better than my excel hack! I'll have to check it out come spring when I get my car back out.

There's some pulsewidth-based parameters that have resulted in much better starting, idling, and driveability. Of course the baseline fuel map, but specifically the power enrichment tables that determine when to shift fueling maps (there were a couple other PW tables I adjusted as well, accel enrich, etc). I also had changed the injector latency values to match the RDX injectors. I drove the car all last summer with no issues, and it felt great! I got on the dyno last spring and put down 256 whp & 196 lb-ft in a 4th gear pull on a dynojet. I did try to advance timing a few degrees but it did not seem to change much, though I was fighting a faulty fan controller at the time that I've since fixed. Once I update things with what you've shared I may go for another dyno session and try a few more things out now that I'm more comfortable with it. It really is like any other tuning software apart from some mystery tables and a bit of data overload.
[MENTION=33247]MotorMouth93[/MENTION] In addition to the updates you've described (much thanks!), would it be possible to set up the other analog inputs (or give me some instruction on how to do that)? I'm running the Innovate DLG-1 dual wideband setup, but currently only logging one input. If you find a way to increase data rate/size it'd be nice to log both banks' wideband outputs. It does seem like one bank runs ~0.5 point leaner than the other, although I should probably run a re-calibration on the sensors again.

If anyone is interested but doesn't feel they have the soldering skills, I have a couple auto ECU's that I will be converting to manual. I could also add the socket and ostrich units for people interested in running this setup. Again, this would be spring time-frame as I'd want to test them in my car first.

Does anyone else have any cool ideas? I'd like to be able to do some kind of 2-step or launch mode via ECU...

Let's keep this going, I'll be back at it come spring time!!
 
Are you using an Ostrich or Demon for tuning? I'd really recommend the Demon its a much cleaner solution (one USB cable for both logging and tuning) it adds an additional 4 10-bit ADC inputs which can be used without slowing down the packet rate. (packet rate is limited by the ECU)

If you're using a Demon then getting the additional analog inputs enabled is trivial you just have to tweak a few bytes in the initialization command. On my car, once I had everything set up right, the bank to bank differences were essentially zero, but if one bank is running a bit lean you can increase fueling to only that bank by using the individual cylinder multipliers. (If doing this, the XDF entry for the individual cylinder multipliers is not labeled correctly, its labeled 1,2,3,4,5,6 whereas the correct labeling would be 1,4,2,5,3,6 - this will be fixed at some point)

The code I'm running in my car right now yields a packet rate of about 40hz at idle, 25-30hz cruising, and 20hz at redline, the variable rate isn't ideal but it does work much more reliably than the timer interrupt-based original datalogging code.

An easy way of adding launch control would be to just lower the rev limiter under certain conditions (based on speed would be the easiest way) and would be pretty easy to code but you'd be stuck with the factory fuel cut type limiter which probably wouldn't be ideal. Fancier ignition timing controlled methods would likely be quite difficult/impossible due to the way most of the code can't be changed.

General consensus seems to be that Honda has the stock timing maps pretty well dialed in for the engine so unless you're running wildly different fuel or compression there's not likely to be much to gain there on pump gas.
 
[MENTION=7151]mskrotzki[/MENTION] Jesus H. Christ you broke it down so well that makes it seems so easy! Amazing post. If I was starting over I'd totally want to ditch my current ECU and go with this route.

Mark's analysis tool is amazingly powerful. This combined with John's AFR scripts will give you a full tuning solution that is as good as any commercial offering. I can't wait to get mine running!
 
Today I finally got my laptop capable of running my full TablaAnalysis Application. This means I will start (as soon as the snow stops) going out and tuning my car as opposed to writing the application to do it.

Here is an exemple of the results. These are two completely different runs made 2 months apart. These two charts represent the entire run, for all fuel maps. You would never make any alterations based on either of these maps, but they are indicitive of what happens when you alter the fuel tables. The top chart is very rich, with just about all AFRs (sorry,the right hand axis is missing its lable) at or below 12.5 (the yellow horizontal line).

The bottom chart is pretty good: up to about 3000RPM the AFR is right around 14.7 and above that it is about 12.5 – my chosen target for Power Enhancement and WOT. Let me repeat, I would never make any fuel map changes based on these charts.

01_24_22_1.jpg

Here is a single WOT pull from the top chart lasting 2.27 seconds. It is crazy rich at an AFR of about 10. The bottom chart is the first try using some of the suggestions from TableAnalysis. It took too much fuel out of the pull. There is a user selected “Factor” in TableAnalysis that used to default to 0.5. I changed the dafault to 0.25. I will try to get the red AFR line to lay close to the lower yellow horizontal 12.5 AFR line.

01_24_22_1.jpg

I’m very pleased with this application’s performance. In the garage before starting out, you connect the Demon II to the computer through TunerPro and upload the bin file to the Demon. Sometimes this is cranky and sometimes it just clicks in. Start TunerPro’s dashboard and ensure the measurements make sense. I spend about 10 minutes driving to my first pull site, which allows everything to warm up and settle down. I have a spot where I can pull off the road and wait for a break in traffic before entering a freeway (West Bound 6[SUP]th[/SUP] Avenue in Denver). I start TunerPro recording and pull out. I can get a good run all the way through 1[SUP]st[/SUP] and 2[SUP]nd[/SUP] gears and much of the way through 3[SUP]rd[/SUP], when I pull off after ~1/3 of a mile into an industrial area. I can then save the log file and export the saved log file as a comma separated file from TunerPro.

I then start TableAnalysis from a desktop icon, select the CSV file I just exported to produce the charts you see above (along with a whole bunch of others). This takes in the order of 2 minutes. I examine a whole bunch of data, including the single pulls through the three VTEC WOT pulls. This chart attempts to put together the most important information for each pull.

Correction.jpg

The part chart on the upper left is actually part of Fuel Map 5 with the operative cells highlighted in lavender. The chart on the upper right contains decision making data. The suggestion for final PW is made up of percentages of ∆PW and ∆AFR, and the “Factor,” the one I just reduced to 0.25. If you want, you can copy the suggested final PW and special paste it to the Fuel Table. I tend to do this only for the middle cells and not the end cells. There are too many transients running around the end cells for me to blindly follow a computer program to make a change.

To make a subsequent run, I copy the entire (altered) Map 5 to TunerPro, and then from TunerPro to the Demon II. Then I crank up the car, get back on the freeway, make a careful scan for cops (You know what 8000 RPM in 3[SUP]rd[/SUP] gear means) and make another stop and another analysis. Do this for Map 3 and Map 5 and you are pretty much home free. Map 1 (part throttle) Map 2 (EGR) amazingly hold 14.7 AFR rock steady. They do this with Short Term Fuel Trim and it is nearly perfect. I’m not messing with it. My suspicion is Map 4 (Part Throttle VTEC) is to prevent pops and bangs during shifts and closing the throttle, but I don’t know. There are so few data points reported from this map, that I’m leaving it alone.

Anyhow, that’s the latest. Download TableAnalysis from the Google Docs website mentioned in a previous post and see what you think.
 
Is this the final output from my TableAnalysis Program? This is a result of a ~4 minute logging run with 5 pulls into VTEC. I've taken each individual pull to examine possible fuel map alteration, and recombined them into this final chart. It is broken down into each Load/RPM pair from 8500 RPM to 5600 RPM. Suggested Map changes are averaged and reported in the white font on black background.

Individual suggested Map changes vary because pulls through 1st gear and 3rd gear are very different. First gear pulls through VTEC are barely 1 second and transients are rife during that short time period. Nothing coming close to steady state occurs. Third gear pulls, especially going up hill, last way longer and give time for flows to at least partially settle down.

All this information is available to help you make a decision on whether and how much to alter a Map value. I'm thinking this may be the ultimate decision making tool I can make. The problem this is far from automatic yet. I took a fair amount of cutting and pasting, grouping, subtotaling and other manipulation inside Excel to make this chart. I takes well over 1/4 hour to complete.

However, yesterday I found a way to perform SQL calls on Excel table data. I believe I can automate this chart's production using SQL, and will begin that project today. Let me know if you believe this chart will be useful to you, or if you have any suggestions for alterations.

Thanks

Mark

delta changes.j.jpg
 
Is this the final output from my TableAnalysis Program? This is a result of a ~4 minute logging run with 5 pulls into VTEC. I've taken each individual pull to examine possible fuel map alteration, and recombined them into this final chart. It is broken down into each Load/RPM pair from 8500 RPM to 5600 RPM. Suggested Map changes are averaged and reported in the white font on black background.

Individual suggested Map changes vary because pulls through 1st gear and 3rd gear are very different. First gear pulls through VTEC are barely 1 second and transients are rife during that short time period. Nothing coming close to steady state occurs. Third gear pulls, especially going up hill, last way longer and give time for flows to at least partially settle down.

All this information is available to help you make a decision on whether and how much to alter a Map value. I'm thinking this may be the ultimate decision making tool I can make. The problem this is far from automatic yet. I took a fair amount of cutting and pasting, grouping, subtotaling and other manipulation inside Excel to make this chart. I takes well over 1/4 hour to complete.

However, yesterday I found a way to perform SQL calls on Excel table data. I believe I can automate this chart's production using SQL, and will begin that project today. Let me know if you believe this chart will be useful to you, or if you have any suggestions for alterations.

Thanks

Mark

View attachment 172341
Mark, I think the above chart is very useful. I have a few questions:

The "Factor" value appears to have a large effect on the AFR outcomes. Is that a variable you created? If so, what does the "Factor" affect in the maps?

Second, kind of a dumb question but does the car have to be powered on to load the bin into the Demon? Or, does the Demon draw power from the USB cable and you can do the bin transfer with the car off?

It's looking more and more like this weekend will be the first start for the orange car and I want to make sure I have the TunerPro/Demon system set up correctly.
 
Back
Top