The Windows 9x/ME/XP/Vista/7 software application you use to tune and configure your MegaSquirt® or MegaSquirt-II is either Tuner Studio by Phil Tobin or MegaTune by Eric Fahlgren. (Version 2.25 or higher is needed to work with MegaSquirt-II™). You also need Windows 9x/Me/XP/Vista/7 on a computer (a laptop or notebook computer if you want to tune in the car) and a conventional serial port to communicate with MegaSquirt-II™. A USB/serial converter may work, and many people have reported that they have been successful using a USB-serial adapter. Just about any computer that is capable of booting Windows 95 (or better) will be fast enough, but get the fastest laptop computer you think is reasonably priced, obviously. This document covers the use of the 2.9 versions of embedded software (aka. "code") on MegaSquirt-II™.
Note that for 2.9 Code, the first thing you must do after loading code is set the ECU Type (under 'Fuel Set-Up/General') to match your hardware (MS-II™ or MicroSquirt® controller), MegaTune will not let you change anything else until you do this. Do not change settings, expect the stimulator to work, load an MSQ, etc., until you have set the ECU Type (MS-II™ = 1, MicroSquirt® = 2, the MS-II Sequencer™ will be 3). This setting applies to MS-II™ derivatives with code 2.8 or higher code only.
ECU Type setting was inserted to head off the potential MicroSquirt® problems due to the coils being turned on with the old default configuration. As of the 2.8+ code, if ECU Type is not set, the code will put the ignition outputs in a safe state (cycling the tach display from 0 to 8000 rpm, and also flashing the fuel pump LED) and wait until a known ECU type is put in by the user.
Introduction to TunerStudioMS | Installation | File | Fuel Set-Up |
Ignition Set-Up | Basic Tables 'Basic Tables' are displayed as 12x12 'spreadsheets' to allow easy viewing of the numbers in the tables. This is best for setting up the tables. For tuning the tables in the vehicle or on a dyno, see the 'Tuning' menu item. These can be indexed to MAP or MAP/Baro.
|
Basic Tables
These can be indexed to MAP or MAP/Baro.
|
Basic Tables
This can be indexed to MAP or MAP/Baro.
|
Other Tables | Tuning
Tuning offers a 3-D view of the table a a number of gauges simultaneously, so is a good place to be when actually tuning. |
X-Tau Tuning | Other Tuning |
Communications | Tools | Help |
MegaTune2.25+ is MegaSquirt® configuration editor software for Windows 95 (and later). It is written by Eric Fahlgren, and it used for the MegaSquirt® and MegaSquirt-II EFI controller. It allows all of the tuning and set-up parameters to be modified and has a real-time VE table editor, which allow a vehicle passenger to tune the engine while driving.
General Advice and Operation Some general principles to follow when setting the configuration parameters are:
Note that it is possible to damage your engine by choosing inappropriate tuning or set-up parameters in MegaTune. Be sure to read this document, and all associated tuning documents that apply to your engine, vehicle, and tuning circumstances. In particular, read the safety precautions.
How to Tune Using MegaTune/TunerStudio
Information on tuning using tuning software with MegaSquirt® or MegaSquirt-II is listed separately from this section, and depends on the processor you have.
Note: for installing TunerStudio, please see the TunerStudio web site: www.efianalytics.com/TunerStudio/
MegaTune has an 'automated' install package, similar to most other modern Windows software. You download the set-up file (see below), click on it, and the package virtually installs itself.
Files Get the latest version of MegaTune from http://www.megamanual.com/files/software/.
Install Process To get the latest version of MegaTune:
While you are in the setting.ini files, you can verify or change the EGO sensor option under LAMBDA_SENSOR if necessary.
You can use mtCfg to change the color depth, temperature units (°F/C) and a large number of other parameters for MegaTune. See the documentation in the files displayed in mtCfg.
Be sure to 'Save' the file. You should now be able to launch MegaTune. Double-click the MegaTune icon (created above) on the desktop.
Communications/Settings dialog on the MegaTune menu.
You should always uninstall MegaTune before installing newer versions.
There are two parts for any firmware release:
If you download a different .s19 file (i.e., a different embedded code version) to your MegaSquirt® EFI Controller, then you must install the corresponding INI file in the place expected by MegaTune.
If the INI file does not correspond to the code you have load, MegaTune will generate an error message when starting. The error you see is telling you that the signature in the INI doesn't match what MegaTune is receiving from MegaSquirt. This can be for a number of reasons, the most common are:
Also, be SURE to set the CODE_VARIANT (MS-II) as well as activating the appropriate INI file, both actions are necessary.
Creating and Selecting New Projects
MegaTune allows you to manage data for multiple MegaSquirt® installations on the same computer. First you must use the installer to build yourself a default setup. Once you have a basic MegaTune setup, use mtCfg.exe to create a new project. Open mtCfg, then click on 'Project/New', type in the project's name, then click on okay.
Instead of "carN", use a real name, for example "Corvette" and "Audi" (the actual names are of no significance to MegaTune, they are there entirely for your convenience, so give them descriptive names that work for you.
Then use mtCfg to configure the new projects code variant, ego sensor, etc.
When you have only a single car directory, MegaTune assumes that you want to use that one, so starts there automatically. When you have more than one, MegaTune will present you with a list of choices at startup, so you can work on the correct one. By typing the initial letters of the project name, you can jump down the select list to the desired one quite quickly. Once you have the desired project highlighted, just hit the enter key or use the mouse to click "Ok."
In the processor specific configuration file (megasquirt-II.ini) in the MegaTune folder, you can edit the gauges to show ranges and warning appropriate to your combination. (Note that you must 'activate' the appropriate file before editing it!) To do this, open the file using Notepad or another text editor.
Each gauge has a number of properties, these are:
Examples:
Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld
advBucketGauge = veTuneValue, "Advance Bucket", "degrees", 0, 55, -1, -1, 999, 999, 1, 1
advdegGauge = advance, "Ignition Advance", "degrees", 0, 50, -1, -1, 999, 999, 1, 1
Note that many of the variables are represented on the runtime, tuning, and front pages, and you may need to set additional parameters to get them all to look the way you want. For example, the EGO display on the front page is set in this section:
[FrontPage] #if NARROW_BAND_EGO egoLEDs = 0.0, 1.0, 0.5 ; Voltage settings. #elif LAMBDA egoLEDs = 1.5, 0.5, 1.0 ; Lambda settings. #else egoLEDs = 19.7, 9.7, 14.7 ; Afr settings. #endif
To change the gauges on the front page, find a section of your code's INI file similar to:
[FrontPage] #if NARROW_BAND_EGO egoLEDs = 0.0, 1.0, 0.5 ; Voltage settings. #elif LAMBDA egoLEDs = 1.5, 0.5, 1.0 ; Lambda settings. #else egoLEDs = 19.7, 9.7, 14.7 ; Afr settings. #endif ; Gauges are numbered left to right, top to bottom. ; ; 1 2 3 4 ; 5 6 7 8 gauge1 = tachometer gauge2 = throttleGauge gauge3 = pulseWidth1Gauge #if NARROW_BAND_EGO gauge4 = egoGauge #elif LAMBDA gauge4 = lambda1Gauge #else gauge4 = afr1Gauge #endif gauge5 = mapGauge #if IAC_GAUGE gauge6 = IACgauge #elif PWM_GAUGE gauge6 = PWMIdlegauge #else ; FIDLE_GAUGE gauge6 = matGauge #endif gauge6 = xTauGauge gauge7 = advdegGauge gauge8 = dwellGauge
Change the gauge assignments to those you prefer. Note that the value after the 'gaugeX =' label MUST appear in the [GaugeConfigurations] section of the INI file.
So while the type of sensor is set in the vehicle specific folder, the limits are set here. In most cases the defaults work well, but you can change them to suit your purposes. The format is name, upper limit, lower limit, switch point.
Expressions
MegaTune allows you to compute values from MegaSquirt-II's output channel data or from constants and settings in the database. These can then be used in datalogs or gauges.
Data types:
Operators in order of descending precedence:
Built-in math functions and constants:
MegaSquirt-specific functions:
#unset AUTOMARK_LOGGING_FEATURES #if AUTOMARK_LOGGING_FEATURES [OutputChannels] ; Make up some variable names... highLoad = { rpm >= 3500 && throttle >= 50 } enable = { rpm >= 2000 } [Datalog] enableWrite = enable ; Log entries are only written when the variable ; "enable" is true, see it's definition above. markOnTrue = highLoad ; A datalog marker is written when "highLoad" ; transitions from false to true. The marker ; looks like "MARK 001 highLoad" to distinguish ; it from the manual markers. #endif |
Change the #unset AUTOMARK_LOGGING_FEATURES to # set AUTOMARK_LOGGING_FEATURES (note we have changed unset to set), and edit the enable conditions (tps/rpm/map/etc.) to your liking.
Datalogging will start when the conditions are met. You still have to start the datalog - Alt+L, <enter>, but MegaTune will only record lines when the conditions are met. So you can start the datalog 20 minutes in advance, knowing the lines are not being added until you want.
As noted in the code snippet above, you can also have MegaTune 'mark' the datalog on specific events by defining other variables (for example 'highload' in the snippet above).
You should always uninstall MegaTune before installing a newer version.
You can uninstall MegaTune in three ways:
MegaTune 2.25 has a menu structure that depends on the hardware and software you have loaded. This document covers only the MegaSquirt-II hardware and v2.9 code configurations. For other configurations, please see the developer's site. At the top of this page is a list of all the menu items in MegaTune 2.25 for MS-II/v2.9. Click on any of them to navigate to specific information on that topic.
Note that for 2.88 Code, the first thing you must do is set the ECU Type (under 'Fuel Set-Up/General') to match your hardware (MS-II or MicroSquirt), MegaTune will not let you change anything else until you do this. ECU Type setting was inserted to head off the potential MicroSquirt® problems due to the coils being turned on with the old default configuration. As of the 2.88 code, if ECU Type is not set, the code will put the ignition outputs in a safe state (cycling the rpm from 0 to 8000 rpm, and also flashing the fuel pump LED) and wait until a known ECU type is put in by the user.
When MegaSquirt® is loaded and communicating with MegaSquirt® EFI Controller, the first thing you will see is the front page, which shows eight of the more useful gauges. A number of the sensor readings are displayed, as well as some outputs. For example, the injector pulse width is the measure in milliseconds of how long the injector is opened for each pulse, regardless of how many times it is opened in a cycle. Duty cycle gives the percentage of time the injector is open irrespective of individual pulse duration.
There is a bar gauge across the bottom of the window shows the oxygen sensor reading. The scale is determined by egoGauge value in the Tuning section of the MegaTune2.25+.ini file. This same setting controls the analog and bar gauges on the tuning page. The first value of this setting controls the lowest voltage displayed on the gauges, the second number controls the highest and the optional third value specifies the "alert" value, above which the LEDs are red. The bottom of the front page contains a status bar. The current file name (used for Save operations) is displayed in the left part of the status bar, followed by €œsaved€ status. When the memory image (i.e., the settings you have chosen) has been modified since the last Open or Save operation, this entry shows SAVED in bold face.
The front page also indicates how many times MegaSquirt® has reset since MegaTune was started. These resets can be due to the user manually turning off the power to MegaSquirt® (cycling the ignition switch) OR they could be due to problem with MegaSquirt® or its power supply.
When MegaSquirt® resets, MegaTune displays RESET X in the lower right corner (where X is the cumulative number of resets, including restarts) - MegaTune will also beep. Resets can cause a number of problems that cause the engine to run badly, including messing up the baro correction and enabling after start enrichment. So you should try to cure any reset issues before putting a lot of effort into tuning.
Resets generally indicate that the power to the processor was interrupted. This could mean that the input power actually was cut, but it can also mean that there was a power surge into the back plane (ground), so that there was no longer a 5v differential between the inputs and the grounds...
Resets are often caused by noisy power supplies (usually the alternator), or poor grounds. So you might recheck that the grounds are good, and add a car stereo power filter to MegaSquirt-II's 12V supply. These are cheap (~$5) and widely available. They typically have three wires: one from a switched 12 Volt source (the original source for MegaSquirt), one to go to MegaSquirt® (with clean power), and a ground wire.
Ignition noise, solenoids turning on or off, and that sort of thing can also cause resets. Check your harness routing to see if any ground or signal wires are near noise sources such as spark plug wires or the coil.
Solve reset issues as they come up, as they will confound your tuning efforts if you proceed without fixing them.
As well as the RESET indicator, MegaSquirt® has a number of other indicators that can be set manually. This is set by editing the variables and values in the indicators sub-section of the [FrontPage] section of the INI file you have activated:
;---------------------------------------------------------------------------- ; Indicators ; expr off-label on-label, off-bg, off-fg, on-bg, on-fg ; indicator = { tpsaen }, "Not Accelerating", "AE", cyan, white, red, black ; ; Look in the new colorScheme.ini for the basic ones, add more or tell me what to add. indicator = { ready }, "Not Ready", "Ready", white, black, green, black indicator = { crank }, "Not Cranking", "Cranking", white, black, black, white indicator = { startw }, "ASE off", "ASE ON", white, black, cyan, black indicator = { warmup }, "WUE off", "WUE ON", white, black, blue, white indicator = { tpsaen }, "Accel Enrich", "Accel Enrich", white, black, green, black indicator = { tpsden }, "Decel Cut", "Decel Cut", white, black, green, black indicator = { tps > floodClear && crank }, "Flood clear off", "FLOOD CLEAR ON", white, black, red, black indicator = { batteryVoltage < 10.5 }, "Battery OK", "Battery LOW", green, black, red, black indicator = { port0 }, "Port 0 Off", "Port 0 On", white, black, red, black
The front page is limited to eight gauges, which may not be enough, especially when you are learning to use MegaTune. If you go to the 'Tuning/Realtime Display', you can see many more variables at once. This is a good page to monitor while experimenting with the stimulator and MegaSquirt. MegaTune2.25+ allows you to save and restore configurations as disk files (they have an .msq extension). Use the Open, Save and Save As menu items to do this.
MegaSquirt has two types of memory RAM, which requires that the power be on for values to be retained, and flash, which retains its values even when the power is shut off. In MegaTune, values that are edited are change in RAM (and thus affect engine operation) as soon as you move to another field (with the tab key or the cursor). To retain the values when shutting off MegaSquirt-II's power, you must 'burn' the to flash. You do this using the 'burn to ECU' button on the dialogs. TunerStudioMS has users options to tailor this behavior and defaults.
To burn all the values you might have edited, the best method is to save them as a MSQ (which saves the values in RAM) then load and burn it (to flash).
MegaTune can store and retrieve set-up files, both entire set-ups (.msq files), and VE table files (.vex).
For the 2.9 code version, the datalogged variables are:
Datalog Label | INI Variable | Code Variable (outpc.) | Description | |||||||||||||||||||||
Time | time | none | This is a time variable generated by MegaTune that counts up with the tuning PC's clock. It is helpful for spotting gaps in the datalog (which can be caused by changing dialog pages (datalogs are not recorded if the user is on some pages) or communications issues.) | |||||||||||||||||||||
SecL | seconds | seconds | This is the internal CPU clock from the controller's processor. | |||||||||||||||||||||
RPM | rpm | This is the engine rpm (revolutions per minute). | ||||||||||||||||||||||
MAP | map | map | The engine intake manifold kPa from the Manifold Absolute Pressure (MAP) sensor. | |||||||||||||||||||||
Tbl Indx | kpaix | kpaix | The current MAP value (above) divided by the current baro value to be used as an alternative load index. Baro pressure is not in the default datalog (the baro correction amount, Gbaro is, but not the baro value the correction is based on). Baro can be added by including the line:
in the [Datalog] section of the INI. | |||||||||||||||||||||
MAF | maf | maf | This is the Mass Air Flow value determined from the MAF sensor feedback and the MAF table. | |||||||||||||||||||||
TP | throttle | tps | Throttle opening position in %, 0% is closed, 100% is WOT, if the TPS has been calibrated properly. | |||||||||||||||||||||
vBatt | batteryVoltage | batt | This is the battery voltage as measured at MegaSquirt-II. | |||||||||||||||||||||
if NARROW_BAND_EGO O2 elif LAMBDA else | egoVoltage lambda1 afr1 | ego1, ego2 | This is the ego sensor output voltage (if a narrow band sensor is selected). | |||||||||||||||||||||
IAT | mat | mat | The intake air temperature in °F or C, depending on your settings. | |||||||||||||||||||||
CLT | coolant | clt | The coolant temperature in °F or C, depending on your settings. | |||||||||||||||||||||
Engine | engine | engine | Engine Operating/Status variables - bit fields for "engine" variable. This value will tell you if the engine was accelerating, warming-up, etc., and can be used to troubleshoot by telling you if accel enrichment, warm-up, etc. was active at any given time.
Note that running and cranking are allowed at the same time, so you will normally see 3, not 2, while cranking. | |||||||||||||||||||||
Gego | egoCorrection | egocor1 | This is the percentage correction to the fuelling pulse width used to adjust the pulse width calculated from the fuelling equation based on EGO sensor feedback. | |||||||||||||||||||||
Gair | airCorrection | aircor | This is the percentage correction to the fuelling pulse width used to adjust the pulse width calculated from the fuelling equation based on intake air temperature (IAT) density correction and the ideal gas law. | |||||||||||||||||||||
Gwarm | warmupEnrich | warmcor | This is the warm-up percentage correction to the fuelling pulse width used to adjust the pulse width calculated from the fuelling equation based on coolant temperature (CLT) and the warm-up enrichment table (WUE). | |||||||||||||||||||||
Gbaro | baroCorrection | barocor | This is the barometric pressure percentage correction to the fuelling pulse width used to adjust the pulse width based on the user's setting for baro correction (2-point, table; start-up, real-time, etc.). | |||||||||||||||||||||
Gammae | gammaEnrich | gammae | This is the 'net' percentage correction to the fuel pulse width from the other gammas - air density, warmup and barometric corrections (but not including accel enrichments). | |||||||||||||||||||||
AccelEnrich | accDecEnrich | tpsaccel | This is the 'net' correction (in milliseconds) to the fuel pulse width of accel enrichments, including TPSdot, MAPdot, and X-Tau, where used. | |||||||||||||||||||||
Gve | veCurr1 | vecurr1 | This is the current interpolated VE value used for the fuelling equation for injector driver #1 (and #2 if not using dual tables), based on the current rpm and MAP value (or alpha-N conversion table, where appropriate). | |||||||||||||||||||||
PW | pulseWidth1 | pw1 | This is the injector pulse width time in milliseconds (including the opening time) for injector driver #1 (and injector driver #2 unless you are using the dual table option). | |||||||||||||||||||||
DutyCycle1 | dutyCycle1 | computed by MegaTune | This is the duty cycle of injector driver #1 (and injector driver #2 if dual tables option is not selected). The duty cycle is the percentage of the time available that the injector is opening or squirting. Values over 100% are not physically possible, and indicate that the settings in MegaTune exceed the capabilities of the injectors (which may be too small). | |||||||||||||||||||||
Gve2 | veCurr2 | vecurr2 | This is the current interpolated VE value used for the fuelling equation for injector driver #2 if using dual tables, based on the current rpm and MAP value (or alpha-N conversion table, where appropriate). | |||||||||||||||||||||
PW2 | pulseWidth2 | pw2 | This is the injector pulse width time in milliseconds (including the opening time) for injector driver #2 if you are using the dual table option. Otherwise it has no meaning. | |||||||||||||||||||||
DutyCycle2 | dutyCycle2 | computed by MegaTune | This is the current interpolated VE value used for the fuelling equation for injector driver #2 if using dual tables, based on the current rpm and MAP value (or alpha-N conversion table, where appropriate). | |||||||||||||||||||||
SparkAdv | advance | adv_deg | The spark advance as seen at the crank shaft, including the all the factors such as trigger offset, spark table value, temperature corrections, etc. It is what you should see on a timing light, if you have set everything up correctly. | |||||||||||||||||||||
knockRet | knockRetard | knk_rtd | This is the current amount of ignition retard being subtracted from the spark advance table 'look-up' value when knock is detected. It is determined from the user inputs. | |||||||||||||||||||||
ColdAdv | coldAdvDeg | cold_adv_deg | This is the current amount of ignition advance being added to the spark advance table 'look-up' value advance when the coolant temperature is low. It is determined from the user inputs. | |||||||||||||||||||||
Dwell | dwell | coil_dur | This is the actual computed dwell output, including all corrections. Does not apply to Ford EDIS. | |||||||||||||||||||||
tpsDOT | tpsDOT | tpsdot | This is the current rate of change of the throttle position sensor - TPS - output (%/sec). | |||||||||||||||||||||
mapDOT | mapDOT | mapdot | This is the current rate of change of the manifold absolute pressure (MAP) sensor output (kPa/sec) | |||||||||||||||||||||
IAC | iacstep | iacstep | This is the current position (number of steps) of the stepper motor from the fully retracted position. | |||||||||||||||||||||
deltaT | deltaT | dt3 | The time delta (interval, aka. ΔT) between rpm pulses in microseconds. It is the time between skip teeth - the processor is interrupted every time a tooth arrives, when it counts 12 teeth, as in your case, it calculates deltaT as the difference between present CPU clock time and the saved clock time 12 teeth ago. It is accurate to within better than a microsecond, because all the times are stored at the time the tooth arrives, even if the interrupt isn't entered until a bit later because there was another interrupt at that instant. | |||||||||||||||||||||
Trigger± | trig_fix | trig_fix | The code for toothed wheels checks for missing or extra teeth and handles them if they occur, but only allows one or 2 corrections in a row. More than two corrections and it re-synchs.
The code works like this: when a tooth input arrives, the code checks the new time between teeth against the previous time between teeth. The processor compares the time between teeth = present time - last tooth time, with the previous time between teeth. If the new tooth time is within PulseTol % of the old, it is accepted. If it is out of tolerance too long, the trigger± counter counts down (missing tooth), if too short it counts up (extra tooth). Account is taken of whether it is time for the missing tooth, so the counter is not changed in this case. Also, if 1 tooth is missed, it adds in a virtual tooth, and if there is an extra tooth it ignores it. But it only does this one time in a row, then the next time between teeth must be in tolerance or the ignition input resynchs. However this cycle can repeat indefinitely as long as there is a good tooth after the bad tooth. This will tell users when they have noise or weak signal issues. When trigger± counts down it means that it is losing tooth pulses, that is,a pulse is coming in much slower than the previous two, as if there were a missing tooth, but the missing tooth is not where its supposed to be. If this only happened once in a great while, the ECU would insert a tooth and keep going, but if it happens twice in a row it declares resynch (and forces rpm to 0), then it waits to get two regular teeth, then looks for the missing tooth, etc. It works like this precisely because the timing can get very screwed up if the controller were to keep putting in teeth, so there is a lot of error checking and if things don't look right, the safest course is to resynch. When it resynchs the timing goes back to normal, so at worst you might miss a tooth, go back to sync, miss a tooth, etc, but you won't end up 180° out of time. If trigger± counts up, it means the controller is seeing noise, that is extra teeth that don't really exist. It discards these extra teeth signals. | |||||||||||||||||||||
Sync Stat | synch | synch | This is the sync status. | |||||||||||||||||||||
tachCount | tachCount | tachCount | Counts tach pulses for use in correlating datalog values with tach pulses (at low rpm). | |||||||||||||||||||||
XTau1 | xTauFuelCorr1 | XTfcor0 | This is the current X-tau fuel correction for injector driver #1 (and injector driver #2 if not using the dual table option). | |||||||||||||||||||||
XTau2 | xTauFuelCorr2 | XTfcor1 | This is the current X-tau fuel correction for injector driver #2 if using the dual table option. | |||||||||||||||||||||
E85fuelCorr | fuelCorrection | fuelcor | This is the current fuelling correction based on the fuel composition sensor feedback and the flex fuel settings. | |||||||||||||||||||||
Ethanol% | fuelComposition | computed in MegaTune from default values | This is the current calculating ethanol percentage in the fuel based on the flex fuel sensor feedback. | |||||||||||||||||||||
AFRtrgt1 | afrtgt1 | afrtgt1 | This is the current target value from the AFR table for the current operating conditions (rpm and MAP kPa). | |||||||||||||||||||||
knck-V | knock | knock | This is the current knock signal voltage. |
Note that there are a number of other items that could be included in a datalog, these are shown in the [OutputChannels] section of the INI.
This allows you to export a VE table. You can export or import VEX files into any of the VE tables. These are saved in the VEX format. Be sure to give your saved files descriptive names. With MegaSquirt-II, you load the files from the tables menu.
This allows you to import a VE table. You can export or import VEX files into any of the VE tables. These are saved in the VEX format. The table will import VEX files of different sizes and automatically adjust them to match the current table size. With MegaSquirt-II, you load the files from the tables menu.
Start up the MT Configurator (from the Start menu under MegaSquirt® EFI Controller, or from MegaTune under 'File/Configurator'). Open the MegaTune2.25 tree item, and you'll see a number of megasquirt-II.ini.N.N files. Pick the one where N.N matches the version of embedded code you are running (i.e., megasquirt-II.ini.2.9), highlight the .ini file version that you wish to use and execute File -> Activate. This will rename it to be "megasquirt-II.ini" (deleting the existing megasquirt-II.ini file first). It will then be used by MegaTune when it starts up.
(Note that all 2.XY use the same 2.X INI file. For example, the v2.853 code uses the 2.8 INI file. This is the way the code upgrades are designed. Major revisions are incremented by +0.1 and require a new INI file, minor revisions (+0.01) use the same INI file.)
You need to tell MegaTune which version of MegaSquirt® you have (MS-II), as well as the EGO type, etc. To do this, use the mtCfg program, which opens automatically during the installation process (it can be opened directly from the MegaTune folder at any later time). Look for the CODE_VARIANT variable, it will be in 'Car1/settings.ini/Settings/CODE_VARIANT' in the directory tree on the left side of the mtCfg window. Click on CODE_VARIANT. You can then use the drop box in the upper right section of the window to select your code variant.
While you are in the setting.ini files, you can verify or change the EGO sensor option under LAMBDA_SENSOR if necessary. You can use mtCfg to change the color depth, temperature units (°F/C) and a large number of other parameters for MegaTune. See the documentation in the files displayed in mtCfg.
Be sure to 'Save' the file.
This will close MegaTune.
On the main MegaTune2.25+ menu is an item called 'Settings/General'. You can set these as follows:
There are 453.6 grams in a pound, and 3600 seconds in a hour, so if you are using gasoline:
For cc/min, one milliliter of gasoline is roughly 0.737 grams. 1 cubic centimeter (1 cc) equals 1 milliliter (for example: 5000 cc = 5000 milliliters = 5.0 liters). The density of gasoline is 0.737 g/mL and there are 60 seconds in a minute, so:
Here is a calculator to help with the conversion of the usual injector flow rates to grams per second as used by MegaSquirt® controllers: