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


Testing your GPIO with MShift™

If you have a trans stim, then you can test on the bench. If you don't have a stim and have wired the GPIO controller into the vehicle, you will need to do your testing there.

Here is one procedure for testing:

  1. If in a vehicle, disconnect any high power outputs (shift solenoids, etc.). Temporarily connect small bulbs or LEDs (with a ~330Ω resistor in-line) from 12V to the shift outputs (so you can see their states in each gear).
  2. Set the parameters in your MShift™ controller to match what your transmission requires (the defaults are for the 4L60E).
  3. Do NOT start the engine until instructed to later.
  4. Power up your GPIO. Connect the serial cable to the laptop, and use the tuning software to see if you can communicate with MShift™ If you can not, see: http://www.msgpio.com/manuals/mshift/gpconnect.htm.
  5. Once you can connect, first configure the VSS, gear ratios, solenoid PWM, inputs, and outputs, etc. to match your transmission and vehicle. Use the parameter descriptions above to help you set these. In most cases the defaults are for a 4L60E, but even then you must check that they are suitable for your installation. In most cases, once you set these correctly, you will not have to change them again. Save an MSQ file of your set-up so you can revert to it if necessary.
  6. Power up your MShift™ controller, and check the brake function. With your foot off the brakes, you should see 'Brakes OFF' in the indicator at the bottom of the tuning software front page (if you are using CAN, you may have to switch one of the indicators to brakes to see the status). When you put your foot firmly on the brakes, the indicator should change to 'Brakes ON'. If the indicator does not change, suspect your wiring, as troubleshoot/fix as required. If the brake indicator works backwards (shows ON when OFF and vice-versa), you need to change the polarity under 'General Settings/Standard Inputs/Outputs Configuration/Brake Signal Polarity'.
  7. Check that the TCC output is set to unlock the TCC. In the case of the 4L60E, the TCC is applied when current flows (the output is grounded, and a LED connected to it will light).
  8. Check the shift button function. With neither shift button pressed, you should see blank up and down shift indicators at the bottom of the tuning software front page (if you are using CAN, you may have to switch two of the indicators to 'UpShift Pressed' and 'DownShift Pressed' to see the status). When you press each shift button, the indicator should change to 'UpShift Pressed' or 'DownShift Pressed'. If it does not, check that your wiring and circuit are assembled correctly.
  9. If your transmission has a transmission fluid temperature sensor, verify that it provides a reasonable signal. If the vehicle has not been run for several hours, the reported temperature should be close to ambient temperature. If it is not, find out why - you may have to fix some wiring, or you may need to recalibrate the thermistor table.
  10. If your transmission does not rely on hydraulic pressure to signal the lever position, check the manual gear shift lever function now. Select 'Manual Gear' as one of the gauges on your front page. Without starting the vehicle, shift the manual gear selector lever through each of its gears. Verify that the Manual Gear gauge shows the actual position of the gear selector lever at all times. If it does not, then you may have a wiring problem with one of the gear inputs (AD0/EGT4/Amp26; AD1/GPI2/Amp6; AD3/EGT3/Amp25; and possibly PE1/GPI1/Amp5), or you may have mis-configured one or more of the input patterns.
  11. Check the shift solenoid output patterns. Do NOT start the vehicle. Verify that the shift solenoids show the output pattern on the shift solenoids you expect when the shift lever is in neutral and reverse.
    1. Output1 is connected to Ampseal pin #23 (circuit VB3, CPU pin PE4),
    2. Output2 is connected to Ampseal pin #35 (circuit VB4, CPU pin PM2),
    3. Output3 is connected to Ampseal pin #34 (circuit PWM4, CPU pin PT1),
    4. Output4 (if used) is connected to Ampseal pin #12 (circuit VB2, CPU pin PA0),
    If the output pattern you see does not match what you expect, check the output patterns, wiring, and circuits to find out why. Do not proceed without getting this working correctly.
  12. If you have enabled PWM on any of the shift solenoid outputs, verify that you have put a 1N4001 (or equivalent) diode across the solenoid (as close to the solenoid as you can). The non-banded end goes to the wire that goes from the solenoid to the GPIO Ampseal connector, the banded end of the diode goes to the 12V supply to the solenoid.
  13. Re-connect the outputs (1/2/3, etc.) to the shift solenoids.
  14. Raise the driven wheels off the ground and place jack stands under the frame to hold the car. Place chocks on the un-driven wheels. Start the car.
  15. Verify that you are seeing rpm and load in the tuning software. If you are not, figure out why and correct it.
  16. With your foot on the brake, shift the car into first. Verify that the car shifts into gear (you should be able to feel this).
  17. If your transmission relies on hydraulic pressure to signal the lever position, check the manual gear shift lever function now. Select 'Manual Gear' as one of the gauges on your front page. With the engine running and your foot on the brakes to prevent the wheels from turning, shift the manual gear selector lever through each of its gears. Verify that the Manual Gear gauge shows the actual position of the gear selector lever at all times. If it does not, then you may have a wiring problem with one of the gear inputs (AD0/EGT4/Amp26; AD1/GPI2/Amp6; AD3/EGT3/Amp25; and possibly PE1/GPI1/Amp5), or you may have mis-configured one or more of the input patterns.
  18. Release the brakes and allow the wheel to rotate slowly. You should see the speedometer in the tuning software pick up. If you do not, verify that you have one wire of the VR sensor connected to AMP2 (PT0/VR1) and the other to ground. Check that you have set the correct number of teeth, etc. in the VSS Set-up menu. You might need to adjust the sensitivity of the circuit by altering the 'VSS Input Masking' parameter - smaller number make the input less sensitive. You may have to adjust the You might have to with the trigger edge as well. There are many tips on getting a good VSS signal on this page. Do not proceed until you can get an accurate speedometer above ~10-12 mph.
  19. Get the vehicle off the jack stands.
  20. Connect the laptop and open the tuning software. Start a datalog.
  21. Drive the vehicle very slowly (in first gear). With as little acceleration as you can, get the vehicle to a speed where you would expect it to shift to second gear (based on the 16x9 shift table). Verify that the shift happens, and that the transmission does in fact go to second gear (and not some other gear). If it is not right, check you shift solenoid wiring and the shift solenoid output patterns. Do not proceed until this is right.
  22. Once the 1-2 shift is working correctly, proceed cautiously to each additional forward gear by increasing the vehicle speed gently and verifying that you get the correct shift at the right time.
  23. Once all the forward gears are verified in auto mode, try the up and downshift buttons to verify that they work as planned. There are a number of shift parameters you can use to tune the shift behavior here: Shift Factors
  24. Finally, verify that the TCC lock-up function works as you expect. You should be able to see the engine rpm decrease about 100-150 rpm when the converter locks up, and the TCC locked indicator will light in the tuning software.
  25. Use the tables and remaining parameters to get the transmission to function how you prefer.


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