Main Board Assembly

First, you will want to decide which components you will be using, as not all installations need all components. Here is a list of what parts go with what circuit. Note that U3 is used for multiple circuits, and must be installed for any of the circuits to work. There are a couple parts that we’ve included in the kit, marked in green on the component labels, that are for common mods that may not be needed and do not go in one of the usual designated holes. These will be covered in later sections on ignition control and extra outputs.

Note that some boards have extra components on the adapter board that you may want to assemble as well. See these pages for adapter boards with special components.

All applications:

  • U1 MicroSquirt module
  • U5 voltage regulator
  • D1, D2, D3
  • Bootloader, Opto GND, and BL/TH jumpers
  • C1 and C2
  • DB9, DB15, 12V jack

Internal MAP sensor:     U2

Spark A:     Q1, R13

Spark B:     Q2, R12

Spark C:     Q3, R11, R1 (100 ohm)

Spark D:     Q4, R10, R2 (100 ohm)

Note that the above spark outputs are only used with high current ignition outputs; that is, when your coil does not have a built in ignition module or external module. Most applications do not need these, except Bosch applications. The Nipponsenso and JECS kits do not include any of these transistors, while the Bosch 55 pin kit includes one transistor for distributor based spark output. Extra spark output transistors are sold separately.

Relay 1:     Q5, D6, R9

Relay 2:     Q6, D5, R8

Input 1:     R14, R15, R29, R30, Q8, U3

Input 2:     R16, R17, R18, R19, Q9, U3

Knock:     C3, C4, C5, Q10, R20, R21, R22, R23, R24, R25, R26, R27, R28, U3, U4

Boost control:     D4, R6, R7, Q7



These directions assume you will be using all circuits; feel free to omit any components your buildup does not need, as listed above.  This assembly procedure takes you through a ‘quick assembly’ process.  Generally speaking that means you’ll be installing the shortest components first, then the next tallest, on up to the tallest components on the board.  This way you can install the components, flip the PCB over on a flat surface which will hold all of the components in place while you solder them in.  Then install the next taller set of components and repeat until the board is finished.  Note that there are are few components where orientation is important and this is noted below, please take care to properly insert these polarized components marked with a (+/-).

Some of the included components are only used for a few installations. Expect to have a couple parts left over on most builds. So if you have some parts that the instructions didn’t tell you to install them, don’t worry, this is normal.

NOTE:  All components are normally inserted into the top of the board.  That’s the side with all of the components labeled in the silkscreen.

  1. Install all resistors in the locations marked on the board except R26 – the knock sensor trim pot, and R1 through R5.
    1. Note that you will have a couple extra resistors reserved for pull-ups. These can be used in the R1 through R5 positions or for certain other mods.
  2. (+/-)   Install all diodes, taking care to match the banded end to the band on the silk screening.
  3. If you are using the high current ignition outputs (Q1 through Q4 – only used when you do not have an external ignition module), add the “ENABLE” jumper next to each output you are using. If you are using the knock sensor, add the “ENABLE” jumper in the knock area.  To jumper these connection, use a short piece of a snipped lead from one of the resistors or capacitors you’ve already installed.
  4. (+/-)   Install U3 and U4.  Taking care to align the notch on the chip with the notch on the PCB’s silkscreen.
  5. Install C3 and C4.
  6. Install transistors Q5, Q6, Q8, Q9, and Q10. On transistors with no outline, the flat side goes towards the long side of the triangle.
  7. Install R26. The side where the “wheel” goes is marked on the silk screen.
  8. (+/-)   Install C1, C2, and C5. Note that all these capacitors are polarized. The + lead goes in the square hole.
  9. Install U2. It mounts on the top side of the PCB, with the vacuum port facing AWAY from where you will be placing the MicroSquirt Module.  The leads are bent 90deg towards the PCB.  The notch on the lead indicates pin#1 and should fit into the square hole on the PCB.
    •  If using a MapDaddy, use a bit of jumper wire to connect the baro output pin on the MapDaddy to the small hole marked “BARO IN” on the mainboard.
  10. Install the DB9 and DB15 connectors, and the 12 volt power jack.
  11. Install the Q7 and U5 using the included heat sinks. Apply a dab of the included heat sink compound between the components and their heat sinks. Take care that the heatsinks do not touch together.
  12. If your kit includes Q1 through Q4, install them using the included heat sinks and heat sink compound. Note that most ignition outputs do not need Q1 through Q4. On Bosch 55 pin ECUs, Q1 is included and Q2 through Q4 are omitted; Nippondenso and JECS kits do not have Q1 through Q4. These may be added in order to drive coils directly. A small dab of Superglue between the heat sink and the PCB can keep the heat sinks from vibrating around and possibly touching each other.
  13. Install the hex standoffs on the mainboard.  To do this put a screw through from the bottom of the mainboard into the hex standoff and tighten until nice and snug.  Don’t break the PCB, Brutus.  You want to install these standoffs in the holes that will align with the two top corners of the MicroSquirt module, and in one of the holes at the bottom, the hole closer to the middle of the PCB.  On the mainboard the top two holes are pretty obvious, the bottom hole is the one just under the words ‘Sensor In’.
  14. Now, for the headers that mate the MicroSquirt Module to the Mainboard.  The only trick with these is you must make sure they are flush with the PCB they are soldered into.  If they sit at an angle then they will not mate properly with the opposing pair of headers.  The simplest way to ensure this, is this:
    1. Snap the Male 50 pin (2×25) header and the Female 50 pin (2×25) header together.  Do the same with the male/female 10 pin (2×5) headers.
    2. Insert the female end of these two header assemblies into the mainboard.  That would be the side with the now mostly-hidden header (hidden by the male header that surrounds it – the male female reference refers to the metal pins, not the plastic, confusing I know).
    3. Take another look at how you’ve inserted the headers into the mainboard.  Check and see that the ‘keyway’ side of the header, the side with the notch and key, face towards the inside of the MicroSquirt module.  Don’t solder anything yet.
    4. Place the MicroSquirt Module in its new home lining it up with the Hex Standoffs and the Headers you’ve just placed, and slipping the header’s pins thru the module leaving it resting in place.  Still unsecured.  Still not soldered.
    5. Insert the remaining three screws into the hex standoffs in and tighten until snug.  This will bolt the MicroSquirt to the main board using the hex standoffs and sandwich the headers tightly in between ensuring the don’t move when you solder then and maintain proper alignment.
    6. Now, solder the 50pin (2×25) and 10pin (2×5) headers into place.  From the top of the MicroSquirt Module, and from the bottom of the mainboard.
  15. Most adapter boards are pretty straightforward to assemble – just attach the connector with the included screws, and then solder the connector to the main board. There are exceptions when we’ve included a circuit or two on the adapter board. These adapter boards have their own directions. Currently only the B55 board has unique directions, but others will have their directions added as we create them.
    1. Bosch 55 pin adapter board assembly directions

