# Need help to drive an ignition coil with a VB921

**URL:** <https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723>\
**Category:** Motors, Mechanics, Power and CNC\
**Created:** [December 4, 2015, 8:54pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723 "2015-12-04T20:54:43Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 4, 2015, 8:54pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/1 "2015-12-04T20:54:43Z")

</div>

Hi,

I am trying to drive an ignition coil with a [VB921](http://www.st.com/web/en/resource/technical/document/datasheet/CD00000023.pdf) and I am unable to get a spark out of the spark plug and the VB921 is getting hot over time.

I use an arduino uno with this code (trying to get a spark each second):

```cpp
#define DWELL 3000
#define COILPIN 8

void setup() {
  pinMode(COILPIN,OUTPUT);
  digitalWrite(COILPIN, LOW);
}

void loop() {
  spark();
  delay(1000);
}

void spark() {
  digitalWrite(COILPIN, HIGH);
  delayMicroseconds(DWELL);
  digitalWrite(COILPIN, LOW);
}

```

The wiring I use is attached in this post.

Does anybody have an idea why this is not working?  
What am I doing wrong?

Thanks

 ![vb921.png](https://europe1.discourse-cdn.com/arduino/original/4X/0/0/a/00a7317858e142afeb53c7215876a74de3794a20.png)

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 5, 2015, 5:14pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/2 "2015-12-05T17:14:59Z")

</div>

The VB921 is not a MOSFET or IGBT - lose the resistors on the input, the device has its own internal  
input current limiting.

Don't put the 12V from the ignition circuit into Vin, its probably going to fry your Arduino. You  
need to protect the input rail to the Arduino from the large inductive spikes on the car 12V circuit,  
using good filtering.

What is the coil turns-ratio and output nominal voltage? If the primary voltage goes above the VB921's  
clamping voltage limit of 340V you have a problem - the device will heat up rapidly and it won't be  
able to generate enough output voltage. For instance if the coil is 1:50 and spark voltage is 20kV, then  
the primary needs 400V and your circuit can't supply it. If the coil is 1:200 you'd be fine, the primary  
only needs to rise to 100V for a spark to be generated.

Keep the coil and HT leads well away from the control circuit. Put the control circuit in a shielded  
metal box preferably.

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 5, 2015, 6:06pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/3 "2015-12-05T18:06:30Z")

</div>

Thank you for your answer.  
I removed 12v from Vin and power the arduino via an usb cable.  
I also removed the resistor R1.  
The coil is a 1:100, I think it should work with the VB921.  
But it still doesn't work.

I tried to replace the VB921 with a [IRLZ34N](http://www.irf.com/product-info/datasheets/data/irlz34n.pdf) and I get a nice spark each second, but this is only for testing purposes (IRLZ34N is max 55V).

Do you have any idea?

Thanks

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 5, 2015, 6:13pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/4 "2015-12-05T18:13:28Z")

</div>

What is the spark gap width? You can lookup the breakdown voltage in dry air to see what the secondary  
voltage will peak at.

Test the VB921 driving an LED or bulb perhaps to ensure its working?

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 5, 2015, 11:54pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/5 "2015-12-05T23:54:38Z")

</div>

The spark gap is 0.8mm  
I tried to drive a 12v car bulb with the VB921 (increased DWELL to 200ms) and it doesn't work and the VB921 gets hot. When I replace the VB921 with an IRLZ34N (they have the same pinout) the bulb blinks as it should.

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 6, 2015, 12:03am UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/6 "2015-12-06T00:03:24Z")

</div>

You did lose the input resistor didn't you? That will limit the on current somewhat.

By bulb I meant small bulb, there's a limit to how many amps this thing can drive, and large bulbs  
try to draw about 10 times their steady-state current when cold.

We know the IRLZ34N works, its possible the VB921 is fried, but it ought to handle a couple of amps  
without issue (upto about 6 in extremis).

If its broken I'd suggest going for an IGBT which are the standard devices for high voltage switching  
these days - google "ignition circuit IGBT". Not all of them work with 5V gate drive though...

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 6, 2015, 12:23am UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/7 "2015-12-06T00:23:36Z")

</div>

I removed the input resistor.  
I just tried to drive a led with a new vb921 (I have 10 of them, it would have been cool to use them) and it blinks! But it never turns totally off (when it blinks it gets just brighter, it's like if there was a current leak across the vb921)

Do you have any good igbt to recommend? (if it doesn't work with 5v, can I use something like a PN2222 to drive it?)

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 6, 2015, 12:15pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/8 "2015-12-06T12:15:02Z")

</div>

Yes there will be a leakage current, its a trilington after all (Darlington but more so), but it  
won't matter a jot driving an ignition coil of several ohms. So try with the coil now and  
double check your connections before power-up.

There are 100's or 1000's of suitable IGBTs on the market - this is where you need to  
find an electronics supplier and use the search tool on their website. Even eBay probably  
has some devices if you trust them to be genuine parts.

If not logic level then you simply use a MOSFET/IGBT driver chip to drive it. For some reason  
many people on these forums seem reluctant to imagine that such things exist! If you  
drive a MOSFET or IGBT, you use a MOSFET/IGBT driver chip. Simple. Again 1000's of  
devices are available, parametric web search tools are available.

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 6, 2015, 12:24pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/9 "2015-12-06T12:24:00Z")

</div>

