Step by step how to enable and use Cal-on-the-Fly in Detroit Diesel Calibration Tune by allan5oh for mhhauto.com. Merry Christmas! *** WARNING *** As with any flashing operation, there is inherent risk every time you do it. It's always best to hook up an ECM first to DDDL to see if there's any memory or ECM related fault codes. If there are I would suggest replacing the unit before doing anything like this. Check to see if engineering_enable is set to 1 (true): 1) Open DCT 2) Plug in Nexiq USB 3) Turn key to "ON" but do not start 4) Make sure the RED button on the top left turns GREEN 5) Right click "DDC Comms Provider" 6) click on "upload calibration" This sends information FROM the ECM to DCT. Always look at uploading and downloading from the perspective of the ECM. 7) Navigate to Shared --> IDENTIFICATION --> engineering_enable 8) If it's set to 1, skip to step 12 BONUS! Navigate to IO CONFIGURATION --> Serial Communication --> boi_output_enable set to 1 This allows BOI to be viewed in DDDL, a must have! 9) Right click the calibration (relxx_d.....) click on "download calibration". This is flashing the ECM. ****** Do not disturb your cable, key, or laptop. Make sure you have some laptop power left. ****** 10) There will be a popup window, click "preserve checked parameters" 11) If it gives some sort of warning, you may have to cycle the key off then on before trying step 9 again. Now we check if Cal_on_the_Fly will work. To do this we will change idle rpm while the engine is running. 12) Start the engine (cycle to off for a few seconds first after flashing or it will not start) 13) Navigate to Shared --> CONTROL DATA --> Idle Governor 14) right click idle_rpm, click on "add to Cal-on-the-Fly" 15) Scroll down to Cal-on-the-Fly 16) right click Cal-on-the-Fly and click on "start Cal on the fly" 17) double click idle_rpm under Cal-on-the-Fly heading 18) Click on the empty box on the top left of the window that pops up. This selects all 19) Right click selected area then "fill selection" 20) Put in 1000 21) Idle should jump to 1000 rpm. If not right click Cal on the fly then "copy ram to non volatile memory" This will cause a temporary stumble 22) Idle should now be at 1000 rpm 23) Right click idle_rpm under Cal on the fly, then "revert" 24) Idle should immediately drop Happy tuning! I do not know if it's certain parameters or maybe key off/on sequences that determines if you need to use copy ram to non volatile memory. If anyone knows give me a shout. Also I'd love to be able to do some stuff like this with a scangauge. DDDL and DCT send a heartbeat signal to the ECM. I can replicate the code to change the parameter, but I can't replicate the heartbeat signal. Also you have to be sure when reverting that the reversion sticks. Always check parameters after using Cal-on-the-Fly! I like to save the calibration after the first upload then just download that calibration with changes.