Summary of RFID Car immobiliser with PIC12629
This project is a simple RFID car immobiliser using a PIC12F629 microcontroller and an Innovations ID-12 RFID reader. It compares read tag IDs against up to 10 stored tags in EEPROM; matching tags activate a relay to allow the car to run, non-matching tags prevent restart. The ID-12 can be remotely mounted, the system uses a 7805 regulator and basic filtering, and setup programs tags by shorting a jumper. Debugging via a pseudo-RS232 output is possible. The project is inexpensive, intended to deny restarted use if a vehicle is stopped after theft.
Parts used in the RFID Car immobiliser:
- PIC12F629 microcontroller
- Innovations ID-12 RFID reader
- 7805 5V voltage regulator
- Bicolour LED
- Relay
- Transistor (to drive relay)
- Filtering capacitors
- PCB (printed circuit board)
- Header/jumper for setup
- Shielded cable (recommended for long runs)
- Solder, wires, connectors
Ok, so there are heaps of immobilisers out there but with most of them, if someone has your keys, they have you car. What good is a car alarm with 3+ point immobilisation if someone manages to get the keys and of course the alarm remote.
This is a simple immobiliser based on a PIC12F629 and an ID-12 chip from innovations. This can be built for about $50.
Advantages:
The ID-12 chip is/can be remotely mounted away from the main PCB, behind a panel with no external components viewable.
If someone carjacks you or something like that (after you have started the car) then if they stop the car, it will not be startable again.
Cheap and effective
I apologise for the slight lack in detail. This was a project i done some time ago and it has been a long time since i touched it. I have posted this on here as it was requested by a few people. I will be happy to answer questions though.
Step 1: The Schematic and how it works
The PIC and the ID-12 are powered by a 7805 5v regulator via some basic filtering caps. The PIC is in an endless loop at this point, reading available data from the ID-12. Once a card/tag is read, it compares the string with up to 10 tags it has in EEPROM. If one matches, it activates the transistor which in turn activates the relay and the program stops. If there is no match, it just keeps waiting for data. The bi-colour LED indicates the status.
Initial setup is done by shorting the jumper and then reading up to 10 tags in sequence. This overwrites each tag if it’s alreading in eeprom.
I know the schematic is hard to read, click on the ‘i’ in the top left then click on the ‘original file’ link for an uncompressed version…
Step 2: PCB
The PCB is fairly straight forward when teamed up with the schematic. There’s not much to it…
Print, transfer, etch, drill etc.
The ID12 is wired in standard ASCII mode. The only connections needed are:
Pin 1: GND
Pin 2: +5v
Pin 7: GND
Pin 9: Data
Pin11: +5v
This means you only need 3 wires going to the ID-12. The others can be jumpered on the chip. If the run is long (more than say 20cm), I would suggest the use of shielded cable as cars are electrically noisy and it might cause dodgey readings.
Step 3: All put together
Once you have the PCB done, solder it all up and program the chip with your fav. programmer. HEX file attached.
For debugging, you can connect pin 2 (GPIO5) and a ground pin to the serial port of a PC’s Rx and ground @ 9600 baud to see the actual tag values and what the chip is doing. However, it may not work properly on all PC’s without the addition of a max232 chip as it is only pseudo RS232 and not true levels. Not that i have come across any in recent times.
For more detail: RFID Car immobiliser with PIC12629
- How many tags can the system store?
The PIC compares tag strings with up to 10 tags stored in EEPROM. - Can the ID-12 be mounted away from the main PCB?
Yes, the ID-12 can be remotely mounted behind a panel with only three required wires. - What happens if a read tag matches a stored tag?
If one matches, the PIC activates the transistor which drives the relay and the program stops. - What happens if a tag does not match any stored tag?
If there is no match, the system keeps waiting for data and does not activate the relay. - How is initial setup and programming of tags done?
Initial setup is done by shorting the jumper and reading up to 10 tags in sequence to overwrite EEPROM entries. - Which ID-12 pins need to be connected and how many wires are required?
Connect ID-12 Pin 1 GND, Pin 2 +5V, Pin 7 GND, Pin 9 Data, Pin 11 +5V; only three wires are needed if others are jumpered on the chip. - Is shielding recommended for the ID-12 cable and when?
Yes, use shielded cable if the run is longer than about 20 cm due to car electrical noise. - How can I debug tag reads and PIC activity?
Connect pin 2 (GPIO5) and a ground pin to a PC serial Rx and ground at 9600 baud to view tag values, noting this is pseudo RS232 and may need a MAX232 on some PCs. - What power supply arrangement does the project use?
The PIC and ID-12 are powered via a 7805 5V regulator with basic filtering capacitors.