Thanks for the answer.

If I replace the led with the coil, it just doesn't work. I think I will have to order some IGBTs...

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 6, 2015, 12:35pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/10 "2015-12-06T12:35:36Z")

</div>

Odd - that device ought to handle 5A or so which should be plenty for the coil.

The reason IGBT's are preferred over MOSFETs for high voltage is that there is less internal  
feedback from drain(collector) to gate in an IGBT so the high voltage swings have much less  
chance of over-voltaging the gate and damaging the gate oxide layer. They are more rugged.

Also for \>300V or so the losses are less, since high voltage MOSFETs have a fairly high on-resistance  
compared to low-voltage MOSFETs whereas IGBTs have a fixed on-voltage when conducting.

IGBTs are slower to switch off than MOSFETs though - sometimes this matters.

One crucial difference is that MOSFETs have a body-diode built in as part of the device  
structure (A MOSFET H-bridge doesn't need extra free-wheel diodes). With an IGBT there  
is no body diode so usually you need them (or choose an IGBT device with a diode - some have  
them for convenience). For your ignition circuit you don't need a free-wheel diode, the sparkgap  
takes the inductive kick for you.

---

<div class="post-metadata">

**Author:** ![detown](https://avatars.discourse-cdn.com/v4/letter/d/3ec8ea/32.png) [@detown](https://forum.arduino.cc/u/detown)\
**Post date:** [December 6, 2015, 11:02pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/11 "2015-12-06T23:02:56Z")

</div>

Google a BIP373. This is what most people are using to drive coils in automotive applications.It was developed by Bosh expressly for this purpose.

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 6, 2015, 11:11pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/12 "2015-12-06T23:11:58Z")

</div>

Thanks for all this information.  
One question: Why should a [BIP373](http://maya-auto.com/wp-content/uploads/bip373_datasheet.pdf) work if the VB921 doesn't? They seem to both have allmost the same characteristics.  
I just don't want to buy something that might not work... I think I will try with an IGBT.

---

<div class="post-metadata">

**Author:** ![detown](https://avatars.discourse-cdn.com/v4/letter/d/3ec8ea/32.png) [@detown](https://forum.arduino.cc/u/detown)\
**Post date:** [December 6, 2015, 11:56pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/13 "2015-12-06T23:56:18Z")

</div>

All I know is that everyone that were burning up the VB's were having no problem with the BIP373's. And this was with some pretty hot coils running a lot of dwell.  
What ever you use make sure they have a pretty good heat sink.  
The BIP's are sometimes hard to find, try [Diyautotune.com](http://Diyautotune.com).

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 7, 2015, 12:17am UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/14 "2015-12-07T00:17:07Z")

</div>

I hope you didn't buy the VB921's from a dodgy eBay supplier? Lots of duff (factory reject) chips  
get sold by various channels including eBay these days - caveat emptor

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 7, 2015, 10:34am UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/15 "2015-12-07T10:34:21Z")

</div>

I bought them a long time ago and I can't remember where exactly. I think it was Radiospares or Farnell.

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 7, 2015, 1:47pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/16 "2015-12-07T13:47:56Z")

</div>

I am looking for an appropriate IGBT to drive my ignition coil.  
I found the [ISL9V3040P3](https://www.fairchildsemi.com/datasheets/IS/ISL9V3040P3.pdf) and the [FGP3440G2\_F085](https://www.fairchildsemi.com/datasheets/FG/FGP3440G2_F085.pdf). Are they suitable for my coil? I think I can drive them directly with the arduino. I am making a mistake? Which one to choose?

Thanks

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 8, 2015, 1:57pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/17 "2015-12-08T13:57:34Z")

</div>

Well they are both logic level gate drive which is good. I think the clamp voltages are reasonable  
from what you say about the coil. They are directly drivable and have some resistance built-in  
which ought to mean direct connection is possible.

I'd add clamping schottky diodes between the gate and 5V and 0V, to bolster the Arduino  
protection diodes should the gate voltage jump around due to capacitive effects in the device,  
seems like a wise precaution. Schottky diodes conduct well before the internal protection  
diodes (which can only handle small currents).

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 9, 2015, 10:11am UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/18 "2015-12-09T10:11:24Z")

</div>

Thanks for the answer!  
I ordered the IGBTs, I should get them tomorrow.

For the clamping schottky diodes, may I use some [SB5100](https://www.fairchildsemi.com/datasheets/SB/SB540.pdf)? I have some of them lying around...

---

<div class="post-metadata">

**Author:** ![MarkT](https://avatars.discourse-cdn.com/v4/letter/m/c89c15/32.png) [@MarkT](https://forum.arduino.cc/u/MarkT)\
**Post date:** [December 9, 2015, 3:39pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/19 "2015-12-09T15:39:20Z")

</div>

Yes, they are schottky diodes!

---

<div class="post-metadata">

**Author:** ![ludovic815](https://avatars.discourse-cdn.com/v4/letter/l/a6a055/32.png) [@ludovic815](https://forum.arduino.cc/u/ludovic815)\
**Post date:** [December 9, 2015, 4:30pm UTC](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723/20 "2015-12-09T16:30:35Z")

</div>

I will try this weekend! Thanks a lot!

[Next page](https://forum.arduino.cc/t/need-help-to-drive-an-ignition-coil-with-a-vb921/350723.md?page=2)
