How to disable car ignition using arduino?

Hi, I'm thinking about a project where one arduino controller (outside the car) wirelessy transmits some data to another microcontroller inside a car, based on the this data the microcontroller inside the car makes a decision i.e. whether the car ignition should be disabled or not.

What I mean by 'disabling' is that the car won't start even if the driver turns the key. I think I can write the code for both microcontrollers and I also have some idea about what components I'll need, however I'm not sure how the second microcontroller will be connected to the ignition/battery in order to disable it. It has to act sort of like a switch. I'm mostly concerned about the electronics here. Any help will be greatly appreciated :).

To start the car the ignition switch provides power to the starter solenoid. The starter solenoid acts as a very high current relay to provide power to the starter motor. By adding a small Arduino-controlled relay between the ignition switch and the starter solenoid you can prevent the starter motor from activating.

johnwasser: To start the car the ignition switch provides power to the starter solenoid. The starter solenoid acts as a very high current relay to provide power to the starter motor. By adding a small Arduino-controlled relay between the ignition switch and the starter solenoid you can prevent the starter motor from activating.

It might depend on the age and model of the car, but in my experience there is a relay that controls the starter solenoid (more properly called a starter contactor - I think this is a case of names being mixed up by mechanics not knowing wth they talk about, as the solenoid is on the starter motor to throw the pinion gear in mesh with the flywheel gear ring).

This relay is (in turn) controlled either directly by the ignition keyswitch, or more often today by some portion of the computer system in the vehicle (where the key switch just signals the computer to boot-up, self-check sensors, then it takes over the startup sequence).

I suppose that on the most recent cars, that intermediate relay has been superseded by a mosfet control or something; the only reason a relay was used originally was because the coil of the "starter solenoid" (starter contactor - it's basically a really large 100+ amp contact SPST relay) took a bit of current, that was easier to control with an intermediate relay than running the wiring back to the ignition keyswitch.

So - likely the best place to put the relay controlled by the Arduino - which should work for -any- vehicle manufactured in the last 50 years or more - would be in parallel with the ignition keyswitch contacts.

cr0sh: So - likely the best place to put the relay controlled by the Arduino - which should work for -any- vehicle manufactured in the last 50 years or more - would be in parallel with the ignition keyswitch contacts.

I think you mean 'in series'. In parallel would allow the Arduino to engage the starter without the key but would not prevent the key from engaging the starter.

Get a single relay shield.

Check the wires going to the ignition switch. One of these becomes live when the ignition switch is turned on.

Break into this cable and send it through the contacts of a relay (using the "normally closed" and "common" tags).

To disable the car, simply activate the relay.

All of this and I can open the bonnet and run a small jumper cable from the battery to the solenoid and I am away in about 20 seconds. Either that or hail a passerby with" I have a flat battery, how about a quick push"? That's if it's a manual .....

Not sure how much this will help, but:

Years ago, I decided to disable my car ignition by using something as random as I could find. What I ended up doing was taking a lightbulb fixture (the reverse bulb for a car) and wired it inline with the negative on the ignition.

Take the lightbulb out of the fixture and it won't start. Plut the lightbulb back in and it completes the circuit on the negative.

Moral of the story? You may not want to think about interrupting the positive, but rather the negative.

I think going through the hassle of building what you are just to cut a live or any other wire/feed would be a great deal of effort for not much return. It would be no different to adding a hidden switch, if any determined thief found where/what was being cut they would be away.

Like the previous post said cutting a negative would be a sneaky idea, but I still think making a micro controller based project just to cut one/some wires is a lot of effort.

Not knowing whether it's diesel, petrol, ecu or mechanical it would be hard to say how else it could be done. But something like sending a signal to the ecu, implementing your own or modified electronic distribution that needs a certain signal or a stop solenoid that requires a signal rather than a live (like the modern mechanical lucas pumps) could all be done probably easier than building the arduino device itself.

A good, basic way of adding an immobiliser to a car, is connecting the positive side of the fuel pump to ground via a switch or relay. If the contacts are closed, and someone attempts to start the car, it will blow the fuel pump fuse. It's unlikely your average thief is going to start fault finding to get it started, and even if they find the switch, the fuse would already be blown, so it still won't start.

Ian.

You weren't the previous owner of a black Fiesta were you? I had one that used to randomly blow the fuse to the Fuel pump when starting up. (like about once a week). So I kept a supply of spare fuses in the centre console.

KenF: You weren't the previous owner of a black Fiesta were you?

Nah, not me :grin:

You're better off putting the Arduino controlled relay in line (in series) with an ignition wire (gas) or the fuel shutoff solenoid (diesel) so that way even pushing the car doesn't work.

The engine will crank but not start. That's good if you're trying to make it appear like a failure rather than a deliberate sabotage. The person trying to start the car will just think it's not working right.