RFID Car Immobiliser With PIC12629




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.

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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.

Step 4: Wrapping Up

Programming:  Power up the immobiliser with the jumper in place.  The LED should go green and then go red.  You can then program up to 10 tags.  The LED will go orange when a tag is read, then go back to red (waiting for another tag).  If you want to 'erase' a tag, you must reprogam that position or 'key number'.  Best is to just keep reading the same tag over and over till all 10 positions are filled, or reprogramming the pic will clear the eeprom if needed.

Once you have programmed your tags in, you can remove the jumper.  The unit is now in 'operation' mode and the LED is red.

When a tag is read, the LED will go orange and If a good tag is read, the LED will go green for 1/2 a second, then extinguish totally and the relay will close. If a bad tag is read, it will go back to red waiting for another tag.

Bench test the setup and once you are happy with it, you can wire it into your car.

The main power for the circuit should come from an 'ignition' circuit on the car.  Then connect the 'switched' relay contacts between a feed to the coil(s) or ignition input to your EFI computer.

To operate, turn on the ignition of the car, then swipe the tag over the ID-12, the relay closes, then start the car.  If the car is turned off, the process must be repeated.

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    56 Discussions


    2 years ago

    I have a RFID reader and am attempting to install and an ignition kill on my 93 Honda Accord. It came without wiring instructions. Please help. There are 3 wires, to which I can identify Hot, Ground, and switched. How would I wire this?


    3 years ago

    Hi. I wanna build the immobiliser, but I want study the source code...

    Could you upload US files:

    INCLUDE "12F629.INC"



    3 years ago


    I wanna build the immo, however do you have a gerber or eagle file for the pcb?
    It would be very helpful to do the pcb! :)
    thank You!

    1 reply

    Reply 3 years ago

    This is one of my early projects and I used PCB123 which does not support Gerber export, sorry.


    4 years ago on Introduction

    What is it that you would like to know? Bare in mind that this is a VERY old project and I have not touched PIC chips in 5+ years.....

    1 reply

    Reply 4 years ago on Introduction

    Could You check that?

    When I have Anscii mode on term I have that.

    But when I changed to Ansi mode is no strange characters.



    4 years ago on Introduction

    Hello Andrew,

    Thank you for sharing your project.

    I made it with PIC12F629 and it works but I have a problem.

    When hooked the D0 pin of the ID-12 chip to USB-TTL RS232 FT232RL converter RXpin the ID-12 gives every single time the same code : 010D69AE01CA for the particular rfid TAG

    When I program the tag 10 times and remove the jumper and then read the tag again it works , the PIC activates the relay.

    When i hook the FT232RL converter to the pin 2 of the PIC12f629 i see the debug information that you provide

    Got : 313044363941453031F9

    Rom has: 313044363941453031F9 *** Matched chip 1 ***

    But after each power ON/OFF cycle the value I see form the same tag is changing

    Got : 313044363941453031D8 //this value is different from the one in the eeprom and the relay is not powered. Then I switch the power and plug it back and receive different reading

    Got : 313044363941453031F8 //again not the same value and the relay not operating

    Got : 313044363941453031F9 // after many ON/OFF cycles (without additional learning by the jumper) I receive the same code that is stored in the eeprom and the relay is activated

    With the same tag I see different reading in the last byte at pin 2 of the PIC.

    Please do you know what causes this.

    Again thank you for sharing your project.

    Best regards.


    5 years ago on Introduction

    I can't get my programmer to accept just the HEX file for the 12F629. Any chance of getting the ASM file?

    2 replies

    Reply 5 years ago on Introduction

    Tried the ASM but it says I need the "IMMOBL~2.MAC" and the "PBPPIC14.LIB" files. Should they be standard files? I'm not really sure since I'm new-ish to programming PICs


    Reply 8 years ago on Introduction

    See the spec sheet for the ID-12. If you want to connect it directly to a PC serial port, you will likely need a MAX232 or equivalent to convert the 5v TTL to true serial. However, some serial ports or USB to serial adapters will work ok on just the 5v signals.

    When I saw this I was hoping for something I could use to shut down a car that had just tried to run me over on my bike. I could use such an item about 3 times a week when I ride as someone tries to "teach me a lesson" about riding in the street about every other ride. BTW I ride in full compliance with the law TX VC 551.100-103, I teach bicycle laws to local cops who would bust me in a nanosecond if they caught me breaking the law.

    3 replies

     dude, this instructable has nothing to do with bicycles.  vent somewhere else.

    to kill a car you would need a powerful emp genny.

    I was hoping for something a little smaller and lighter than an EMP generator, something that didn't require a semi trailer to haul it around. I just want to be able to shut cars down after they are used as a weapon against me. The most deadly thing in our lives is not a gun, but the family car, by a decimal (close to 4 binary) order of magnitude. The number of people that die inside cars has been decreasing as newer cars replace older cars with less passenger protection, but the people outside cars are dying at the same rate they have since the mid-1990s, in spite of fewer miles travelled in the last 2 years.

    lukeyj15Opus the Poet

    Reply 8 years ago on Introduction

    I agree with thinkdunson, RFID will never kill a car. Even lighting won't immobilize a car.
    You would be better off just firing an automatic weapon at the engine...


    8 years ago on Introduction

    im chandra..can i get the source code for this...i cant download it.