Loading firmware

Once you have the board together, you’ll want to load it with firmware. The DIYPNP can be loaded with either Bowling & Grippo code or MS2/Extra, though MS2/Extra will give you access to more of the DIYPNP’s feature set. The software needed can be found on ourSoftware / Downloads page. You’ll need the boot jumper for loading code; the picture below shows its location.

To load MS2/Extra code:

  1. Place the boot jumper (located to the right of the INPUT 1 label and above the IGN1 – IGN2 – WLED – ALED jumper) across both pins.
  2. Connect the DIYPNP to your computer using the serial port.
  3. Power up the DIYPNP. This can be done on a car or you can plug our Stimulator / DIYPNP power supply into the supplied 12 volt port next to the DB15. If loading the code on the car, be sure to unplug the coils and injectors.
  4. Go into the Program Files/MegaSquirt folder and open the MS2/Extra folder that matches the firmware you wish to load to your DIYPNP. If MegaTune or other tuning software is running, close it.
  5. Open the program called download-MS2-firmware.bat.
  6. This program will first ask you a couple of questions about loading the code; tell it you have a MicroSquirt and which COM port you are using. Specify that you are upgrading from standard B&G firmware.
    • Caution: Loading the MS2/Extra version for a full sized MegaSquirt will cause problems with the ignition output, and may even damage your ignition system. Be sure you load it with the MicroSquirt version of the firmware.
  7. The program will load a new bootloader, at which point you will remove the bootloader jumper, power down the DIYPNP, then power it up again. Once you have pressed a key to continue, the utility will continue to load the MS2/Extra code. It will end with a message stating that verification has succeeded. You can now connect to the DIYPNP with MegaTune or TunerStudio.

To load Bowling & Grippo code:

  1. Close MegaTune or any other tuning software you may have running.
  2. Open the MS2 downloader program.
  3. Place the boot jumper (located to the right of the INPUT 1 label and above the IGN1 – IGN2 – WLED – ALED jumper) across both pins.
  4. Power up the DIYPNP. This can be done on a car or you can plug our Stimulator / DIYPNP power supply into the supplied 12 volt port next to the DB15. If loading the code on the car, be sure to unplug the coils and injectors.
  5. In the MS2 downloader program, go to “file” and then “settings” make sure that it says “com 1″(or whatever com port that you’re using) as the com port and “115200” as the com speed, then make sure that the “Verbosity” is set to 5. Click ok to exit that screen.
  6. Go back to “file” and then select “open” Go to your “C” drive and find the “program files” folder, open it and find the “MegaSquirt” folder in there. Then find the “MS2-MicroSquirt 2.890″(or which ever firmware that you are looking to use) and select the s19 file, it will have a name like “Monitor_vX.XXX.abs” Double click that and everything should work automatically.
  7. After that gets done, you’ll power the MS2 off and remove the boot jumper, and set the ECU type in MegaTune. And that’s it, you have now loaded or reloaded the firmware.

