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



The MegaShift™ V6.100 S19 file is not available yet. Please watch this site for future releases.


Loading Code on Your MShift™ Controller

To use the downloader.exe:

  1. Power down the MShift™/GPIO Controller,

  2. Put the boot jumper on both pins of the header marked JP5 (for "bootloader") near the serial plug on the GPIO board,

  3. Power up the MShift™/GPIO Controller by connecting the power supply ground on one of the Ampseal pins 18, 19, 20 (through the appropriate lead). Then apply 12 volts (nominal, 9V to 15V is okay) to Ampseal pin 1.
    Note: When in bootloader mode, the GPIO allows a full 12V to flow in the TCC and Output3 (aka. SolC, 3/2sol) circuits. If your set-up depends on PWM to limit the current in these solenoids, you MUST pull the 5 Amp fuse to these solenoids (shown in this wiring diagram) before entering bootloader mode to load new code. The 4L60E does not need to have the fuse pulled in bootloader mode.

  4. Start the downloader program (get it here), and select the appropriate COM port number for your serial connection (if you don't know your serial COM port, run the portCheck program),

  5. Select the appropriate .S19 file, and the downloader will read, write and verify the code to the processor in about 10 seconds or so.

  6. The process ends with a message like "Verification succeeded, XXX records total (4 skipped)." (where XXX is a large number that varies from one code version to the next),

  7. Shut down the downloader program,

  8. Remove power from the MShift™/GPIO Controller,

  9. Remove the boot jumper (or put it on just one pin of the boot header for storage),

  10. Start the tuning software (TunerStudioMS) and set the COM port and speed if necessary. Open the project Properties dialog, and point to the INI file you downloaded above.

    When upgrading from older code, be sure to save the old user parameters in a MSQ, load the new code and set up the new INI, change your units (Project -> Project Properties -> Settings: CELSIUS and SI_LENGTHS) to what you used when creating the older MSQ before finally loading the old MSQ file. The defaults are for both settings to be deactivated (i.e. Imperial units). Once the units are set, you don't have to worry about this anymore.

    To set up a CAN pass-through connection with TunerStudioMS, see this video: CAN set-up video (22 MBytes)


Once you have loaded the code, you need to create a project in TunerStudioMS using the INI file above:


Older code/INIs can be found here:

  • INI files

  • Code files (*.S19)



    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.
    © 2013, 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.