I'm trying to drive an automotive wasted-spark ignition coil pack using the following circuit which is being driven by a high-side driver at 12 V at the input for a 3 ms dwell duration (IN1 & IN2). One side of the primary coil is connected to +12 V, and the other to the output of this circuit (OUT1 & OUT2) which is a separate module, close to the coil pack on a 2-layer board:

IGBT driver

Coil module top enter image description here

This is the resulting waveform at the output of the circuit.

Coil primary

I'm having trouble with noise at the microcontroller/high-side driver which is disrupting the output signal, and I've destroyed two IGBTs.

Can someone explain what I'm seeing in the waveform and why my flyback diodes don't appear to be working as intended?

Here is my ECU/control module PCB. Stackup is SIG/GND/PWR/SIG with PWR being 5 V.


The gate driver on the ECU being used to drive the circuit above is here:

Gate driver circuit

The gate driver and associated components are on the underside of the PCB:

PCB underside

I tried point 1 from fraxinus below by replacing D1 and D2 with high voltage, 200nF disc ceramic capacitors. I also replaced R1 and R4 with 2.49K resistors. I can now sweep the input trigger signal from 1000 to 6000 RPM to the ECU without interference from the ignition circuit.

Here's a scope trace of OUT1 with the modified circuit:

IGBT driver with caps

Update May '23.

I ended up choosing a different IGBT (FGB3245G2-F085) for this application with the following circuit. Note that D3, D4, R9, R10, C5, C6, R7, R8 were do-not-fit (DNF).

Modified IGBT circuit

The following trace was obtained at OUT1:

Modified IGBT circuit output trace

The negative swing is reduced in the modified circuit without the need for the damping capacitor.

  • 4
    \$\begingroup\$ 1N5818 is a schottky diode, not a zener. Someone made a mistake in your component library it seems. As for the noise, please show layout and the surrounding circuit, as much detail as possible. If this is an EMC issue, likely many things are involved; you literally cannot provide too many details. \$\endgroup\$ Commented Jan 23, 2023 at 22:12
  • 1
    \$\begingroup\$ what are you trying to do? maybe replace the diodes with ignition capacitors \$\endgroup\$ Commented Jan 24, 2023 at 11:04
  • 2
    \$\begingroup\$ ECU - then I'm guessing that you also want to make sparks inside the engine. if you limit the primary voltage you may prevent that also. \$\endgroup\$ Commented Jan 24, 2023 at 19:55
  • 1
    \$\begingroup\$ Try putting 10 or 22 ohms in series with the cap for more damping. The voltage appears to rebound below GND, and the IGBT is not rated for negative voltage or current; a diode from E to C (ES1G, US1J, etc.) may be judicious as well. \$\endgroup\$ Commented Feb 2, 2023 at 3:41
  • 1
    \$\begingroup\$ You should keep Prince Phillip happy and improve your high voltage PCB clearances \$\endgroup\$
    – Autistic
    Commented Aug 12, 2023 at 10:28

2 Answers 2


This type of noise is pretty much to be expected in an ignition circuit.

You have an oscillation in the coil inductance coupled with its parasitic capacitance. The parasitic C/G cap transfers this back to the controller.

What can you do in order to reduce it?

  1. Shunt the transistor (between the C and E) with ~200nF capacitor.

The 200nF value is time-honored (about a century of practice) and predates the electronic ignition. It was pretty much used back when contact ignition was a thing. Depending on the coil used, 100nF or 500nF may work better.

This will limit both the frequency content of the oscillations, as well as the maximum voltage reached at the transistor's C.

  1. Be sure to always have spark plugs connected (and grounded) or spark gaps arranged at the coil outputs.

  2. Use some type of protective voltage clamping at the MCU output. Schottky diodes to the power rail and the ground are a good start.

  3. If you want to be extra safe, a zener diode of ~300V value could be connected between C and E in order to limit the flyback voltage. More complex circuits for this purpose exist as well.

A note from @TimWilliams this may not be necessary for this particular transistor as it has the needed zener internally.

  1. Depending on the software approach used and the firmware reliability, one may want to limit the coil charge time and/or current in hardware.

In some cases, you may want to skip p.1 or p.4, but not both.

  • \$\begingroup\$ Good points; though #4 shouldn't be necessary as the IGBTs contain this internally (at a bit over 400V), if they are as labeled anyway ( infineon.com/dgdl/… ) \$\endgroup\$ Commented Jan 24, 2023 at 20:58
  • \$\begingroup\$ @TimWilliams good points, but you remind me of one more traditional mistake \$\endgroup\$
    – fraxinus
    Commented Jan 24, 2023 at 21:02

I had similar problems when using IGBTs in my circuits initially. The turn-off time is slowed by increasing gate R but it will put more load onto the device as it will extend switching time.

Using a 0.047 μF 630 V polypropylene cap will help significantly but slows the rise time of the coil HT.

If you can put a small piece of code in your MCU to obviate any triggers subsequent to the initial one for say 1 ms that may do it. It's probably the input that's picking up the EMI and re-triggering, worth a shot anyway.

Other than that, go back to the good old BU941ZPFT or FI bipolar outputs.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.