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
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • paulpbmw
    replied
    Nice ! Mentally preparing for this.. I don't have access to the car now to mess around with test0..when I do have, I'll have to be efficient.
    Last edited by paulpbmw; 07-16-2026, 08:03 AM.

    Leave a comment:


  • karter16
    replied
    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.

    Leave a comment:


  • paulpbmw
    replied
    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..

    Leave a comment:


  • karter16
    replied
    Originally posted by paulpbmw View Post
    karter16 I know its off topic but i meant to ask if the y axis on 18x12 load base map is throttle position of another parameter? ill delete the questions after your answer not to contaminate this thread, thanks
    Yep so this is the table in question:

    Click image for larger version  Name:	Screenshot 2026-07-15 at 2.34.25 PM.png Views:	0 Size:	359.5 KB ID:	361181
    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.

    Leave a comment:


  • paulpbmw
    replied
    karter16 I know its off topic but i meant to ask if the y axis on 18x12 load base map is throttle position of another parameter? ill delete the questions after your answer not to contaminate this thread, thanks

    Leave a comment:


  • karter16
    replied
    Originally posted by paulpbmw View Post
    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 👊
    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.

    Cheers!

    Leave a comment:


  • paulpbmw
    replied
    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 👊

    Leave a comment:


  • Bry5on
    replied
    Originally posted by Obioban View Post
    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.
    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!

    Leave a comment:


  • Obioban
    replied
    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:


  • mushitaro
    replied
    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...).




    Click image for larger version  Name:	スクリーンショット 2025-12-25 135430.png Views:	0 Size:	327.7 KB ID:	331185

    Click image for larger version  Name:	スクリーンショット 2025-12-25 135456.png Views:	0 Size:	356.2 KB ID:	331186

    Click image for larger version  Name:	スクリーンショット 2025-12-25 135530.png Views:	0 Size:	172.5 KB ID:	331187

    Click image for larger version  Name:	スクリーンショット 2025-12-25 135609.png Views:	0 Size:	21.1 KB ID:	331192 Click image for larger version

Name:	スクリーンショット 2025-12-25 135556.png
Views:	458
Size:	21.8 KB
ID:	331194
    ​
    Last edited by mushitaro; 12-24-2025, 10:41 PM.

    Leave a comment:


  • porcam542
    replied
    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.

    Leave a comment:


  • Bry5on
    replied
    Originally posted by ac427 View Post
    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.
    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.

    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.zip
    Attached Files

    Leave a comment:


  • Bry5on
    replied
    Originally posted by karter16 View Post
    Meanwhile 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.
    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.

    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!

    Leave a comment:


  • ac427
    replied
    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.

    Leave a comment:


  • karter16
    replied
    Originally posted by heinzboehmer View Post
    Awesome to see the explanation behind some of the weird behaviors I've noticed when trying this out.
    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.

    Leave a comment:

Working...
X