Click on our menu buttons immediately below to find MegaSquirt® information quickly:
MicroSquirt® Module
V1/V2 MicroSquirt®
Important Safety Information
MicroSquirt® Support Forum
- MShift™ TCU
- MShift™ Intro
- GPIO Build Guide for 4L60E
- Base circuits
- GPO1, GPO2, GPO3,
GPO4 (gear LEDs)
- VB1, VB2, VB3, VB4
- PWM1, PWM2, PWM3, PWM4
- GPI1, GPI2, GPI5
(2/4WD, Input2, downshift)
- GPI3 (Temperature)
- GPI4 (Brake sense)
- EGT1, EGT2, EGT3,
EGT4 (non-CAN Load, line pressure, Input3, Input1)
- VR1 (Vehicle
Speed Sensor)
- VR2 (Upshift button)
- Finishing Touches
- Testing your
GPIO Board
- External Wiring Guide for 4L60E
- Current Release Code
- User Settings
- βeta Code
- Code Archives
- Purchase a
GPIO kit
- Working with the Shift Table
- Serial
Connection Troubleshooting
- CANbus
Set-Up
- Solving VSS
Issues
- Ports, pins, circuits, connections
- MShift™ Discussion
Forums
- Misc. MShift™
Topics
- MShift™ sitemap
- Template Project Code
- GPIO Board Intro
- MShift™/GPIO
Support Forum
|
MegaShift™ V4.146 Code
This code is now obsolete. Please see the latest release code here: www.msgpio.com/manuals/mshift/releasecode.html.
The MegaShift™ V4.146 S19 file is here:
Note: When in bootloader mode, the GPIO allows a full 12V to flow in the TCC and Output3 (aka. TCC, SolC) 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.
The accompanying INI file you will need for your tuning software is below. 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.
This INI fully supports the 'context menu help' feature added in TunerStudioMS versions 1.30 and up.
Need Help with the Code Setup and Tuning Parameters? Look Here:
The tuning software guide to all the tuning parameters in the V4.146 code is here: V41tune.html If you have an internet connection, TunerStudio will go directly to the appropriate section of the help page whenever you press the 'F1' key in a parameter menu (your browser will open and load the help page at the nearest relevant location).
There is also a .PDF document of the help page here: V41tune.pdf, and you can reference this when you don't have an internet connection. However, be aware that it might not have the latest information about new features and bug fixes (and TunerStudio will not open it automatically like the web page, but the PDF file is searchable via 'Ctrl-F' key-stroke combination in your PDF reader).
This code and INI have several Project Property Settings. You set/change them in TunerStudio under 'Project → Project Properties → Settings'. This is the first thing you should do after creating a new project. The settings are:
- CELSIUS (default #unset/deactivated): Activate to get Celsius temperature units, otherwise TunerStudio will display degrees Fahrenheit. This setting is independent of the other metric units set below.
- SI_LENGTHS (default #unset/deactivated): This settings lets you switch between imperial units for speeds, distances, lengths, and pressures. The changes are:
Activated | Deactivated |
- Speeds in kilometers per hour (kph),
- Distances (odometer) in kilometers (kms),
- Tire size in centimeters (cm),
- Line pressure in bars.
|
- Speeds in miles per hour (mph),
- Distances (odometer) in miles,
- Tire size in inches,
- Line pressure in pounds per square inch (psi).
|
This setting is independent of the Celsius/Fahrenheit setting above.
- CAN_COMMANDS (default #unset/deactivated): Activate if using the CANbus pass-through capabilities in conjunction with another controller (see this link for more information) otherwise unset/deactivate.
- COMMS_382X (default #unset/deactivated): For experimental purposes only. Do not use with 4.100 or lower code or the serial and CANbus communications will be disabled.
- GEARTABLEMAP (default #set/activated): Activate if using MAP as the load index for the 16×9 shift table, deactivate to use TPS (or any other 0 to 5V load signal).
- PCTABLEMAP (default #set/activated): Activate if using MAP as the load index for the 16×9 line pressure table, deactivate to use TPS (or any other 0 to 5V load signal).
- LOAD_KPA (default #set/activated): Activate to display 'kPa' as the units for the input, gauge, and datalog units, otherwise if deactivated '%' units will be used.
Note: The way the code and INI handle metric conversions has changed from older (4.122 and earlier) codes. You MUST set your units before loading an old MSQ. 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). Otherwise the values will be converted again (i.e. twice, so they will be incorrect) when you change the units settings. Once the units are set, you don't have to worry about this anymore.
Compared to the V2.200 code, this MShift™ code adds:
- Spare port 0 is implemented on the speedo output. User can choose to use this output as:
- Speedo Output: This gives a signal for an electronic speedometer that is proportional to (but slower than) the VSS output. User can enter pulse/mile value (2002 pulses per mile, 4004 pulses per mile, etc.).
- Pulse Width Modulation (PWM) Output: User can choose 'always ON' 'On only while shifting' or 'ON only during shift'.
- Torque Converter Clutch (TCC) Output: On whenever TCC is activated, OFF other wise.
- Shift Solenoid: Use as the eighth (8th) shift solenoid (to change gears).
- Selective Clutch: Activate only on user selected upshifts or downshifts. Off when not shifting.
The spare port 0 ON state is determined from the user settable 16x9 PWM table in all modes except 'Speedo Output'. The user can select the axis parameters from Load (MAP or TPS), Speed, RPM, or Temperature. The spare port 0 OFF state is a single user settable value.
- User can set a dead band on the voltage based lever input (www.msgpio.com/manuals/mshift/V4tune.html#i).
Loading Code on Your MShift™ Controller
To use the downloader.exe:
- Power down the MShift™/GPIO Controller,
- Put the boot jumper on both pins of the header marked JP5 (for "bootloader") near the serial plug on the GPIO board,
- 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.
- 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),
- Select the appropriate .S19 file, and the downloader will read, write and verify the code to the processor in about 10 seconds or so.
- 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),
- Shut down the downloader program,
- Remove power from the MShift™/GPIO Controller,
- Remove the boot jumper (or put it on just one pin of the boot header for storage),
- 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 CANbus pass-through connection with TunerStudioMS, see this video: CANbus set-up video (22 MBytes)
Once you have loaded the code, you need to create a project in TunerStudioMS using the INI file above:
Old Code/Ini 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.
© 2011, 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.