Announcement
Collapse
No announcement yet.
A quick and easy way to street tune your CSL conversion for drivability.
Collapse
This is a sticky topic.
X
X
-
yes correct, I think in Testo it's called "relativer Oeffnungsquerschnitt". Either that or you could use https://nam3forum.com/forums/forum/m...sh-counter-etc which refers to it as "aq_rel".
Yes standard M3 software does use the same parameter.
- Likes 1
Leave a comment:
-
Ok will do.
So if I were to use test0 to data log Id have to look for relative opening and rpm ? That's ofcoarse assuming that the standard M3 DME is using the same parameter..
- Likes 1
Leave a comment:
-
Yep so this is the table in question:
And the y-axis is aq_rel (Relative Throttle Opening) which is calculated by taking the point-in-time absolute cross-sectional opening of both the Idle Control Valve (ICV) and the throttle bodies, summing the areas together and then calculating a relative % opening from that value.
The variable is called aq_rel in the software, and is generally referred to as either that or "Relative Opening". aq_rel is not the same as relative throttle position or relative pedal position. Hope that was what you were meaning?
I would leave these posts here if I was you - I think they're good information for everyone - others might be wondering the same in the future.
If you're trying to visualise the difference between aq_rel and throttle position, consider that when closed the throttle body is essentially a throttle plate at 90 degrees to the body, so that no air can flow. when fully opened the throttle plate is parallel to the flow of air, so airflow is at it's maximum.
Relative Throttle Position is a percentage of how much the throttle plate is rotated from its closed position. e.g. 0% when closed, 100% when the plate has rotated by 90 degrees and is parallel. 50% means it's at 45 degrees (half way through it's rotation).
Relative Throttle Opening is a percentage of the current cross-sectional area that is opened up, and does not have a linear relationship with Relative Throttle Position. Consider that at 50% Relative throttle position the throttle plate is still blocking the airflow significantly, and therefore Relative Throttle Opening under those conditions will be significantly less than 50%.
Last edited by karter16; 07-14-2026, 06:43 PM.
- Likes 1
Leave a comment:
-
Hey presuming that you're talking about KF_R_N_AQ_REL then the y axis is plain aq_rel. it's only the CSL maps that were changed to use dr_rel instead.Originally posted by paulpbmw View Postkarter16 Wow thats a really major discovery !!
I have a question about the standard non csl m3 map (2701) to be precise, what is the y axis on the partial throttle fuel map ?
Im currently fine tuning a friends m3 that a tuner didnt even bother touching.
Trying to use a similar process but also want to get the correct parameter for the y axis, Thanks and much respect 👊
Cheers!
- Likes 1
Leave a comment:
-
karter16 Wow thats a really major discovery !!
I have a question about the standard non csl m3 map (2701) to be precise, what is the y axis on the partial throttle fuel map ?
Im currently fine tuning a friends m3 that a tuner didnt even bother touching.
Trying to use a similar process but also want to get the correct parameter for the y axis, Thanks and much respect 👊
- Likes 1
Leave a comment:
-
That’s pretty complicated with the MSS54HP as the CSL binary is not always targeting the same stoich target, particularly at mid-rpm and transitions to WOT. Not saying it’s impossible of course but it’s not trivial either!Originally posted by Obioban View PostBeggars can’t be choosers, but it would be great to get a tool to allow similar auto tuning but using a wide band 02.
Leave a comment:
-
Beggars can’t be choosers, but it would be great to get a tool to allow similar auto tuning but using a wide band 02.
Leave a comment:
-
First of all, I would like to express my gratitude to everyone who contributes daily to the research and publication of the CSL CONVERT tuning methodology.
I have been looking for a way to give back to this community, and I have developed an application that integrates the various tuning processes currently shared in this thread into a single workflow.
Integrated Processes:- Disabling MAP & LTFT compensation (TunerPro)
- RO (Relative Opening) Correction (AQ_REL to AQ_REL_ALPHA_N Logfile Converter | Spreadsheet)
- Lambda Value Aggregation (MegaLogViewer)
- Tuning VE Calculation (VE Tuning With Lambda Integrators | Spreadsheet)
- VE Comparison vs. Stock CSL (VE Tuning With Lambda Integrators | Spreadsheet)
- VE Table Editing (TunerPro)
- Re-enabling MAP & LTFT compensation (TunerPro)
In short, I have taken the previously labor-intensive process and streamlined it: now, you can simply upload your Partial BIN and TESTO LOG CSV, click the download button, and the process is complete. (The tool is completely free.)
The app is hosted on GitHub Pages, so it can be used immediately without installation: https://mss54hp-csl-convert-tuner.tsunagi.app/
The source code is also public, so please feel free to review or modify it: https://github.com/mushitaro/mss54hp-csl-convert-tuner/
Important Note on Development: This application was developed entirely using Gemini (LLM); there has been no manual code review by a human. As a result, there may be unexpected bugs or redundant "spaghetti" code in some places. I have left some of the redundant code as-is because I’ve had bitter experiences where asking an AI agent to "clean up" resulted in it deleting critical logic that was difficult to recover.
Technical Specifications & Limitations:- Supported BIN: Currently only tested with 0401 partial BIN.
- CSV Formats: Supports semicolon-delimited (Testo output) and comma-separated (Spreadsheet output).
- Headers: Header names must match Testo exactly.
- Accuracy: I have compared the values generated by this app against manual tool calculations at the cell level and confirmed they match perfectly.
- Checksums: A checksum correction feature is not yet included, but it can be implemented quickly if the addresses and reference ranges are identified.
Ideally, I would like to integrate Testo and flashing tools directly, but I am still researching that logic. If anyone can provide information on this, I would love to try and integrate it.
Compatibility: Tested on Chrome and Edge. I cannot guarantee operation on Safari or Firefox (though Gemini claims to have performed automated testing...).
Last edited by mushitaro; 12-24-2025, 10:41 PM.
- Likes 6
Leave a comment:
-
Finishing up csl intake project now. Been here reading for weeks. You guys are amazing. This and several other threads so helpful in trying understand what’s going on and what needs done to make the swap proper. Thanks for the hard work and making it available to all.
- Likes 3
Leave a comment:
-
First you’ll need to do a little wiring to bring CAN to your gauge.s - I’d recommend building a jumper harness from the steering angle sensor using a junkyard section of wiring with both connectors.Originally posted by ac427 View PostGreat work as always karter16
I would love to do some CAN logging. I have also purchased a Gauge.S
Which software do you use to record the logs?
How can i implement CAN bus logging?
I could try the mullet tune route but since i have CSL camshafts in my engine it won't really help.
Then you’ll need to map all the standard CAN values, knock CAN values (if you turned this on in your tune file) and any custom CAN values you may have implemented (more advanced, if you get this far).
Attaching a gauge.s config file that contains lots of CAN setup info for you or anyone else stumbling in here.
config-8-24-25_knockCAN04.zipAttached Files
- Likes 1
Leave a comment:
-
Thanks karter16 for writing it out so clearly as you do! I couldn’t have solved this issue so completely without your work and your help. I am very happy that we’ve finally put an actual root cause together for the different fueling conditions in mid-rpm operation. The symptoms are not only that your motor can run lean at medium-high load, but that you feel a momentary ‘lump’ in torque as AFR moves around on rolling throttle inputs. This was a tricky one to chase.Originally posted by karter16 View PostMeanwhile Bry5on was approaching this same theory from another approach. I won't go into too much detail on this, he can if he wants to, but essentially we've now confirmed the same behavior and obtained the same results by approaching this in two different ways. The fact that we arrive at the same conclusions in different ways is very reassuring that we are on the right track. I believe Bryson's had some good feedback on the changes that he's made, and likewise I've found this has brought massive improvements to my tune as well.
My validation strategy was pretty simple: I zeroed (or 1’d in this case) the effect of the enrichment table, turned off adaptations and MAP calcs, then datalogged AFR, EGT, and a few other variables at various throttle inputs and rpms to see which conditions caused the motor to run lean. This then essentially allowed me to ‘back calculate’ the KF_RF_KORR_DRREL table (rather, the appropriate numbers for non-CSL cams) and fully validate this theory. Given that we’re logging all of these values (plus knock) every 10 milliseconds, again thanks to karter16’s legendary work, this gave a super clear picture and converged nicely with the theory above. Cleaning up both the rf_tabg_modell Target EGT and KF_RF_KORR_DRREL Fuel Enrichment tables seems to have eliminated the momentary torque lump and lean condition. The default CSL values are pretty close, so if you’re doing this yourself you can trust that you’ll be pretty safe by following the advice above.
Last, I want to be clear that you should *not* repeat my test, as it essentially deliberately puts your motor in danger by running it lean under load. I did this for a short period of time with cool down in between test pulls and specifically targeted exact cases which I knew would populate the table, in order to minimize any harm I would cause. I’d recommend using the approach karter16 outlined above to iterate yourself to an answer instead, as it will be safer but may take a little bit longer.
Happy fuel tuning!
- Likes 1
Leave a comment:
-
Great work as always karter16
I would love to do some CAN logging. I have also purchased a Gauge.S
Which software do you use to record the logs?
How can i implement CAN bus logging?
I could try the mullet tune route but since i have CSL camshafts in my engine it won't really help.
- Likes 1
Leave a comment:
-
I know right - that area of the tune has bugged me for months, every time I VE logged it seemed a bit different, so satisfying to now understand what's going on.Originally posted by heinzboehmer View PostAwesome to see the explanation behind some of the weird behaviors I've noticed when trying this out.
- Likes 3
Leave a comment:

Leave a comment: