Arduino to start car with smartphone touch using NFC

Hello everyone!

I am tying to build a car starter using an Arduino, NFC Shield and a smartphone.

I want to create a spot in my dashboard that starts my car when touched by my smartphone.
Unfortunately have no idea how to do this because I am new to Arduino's.

I guess the best way to make this work is connecting a relay to my car starter, so when the Arduino detects my phone, it enables the relay, and when touched again, it disables it.

If possible, I would like to know what hardware I need to build this, and how to code it correctly!
I currently have an Arduino Uno Rev3.

I'm really hoping for help and looking forward to responses!

Thanks

Hi, it’s great to see projects integrating the arduino with a car.

First thing to consider is how new is your vehicle, and what does it require to engage the starting sequence. If it is a new vehicle the computer may need to detect the signal from the key or a certain resistance. You may want to see about a remote starter module that has a remote input wire that can be connected to a relay breakout board on your arduino. A basic remote starter with the remote input is the Avital 4103.

If you have an older car it will be a little bit easier. When the key is turned to each position it connects usually 3 to 4 circuits for the accessory circuit, ignition on circuits and motor circuits; as well as a momentary contact for the starter to engage. You would need a relay for each circuit, try a 4 or 6 relay board. When you integrate the arduino into a car keep in mind that it that for safety the car cannot be able to start in gear, your car could lurch into another car or pedestrians. So being able to detect the neutral safety switch position is important. Also, the arduino might not reliably start the car without knowing whether the car is running before disengaging the starter. By reading the tach signal from the distributor it could decide when to deactivate the starter relay.

The remote starter module Avital 4103 takes care of all the vehicle hardware. There are probably others with similar remote wires. This is the only one that I have worked with.

Keep in mind when designing an electronic project for a car: it is a very hostile power source. The voltage is far from regulated, and is almost always more than 12 volts (usually closer to 14.) There is lots of electrical noise, and there can be frequent sags and spikes in voltage. I think the standard is to be able to handle spikes up to 60 volts. You will need a robust power supply: you will not get away with just connecting the vehicle power to the 12 volt barrel jack while relying on the Arduino's internal regulator.

Some of the worst power issues are while cranking the engine: the voltage can go way down. Since this is the primary use for your Arduino, Your power supply will need a reverse current diode followed by a large capacitor to give it enough energy to ride through the wildly fluctuating voltages during starting.

FutureScience:
When you integrate the arduino into a car keep in mind that it that for safety the car cannot be able to start in gear, your car could lurch into another car or pedestrians. So being able to detect the neutral safety switch position is important.

An additional safety system is a hood (bonnet) switch: you don't want to be able to start the engine if the hood is open, someone may be working on the engine and gave their hands in there.

Also, the arduino might not reliably start the car without knowing whether the car is running before disengaging the starter. By reading the tach signal from the distributor it could decide when to deactivate the starter relay.

That's another complication of modern cars. Most of them these days have fuel injection and an ignition coil for each cylinder (or pair of cylinders.) These don't need a distributor, I can't remember the last time I saw one. I think the modern replacement is a crankshaft position sensor, which is harder to read than a simple stream of 12 volt pulses going to an ignition coil.

Interfacing with a modern car is complex and delicate. Your suggestion of using a remote starter with a remote input is an excellent one. It offloads the intricate details, and let's you concentrate on the unique features you want to implement with the Arduino. Many remote starter systems have additional outputs that can be triggered by the remote, for such features like windows, locks, and other accessories. These may be able to be connected to inputs on the Arduino, so it can perform custom operations (lots of potential there!)