Click on our menu buttons immediately below to find MegaSquirt® information quickly:

MegaSquirt-II™ Code

There are two hardware versions of MegaSquirt-II™, and two corresponding code versions. ALL MS-II™ controllers sold since August 2005 are V2 (the vast majority of MS-II™s) have a blue solder mask and use the code and INI from the blue box (or red box with hardware and firmware modifications) below, as do all Microsquirt® controllers.

Older MS-II™s with the green solder mask use the code and INI from the green box further down the page.

Preferred Code:

For those requiring a single spark output signal, such as for a distributors or crank wheels (but no cam signal and a single coil), version 2.920 is the preferred choice of codes:

The most recent 'ready to load' .s19 file and INI file for uploading to your MegaSquirt-II™ controller is here:

(Right click and 'Save As')

Below is the INI file you will need for your tuning software. Do NOT rely on the INI that comes with your tuning software, even if it has the correct version number it may be out of date and not have the latest updates and corrections.

(Right click and 'Save As')

The help file for this code is here:
This help file contains full information on all the tuning parameters and datalogged values in this code.

v2.920 code requires TunerStudioMS code (or at least beta code 0.999.8d or higher). MegaTune will not work properly with this code. This is because with 2.920 code the user can now burn MAF tables, configure automatic CAN messages, and recognize 2.9xx as CAN enabled; these functions are not in MegaTune.

Optional Code (with mods*):

For those with crankshaft toothed wheels with a cam input or more than one ignition coil, version 3.830a MicroSquirt® code can potentially be used (it is intended for a MicroSquirt® controller, but can be used on a MS-II™ controller with significant hardware and firmware modifications*):

The most recent .s19 file and INI file for uploading to a MegaSquirt-II™ controller (only with the MicroSquirt® bootloader installed and hardware mods) is here:

(Right click and 'Save As')

Below is the INI file you will need for your tuning software. Do NOT rely on the INI that comes with your tuning software, even if it has the correct version number it may be out of date and not have the latest updates and corrections.

(Right click and 'Save As')

* This code version requires the MicroSquirt® bootloader to upload properly. Any bug fixes are common to both 3.8xx and 2.9xx codes, so the only differences between the codes involve dual spark option changes which are not applicable for unmodified MS-II™ controllers that have only one ignition output and one engine position sensor input. Once you have modified your MS-II™ controller to be compatible with the MicroSquirt® dual spark inputs and outputs, you will need to change the bootloader on your processor to be able to load this 3.830a code. Burning the MicroSquirt® bootloader to an MS-II™'s processor can be done, but requires specialized and expensive equipment. Your vendor may be able to do this for you, or a developer might be able to help you from one of the forums. Otherwise you should use the latest 2.9xx code above.

To work properly, this 3.830 code requires TunerStudioMS version 2.2.11x or later.

To load a 'ready to load' .S19 file to your MegaSquirt-II™ over the serial port, you need to use Eric Fahlgren's MegaSquirt-II downloader program (click the link to download), which works from either a window or from the command line.

