Arduino Duemilanove - Coil driver - which switch to use

Dear Arduino users,

I am starting on a project to drive a ignition coil, I want to use my Arduino to open a 12V current between a ignition coil and a battery. To charge the coil, I need to run about 4ms of 12V through it, after that, disconnect the coil and it will generate a spark. Now, I need something to switch this high current on and off with, something I have read that can be a challenge is the "inductive kickback" and noise, causing switching problems.

I have drawn a picture to explain what kind of circuit I want to make. My question for the Arduino people is, what kind of device / component / IC should I use to control this current flow, the component doesn't have to be dirt cheap or anything like that, but it would be great if it had some noise canceling / inductive kickback canceling built in, so a all in one component used to drive inductive devices.

Thanks in advance for any replys,

Kind regards,
Sean.

something I have read that can be a challenge is the "inductive kickback" and noise, causing switching problems.

No.
This inductive kick back IS the energy you need to generate a spark. And yes it will give you a problem because any switch will have to withstand this large voltage value.
I assume you want to do this quickly so a relay will not do.
I would look more at the automotive sites.
By the way the data sheet states the arduino is not to be used in automotive applications but that is just a please don't sue me statement.

Couldn't you just drive a distributor with an electric motor?

Dear Mike,

Thanks for the reply, It made a few things clear to me, and yes, I have already checked automotive websites, however I am now drowning in the amount of information and possible options, I was hoping there would be someone on here that had already done this sort of thing before, and might know what component would be suitable.

Dear AWOL,

Well, I am not distributing the spark, I will be using it for only one ignition coil, and I will need to accurately time it using a HALL sensor from the crank. So I think a electric motor to switch the system on and off will be to slow and inaccurate, thank you for the contribution though !

Kind regards,
Sean.