Assembly Notes

Each area has its own special notes. Here is an explanation for each section. These will be covered in more detail on the pages about ignition control and extra inputs and outputs.

U3: U3 must be installed if using either the knock sensor or the on/off inputs. Note that the on/off inputs also need R20 and R21.

Pull Ups: These can be used for several of the inputs and outputs. Here’s what each of the pullups does.

  • R1: Acceleration LED pullup. Used when driving a spark output (either built in or external) from ALED. For the onboard BIP373, use a 100 ohm resistor in the 5 volt position. External modules may require other resistors.
  • R2: Warmup LED pullup. Used when driving a spark output (either built in or external) from WLED. For the onboard BIP373, use a 100 ohm resistor in the 5 volt position. External modules may require other resistors.
  • R3: Optoisolator pull up. Used with certain Hall effect and optical sensors, usually of the sort called an open collector. The best value to use here will depend on the sensor. If your application notes don’t specify a value, you may need some trial and error. As a general rule, start with 1K for a 12 volt sensor or 470 ohms for a 5 volt sensor.
  • R4: VR2 pull up. Use this when the camshaft position sensor is a Hall effect or optical. The best value, like with R3, will depend on the sensor.
  • R5: IAC pullup / flyback diode. Use a 100 ohm resistor in the 5 volt position to use IAC to drive the boost control. If using PWM IAC output, put a 1N4001 diode in this slot with the banded end towards 12 volts.

MAP sensor: The sensor should line up with the outline, with the notched pin in the square hole. Optionally, you can use a MAPDaddy 4 bar sensor, and wire the MAPDaddy barometric pin to the BARO IN hole. This uses the equivalent of JS5 for barometric correction.


Relays: Each one of these takes grounds the OUT pin when 5 volts is applied to the IN pin. The IN pin may be connected to PT6, PT7, or PA0. The WLED and ALED jumpers can also drive a relay, but they do not need to be run through the relay circuit and can be connected directly to the relay. Also, some types of ignition modules (Hondas, for example) are better to trigger with relay outputs than the regular ignition outputs. To use these, you can jumper IGN1 or IGN2 to the relay control input. Ignition modules triggered by the relays generally are the sort that are triggered by grounding the input pin to a logic level ground.


Boost: The boost control FET can be driven from PT6, PT7, PA0, or IAC. If using IAC, install a 100 ohm resistor on the IAC jumper in the pullup area, and note that the output is inverted.


DB9 serial connection: Connect the two pins of the BL/TH jumper to send 5 volts to pin 9, which can be used for powering a Bluetooth or other wireless adapter. Some serial devices ground pin 9, so if you are using one of these (like the MegaView), leave the BL/TH jumper out.


DB15 connector: This can allow you to bring out signals that do not fit in the stock harness. The upper row of pins has reinforced traces to carry spark and boost control outputs.


Ignition drivers: These are labeled IGN1 through IGN4. Each one can sink over 10 amps and drive a coil directly, with built in current limiting. Each ignition driver has an ENABLE jumper that lets you connect it to the output that would normally drive this spark output. If driving it from a different pin, omit the ENABLE jumper and wire the input to the round hole in the ENABLE jumper. IGN3 requires a 100 ohm resistor in the R2 slot on the 5 volt position. IGN4 requires a 100 ohm resistor in the R1 slot in the 5 volt position. The outputs come out on the respective S1 through S4 holes.

Since each transistor has its own heat sink, no mica insulators are needed. Just don’t let the heat sinks touch up against each other or the case.

Want to run a set of coil on plug coils with the ignition drivers, but fire them in a wasted spark fashion? Just jumper IGN1 to the round hole of the S3 ENABLE jumper, and IGN2 to the round hole in the S4 ENABLE jumper. Leave out the regular ENABLE jumpers, and you’ve got yourself a wasted spark coil on plug.

Opto Ground jumper: Connect these two holes together to ground OPTO IN -. This is useful for any Hall or optical sensor that supplies a voltage to the MS.

Bootloader Jumper: The unmarked pull-off jumper next to Input 1 is a bootloader jumper. Put the pull off jumper across both terminals to put the ECU in bootloader mode for loading the code.

Inputs 1 and 2: These are buffered input circuits to protect the processor from miswiring. They supply a 5 volt output that is grounded when you ground the input pin.


>>> Go To Next Page in the Docs: Basic Jumpers >>>