Custom ignition/alarm/immobolizer system
OK this all started from my intent to (1) provide stable 12V power source to car PC electronics, even when cranking, and (2) secure the car as much as possible from theft. Well it's gotten a little bigger, let me know what you think! I've almost got a Computer Science degree /w emphasis on embedded systems, and I've been programming for years... so I'm confident I can handle it (just a matter of time).
1. A lot of people like to put a relay or switch on the line to the fuel pump. What a great idea, except if I find your switch you are defeated. (OK maybe unlikely, but I like a challenge). My idea is put relays on multiple lines (fuel pump, ignition, crank, injectors). Obviously this has to be kept somewhat within reason due to power consumption of closed relays, but you get the point. The key point here is that I will put the relay on a small PCB along with a tiny microcontroller (remember that this is all *at the location of the relay*). The microcontroller will *only* close the relay whenever it receives the right password via 2-wire serial protocol. Thus, we have a (hopefully) secure relay that cannot be bypassed by poking around with the control wires. (E.g. suppose the thief found the "brain" of my security system - he can't just then connect each relay wire to GND or 12V and expect to close any relays). But of course there's a limit: closed relays take ~170 mA current and you don't want to suck down 2A of your electrical system just from relays!
2. Continuing with #1: if you are trying to cut off a wire that carries < 1 A of current, it is easy to cut it off using solid state (e.g. analog switch, transistor). Still use the same microcontroller scheme as #1 though. So for example, you could use it to turn off critical sensors to the ECM (e.g. MAP, crankshaft position I have been told by a couple people can be turned off without engine damage - please correct me if wrong!) Also the ECM controls some relays (e.g. main relay) - these control wires could be disabled through solid state switches as well. The nice thing is that it could all fit on a small PCB and be well-hidden inside the ECM box - only the two data wires would come out of the ECM - nobody will suspect that, right? Only way to bypass that is disassemble the ECM I would think.
3. The secure relays/switches described above will feed into a power and ignition controller/monitor board. Will have the following features/setup:
(a) Note that this board will be powered off a small 12V rechargable battery (lest the thief disconnect the main car battery).
(b) The existing ignition key wiring of the car will be ripped out (along with the steering wheel lock - unless somebody has a brilliant idea here how to retain it safely). The ignition key will instead function as an input switch to the microcontroller.
(c) The microcontroller will then close the appropriate secure relays to start the car. It will also open/close a relay to the tank battery that runs the car PC, to ensure that the main car battery does not go dead charging the tank (e.g. car PC does not shut off properly). This will all be triggered by the ignition key switch above, or by an external I/O source (e.g. the security module).
(d) Microcontroller will have a few external voltage sense pins to monitor the voltage on the main electrical system, its own backup battery, and the car PC tank battery.
(e) Microcontroller will have plugs for hooking up external ammeters, which will monitor current flowing through (1) primary car battery, (2) alternator, (3) car PC tank battery, (4) anything else I feel like monitoring.
(f) Microcontroller will have a couple external pins which will "press" the power button on one or more car PCs to turn them on.
(g) Microcontroller will have a USB connection. It will look like a standard ACPI-compliant battery - so your Windows box will show the standard "plugged in" power icon when the car is on, and an "on battery" icon with appropriate percentage when car is off (and critically, you can set a 1 minute "hibernate" timeout if the PC goes on battery - this handles the shutdown problem). Additionally the voltage/current sensors can be read through the USB, for example for a PC-based heads-up display. Note that USB will tell you if the car is on/off, but won't allow the PC to actually start/stop the car.
4. Eventually I'll make a separate security module to replace the ignition key completely. This module will communicate with the above power module and have:
(a) keypad and LCD for inputting a PIN number to start the car - this replaces the ignition key completely (e.g. I could throw away my key). Another keypad will be hooked up, which will be mounted on door handles.
(b) port for GPS, to track vehicle position (GPS will have dead-reckoning in case signal goes bad).
(c) port for dedicated prepaid cell phone, to send text message if alarm goes off, and send GPS coordinates (that's going to be my alarm's pager!).
(d) microphone and hookup to car amplifier, to communicate with thief via cell phone (or just listen to his activities)
(e) an array of theft-sensors (accelerometer, glass, door, hood, trunk, motion)
(g) get the car PC going to start some security cameras (recorded into a CompactFlash card hidden deep within car - think of it as a black box).
(h) USB port to read any data that is logged - e.g. a record of alarms going off, which sensors were tampered with, etc.
OK sure this is overkill for a 97 Civic. :D But it will be fun. What do you guys think?