To use install new code using the downloader.exe:

  1. Save an MSQ setting file of your existing setup.

  2. Power down MegaSquirt® EFI Controller,

  3. Put the boot jumper on both pins of the header marked B/LD (for "bootloader") on the MegaSquirt-II™ (not the main board), (on MicroSquirt® controllers, ground the bootloader wire)

  4. Power up MegaSquirt® (plug in the stim) or MicroSquirt® controller. The LEDs on MegaSquirt® will flash very briefly (if installed), then go out. This is proper response for the LEDs when the MegaSquirt-II goes into bootload mode (i.e. when the bootload jumper is on).

  5. Start the downloader program (make sure TunerStudioMS is not running), and select the appropriate COM port. Note that 'File/Update' does not work on the downloader to fetch the latest code and INI anymore. You can get the latest code and matching INI from this link:

  6. Select the appropriate .S19 file using 'File/Open', and the downloader will read, write and verify the code to the processor in about 10 seconds or so. If you have a problem connecting to the controller, see the tips here:

  7. The process ends with a message like "Verification succeeded, 999 records total (4 skipped)."

  8. Shut down the downloader program.

  9. Remove power from MegaSquirt® (disconnect the stim) or MicroSquirt® controller.

  10. Remove the boot jumper (or put it on just one pin of the B/LD header for storage),

  11. Start the tuning software (TunerStudioMS) and set the COM port and speed if necessary.

  12. You will need to download and activate the latest INI file. Under the 'File/Project/Project Properties' of TunerStudio, click on the 'Other' check box.

  13. Click the 'Browse' button.

  14. Locate the INI file you downloaded for the link above (

  15. Click on the appropriate INI file you download from the code page ( to activate it.

  16. Finally, reload the MSQ file (aka. 'tune') you saved above, paying particular attention to any warnings the tuning software gives you (these are generally for settings that have changed or been added to the newer code, so look them up in the help file and decide how they should be set).

You will find all recent the INI files here: and the recent code S19 loadable files here: See the readme file in the package for more details.

To use the v1.31 or v2.X code, see the configuration instructions here:

For a full description of how the MS-II Serial Interface works see this link:

Code for Older Green MS-II Daughter Cards

The reason for two different codes is simple: to install CAN networking on the new MS-II™ we had to move the fuel and idle pins, since they were using the CAN pins as I/O. This does NOT mean any changes in wiring, because the new fuel and idle go to the same place on the motherboard. We are also using the C64 version of the processor, which has 4K of RAM vs. the 2K on the C32 (the C32 is the one populated on the V1 version of MS-II™). This has been the holdup for MS-II™, we have been waiting all this time for the automotive-temp version of the C64 to arrive, and this is what we have populated on the V2 version of MS-II™. The V2.0 code uses more than the 2K of RAM that the C32 had in order to get all of the CAN variables incorporated in the version 2 embedded code, so the C32 part used on the V1 version cannot handle this (without some condensing of variables, etc). This means you MUST install only v2.x software on the CAN MS2 and only v1.x software on non-CAN MS-II™.

The real issue between the first released boards (the first 170 that were shipped in April 2005) and the ones from August 2005 and later is that the old boards did not have the CAN transceiver, the new version (V2) has CAN. But to use CAN, we had to move the signal lines on the processor for the fuel pump and fast idle - these happen to be the ones used for the CAN signals (CANH and CANL). So, to be able to use CAN (on V2 version), we had to move the fuel pump and fast idle to other spare I/O pins. This also affected the bootloader - this code has to make sure the fuel pump, injectors, ignition, etc, are off during a bootloader operation. Since the pins moved, we also had to move these as well in the bootloader. In fact, we are hand-programming each and every MegaSquirt-II® with the bootloader through the BDM, just to verify this operation and processor/board health. Users still need to put in the version 2 embedded code into the MS-II™ once they receive it (we do spot check boards with the full code).

The best way to determine the MS-II™ version of any board is that the original boards had green LPI solder mask, where as the new V2 boards are now blue solder mask. So MegaSquirt-II version V1 is green, and the latest V2 (with CAN and the extra memory) is blue. The boards also have the "V2.0" or "V2.1" silkscreened onto the V1 boards and "V3.0" silk screened onto the V2 boards.

The MegaSquirt-II™ current release code for the V1 MS-II (with the green solder mask) is here:


As well, a 'ready to load' .s19 file for uploading to V1 MegaSquirt-II™ is here:

(Right click and 'Save As')

The INI file for 1.34 code is numbered 1.31, and is found here: megasquirt-II.ini.1.31

The complete Codewarrior project file is here:

MegaSquirt® and MicroSquirt® controllers are experimental devices intended for educational purposes.
MegaSquirt® and MicroSquirt® controllers are not for sale or use on pollution controlled vehicles. Check the laws that apply in your locality to determine if using a MegaSquirt® or MicroSquirt® controller is legal for your application.
©2004, 2014 Bruce Bowling and Al Grippo. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks. This document is solely for the support of MegaSquirt® boards from Bowling and Grippo.