Jeep 4.0 MS3

I designed a plug and play MS3 Megasquirt board for my 91 YJ with the 60-pin connector.  It uses the MS3 daughterboard (not the pro module) and some easy to source components.  As the stock pcm is located under the hood, a watertight enclosure is a must.  I’m not sure how to tackle this, I could put the board inside the stock enclosure and pot it, but that would make repairs / modifications impossible.  I could also install it inside the Jeep and try to bring the wiring loom to it.  We’ll see once I get at that step :).

I dremeled my connector from a spare PCM but should I decide to install the MS3 inside the Jeep, I’ll just solder wires directly to the board and use the connector on the other end of that loom.


  • 6 injector drivers
  • 3 logical coil drivers (spark A, B, C)
  • 1 high current coil driver (for distributor setup like my YJ).  When using the high current driver, spark B and spark C can be used as spare outputs.
  • 1 boost control output (or high current spare output on PP3 – Boost)
  • 1 spare output on injector H (0.8A)
  • 1 spare analog input on JS4 (can be used for barometric correction for instance)
  • A/C control (if no A/C then there’s another spare output on injector G and 1 spare ground switch input on PE1)
  • check engine light
  • alternator control output
  • VSS input
  • optional barometric sensor
  • optional knock sensor
  • optional realtime clock.
    As the DIY clock is very expensive ($68), I added additional solder points for the cheaper PmodRTCC and  MCP79410 modules.  I never tested them, but they use the same chip as DIY’s so should work.  I will be testing the PmodRTCC in the future.
  • optional Bluetooth module for remote cellphone / laptop / tablet tuning with TunerStudio, RealDash, MSdroid, ShadowDash etc.


The board uses all stock wiring except for the following:

  • Logic level spark outputs A, B, C
  • Boost control
  • Knock sensor
  • Spare output
  • Spare input

Luckely,  2 wires (PIN 25 and 45) go to the diagnostics connector so these can be repurposed for some of these functions.  Suppose you are using the 3 spark outputs, than you can jumper spark A to PIN 19 (the original high current coil output) and spark B and C to PIN 45 and 25.  Then pick them up under the hood.  That’s what I’ll be doing as I don’t need boost control, knock sensor or the spare in- and outputs.  I also don’t like cutting the oem wiring.


  1. Alternator Control
    There’s 2 ways to control the alternator:
    • MS3 alternator control
      The Jeep’s alternator field wire pulls 5A and has pretty high flyback currents.  There is a IRLZ44 + 1N5400 flyback diode on board that can directly drive the alternator.  Use a heatsink!
      Should you want to keep high currents out of the ecu, you could run this output to a solid state relay which in turn drives the alternator.  No heatsink needed but make sure to take the flyback diode out of the MS3 and install it over the alternator field coil as a protection for the ss relay.  A 1N4001 is probably enough, but I use a 1N5400 as a safety measure.
      A Dorman 902-303 or SMR RY330K fan controller works fine.
    • External voltage regulator
      If you need no ecu control, or the above is too complicated, just use an external regulator.  Cheap and easy, but no voltage adjustment of course.  A Bosch RE55 works fine.
      Additional bonus of an external regulator is that this frees up a wire on PIN 20 for other functions (see above).
  1. Coil drivers
    The YJ’s stock coil can pull up to 5A.  My board uses a BIP373 which runs fairly cool but it does require a heatsink.
    I also added 3 logic level coil drivers.  These need no heatsink but require you to swap the YJ’s single coil / distributor setup for 3 logical coils and the camshaft synchronizer / sensor from an XJ.
    I plan on keeping it simple in a first step, using the BIP373 with the stock distributor / high current coil but will upgrade to logical coils in a later stage.  I have some spare 1.8 Miata coils that are perfect for this (alternative: Viper coils or pretty much any 6 cyl coil pack).
  2. Boost Control
    I don’t think boost control is needed on our low boost setups, but just in case, the driver is there.  The IRLZ44 requires no heatsink.  If not using boost control, this can be used as a spare high current output.
  3. MAP sensor
    A jumper must be installed to select between the stock map sensor or the internal 2 bar map sensor.
    The stock sensor is 1 bar, so for a turbo either use the internal sensor or swap the stock sensor for a 2 or 3 bar GM /Delphi.
    When using the internal map sensor, PIN 1 can be used for other things.
    When using the stock map sensor, the internal one can be used for barometric correction by running a wire from MAP internal to JS4.

Bill of materials

Building the board

The build is very easy.  All components and their values are marked on the board, as well as their function.  All circuits have their own outline, so it’s just a matter of deciding if you need them or not.  Unneeded circuits can be left empty.

For example, here’s a closeup of the alternator field driver, spark drivers and check engine light.


If you’re using the high current coil driver for example, the spark A,B,C circuit can be entirely omitted.
If you’re using an external voltage regulator, leave out Q21 and R45.
If you don’t need a check engine light, leave out Q22 and R46.
etc …

The power supply transistor (U5 – LM237), alternator driver (IRLZ44) and coil driver (BIP373) all need a heatsink.  Boost control doesn’t.

Create a free website or blog at

Up ↑

Create your website at
Get started
%d bloggers like this: