• Login
    • Search
    • [[global:header.recent]]
    • [[global:header.tags]]
    • [[global:header.popular]]
    • [[global:header.groups]]
    • [[global:header.search]]

    [WIP] NFC car starter by MrStein

    Ideas for using NFC Rings
    nfc car arduino nfc starter starter car pn532
    11
    39
    57325
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • MrStein
      MrStein last edited by

      UP! Some news about the project !

      First I have some electronical test from my 407 peugeot:
      The current from the contact in the neiman is about 9.5mA, the stater contact is at 17mA. So a 3A relay will work fine.

      I start a new version with a ATMEGA328 and a 16MHz crystal. You also have a BLUETOOTH 4.0 connector for a further version.

      The board:

      The circuit with a 3d printed box

      (miss the atmega healder & a led)

      (letters are bad)

      I give all the schématics / 3D drawing after some tests :)

      1 Reply Last reply Reply Quote 1
      • MrStein
        MrStein last edited by

        After some test, a new proper version (10 pcb for 10$):

        I solder all when I have more time .

        johnyma22 1 Reply Last reply Reply Quote 1
        • johnyma22
          johnyma22 NFC Ring Team @MrStein last edited by

          Excellent work @MrStein - I think one thing we should be doing is holding a few of these pre-made in stock so people can purchase them through store.nfcring.com

          1 Reply Last reply Reply Quote 1
          • MrStein
            MrStein last edited by

            As you want john, I add some modification to the second board (capacitor value en package) so I would like to test them before give all the files.
            After it's an open source project so use them as you want :)

            1 Reply Last reply Reply Quote 0
            • MrStein
              MrStein last edited by MrStein

              Fun with the starter, useless but for science of course !

              But with that test, I know that my car need 500ms delay between the contact & the starter. and more than 800ms after that to launch the engine.

              1 Reply Last reply Reply Quote 1
              • MrStein
                MrStein last edited by MrStein

                Here are the files of new optimised version, click on "téléchargement gratuit" :)
                http://www.partage-facile.com/E8RQRYP85C/atmega_v3_nfc_starter.zip.html

                A new 3d printed box will follow, in open source too :D

                R P 2 Replies Last reply Reply Quote 1
                • R
                  Raymond last edited by

                  This looks fantastic. I'm curious, @MrStein, ou wrote "The keys are currently in this version to avoid problems related to the anti-starter. It will be neutralized (bypassed) later on." in the first video. Did you insert the keys in the "On" state in your car before scanning your ring? Great project!

                  1 Reply Last reply Reply Quote 0
                  • MrStein
                    MrStein last edited by

                    Now, I use a deported antenna to connect to the neiman (were you put the key) the immo chip.
                    this is not the best solution but it s difficule to emulate the immo signal so it's the easiest ;)
                    I had make some "how to" for connection between the neiman & the board, and how to supply. For now they are on my youtube (mrstein) but in french..
                    I will make another video for bypass the immo ;)

                    maybe if I have the time I will make a instructable for all (making the board, connection, bypass), but as you can read, my english is not realy good for translate a full text ^^"

                    1 Reply Last reply Reply Quote 0
                    • R
                      Raymond last edited by

                      That's very cool. English would be great for everyone, but I can read French just as well. Keep it up! Can't wait for your next update ;) Lâche pas la patate!!!

                      MrStein 1 Reply Last reply Reply Quote 1
                      • MrStein
                        MrStein @Raymond last edited by MrStein

                        The code, with sleep mode and interrupt. Work fine with the board (you have to plug a 10Kohms resistor 0603 cms between the +5v and int1, it will be rectifed with another version)

                        http://fr.sourcepod.com/pwdatf37-45351

                        /*
                         Code par MrSTEIN (mrstein(at)hotmail.fr)
                         v1.0/ 01/10/2014
                         compatible avec NFC starter V3.0
                        
                         configuration harware:
                         interruptBRAKE 3
                         BRAKE 4
                         buzzer 5
                         RelaisStarter 6
                         RelaisContact_OFF 7  
                         RelaisContact_ON 8
                         LED 13    
                        
                         informations hardware:
                         1flash: CONTACT
                         2flash: STARTER
                         1buzz: SLEEP
                         2buzz: STOP
                         */    
                        
                          #include <Wire.h>
                          #include <PN532_I2C.h>
                          #include <PN532.h>
                          #include <avr/sleep.h>
                          #include <avr/power.h>
                        
                        
                        //definition des clefs  
                        String CLEF1 = "xxxxxxxxxxxxx";
                        String CLEF2 = "xxxxxxxxxxxxx";
                        
                        #define interRelais 500 // temps entre contact et starter
                        #define tempsStarter 500 // temps starter ON 
                        
                        //definition des sorties, valable pour la v3  
                        #define interruptBRAKE 3
                        #define BRAKE 4
                        #define buzzer 5
                        #define RelaisStarter 6
                        #define RelaisContact_OFF 7  
                        #define RelaisContact_ON 8 
                        #define LED 13  
                        
                        PN532_I2C pn532i2c(Wire);
                        PN532 nfc(pn532i2c);
                        boolean etatContact = false;
                        boolean etatBRAKE = false;
                        
                        
                        //*******************fonction buzzer
                        void fct_FLASH(int pulse){
                          for(int i=0; i<pulse; i++){
                          digitalWrite(LED, HIGH);
                          delay(200);
                          digitalWrite(LED, LOW);
                          delay(200);
                        }
                        }  
                        
                        //*******************fonction buzzer
                        void fct_BUZZ(int pulse){
                          for(int i=0; i<pulse; i++){
                          digitalWrite(buzzer, HIGH);
                          delay(200);
                          digitalWrite(buzzer, LOW);
                          delay(200);
                        }
                        }
                        
                        //*******************fonction contact
                        void fct_contact(){
                        fct_FLASH(1);
                        digitalWrite(RelaisContact_OFF, HIGH);
                        delay(500);
                        digitalWrite(RelaisContact_OFF, LOW);  
                        etatContact = true;
                        }
                         
                        //*******************fonction starter
                        void fct_starter(){
                        fct_FLASH(2);
                        digitalWrite(RelaisStarter, HIGH);
                        delay(tempsStarter);
                        digitalWrite(RelaisStarter, LOW);
                        }
                        
                        //*******************fonction STOP, interrupt sur BRAKE
                        void fct_STOP(){
                        delay(1000);
                        if(!digitalRead(BRAKE)){
                        fct_BUZZ(2); 
                        digitalWrite(RelaisContact_OFF, HIGH);
                        delay(500);
                        digitalWrite(RelaisContact_OFF, LOW); 
                        Serial.println("STOP");
                        etatBRAKE = true;
                        etatContact = false;
                        
                        while(!digitalRead(BRAKE)){delay(500);}
                        etatBRAKE = false;
                        Serial.println("FREIN OFF");
                        }
                        else fct_DODO();
                        }
                        
                        //*******************fonction lecture de tag
                        String fct_lecture(){
                          String Received;
                          boolean success;
                          uint8_t IdReceived[] = { 0, 0, 0, 0, 0, 0, 0 }; 
                          uint8_t Id_Length; 
                        
                        if (success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &IdReceived[0],&Id_Length)){
                        for (uint8_t i=0; i < Id_Length; i++)
                         Received += String(IdReceived[i], HEX); 
                        return(Received);
                        }
                        else
                        return(0);
                        }
                        
                        //*******************fonction MODE sleep
                        void fct_DODO(){
                         delay(1000);
                         fct_BUZZ(1); 
                         Serial.println("ARDUINO entre en mode sleep");
                        attachInterrupt(1,REVEIL, LOW);
                        delay(100);
                          set_sleep_mode(SLEEP_MODE_PWR_DOWN); 
                          sleep_enable();
                          sleep_mode();
                        Serial.println("ARDUINO reveil");
                        fct_STOP();
                        }
                        
                        //*******************fonction reveil
                        void REVEIL(void){
                        detachInterrupt(1);
                        }
                        
                        void setup(void) {
                          pinMode(buzzer,OUTPUT);
                          pinMode(RelaisStarter,OUTPUT);
                          pinMode(RelaisContact_ON,OUTPUT);
                          pinMode(RelaisContact_OFF,OUTPUT);  
                          pinMode(LED,OUTPUT);
                          digitalWrite(LED, LOW);
                          digitalWrite(buzzer, LOW);
                          pinMode(BRAKE,INPUT);  
                          delay(100);
                        //if(!digitalRead(BRAKE))fct_STOP(); // en cas de reset forcé, securite
                          Serial.begin(115200);
                          Serial.println("start"); 
                          nfc.begin();
                          uint32_t versiondata = nfc.getFirmwareVersion(); 
                        
                          if (! versiondata) {
                            Serial.println("erreur pn532");  
                            while (1); // halt
                        }
                          nfc.setPassiveActivationRetries(0xFF);
                          nfc.SAMConfig();
                        Serial.println("CAR STARTER V1.0");  
                        }
                        
                        
                        void loop(void) {
                        String Received;
                        while(etatContact == false){
                        Serial.println("attente lecture pour contact"); 
                        Received=fct_lecture();
                        
                        if ((Received == CLEF1 || Received == CLEF2)){  
                        Serial.println("Clef valide, contact");  
                        fct_contact();
                        delay(interRelais);
                        }
                        }
                        
                        while(etatBRAKE == false){
                        Serial.println("attente lecture pour starter");   
                        if(digitalRead(BRAKE)) etatBRAKE = true;
                        Serial.println(digitalRead(BRAKE));
                        Received=fct_lecture();
                        
                        if ((Received == CLEF1 || Received == CLEF2) ){ 
                        Serial.println("Clef valide, starter");
                        fct_starter();
                        }
                        }
                        delay(100);
                        if(etatBRAKE == true){
                        fct_DODO();
                        }
                        }
                        

                        A video of the plugging in the car will come, maybe if I have some translation help I could make an instrutable.

                        edit: sorry, not a lot of comment (and in french), but I think it's not too difficult to understand.

                        1 Reply Last reply Reply Quote 0
                        • Lafunamor
                          Lafunamor Community Helper last edited by

                          post your text on some collab tool in french and if I have some spare time I'll try to help you to translate it.

                          1 Reply Last reply Reply Quote 0
                          • T
                            Techcaveman last edited by

                            Hey @MrStein this looks great! If I was still tech savvy like in high school I would love to do a home build! Seeing how I'm only a little tech savvy now, what's the odds of being able to buy one of these? I just got my hands on my NFC ring thanks @NFC-Ring-Team can't wait to integrate this into my day to day!

                            1 Reply Last reply Reply Quote 0
                            • MrStein
                              MrStein last edited by

                              You can make one with the eagle files if you know how solder the components (I will make a bill of material soon) ;)
                              Maybe I can give you a blank prototype board, but you still need to buy the components ;)

                              T 1 Reply Last reply Reply Quote 0
                              • MrStein
                                MrStein last edited by

                                here is the board finished:

                                Black jumper is for simulate the brake
                                blue&brown are supply
                                brown, blue & yellow/green are contact & starter.
                                I also make some videos for show how plug this device & how supply, bypass the immo,... (in french)
                                https://www.youtube.com/playlist?list=PLBiQyVl185A4OzemFMIH5aewKNF8k3Xg1
                                Part1: neiman connection
                                Part2: supply
                                Part3: bypass immo
                                Part4: the board explication & conception

                                Next video will be the brake connexion & global connection

                                1 Reply Last reply Reply Quote 2
                                • D
                                  DaStivi last edited by

                                  Hi, any Update on this Project yet?

                                  how do you unlock the doors of your car? did i missed this here anywhere?

                                  i'm planning to implant an nfc tag in my hand... and really would like to unlock/start my car (Citroen) with the nfc tag too! :)

                                  steve

                                  1 Reply Last reply Reply Quote 0
                                  • MrStein
                                    MrStein last edited by MrStein

                                    Hi steve !
                                    Maybe a NFC ring is better than make an implant ;) A lot of implant are in 125khz, so my board cannot work at this frequency (it's 13.56Mhz-> NFC)
                                    For the door I don't make any board but it's easy to make with the same board than the NFC starter one.

                                    The starter project is finished for me, I need to make the last tutorial video (in french) and after that make a instructable.

                                    Pierre

                                    1 Reply Last reply Reply Quote 0
                                    • Lokki
                                      Lokki Community Helper last edited by

                                      I've got to agree with Pierre at the moment on implants - cool idea, but too difficult to upgrade and I don't think the tech is mature enough yet.

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        Laszlo last edited by johnyma22

                                        Hi,

                                        there are 13.56MHz implants also

                                        1 Reply Last reply Reply Quote 0
                                        • Lokki
                                          Lokki Community Helper last edited by Lokki

                                          Yes, they're available. Personally I don't think the technology is advanced far enough to warrant having a permanent implant.

                                          1 Reply Last reply Reply Quote 0
                                          • MrStein
                                            MrStein last edited by

                                            Well, I think nfc implant tag are only suitable for the animals identification..Not for the human.. But it's my opinion..

                                            For the price, I have the same tag but in 125khz, I paid less than 1$ for one. I think this one is really expensive.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post