Jeep 4.0 MS3

I designed a plug and play MS3 Megasquirt board for my 91 YJ with the stock 60-pin connector that I salvaged from a spare pcm.   My board uses the MS3 daughterboard and some easy to source components.  As the stock pcm is located under the hood  I used a universal watertight enclosure and have the connector stick through the lid.  The challenge is getting the connector properly sealed though.  I could have used ampseal connectors, but then I’d have to make a boomslang harness from the megasquirt to the stock wiring loom with all the problems this might cause.

Here’s the connector:

And the alternative, ampseal connectors.  Perfect seal, but a harness is needed.

The bare board in the case.  Below it is a printout of the pcb.


  • 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 module.  I never tested it, 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.
  • optional Wifi 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 use spark A on PIN 19 (the original high current coil output) and spark B and C on 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 + 3A 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 (1A) is probably enough, but I use a 3A version 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 does require a heatsink.
    I also added 3 logic level coil drivers.  These need no heatsink but require swapping out the YJ’s single coil / distributor setup for 3 logical coils and the camshaft synchronizer / sensor from an XJ / TJ.
    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, 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
    The Jeep sensor is 1 bar, so for turbo use, the stock sensor must be swapped for a 2 or 3 bar GM /Delphi or else use the internal MPX4250AP sensor.
    The stock Jeep sensor can be used for baro correction.

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.   This closeup is of an older version, but the principle is the same :).


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.

Blog at

Up ↑

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