• Hello Guest, welcome to the initial stages of our new platform!
    You can find some additional information about where we are in the process of migrating the board and setting up our new software here

    Thank you for being a part of our community!

Fuel/Spark tuning for LH 2.4/EZK with TunerPro!

I've been looking at the main ignition map from the TunerPro .bin file for a '148 EZK box and it seems to be a bit off compared to my logged values. Does anyone know where the RPM column header values and Tq/Load row header values come from? It looks like they're manually entered into the .xdf file.

More specifically, here's what TunerPro shows for the '148 bin using @mrjaybeeze Basic B xdf file:
tunerpro ezk 148 ignition map.png

I compared this to the '148 ignition map shown (long ago) on ipdown's EZK web page (http://ipdown.net/wiki/index.php/EZK) and noticed that while the table entries are identical, the RPM column headers and Tq/Load row headers are somewhat different. For instance, the above table has a 2000 rpm column versus the same data being shown, but for 2650 rpm, on the ipdown version.

ipdown ezk 148 ignition map.png
 
at one point I think I figured out how the RPM buckets were calculated, but I forget tbh. Do these numbers work better? They're what I had worked out at some point:
6112553247784202373233192774231520461836164713981132663533


The load axis is easier, it is directly proportional to the load pulse signal from the LH box run thru a lookup table that maps map it to a value from 0 to 28. Each row is:
0
4
8
12
16
20
24
28
 
Thanks!!! Every once in a while this place is truly amazing -- ask a really obscure question and get a great & detailed answer in less than 15 minutes, wow! :spin:

Your RPM buckets match up really well with what I'm seeing (assuming the missing bucket is ~890 rpm). For the load axis, it seemed to be simply the Tq pulse width in microseconds * 3/8ths. I know that there's a Tq translation table in the xdf, but I don't think it's used for the spark table. I'll check tomorrow - I have an Ostrich somewhere, but the battery is dead so I can only run it when powered over USB.
 
Haha, I just happened to get home and refresh tb at the right time. And you are exactly dead on with the missing 890 rpm one.

I the load lookup table seems to almost be a straight line on the turbo bins but it has a slight curve on the NA bins, it looks like. I'm pretty sure it all goes thru the lookup tables as the 2D interpolator is very rigid and will only accept axis input values from the table.
 
I hooked up the ostrich and esmth's right -- the Tq load pulse goes through a pre-mapping table before being used for the Load axis on the ignition map. The turbo pre-mapping table is a almost a straight line, but the NA has a bit of a +/- curve:

EZK Tq to Ignition table load mapping.png
The index into the the pre-mapping table is simply the Tq pulse width (in microseconds) divided by 6 (the timer in the EZK CPU must run at 6MHz or maybe 12MHz).

With the updated RPM and Load ranges, my logger is matching the ignition table mostly within a few tenths of a degree of spark advance (but is a little worse when over 3300rpm). Some of this may be due to the fake CPS signal that I'm using on the benchtop versus a true VR waveform. All in all, it's pretty good.
---------------
If your Ostrich battery dies (you can open the case and measure it -- under 2volts is bad), this should be the replacement part. It's probably easiest to cut the legs off the old one before trying to unsolder it.
 
Does anyone have that bin/xdf file with all the stock files? I've just started messing with stuff, sorry if I ask things that are answered somewhere in the last 124 pages
 
I have a partial set of bin/xdf files, but I'm hoping someone has the full set from ipdown before it went silent. I think you can now attach .zip'd files here as long as they're under 1MB per file. Maybe someone can zip the full set of ECU and EZK files and attach them?
----------
Edit: I've zipped up my bin/xdf files and they come in just under the 1MB limit. I've also attached a copy of ipdown's Moates Ostrich install instructions, but they're over the attachment limit (~2MB), so I needed to split them into 3 parts (ugly but usable).

If anyone has other bin/xdf files of interest, please zip them up and post them.

Edit2: klr142 has a good collection of NA files attached to https://www.turbobricks.com/index.php?threads/na-performance-look-here.354499/
 

Attachments

Last edited:
Has anyone traced the details of the LH2.4 fueling equation? More specifically, I'd expect some sort of learned lambda trims for idle fuel (probably just an adder) and for non-idle fueling (probably a multiplier). I know how the MAF signal gets processed to the matching fueling, in g/sec, for AFR=14.7 but don't know what happen next, nor how the main fueling offset table is applied in the process.
 
For a generic multiplier for the fuel map, would I just use the main injector constant? For the use of making a ethanol tune? I'm sure there is a lot more than just that, but just poking around and trying to learn
 
How to Read/Verify/Program Chips with a MiniPro TL866A programmer

1) Select the chip part number
Open the MiniPro app, click on "Select IC" and select Search, select ROM/Flash chips, type in the start of the chip number e.g. "M27C256", and click on various manufacturers until you find a good match. You want the @DIP28 version, which is the bigger 28-pin package, vs @PLCC32 which is a smaller surface mount pkg with leads on all 4 sides.
TL866 programming chips1.png

2) Read the contents of a chip
Click on the R logo, lift the lever, insert the chip as shown, press the lever down, and click Read, and it should say successful. Click cancel to exit the page.
TL866 programming chips2.png
To save the contents to a .bin file click File --> Save and type in the file name (.bin type should be pre-selected)

3) Verify a chip is blank before programming
Click on the FF magnifier logo (or select Device --> BlankCheck), click Blank, and it should say Device is Blank. Click cancel to exit the page. (When properly erased, all locations will be 0xFF.)
TL866 programming chips3.png

4) Load and program a .bin file
Click on the open folder icon, select the .bin file to program, and use the default load options.
[If you are using a 27SF512, or other larger xxx512 chip, you need to set the "TO Buffer Strat Addr(HEX)" to 8000.]
TL866 programming chips4.png
[Note: I used a SST 27SF256-70 chip for this example.]

To program, select the Verify After, Blank Check, Check ID, and SetRange=All options, then click the Program button, insert the chip, click Program, and it should say successful. Click cancel to exit the page.
TL866 programming chips5.png

5) Compare a chip to a .bin file
Select the chip part number, load the bin file, click the Verify icon, and it should say successful. Click cancel to exit the page.
TL866 programming chips6.png
 
Last edited:
Also if anyone has ipdowns software I would love to play with that as well
I feel like I shared that somewhere as well but it appears I just shared the link to a thread. Maybe I can post it somehow when I get on my tuning laptop. It also has some more stock bin files and old xdfs, what computers are you playing with?
For a generic multiplier for the fuel map, would I just use the main injector constant? For the use of making a ethanol tune? I'm sure there is a lot more than just that, but just poking around and trying to learn
Yes, one or both of the main injector constants. It's been too long since I looked at this, but I think it was constant 2 and 4 that I tweaked? Or 1 and 4? Sorry I'm being vague, but there are different things to tweak there.
 
Back
Top