Those of us who live in places that get very cold or hot appreciate remote car start systems. My 2012 Ford Focus came with remote-start, but the button wasn’t on the main key fob. It came on a separate fob instead — who wants that? I decided to make a phone interface, to simplify my keychain and add nearly unlimited range.

The basic idea is to install the fob in the car with an Arduino that’s equipped with a cellular shield. When you call the cell shield from an approved number, the Arduino triggers the fob to start the car. Depending on your fob (and whether you want to break it open), you can physically press its button with a servomotor, or use a relay to make the connection electrically.

The Arduino draws power from your car’s battery while the car is off. To get its 12V down to the 5V that the Arduino needs, I used the guts from a cheap 5V auto charger, which is more efficient than a linear voltage regulator like a 7805. To prevent the system from draining the car battery completely, the Arduino monitors its voltage and shuts off power to the whole box when the battery voltage falls below a threshold set in software. The shut-off circuit uses a bistable relay, which stays in its current state until a coil is activated to change it. This prevents power from being consumed by the relay while it stays open or closed.