Page 1

Introduction "Intro to RFID" gives you the complete step-by-step instructions for 15 different fun RFID projects. Learn to make an RFID cat door, universal RFID key, door lock and more. All projects come from Instructables.com, are written by our creative community, and contain pictures for each step so you can easily make these yourself. Instructables is the most popular project-sharing community on the Internet. We provide easy publishing tools to enable passionate, creative people like you to share their most innovative projects, recipes, skills, and ideas. Instructables has over 40,000 projects covering all subjects, including crafts, art, electronics, kids, home improvement, pets, outdoors, reuse, bikes, cars, robotics, food, decorating, woodworking, costuming, games, and more. Check it out today! Laura Khalil Editor, Instructables.com

http://www.instructables.com/id/Intro-to-RFID/


Table of Contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

Author and Copyright Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

A Universal RFID Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Intro: A Universal RFID Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Step 1: How does RFID work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

Step 2: Whats stored on the card? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

Step 3: How do we emulate a card? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Step 4: The Software - Entering data into our card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Step 5: Etching the PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Step 6: Mounting the components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Step 7: Programming the Micro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Step 8: Testing the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Step 9: Further steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 RFID Reader Detector and Tilt-Sensitive RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Intro: RFID Reader Detector and Tilt-Sensitive RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Step 1: Material and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Step 2: Building the RFID Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Step 3: RFID Reader Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Step 4: Tilt-Sensitive RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Step 5: Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 RFID cat door . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Intro: RFID cat door . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Step 1: Parts list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Step 2: Make the door . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Step 3: Make an antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Step 4: Hook-up the RF reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Step 5: Add solenoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Step 6: Add Hall effect sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Step 7: Add proximity sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Step 8: Add two buttons and load final code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 RFID Tagging a Souvenir to Play a YouTube Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Intro: RFID Tagging a Souvenir to Play a YouTube Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Step 1: Upload Your Movie to YouTube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Step 2: Plug in Touchatag Reader and Install Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

http://www.instructables.com/id/Intro-to-RFID/


Step 3: Associate a Tag with an Online Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Step 4: Attach tag to Souvenir & Repeat! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Step 5: Hide Your Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Get creative and keep tagging! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 RFID Proof Soda Can Wallet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Intro: RFID Proof Soda Can Wallet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Step 1: Step one . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Step 2: Step Two . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Step 3: Step Three . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Step 4: Step Four . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 How to make a RFID pet food access control system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Intro: How to make a RFID pet food access control system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Step 1: Materials and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Step 2: Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Step 3: Attachment and Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 RFID pet feeder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Intro: RFID pet feeder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Step 1: Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Step 2: Find an old CD-rom player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Step 3: Add open/close sensors (pushbuttons) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Step 4: Add auto/manual mode switch and open/close button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Step 5: Add proximity sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Step 6: Connect RF reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Step 7: Optional: Build your own RF antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Step 8: Put everything into the enclosure, load final code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Step 9: Train your cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Arduino RFID Door Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Intro: Arduino RFID Door Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Step 1: Parts Needed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Step 2: Build the Arduino controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Step 3: Build the RFID Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Step 4: Program! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Step 5: Expand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

http://www.instructables.com/id/Intro-to-RFID/


iPhone RFID Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Intro: IPhone RFID Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Step 1: Wire the ID-12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Step 2: Connect Logic Level Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Step 3: Repurpose the iPhone USB Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Step 4: Connect iPhone Cable to Logic Level Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Step 5: Download and Compile Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 How to connect Arduino and RFID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Intro: How to connect Arduino and RFID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Step 1: What you gonna need? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Step 2: Plugging all together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Step 3: The code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Step 4: Results! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 RFID Car immobiliser with PIC12629 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Intro: RFID Car immobiliser with PIC12629 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Step 1: The Schematic and how it works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Step 2: PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Step 3: All put together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Step 4: Wrapping up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Stupid Simple Arduino LF RFID Tag Spoofer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Intro: Stupid Simple Arduino LF RFID Tag Spoofer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Step 1: Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Step 2: RFID background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Step 3: The Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Step 4: Building the circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Step 5: The code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Step 6: Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Step 7: The Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Step 8: Elephants in the Room . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Step 9:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Weather proof, Bluetooth capable RFID reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Intro: Weather proof, Bluetooth capable RFID reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Step 1: Solder headers to the BlueSmirf Bluetooth module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Step 2: Configure the BlueSmirf module via USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

http://www.instructables.com/id/Intro-to-RFID/


Step 3: Solder headers to the ID12 breakout board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Step 4: Solder the RFID reader to the ID12 breakout board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Step 5: Hard-wire the ID12 reader to ASCII mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Step 6: Connect the BlueSmirf to the ID12 reader and 3 1.5V AA batteries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Step 7: Test the reader with a PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 AVR/Arduino RFID Reader with UART Code in C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Intro: AVR/Arduino RFID Reader with UART Code in C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Step 1: Get the Goods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Step 2: Connect the parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Step 3: Write the Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 RFID Reader Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Know when a tag has been submitted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Parse RS232 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Display Your Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Step 4: Code and Farewell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 How to turn your cellphone into a credit/debit card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Intro: How to turn your cellphone into a credit/debit card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Step 1: Get your materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Step 2: Find the Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Step 3: Cut out the chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Step 4: Place the chip in your phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Step 5: Success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

http://www.instructables.com/id/Intro-to-RFID/


Author and Copyright Notices Instructable: A Universal RFID Key Author: drj113 License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: RFID Reader Detector and Tilt-Sensitive RFID Tag Author: nmarquardt License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: RFID cat door Author: landmanr License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: RFID Tagging a Souvenir to Play a YouTube Video Author: SwitchGirl License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: RFID Proof Soda Can Wallet Author: prometheus442 License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: How to make a RFID pet food access control system Author: mlarsen License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: RFID pet feeder Author: landmanr License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: Arduino RFID Door Lock Author: pcmofo License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: IPhone RFID Reader Author: OniDaito License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: How to connect Arduino and RFID Author: otaviousp License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: RFID Car immobiliser with PIC12629 Author: andrew_h License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: Stupid Simple Arduino LF RFID Tag Spoofer Author: sketchsk3tch License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: Weather proof, Bluetooth capable RFID reader Author: tamberg License: Attribution-NonCommercial-ShareAlike (by-nc-sa) Instructable: AVR/Arduino RFID Reader with UART Code in C Author: nevdull License: Attribution-ShareAlike (by-sa) Instructable: How to turn your cellphone into a credit/debit card Author: Kikurimu License: Attribution-NonCommercial-ShareAlike (by-nc-sa)

http://www.instructables.com/id/Intro-to-RFID/


Disclaimer All do-it-yourself activities involve risk, and your safety is your own responsibility, including proper use of equipment and safety gear, and determining whether you have adequate skill and experience. Some of the resources used for these projects are dangerous unless used properly and with adequate precautions, including safety gear. Some illustrative photos do not depict safety precautions or equipment, in order to show the project steps more clearly. The projects are not intended for use by children. Many projects on Instructables are user-submitted, and appearance of a project in this format does not indicate it has been checked for safety or functionality. Use of the instructions and suggestions is at your own risk. Instructables, Inc. disclaims all responsibility for any resulting damage, injury, or expense. It is your responsibility to make sure that your activities comply with all applicable laws.

http://www.instructables.com/id/Intro-to-RFID/


A Universal RFID Key by drj113 on November 16, 2010

Author:drj113 I have a background in digital electronics, and am very interested in computers. I love things that blink, and am in awe of the physics associated with making blue LEDs.

Intro: A Universal RFID Key RFID projects have been pretty prominent recently, ranging from projects here in Instructables, to our local Silicon Chip magazine in Australia publishing a RFID door lock project in their November issue. Even I recently purchased a RFID door lock on eBay for $15 to lock my garage (so my front neighbor could get tools if he wanted to). We have known that the cheaper RFID technologies were pretty insecure for a number of years. Researchers have demonstrated cloners of all varieties, but simple RFID tags are still being used for access control. Even my current employer uses them. A while ago, I was looking at Hack A Day, and I saw an amazing project that somebody had made. It was an RFID card with a keypad on it. For the next couple of days, I couldn't get the image of the card out of my mind; the project reminded me of how much I wanted to build a RFID spoofer myself. The original author didn't release source code for their project, but they left enough clues that I could follow. So, in typical fashion, I built my own reader hardware so I could have a look at the data from a card, and created my own version of the Universal RFID key. The key I made works beautifully both on my garage door, as well as a number of other RFID readers I have tried! I have decided to publish this, as more people should be aware of the design flaws that are inherent in older RFID implementations, and to allow others to make their own universal key. Will this key let you into anybodies RFID protected office? Yes it will, assuming a couple of things are true 1) The have to be using 125kHz RFID tags that use the same encoding standard as I have designed this project for, and, 2) You have to have access to the number printed on the back of the tag - with that number, you can simply key it into the Universal RFID key, and it will emulate that tag. So there you go - I hope you enjoy making this project. - And remember, with great power comes great responsibility!

http://www.instructables.com/id/Intro-to-RFID/


Step 1: How does RFID work? RFID, or Radio Frequency IDentification is the term used to describe a wide variety of standards that allow data stored within electronic 'tags' to be read by a reader without using wires. There are a number of standards, encoding formats, and frequencies in common use. I will describe the 125 kHz standard that is common for access control mechanisms. 125 kHz RFID tags are commonly encased in a business card sized piece of plastic, or a round disk. The tag consists of a coil of wire, connected to a microchip. When the tag is brought into close proximity to a reader, energy is coupled inductively from the reader to the microchip within the tag. The energy from the reader has dual use; firstly, it provides power to run the card, and secondly, it provides a communication medium for data to be transmitted. Once powered up, the tag modulates the bit pattern that is programmed into the tag using a signal that the reader can detect. The reader then reads this bit pattern, and passes it onto the door controller. If the bit pattern matches one that is authorised, the door will be unlocked. If the bit pattern does not match an authorised one, then the door won't unlock. In the RFID system I was playing with, the bit pattern looked like this; 1111111110010111000000000000001111100010111110111101001111010000 I will describe what this pattern actually means in the next page. One interesting feature of the data transfer between the card and the reader, is that data is encoded using Manchester Encoding, which is a way of encoding data so that it can be transmitted over a single wire ensuring that the clock information is able to be recovered easily. With Manchester encoding, there is always a transition in the middle of a bit. If you want to transmit a 1, the transition would be from low to high, and if you want to transmit a 0, the transition would from from high to low. Because the transitions are in the middle of each bit, you can ensure that you have locked onto valid data. For a detailed description, have a look a this page. The actual data is transmitted by the card effectively shorting the coil out - this applies an additional load to the transmitter in the reader, which can be detected.

Step 2: Whats stored on the card? I started by building a RFID card reader (more details in a future article). That showed me the data that was being sent when the card transmitted its information. The RFID cards that I brought have numbers printed on the back of them. This number says what data the card has included in it. the card with 0007820706 119,21922 printed on it transmits this pattern: 1111111110010111000000000000001111011110101001010101000010101100 The first set of 111111111 bits are the start sequence - it is used to tell the reader that a code is coming - the reader also uses the sequence to lock onto the card data. Data stored is transmitted in groups of 4 bits, with a parity bit at the end of every group. The data can be broken up as follows; 00101 11000 00000 00000 01111 01111 01010 01010 10100 00101 0110

0

If we ignore the parity bit at the end of every nibble we have 0010 2

1100 C

0000 0

0000 0

0111 0111 0101 0101 1010 0010 7 7 5 5 A

0110 0 2 CHECKSUM STOP

This code is 2c 0077 55a2 if we break the code into 3 groups, we have 2c, followed by 0077 (which is 119 in decimal), and finally 55A2, which is 21922 in decimal - this corresponds to the 119,21922. The same number is also written in another way on these cards 0007820706 (in decimal) is simply the hexadecimal number 7755A2. WOOT we now understand how the data is stored. 2C is a constant code that is sent with all of the cards. It is simply a facility identifier for this RFID system. How does the parity and checksum work? One final piece of data that the card transmits is a checksum word - this is used to ensure that all of the data has been received successfully. Firstly, the parity bit at the end of each nibble of data is Even parity - this means that the transmitter will add a 1 to make sure that each block of data has an 'even' number of '1' bits - So if we look a the '2', which is 0010 in binary - the parity system would detect that there was an odd number of '1' bits, and would add one to compensate. Compare that to the 'C' which is 1100, the parity system would detect that there are an even number of '1' bits, so it would add a zero. 00101 2 11000 C 00000 0 00000 0

http://www.instructables.com/id/Intro-to-RFID/


01111 7 01111 7 01010 5 01010 5 10100 A 00101 2 0110 checksum

+ 0 stop bit

Finally, the checksum is an even parity bit applied to each of the vertical row bits. This way, there is a horizontal and vertical check of every bit sent - everything has to line up, or the reader will simply reject the transmission. When I decoded the data for my work prox card, it followed a similar sequence here, but (for obvious reasons) I won't actually publish the numbers. Again, part of the sequence was a facility code, and the rest of the sequence held the same number that was printed on the back of the card.

Image Notes 1. This number is all you need to duplicate the card

Image Notes 1. This number is also useful - we can duplicate this card as well

Image Notes 1. My RFID Reader - I will document this on Instructables in the future

http://www.instructables.com/id/Intro-to-RFID/


Step 3: How do we emulate a card? So the next step was to identify how to pretend to be a card - I wanted a card that I could type a card number into, so it had to have a microprocessor on it, was well as a keypad to allow the data to be keyed in. The ATMega manipulates the 125kHz RF field by using a bridge rectifier. When the output of the micro is low, the diodes in the bridge are allowed to be turned on by the current induced in the coil, this effectively short it out. The reader detects the additional load, and a bit transition is detected. The job of the micro is simply to turn the output on and off in a way that makes sense to our reader. So I created a board that had the micro, a power supply, keypad, and some status LEDs on it. The attached PDF is the full schematic of the project. You may notice that c6 is 0pF - That is intentional c6 is a placeholder component allowing me to either use a 1000pF surface mount cap, or a 1000pF through hole cap. The coil is 100 turns of fine wire would on an open former that is just smaller than the card border.

File Downloads

RFIDSpoofer-schematic.pdf (54 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFIDSpoofer-schematic.pdf']

Step 4: The Software - Entering data into our card The software was next. Using the Arduino IDE, I implemented a simple menu system that allowed me to enter the relevant facility and CardID data directly from the keypad. I also provided a way of displaying the data using the LEDs that I mounted on the board. One problem I came across, was when I was calculating the card data (parity and checksum) on the fly - To be read successfully, the card has to output data in real time (most readers need a number of sequential valid reads), and adding subroutine and calculation delays caused the card to output invalid data as far as the reader was concerned. I worked around this problem by populating an array of bits that gets sent when the card is in transmit more. That way, the calculations are done only once. When the card is powered up, it waits for the 'mode' button to be pressed. The current mode number is displayed using a set of 4 LEDs. Each press on the 'mode' button increments the current mode. Once the correct mode is displayed, then the 'enter' key starts that function executing. MODE 1 - Enter low power (sleep) mode The card enters a low power mode, waiting for the reset button to be pressed to re-awaken it MODE 2 - Enter a Hex Facility ID The card waits for 2 digits to be entered signifying the facility code for this system (In this case, it is 2C) - The software defaults to 2C - so this does not need to be entered. MODE 3 - Decimal Card ID The card waits for 8 digits to be entered signifying the CardID for the card to be spoofed (In this case, it is 07820706) - This is the long number printed on the back of the card, not the 119,21922 number. MODE 4 - Dump the facility and Card ID The Facility and Card ID are Dumped as Hex numbers using the 4 Leds at the top of the card. MODE 5 - Emulate a card The card enters emulation mode - all LEDs are turned off. Emulation mode can only be exited by pressing the reset button. The software relies on Mark Stanley's and Alexander Brevig's Keypad Library http://www.arduino.cc/playground/Code/Keypad

File Downloads

http://www.instructables.com/id/Intro-to-RFID/


RFIDSpoofer_Instructables.pde (14 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFIDSpoofer_Instructables.pde']

Step 5: Etching the PCB As per standard, I used toner transfer onto magazine paper to etch a board. If you want to see the details, have a look here. The etched PCB had its edges cleaned up a bit using a file, and holes were drilled for the IC legs. Attached are the PDF files that I used for the Toner Transfer.

File Downloads

RFIDSpoofer-Silk.pdf (31 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFIDSpoofer-Silk.pdf']

RFIDSpoofer-PCB.pdf (34 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFIDSpoofer-PCB.pdf']

Step 6: Mounting the components To keep the project the same size as a normal prox card, I decided to make it on a small PCB that was the same size as a business card. I decided to use surface mount push buttons that I brought from eBay, so that meant that all of the components must be soldered onto the copper side of the PCB to allow the buttons to be mounted and labeled. I started by soldering the push buttons, then I mounted the LEDs, resistors and capacitors. I had to install the 16MHz crystal on the bottom of the PCB, as I did not have a surface mount crystal. I also installed 12 jumpers on the back of the card to connect the key columns together. The ATMega168 was mounted next. I did not use a socket, as I wanted to reduce the board thickness. Next, I wound the coil - I used a piece of scrap timber, with 4 screws mounted on it, and counted 100 turns of 0.25mm diameter coil winding wire. Before I removed the coil from the mounts, I wound a small amount of clear tape around each edge to make sure that the coil didn't unwind. Then, I mounted the coil on the back of the PCB, along with a small battery holder. I was pretty happy with the result of my handiwork.

http://www.instructables.com/id/Intro-to-RFID/


http://www.instructables.com/id/Intro-to-RFID/


Step 7: Programming the Micro I used a standard 6 pin header mounted on the PCB to allow a FTDI 5V USB-232 cable to be used to program the chip in-situ - this was especially important, as the ATMega chip is soldered directly to the PCB, so it couldn't be removed for insertion into a normal Arduino PCB- This is a small price to pay to have a nice compact project. The chip was programmed using the .pde Arduino sketch that was supplied in Step 4 - using the normal Arduino IDE. The .PDE file that I have provided is tailored to the standard cheap eBay RFID systems. It is not the version for the other IFID readers I have access too..... (I just thought I would mention that :-) )

Step 8: Testing the project Testing was a breeze - I typed the relevant code into the keypad, swiped the board against the reader, and was rewarded with a satisfying 'BEEP' indicating that the read was successful. Testing at the other readers I have access to was just as rewarding, and scored infinite geek points!!!

http://www.instructables.com/id/Intro-to-RFID/


Step 9: Further steps This was a 'to prove I could do it' project - I have completed it, so it now sits on my shelf at work to remind others that simple RFID systems are simply not secure. You are welcome to adapt the project however you would like to, and while you may have the skeleton keys to the kingdom, you still need the little numbers on the back of the access card before you can use the key yourself. I have considered modifying my card so that it works as all of the compatible RFID tags that I hold. In my job, I need have access to multiple work sites, and it would be great to use the one card, but I don't think that would be a great idea.......... Will this work on all RFID sytems? No it won't. This is a good thing. The first RFID systems deployed years ago used very simple protocols, based on the intelligence of the chip in the card - They also used a low frequency (125kHz) carrier. More modern systems use a number of techniques to ensure security, such as one time codes; cryptography; use bi-directional communication; use internal passwords, and use much higher frequencies. So spoofing these systems is a lot more work. But there are a large number of low tech systems in place now. What can I do to protect my system? Firstly, don't equate cards to physical keys - in simple systems they are not equivalent. Don't give out visitor cards - They are easily duplicated - I f you do need Visitor cards, then implement a system where they are only active when they have been issued. Enable Pass Back systems - If the card system believes you are in a particular room, make sure that the card can't be used in other rooms at the same time. Remove the numbers from the back of the cards - while they may make it easier to enter card details, but they also make it easy for somebody to use the details for their own purposes. Finally, look at how to upgrade your access system to a card system that is not trivially spoofed using $15 worth of parts. And - No, purchasing a new system from eBay for $15 is not the answer....

Related Instructables

AVR/Arduino RFID Reader with UART Code in C by nevdull

How to connect Arduino and RFID by otaviousp

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma

http://www.instructables.com/id/Intro-to-RFID/

iPhone RFID Reader by OniDaito

How to block/kill RFID chips by w1n5t0n

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

RFID based toll plaza using 8051 Microcontroller (video) by ashoksharma

How to make a RFID pet food access control system by mlarsen


RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt on October 30, 2008

Intro: RFID Reader Detector and Tilt-Sensitive RFID Tag The 'rub' Want to detect the presence of RFID readers? Want to control when a RFID tag is active or readable? We describe how to do both using bits of copper and card, and some readily available electronics hardware. Longer preamble Radio frequency identification ( RFID ) is rapidly growing in popularity. RFID tags are found everywhere. They're attached to container freight, in those funny-looking white labels you find in newly purchased books, embedded in many corporate ID cards and passports, etc. The tags have a few common properties: they transmit a unique ID number, are optimized to be 'read' from predefined distances, and are usually small so they can remain unobtrusive or hidden. RFID readers are used to track nearby tags by wirelessly reading a tag's unique ID (see Figure 4); a tag simply has to be brought into physical proximity with a reader to be read. Readers are mostly used for industrial or commercial purposes, e.g. asset tracking or electronic payment. Wal-mart use RFID tags and readers in their supply chain. The technology is also used in mass transit systems in cities like London and Hong Kong . In Japan, many mobile phones incorporate readers to enable e-money payments in shops and vending machines. For those of us who want to experiment with RFID, the problem is that the technology is almost always black boxed . That is, the inner workings of a tag and its interaction with a reader is hidden from view, and thus difficult to have much control over. In the two exercises that follow (building a RFID reader detector and a tilt-sensitive RFID tag ), we offer an example of how you can start revealing some of the workings of RFID and thus gain some control over the technology. The two exercises also hopefully show that the technology is relatively simple and how it can be extended to support some interesting interactions. We offer some other possibilities that build on our examples at the end .

Image Notes 1. Tilt-sensitive RFID tag

Image Notes 1. Tilt-sensitive RFID tag 2. RFID reader detector

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. Simple RFID reader detector

Image Notes 1. Small RFID stickers 2. RFID tag in the form of a credit card 3. Inside of RFID tags: antenna and connected chip


Step 1: Material and Tools This section provides an overview of the necessary materials and tools. Materials (see Figure 1): We need the following material to built the basic RFID reader detector. - Cardboard (around 100x70 mm) - Conductive copper tape (e.g., order number 1218478 at www.farnell.com) - Capacitor 82 pF (picofarad) (e.g., order number 1138852 at www.farnell.com) - Low current LED (light-emitting diode) (e.g., order number 1003207at www.farnell.com) Tools (see Figure 2 and 3): - Craft knife and scissors - Insulating tape (e.g., order number 1373979 at www.farnell.com) - Soldering iron and solder RFID reader for testing (see Figure 4): To test our RFID tags we need an RFID reader that can operate at a frequency of 13.56 MHz. There many readers for this widely used RFID standard, for instance the Sonmicro MIFARE USB reader (http://www.sonmicro.com/). Note: The Phidget RFID reader does not work with the tags created in this project, as it uses a different frequency for communication with the tags (125 kHz). Advanced material (see Figure 5): The following material is necessary to build the second part of the project: the tilt-sensitive RFID tag. - Micro tilt switches (e.g., www.digikey.com) - RFID ICs (e.g., MIFARE Standard 1k, part no. 568-2219-1-ND at www.digikey.com)

Image Notes 1. Insulation tape

Image Notes 1. Conductive copper tape 2. Capacitors (e.g., SMD) 82pF 3. Cardboard, around 100x70 mm 4. LED (light-emitting diode)

Image Notes 1. Antenna of the Sonmicro RFID reader 2. Sonmicro 13.56 MHz RFID Module

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Micro tilt switches 2. RFID ICs (MIFARE Standard 1k)

Step 2: Building the RFID Antenna This step describes how to build the antenna for the RFID tag. Building the RFID tag antenna To build the tag's antenna follow these three steps. 1. Cut the conductive copper tape into thin stripes of around 2mm (see Figure 1). 2. Tape these stripes (see Figure 2) in loops around one half of the cardboard (see Figure 3 for the layout of the antenna). The tag should have between 3-4 loops for the antenna. 3. Solder all the connections between the copper tape. Sometimes, this isn't necessary as the tape's adhesive backing is conductive, but solder the connections if you want to be on the safe side. Now we have created our RFID tag antenna, and we will add the "RFID reader detection" functionality in the following step. A little background RFID readers transmit an electromagnetic (EM) field with their reader antenna. This EM field induces a current in the antenna for all RFID tags within reading distance. This induced current activates the RFID chip that is connected to the tag's antenna. This chip then modulates a response (usually the unique ID number) that is transmitted back to the reader. The antenna of an RFID tag is usually a thin copper wire that is arranged in loops. The loops allow the emitted EM field of the RFID reader to induce current to the antenna of the tag.

Image Notes 1. Thin stripes of the conductive copper tape (around 2 mm thick)

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. Taping the copper stripes onto the cardboard


Image Notes 1. Three loops of the antenna

Image Notes 1. Soldering the copper tape connections 2. Soldering the copper tape connections

Step 3: RFID Reader Detection This step describes how to add a simple mechanism to the RFID tag antenna that allows us detect nearby RFID readers. Antenna connection First, we add a small piece of insulation tape for the connection of the inner end of the antenna loop (as illustrated in Figure 1). This is to insulate the outer loops. Then we add another copper tape strip to the inner end of the antenna as shown in Figure 2. Here again we solder the two ends of the conductive copper tape together. Capacitor and LED Next, we add the capacitor (82 pF) and the low current LED to the tag as shown in Figure 3. They are connected in parallel. We also solder these two components to the copper tape (see Figure 4). Testing With these simple steps, our RFID reader detector is finished! By bringing our DIY RFID detector close to an RFID reader (as shown in Figure 5), the connected LED lights up. With the Sonmicro reader hardware the distance to the reader has to be below 8-10 cm; however, there are RFID readers available with a stronger EM field and therefore a higher maximum reading distance. In the next step of the instructable we will show how to extend a basic RFID tag and make it tilt-sensitive.

Image Notes 1. Adding insulation tape for the connection

Image Notes 1. Adding connection to the inner end of the antenna loops 2. Soldering connection again

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. 82pF Capacitor 2. Low current LED

Image Notes 1. Soldering connections 2. Soldering connections

Image Notes 1. RFID reader is near the tag 2. LED lights up

Step 4: Tilt-Sensitive RFID Tag We now describe the process of how to build a tilt-sensitive RFID tag. This extends the previous exercise. Antenna The antenna for this second RFID tag is similar to the first antenna we built. We thus need another piece of cardboard and to repeat the steps described earlier in STEP 2 of this instructable. Tilt-sensitive tag Next, we add additional copper tape connections to the tag, as shown in Figure 1. These connections allow us to connect three tilt switches, a capacitor, and the LED to the antenna. Again, all the connections of the copper tape are soldered together. We add the three tilt switches to the tag as shown in Figure 3. The tilt switches are soldered to the copper tape, and it is important to connect them in a slight angle (around 5-10 degrees) as shown in Figure 4. This makes sure that the silt switches are in a closed state while the RFID tag is in a horizontal position, and in a open state while the tag is in a vertical position. Again, we also add an LED and a capacitor to the antenna as shown in Figure 3 (we use a different form factor of the capacitor here just to illustrate the alternative options). Testing the tilt-sensitive tag We can now use our Sonmicro RFID reader again to test our new tilt-sensitive RFID tag. The tag is activate while in a horizontal position as in Figure 5, and is inactive when in a vertical position as in Figure 6. Using RFID chips We can now replace the connected capacitor and LED from our tag with an RFID chip (e.g., the MIFARE 1k shown in Figure 7). By doing this, the activity of our tag is no longer visible through the LED, but our tag is then readable by the RFID reader and responds with the unique ID number of the chip.

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Additional copper tape for connecting the tilt switches, the capacitor, and the LED with the antenna.

Image Notes 1. Again we use insulation tape for the connection 2. Soldering all copper tape connections

Image Notes 1. SMD capacitor (82 pF) 2. Again a connected low current LED 3. This arrangement of the tilt sensors makes is possible to sense the horizontal or vertical position of the tag.

Image Notes 1. The angle of the tilt sensors is important

Image Notes 1. The tag is activated when it is in a horizontal position

Image Notes 1. As long as the tag is in a vertical position, the tag is inactive

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Using the MIFARE RFID chips to create a tilt-sensitive RFID tag

Step 5: Variations This section concludes our instructable of how to build custom RFID tags. Here are a few additional tags to show the possible variations. - Variable length of the tag antenna, and therefore also variable reading distance of the tag (Figure 1). - Experiments with the tag size and material (Figure 2) - Switching between the LED and an RFID chip (Figure 3) - Light-sensitive tag: the tag is active in daylight, and inactive in darkness (Figure 4) - Touch-sensitive: tag is active when someone touches the tag with a finger (Figure 5) - Different material for antenna by using conductive silver ink (Figure 6) - Stamped layout of an RFID tag antenna (Figure 7) that is in fact working! Many other variations of RFID tags are feasible... Happy DIY!

Image Notes 1. Variable length (and loops) of the antenna 2. Switch to activate and deactivate the RFID IC

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. Experiments with form factors for the RFID tags


Image Notes 1. Button to switch between LED reader detection and the RFID tag 2. RFID chip MIFARE 1k

Image Notes 1. Light sensitive tag

Image Notes 1. Capacitive touch-sensitive pad 2. Voltage regulator 3. Diode

Image Notes 1. Antenna layout painted with conductive silver ink.

Image Notes 1. This antenna layout is stamped with conductive silver ink (and the antenna is in fact working!)

http://www.instructables.com/id/Intro-to-RFID/


Related Instructables

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma

How to block/kill RFID chips by w1n5t0n

AVR/Arduino RFID Reader with UART Code in C by nevdull

http://www.instructables.com/id/Intro-to-RFID/

RFID based toll plaza using 8051 Microcontroller (video) by ashoksharma

A Universal RFID Key by drj113

RFID: The REAL Story by metrogdor22

USB RFID Reading Keyboard (video) by frank26080115

Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch


RFID cat door by landmanr on January 17, 2011

Intro: RFID cat door This is a cat door/flap that can only be opened by the animal that wears the appropriate RFID tag. Arduino controls the process. It features a custom made antenna large enough to function as a gate, which makes it easy for the animal to activate and quite reliable. Some methods and techniques are borrowed from my previous project, the RFID cat feeder. Whereas the feeder controls access to a food bowl, the door controls access to an entire room. The latest code can also distinguish between tags to allow the system to behave differently for different individuals.

RFID door (entering) from champenoise on Vimeo. How it works: 1. In the beginning the door is locked, cat is outside 2. Cat walks up to the gate, RF tag gets read within about 4 inches 3. Door unlocks and a light comes on. 4. Timer ensures that door stays unlocked long enough to give cat a chance to respond 5. Cat pushes open the flap and enters 6. Flap falls back, activates Hall effect sensor, and the door locks 7. Going from the inside out, an infrared proximity sensor detects the presence of an animal if within about 10 inches and unlocks the door. Most animals will quickly learn to push the flap in response to the click (lock) and the light. Make sure that the edges of the door and the doorway are padded with soft material for when the tail gets caught! A few painful experiences may be enough to make the cat never want to go in there again. The electronics are shown without enclosure, but it is advised to put an enclosure around the electronic parts once you're done. It is not further discussed in this Instructable however.

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. 2 solenoids 2. LED 3. Hall effect sensor 4. The big square frame is the antenna

Image Notes 1. IR proximity sensor 2. Arduino 3. additional circuitry (RF reader, tip120, pushbuttons)

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Magnets on both sides of the plywood 2. Hall effect sensor 3. Rubber padding on the door post 4. rubber padding on the door

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. The tag was attached to the collar with a piece of twine.

Step 1: Parts list - Arduino Duemilanove - 5V RF reader module (Seeed Studio 125Khz UART or equivalent. Most readers come with a small antenna. To use the custom made antenna discussed here, you need a reader that allows connecting an external antenna) - RF tag (I used these 35mm disc shaped ones) - About 86 feet of 24 gauge magnet wire (longer than the piece shown in the photograph) - Sharp GP2D12 infrared proximity sensor - Two 12V electronic cabinet locks (Nordson electronic). Solenoids, basically. - One 12V DC power supply - Two TIP120 Darlington transistors - One Hall-effect sensor - One or more magnets to activate Hall-effect sensor over a range of about 2cm - One 100 Ohm resistor - Four 2 KOhm resistors - Two pushbuttons - One LED - One hinge (one that moves easily but without much lateral movement, for precision) - One 6" x 9" piece of 1/8" thick Plexiglas and perhaps another piece of about 6" x 3" to mount the locks - Hookup wire, including about 27" extra thin (26 AWG or thinner) - Nuts, bolts and serrated washers - Rubber isolation strip or other soft material for padding the edges of the door and door post The system comprises several 'modules' (solenoids, RF reader, and so on). One of the pictures here shows the basic plan with the modules connected to the Arduino (the electronics). In the next steps the mechanical parts and each of the modules will be discussed in detail.

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Solenoid. You need two of these 2. Arduino Duemilanove 3. TIP120 Darlington transistor 4. RFID tag 5. resistors 6. magnets 7. Magnet wire. You need a longer piece than shown in the photo 8. diodes 9. LED

Image Notes 1. Hall effect sensor

Image Notes 1. RF reader 2. Antenna that comes with RF reader. I tossed it and used my own.

Step 2: Make the door The door is a Plexiglas flap hanging on a hinge. At the bottom, the doorpost will have two solenoids, one on each side of the flap, to block unauthorized animals from getting in. Pretty straightforward. Just a few things to keep in mind: Make sure that in the resting state, the flap is centered in between the two solenoids. In the picture that is in the red area around the dotted line down the middle. To achieve this it helps to have no heavy things hanging on one side, and to use a hinge with little friction. It helps to have a hinge without much lateral movement (sideways movement within the plane of the wall). This will help to make the hall-effect sensor (a magnetactuated switch) work. I will discuss this more in detail in step ... The door needs to be rigid but light-weight so that it is easy to push it open and doesn't hurt when a tail gets caught. Make the corners smooth and add padding on the edges and the door post to minimize tail tribulations.

http://www.instructables.com/id/Intro-to-RFID/


Step 3: Make an antenna The antenna is nothing more than a coil of magnet wire connected to the RF reader. Most RF readers come with an antenna, but some allow the use of an external antenna. For this project I made a square antenna of 10 x 10 inches by winding 24 gauge magnet wire 24 turns around a sawed off bucket to make it sturdy. The distance between turns has to be as small as possible. I mounted the thing on the plywood with two pieces of wood as spacers to make it stand off from the wall a bit so the cat could activate it farther from the wall. The 35mm disc tags that I use are read up to 4 inches of the plane of the coil. The RF reader and antenna are powered with the 5v from the Arduino. Even though the Arduino works fine with just the USB cable, the RF reader works better when the Arduino is plugged into the wall with the 9v power adapter. More info about coil antennas: Microchip Inc. Antenna circuit design for RFID applications (pdf)

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. This antenna came with the RF reader 2. Home made antenna 3. The antenna I ended up using

Step 4: Hook-up the RF reader This project consists of several 'modules' that you need to hook up to the Arduino and test in advance. First hook-up the RF reader. You can use the 5v output of the Arduino to power it, and a digital port (I used 2) to get the signal. The RDM630 that I used also has pins for a led that I don't use. It also has an RX pin to send info back to the RF reader, but I don't use that either. Hook-up your antenna, get a tag and use the serial monitor of the Arduino to see if it's detected. Now you can also start working on improving the antenna by trying adding or removing turns, trying different shapes et cetera. Power the Adruino with the 9v power supply, not just USB because at least in my case that didn't work. You can download the file named 'rfid3.pde' to test. The code requires NewSoftSerial.h which can be obtained here

http://www.instructables.com/id/Intro-to-RFID/


Step 5: Add solenoids Hook-up the solenoids up to the Arduino as in the schematic: connect the TIP120s to digital ports 5 and 6 with 2k resistors in between. One pin goes to ground, the other goes to the solenoid, with a diode across it (make sure you get the polarity right), and to the 12v supply in the end. The other wire of the power supply is ground. Connect that to the other grounds. Just connect all grounds of all components including the Arduino together. Over here you can download code to specifically test the two solenoids.

Step 6: Add Hall effect sensor The Hall effect sensor is for detecting whether the door is in the center, i.e. within the range that closing the locks makes sense. There are other solutions possible, such as mechanical/optical rotary encoders, contact sensors, beam break sensors. The main reasons for choosing a Hall effect sensor were that it does not add friction, it can be covered entirely, and I also was just curious how they work. I did not want to put magnets on the door because that would make it heavier, so instead I put the switch on the door and the magnets in the door post. I had to use thin, very flexible wire otherwise the rigidity of it would push the flap off center. The sensor and wire is simply taped to the Plexiglas. I have two little magnets in the door post. At the closest point the sensor and magnets are 5mm apart. The range is about 3cm. Connect the signal pin of the Hall sensor to pin 4 and to through a 100 ohm resistor to 5v. Connect ground pin to the other grounds and the vcc pin to 5v. Add an LED to digital pin 7 with the appropriate resistor (used a green one with a 220 ohm resistor). Download Hall_effect.pde to test this part of the system.

http://www.instructables.com/id/Intro-to-RFID/


Step 7: Add proximity sensor For this system I only cared about which cat enters, and any creature may exit. Thus, I only needed RFID on one side. The door should open to any animal that approaches from the other side. An IR proximity sensor works well. Connect the out-pin of a Sharp GP2D12 to Analog port 0, the ground pin to the other grounds and the vcc pin to 5v. Download IR_test_analog.pde to test this part of the system

Step 8: Add two buttons and load final code Finally you can add buttons to open the locks manually (see schematic). . In the final code downloadable here, I stored the value of two tags worn by the our animals, one with and one without access. When the animal without access tries to get in, the door is locked immediately. byte goodcode[6] = {0x1C, 0, 0xFC, 0xB2, 0x90}; byte badcode[6] = {0x16, 0, 0x78, 0xE7, 0xFE}; You have to find the code of the tags you are using and put those values into the arrays 'goodcode' and 'badcode'. The values are hexadecimal which need '0x' in front of it in this programming language. If you don't want to tag the other cat, shortening the open time (smaller value for variable 'open_time') can help, although that puts the burden on the cat with access to respond faster. It is a good idea to put an enclosure around the electronics, but that will not be discussed in this instructable. On a final note, if your antenna has a large range extending into the secured area, you may need to calibrate the positioning of the antenna and the proximity sensor a bit to make sure the RFreader is not activated from the inside. If the cat is inside and wants to go out, the proximity sensor has to detect the cat first. Once that happens, it is okay because in that part of the program, the RF reader is not checked.

http://www.instructables.com/id/Intro-to-RFID/


Related Instructables

RFID pet feeder by landmanr

How to make a RFID pet food access control system by mlarsen

Remote Home Automation by dathomar

http://www.instructables.com/id/Intro-to-RFID/

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

How to connect Arduino and RFID by otaviousp

A Free Range Habitat for Meller's and other Large Chameleons by GibbonsRock

Xanboo/Homesite Laser Break How to Beam Sensor by block/kill RFID krich chips by w1n5t0n


RFID Tagging a Souvenir to Play a YouTube Video by SwitchGirl on October 13, 2009

Author:SwitchGirl iHeartSwitch Alison Lewis is a fashion hound who loves technology and DIY. She is the producer of www.iheartswitch.com and the author of Switch Craft. Her work has been featured internationally and in such publications as the NY Times, Wired, USA Today, Bust, and the Boston Globe. You can find Alison shopping in New York, writing up a new DIY, or doing anything to make technology more accessible to a wide female audience. Her next challenge getting Martha Stewart Switch Crafty on October 26th!

Intro: RFID Tagging a Souvenir to Play a YouTube Video Surprise your guests by linking any object in your home to online videos! For example, in my home, if a guest picks up one of the pieces from my tea set and places it on an area of my coffee table, it plays a movie from my trip to South Korea on my LCD screen. This is a really fun and easy project and requires very little effort. All you need is the souvenir of your choice, the Touchatag starter system, and a computer equipped with Internet access and USB 2.0. The Touchatag system is a low cost RFID reader that reads the number on an RFID tag and then associates that number with a webpage, movie, file, or more. [Note: If you want to hook this up so you see the videos on your home LCD or Plasma, like I did, you will need the appropriate video and audio connection cables. Read your TV owners manual to find out which ones are right for you]

Image Notes 1. Photo by Ryan Collard for the NY Times

Step 1: Upload Your Movie to YouTube Upload a movie to YouTube following their guidelines. If you don’t have a movie to upload you can link to one of the millions of movies to already on the site.

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Plug in Touchatag Reader and Install Software Connect your Touchatag RFID reader to your computer via the USB port. Go to the internet and download and install the Touchatag software client on your PC or MAC for your touchatag reader to communicate with the Touchatag online service. Follow the directions of the installer. It will ask you to create a user name and password. Once that is done you have access to what is called the DASHBOARD this is your homepage for setting up each tag number and associating it with a movie.

Step 3: Associate a Tag with an Online Video Follow this tutorial movie on Vimeo to learn how to link your Touchatag tag to a YouTube movie with the video player application. If you do not see the video click here.

http://www.instructables.com/id/Intro-to-RFID/


Step 4: Attach tag to Souvenir & Repeat! Peel off the back and stick the tag to your object (e.g. Souvenir). Repeat the steps above for each item or souvenir you want to open a movie.

Step 5: Hide Your Reader To hide your reader, stick it under a place mat and paint a circle or image directly above the green logo of the Touchatag reader to indicate where to place the souvenir. [Note: If you need to run your USB cable longer than 16 feet, you need to purchase a USB extension cable that boosts the signal. They are readily inexpensive, and you can find them easily. We found ours from Newegg.com]

Get creative and keep tagging! There are many more applications to discover and play with on the Touchatag site. As always, send us pictures of your projects and will post them up on Switch.

Related Instructables

How to block/kill RFID chips by w1n5t0n

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch

http://www.instructables.com/id/Intro-to-RFID/

USB RFID Reading Keyboard (video) by frank26080115

RFID: The REAL Story by metrogdor22

Arduino RFID Door Lock by pcmofo

How to connect Arduino and RFID by otaviousp

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma


RFID Proof Soda Can Wallet by prometheus442 on September 9, 2008

Intro: RFID Proof Soda Can Wallet This is a response to dogsrcool2me's 'RFID Secure Wallet.' It's the same concept, except it's made out of two soda cans and some packaging tape. And it's very sloppy. In fact, I'm quite ashamed of my sloppiness. I would suggest using duct tape, but I didn't have any around. So, here we go. You'll need: hobby knives/scissors 2 soda cans packing tape/duct tape felt tip pen sand paper

Image Notes 1. hobby knives 2. 2 Soda cans 3. packaging tape 4. felt-tip pen

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. hobby knives 2. 2 Soda cans 3. packaging tape 4. felt-tip pen


http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. hobby knives 2. 2 Soda cans 3. packaging tape 4. felt-tip pen

Step 1: Step one Get a hold of two cans of soda. Either dump them out or give one to your very close, anonymous anarchist friend.

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Step Two Cut the cans so that you have two nice strips of aluminum. sand down both sides of the aluminum and flatten them down if you can(I tried. All I did was put them under a big book. It didn't work.) Cut those two pieces of aluminum in half. Remember to recycle!

Step 3: Step Three Wrap your tape around the pieces of aluminum individually, then bind the four pieces of aluminum together into pairs. After that, tape those pieces together so that you have something that resembles a wallet.

http://www.instructables.com/id/Intro-to-RFID/


Step 4: Step Four Now, put your RFID card in there and put it up to a RFID scanner and see if it works. I would appreciate it if someone who has an RFID card an scanner tries this. Again, sorry about how sloppy this is. I hope it gave everyone a good idea of what I'm thinking.

Related Instructables

Code Geass Themed Duct Tape Wallet & RFID Chip Blocker (Photos) by Shadow_Force

How to block/kill RFID chips by w1n5t0n

RFID Secure Wallet by dogsrcool2me

http://www.instructables.com/id/Intro-to-RFID/

Circuit Board RFID: The REAL Wallet with RFID Story by blocking and metrogdor22 Resistors (Photos) by frenzy

Keyboard Circuitry Wallet, Version 2 by nagutron

Bitchin' Innertube Wallet by jmengel

Easy Cardboard Wallet by reutsap


How to make a RFID pet food access control system by mlarsen on September 1, 2007

Intro: How to make a RFID pet food access control system In this instructable I will explain how to make a simple RFID pet food access control system. This system uses a stand-alone RFID system that can be purchased either pre-assembled or in kit form if you desire to do the soldering yourself, and also wish to save a few dollars in the process. The reason I made this was out of pure necessity. I have two dogs, and when my vet placed one of them on a special diet I needed some way to ensure they ate their own food... and only their own food. Since they are open-bowl fed and I'm gone part of the day, I decided to look for a product that would do what I needed. This meant I wouldn't have to spend a great deal of time trying to re-train them and still give them the freedom to eat whenever they chose. This is where my frustrations begun... ****** CONTENT REMOVED - SEE BELOW ****** Frustrated with the situation, I decided to roll my own. This first version does the job, but I would eventually like to make the antenna extend around the entire perimeter of the bowl. If anyone has experience with RFID technology, I would appreciate any feedback that would assist in modifying the antenna into that configuration. ***** UPDATE ***** Anthony Targa, holder of patent #5570655 contacted me. Apparently he DID manufacture the device and it was featured in numerous Veterinary publications. Because of this, I fully retract my "patent troll" statement. I simply wish Anthony's device was produced on a larger scale so more people could have access to it.

Step 1: Materials and Tools Materials KL042 Proximity Card Access Control Kit Assembly Required Assembled & Tested

SK02 - 125 kHz Proximity Key Fob The smallest quantity sold is a 10 pack. I asked QKits if they would substitute the access cards that come with the kit for the key fobs, and they did... I'm not sure if this was a "one off" case, but it doesn't hurt to ask. If they won't do this for you try contacting AVEA, the mfgr of the kit and see if you can purchase from them.

Radio Shack 500mA AC to 12VDC Adapter

http://www.instructables.com/id/Intro-to-RFID/


This comes with one adaptaplug tip. Make sure to get the adaptaplug M with the blue tip.

Project box The dimensions of the box I used are 13cm x 7cm and was purchased at a local electronics dealer, but you can also buy them at Radio Shack. The KL042 circuit board can be cut down to a min. size of 9cm x 5.7cm, so make sure your box is at least this size PLUS the dimension of your adaptaplug and buzzers.

Annoying buzzer(s) Also available at Radio Shack

Wire or L-Bracket Used to secure the box to the food bowl. I bent one side of an l-bracket to make a hook shape. Tools Dremel In case you decide to resize the circuit board.

Hot glue gun

Drill For adding the sound and adaptaplug holes. You can also use your Dremel if you have the bits.

Soldering gun & solder If you buy the unassembled version of the kit.

Image Notes 1. Radio Shack 500mA AC to 12VDC Adapter 2. Adaptaplug M - Blue Tip 3. White Electric Buzzer, Black Piezo Buzzer 4. KL042 Proximity Card Access Control Kit 5. SK02 125 kHz Proximity Key Fob 6. Antenna included in the KL042 kit. 7. Hole cut into cover for the Adaptaplug M. 8. 4 holes cut into cover for sound to escape. 9. Antenna connection 10. Buzzer connections.

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Assembly There isn't much to this step. If you purchased the unassembled version of the kit, consult the diagram that's included with the kit and put it together. Then, have a look at the pictures below to put it all together. Before you close the box, program the RFID key fobs via the DIP switches. Consult the manual that comes with the kit for this. You need to program the RFID key fobs that DO NOT have access to the bowl. This way, when the pet who DOES have access to the bowl tries to eat nothing will happen... but when a pet who DOES NOT have access to the bowl, a successful read will occur and the buzzers will sound.

http://www.instructables.com/id/Intro-to-RFID/


Step 3: Attachment and Positioning I used the modified l-bracket I mentioned in step 1 to attach the box to to the bowl. Of course, you can do whatever you want. Then I cut a slit in the charcoal colored mat and ran the power cord underneath for safety reasons. All that's left to do is position the box so the key fob hovers over the box while the dog eats! I hope this helps other pet owners who are in my situation. Please feel free to comment and suggest modifications.

Image Notes 1. The RFID key fob can be a max. of about 2" away from the device. Since this is

http://www.instructables.com/id/Intro-to-RFID/


her bowl, the buzzers did not sound.

Related Instructables

RFID pet feeder by landmanr

RFID cat door by landmanr

HOW TO PACK AND MOVE YOUR CAT SAFELY TO A NEW RESIDENCE by rentagreenbox

http://www.instructables.com/id/Intro-to-RFID/

Distinguishing Pet Bowl by prabbit22m

Cat enclosure: cat walk/tunnel, utilizes wasted space (Photos) by katerlyn

Filtered Pet Watering Bowl by Dirkus

RFID: The REAL Story by metrogdor22

Pets Month '08: Tips to Keep the ants out of your dog's food! by alvincredible


RFID pet feeder by landmanr on June 20, 2010

Intro: RFID pet feeder If you have two cats and one of them is on a diet but the other needs free food, you can build a feeder with RFID capability that only opens for the cat that needs free access. The free-food cat wears a collar with an RFID tag. Features: - An old CD-rom player is used as a sliding door - Timer-controlled open duration - Proximity sensor (Sharp GP2D120) prevents door from closing while the cat is eating - Sensors detect whether the door is fully opened/closed. - Automatic/manual mode switch (on manual it opens with a pushbutton) - Arduino controlled On the downside: - Mine was made out of cardboard so it is easily broken into by smart/strong animals. One could use a stronger material and add a servo that slides a bar into the door to lock it into place. - It doesn't hold a lot of food. The first version (shown in the video) used an ID-20 (ID Innovations), which worked, but the range was limited. The cat's tag sometimes hangs on the side, so it did not always activate the reader even when he was in the exact same place every time. Not that big a deal because the cat usually just tried from different angles, but my latest version (shown in the photograph) uses a SEEED studio RDM630 RF-reader with a self-made circular antenna. This antenna is large enough that the cat can poke his head through, which works 100% of the time. The antenna is described in step 7.

Little Cat Toos demonstrates cat feeder from champenoise on Vimeo. The video shows the first version with the ID-20 as the reader.

Image Notes 1. This latest version of the feeder has a SEEED studio reader with a self-made antenna for more range. 2. Paint job 3. Proximity sensor

http://www.instructables.com/id/Intro-to-RFID/


Step 1: Materials - A working CD player tray mechanism+motor from an old cd-rom player - Sharp GP2D120 Proximity sensor - 125KHz RFID reader (e.g. ID-innovations ID-20, SEEED studio RDM630, Parallax) - 1.25" diameter 125KHz RFID tag (or as large as can be worn comfortably on the animal's collar. Tag size influences read range. Bigger is better in most cases) - Arduino Duemilanove - 1 adafruit motorshield - 3 Pushbuttons - 1 Toggle Switch - 5 100-220? Resistors - 4 10k? Resistors - 1 Red LED - 1 Green LED - The material for the enclosure (such as cardboard, wood or plastic)

Step 2: Find an old CD-rom player Strip an old CD rom player until you have only the tray with the DC motor that moves it back and forth. Alternatively, any other door with a dc motor would work.?

Step 3: Add open/close sensors (pushbuttons) To ensure that Arduino stops turning the motor when an open/close action has been performed, I mounted two pushbuttons in the tray, which get pressed when the door is all the way open/closed. This also helps to keep track of what state the system is in at all times. I have mounted a metal strip on the tray in such a way that when the door is all the way open, the strip pushes on one button, and when it is all the way closed, it pushes the other button. Put the Adafruit Motorshield on top of the Arduino. Connect the motor to the motor shield. I use m3 (digital pin 5). Connect pushbuttons to Arduino analog channel 0 and 1 (in Arduino code pin 14 and 15). Add a 10K resistor between each button and ground as a pull down resistor (http://www.ladyada.net/learn/arduino/lesson5.html) and a low one (100-220 ohm) between the button and the analog channel just so the resistance is not infinitely small. The button that is actuated when the tray is extended (i.e. door closed) should be on channel 1 and the button actuated when the tray is retracted (door open) should be on channel 0. More info about the motor shield: http://www.ladyada.net/make/mshield/faq.html. You can test the mechanism with a bit of Arduino code that is downloadable here: http://www.writtensound.com/arduino/cat_feeder.htm

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. This metal strip pushes against a button when tray is all the way out, door state = closed, motor stops. 2. button 3. When the tray is all the way in, the metal strip pushes against this button (door state=open, motor stops) 4. right now the door is closed. The food bowl is under this panel.

Step 4: Add auto/manual mode switch and open/close button You have to be able to open the feeder without a tag, when you want to fill it with food for example. Thus, we add a switch that puts it in 'manual mode' in which the feeder opens by pressing a button. For clarity, the schematic shows only this latest addition without anything else. This can also be tested with the code that can be downloaded over here: http://www.writtensound.com/arduino/cat_feeder.htm.

Image Notes 1. auto/manual mode switch 2. open/close pushbutton (manual mode) 3. LEDs

http://www.instructables.com/id/Intro-to-RFID/


Step 5: Add proximity sensor Hook up the IR sensor to analog ch 4, with an LED to show that it works. The schematic shows only this step, for clarity. In your Arduino code you have to set a threshold value above which the sensor output triggers action to keep the door open. With a simple code like below you can test what the output is when you put your hand or other objects at various distances. Code for testing the IR sensor can be found here: http://www.writtensound.com/arduino/cat_feeder.htm The sensor has an optimal range. Closer to, or farther away than that, the output will be low. The sensor used here (Sharp GP2D120) has a range of 4-30 cm. Mount it in such a way that when the cat is eating, his head is at a distance that makes the output reliably cross your threshold, and set the threshold at a value that doesn't give a lot of false positives. My sensor output hovers between 50 and 150 with nothing in front of it, and increases to over 230 when anything is within 10cm, so I set the threshold at 200. Also, mount it in a way that the door itself does not activate it. The code is about the same as step 4, but with the IR added. Now the door will never close whenever something is in the way. code: http://www.writtensound.com/arduino/cat_feeder.htm

Step 6: Connect RF reader If you use a Seeed studio RDM630: Connect the TX pin of the RDM630 to the RX (pin 0) of the Arduino Connect the +5V pin of the RDM630 to the +5V of the Arduino Connect the GND to the GND of the Arduino I ended up using the RDM630 because I wanted to add my own antenna (see next step). However, I have also used an ID-20 (ID Innovations) which has a built-in antenna. Because of its limited range it is less tolerant to variations in the position of the tag on the animal's collar, but it still works. If you use an ID-20 (ID-innovations): Connect the +5V pin and RES pin of the ID-20 to the +5V of the Arduino Connect the GND pin and FMT pin of the ID-20 to GND of the Arduino Connect the D0 pin of the ID-20 to RX (pin 0) of the Arduino I do not need to communicate anything back to the reader, therefore I only use pin D0. The code for both readers is the same. I basically copied it from this source: http://www.arduino.cc/playground/Code/ID12 It is not exactly clear who wrote it. Now you can test whether the reader works by first writing an Arduino sketch that has only this function plus something that uses the output value to toggle an LED, as in the code you find here. By the way, for my application I did not need to distinguish between tags, so the door is opened for ANY tag (i.e. when RFID returns a 1), but the code does extract the actual tag value so you could modify it to do more sophisticated processing. When you put the tag on the animal's collar, try to make it so that the plane of the tag is most likely to be in parallel to the plane of the antenna. my code Useful sites about using RFID readers with Arduino: http://www.tigoe.net/pcomp/code/category/PHP/347 http://www.practicalarduino.com/projects/rfid-access-controlsystem

http://www.instructables.com/id/Intro-to-RFID/


Step 7: Optional: Build your own RF antenna If you have a 125KHz RF reader that allows an external antenna, you can build it to fit your needs. In my case the activation tag on the cat's collar is not always hanging nicely down, but sometimes hangs on the side of his head. If your reader has a small range it will not always detect the cat even when he is in the exact same place every time. I chose to make an antenna large enough that the cat can stick his head through, which activates the reader almost 100% of the time. Guides for the construction of antennas are available for download on the web (e.g. http://ww1.microchip.com/downloads/en/devicedoc/51115f.pdf). They help quite a bit, but I still ended up just trying a bunch of things to see what worked best. An antenna coil is as simple as this: http://img101.imageshack.us/i/coil2sm.jpg/, just a wire wound up a bunch of turns with the two ends connected to the RF reader. I used 24 Ga magnet wire and a 1.25" diameter tag to test the antenna. The following worked well (range is in distance from the plane of the coil): Circular coil 1.6" diameter, 90-110 turns, no range measurement 3.1" diameter, 75 turns, no range measurement 4.1" diameter, 48 turns, no range measurement 6" diameter, 43 turns, range 3-3.5" 9" diameter, 35 turns, range 4" Square coil 10" square shape, 31 turns, range 1" So the largest range was with a 9" diameter coil. Larger than that, the range first went down to zero and then disappeared from the center. If you draw power from the Arduino, use the 9v adapter, not USB only, because the latter provides less power. Also important is when the coil is complete, the wire should be guided away from the coil.

Step 8: Put everything into the enclosure, load final code By now you should have an RF reader that reads your tag, a cd tray that opens and closes automatically or manually depending on the mode switch, and a proximity sensor that prevents the door from closing when the cat is eating. Build the enclosure, put everything in it, make sure no wires are in the way of moving parts. for the animal's protection, make sure the enclosure is shut. Final code for this project: http://www.writtensound.com/arduino/cat_feeder7.pde

Step 9: Train your cat This shouldn't be too difficult. Wait until it is dinner time, put food in the feeder and encourage the animal to point his nose where it is likely to activate the reader. You can draw a target on the enclosure. When the animal succeeds, there is instant reward. Even if the door does not open every single time, it is still likely that over time, your pet learns to operate it somehow, just because getting food is a strong motivator. Do monitor your feeder's behavior though. I myself had to do a lot of debugging before it worked flawlessly. It is helpful to have an extra tag at hand just to test the device now and then, without having to bother your cat. Important: if your cat is not used to wearing a collar, he/she will have to get used to it. Over the course of several days, start with putting it on for a short time, then progressively longer. Monitor your cat closely while he/she wears the collar in the beginning. While the animal tries to get it off, the lower jaw can get caught, which is not good. To prevent this, the collar should not be too loose. If you hear strained breathing, loosen it immediately. In my experience it is about right when you can still squeeze in two fingers.

http://www.instructables.com/id/Intro-to-RFID/


Related Instructables

RFID cat door by landmanr

How to make a RFID pet food access control system by mlarsen

A very simple proximity detector by offlogic

http://www.instructables.com/id/Intro-to-RFID/

Cat Genie three beep solution replacement electronic water sensor by ku4zs

CAT FEEDING PLATFORM by Thinkenstein

How to connect Arduino and RFID by otaviousp

Cat-Powered Automatic Cat Feeder by labelreader

Infrared Proximity Sensing Coffee Table Module & Color Changing Glowing Faucet by grahmaustin


Arduino RFID Door Lock by pcmofo on November 13, 2009

Author:pcmofo author's website I like to take things apart, sometimes they go back together sometimes they end up as something entirely different then where they started.

Intro: Arduino RFID Door Lock ***Updated 8/9/2010*** I wanted to make an easy and secure way to enter my garage. RFID was the best way to unlock my door, even with my hands full I can unlock the door and push it open! I built a simple circuit with a basic ATMega 168 arduino chip and a ID-20 RFID reader to control an electronic door lock. The circuit consists of 3 separate parts, a Reader to read RFID tags, a Controller to accept data from the reader and control the output of the RGB LED and the Electric door lock. The door lock is first installed in a door and tested with a 9v battery to ensure correct installation. In most cases you want a Normally Open circuit on the door lock, or Fail Secure. This means the door stays locked when no current passes through it. When 12vDC is passed through the electromagnet in the door lock, a plate in the lock gives way and allows the door to be pushed open freely. The reader is placed on the outside of the door and is separate from the controller on the inside so that no one can circumvent the security by breaking open the Reader and trying to short circuit the reader. The controller receives serial data from the Reader and controls the RGB led and the Door lock. In this case I have put both on separate bread boards for testing. Here is a video overview of the system in action Read on to see how to build one for your self!

**Update** All of the code, schematics, and PCB designs have been tested and refined. They are all posted here as of 8/9/2010 Updated video of the final system installed and working.

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Reader portion of the circuit 2. Controller portion of circuit 3. RFID keychain tag 4. RFID card tag 5. Master programming card 6. 12vDC connection to Door Lock 7. 12vDC power input Image Notes 1. Reader mounted outside door, RGB LED is blue showing its on and ready.

Image Notes 1. 12v DC power 2. 12v output to door lock 3. TIP31A transistor to trigger door lock 4. Reset button for micro controller 5. Power on LED 6. Programing Header 7. ATMega168 8. 6 pin header going to reader 9. Jumper to switch between programing and reading serial data from the RFID module

Image Notes 1. 6 Pin header to Controller 2. 2N2222 transistor for buzzer 3. Resistors for Buzzer 4. ID-12 RFID reader glued to front inside of project box 5. Spark Fun break out board 6. Jumper wires used to mount RFID reader 90deg away from the main board.

http://www.instructables.com/id/Intro-to-RFID/


Can also be mounted on the PCB without the SF break out board shown (green) 7. RGB LED with hole cut in front 8. PCB cut to slot into groves on project box

Step 1: Parts Needed Here are a list of parts and links to SparkFun.com where I bought them. This is the basic set of parts you need to build and arduino and a circuit to read RFID tags into the arduino. I am assuming you have a breadboard, power supply and hookup wires already. Arduino Stuff ATmega168 with Arduino Bootloader $4.95 Crystal 16MHz $1.50 Capacitor Ceramic 22pF $0.25 (x2) Resistor 10k Ohm 1/6th Watt PTH $0.25 Mini Push Button Switch $0.35 Triple Output LED RGB - Diffused $1.95 RFID stuff Either one of these, 20 has better range, 12 is smaller RFID Reader ID-12 $29.95 RFID Reader ID-20 $34.95 RFID Reader Breakout $0.95 Break Away Headers - Straight $2.50 RFID Tag - 125kHz $1.95 Other TIP31A transistor (radio shack/local electronics store $1.50) Door Lock is from ebay. Door Fail Secure access control Electric Strike v5 NO $17.50 (kawamall, bay)

Image Notes 1. Reader portion of the circuit 2. Controller portion of circuit 3. RFID keychain tag 4. RFID card tag 5. Master programming card 6. 12vDC connection to Door Lock 7. 12vDC power input

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Build the Arduino controller The first step to building a RFID door lock with a basic Arduino is to bread board out a basic working arduino. Most Arduino pre-flashed ATMega 168 chips come with the default blink program pre installed. Connect a LED to digital output 13 and verify that everything is working. The hardware portion of this RFID reader would be too simple if we used a regular arduino with built in USB programmer. Since I plan on putting this into the wall and not touching it again I dont want to use a big bulky $30 arduino board when I can buy a $5 ATMega 168 and make a much smaller custom PCB. Because I chose to make a basic Arduino circuit myself I need an external USB->Serial FDIT programmer. I have included Eagle schematics of the controller with a power supply built from a 7805 voltage regulator. In testing I used a bread board power supply. To get an arduino up and running all you really need is the ATMega168 with the arduino software flashed on it, 2x 22pF capacitors, 16mhz crystal, 10k ohm resistor, push button and a breadboard. The hookup for this is well known but I have included the entire schematic for the circuit. The arduino is going to trigger 4 outputs, 1 each for Red/Green/Blue LEDs, and 1 to trigger the TIP31A to send 12vDC to the door lock. The arduino receives serial data in on its Rx line from the ID-20 RFID reader.

Image Notes 1. Breadboard Powersupply 2. TIP31A Transistor 3. ATMega168 Arduino 4. Reset Button 5. 16mhz Crystal 6. 10ohm Resistor 7. 22pF Capacitors 8. Connection to Door Lock 9. RGB outputs to reader 10. Serial input to arduino 11. 5v/ground to reader 12. Serial input

Image Notes 1. Breadboard Powersupply 2. 12vDC 3. 12vDC to door lock 4. Ground output from TIP31A 5. 12vDC from power supply 6. RGB LED outputs 7. Serial data input

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. TIP31A Transistor 2. ATMega168 Arduino 3. Reset Button 4. 10k ohm Resistor (for reset) 5. 16mhz Crystal 6. 22pF capacitors 7. Serial Data in from ID-20 8. Output to open door lock via TIP31A 9. RGB LED outputs


8. Serial input to arduino 9. RGB outputs from arduino

File Downloads

Controller_PCB.pdf ((612x792) 12 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'Controller_PCB.pdf']

Step 3: Build the RFID Reader Now that you have your arduino bread boarded and working you can put together the RFID reader portion of the circuit that will contain the ID-10 or ID-20 and RGB LED to indicate the status of the circuit. Remember that the reader will be outside and separate from the controller inside so that someone cannot easily break in. To build this, we are going to send 5v/Ground over from the primary bread board to a secondary bread board we are building the Reader on. Also send over 3 wires from 3 of the arduino output pins to control the RGB LED, one for each color. One more wire, Brown in the pictures, will be a serial connection for the ID-20 to talk to the arduino's Rx serial input. This is a very simple circuit to connect. LED's get resistors and a few points on the ID-20 are tied to ground/5v to set the correct status. To make it easier to breadboard the ID-10/ID-20 Sparkfun sells a Breakout board that allows you to attach longer pin headers that are spaced to fit a bread board. This part and the pinheaders and listed in the parts list. The schematic should be strait forward and easy to follow.

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. ID-20 reader, (ID-10 is smaller). Soldered to the Sparkfun break out board and pin headers. It allows me to Plug it into the bread board easily. 2. RGB LED 3. Resistors for LEDs 4. RGB LED wires connected to Arduino output pins, Guess which one is which?? 5. Serial out of ID-20 and into arduino Rx 6. Optional Resistor/transistor that I was playing with to connect a buzzer 7. Serial coming out of ID-20, hidden under the chip 8. 5v/Ground to power the reader from the main Controller power supply 9. Common ground for the RGB LED

http://www.instructables.com/id/Intro-to-RFID/


File Downloads

reader_PCB.pdf ((612x792) 8 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'reader_PCB.pdf']

http://www.instructables.com/id/Intro-to-RFID/


Step 4: Program! Time to program your arduino. This can be a bit tricky using a basic arduino, you may have to press the reset button multiple times before and during the first part of the upload. A very important thing to remember, you WILL get an upload error if you do no temporarily disconnect the ID-20 serial line to the arduino's Rx line. The ATMega168 only has 1 Rx input and it uses it to upload code to talk to the programmer. Disconnect the ID-20 while programming then plug it back in when your done. I used a FTDI programmer which allows you to program the arduino via USB with only 4 wires. The Controller schematic shows a pin header connection to allow you to plug one in directly. Sparkfun also sells this part but many may already have it. You can easily upload my code to your arduino and never look back but whats the fun in that? Let me explain the basic idea of how it works. First of all, I did not want any external buttons/switches/etc and I did not want to reprogram the arduino every time I wanted to add a new card. Therefore I wanted to use only RFID to control the operation of the circuit as well as control over the door lock. The program turns on the Blue LED to indicate it is ready to read a new card. When the card is read it decides if it is a valid card or not by comparing what it read in to a list of valid cards. If the user is valid, the arduino turns OFF the Blue LED and turns on the Green LED for 5 seconds. It also turns on another output high for 5 seconds. This output is connected to the TIP31A transistor and allows the tiny arduino to control a much larger 12v 300mA door lock without being damaged. After 5 seconds the door lock re-locks and the LED turns back to blue to wait for another card to be read. If the card is invalid then the LED changes to RED for a few seconds and back to Blue to wait for another card. It is important that the door lock still work even if the arduino loses power overnight or is reset. Therefore all valid card ID's are stored in EEPROM memory. The ATMega168 has 512 Bytes of EEPROM memory. Each RFID card has a 5 Hex Byte serial number and a 1 Hex Byte Check sum that we can use to verify there were no errors in the transmission between the ID-20 and the arduino. Valid cards are stored in the EEPROM by using the first Byte as a counter. For example, if there are 3 valid cards stored the first Byte in the EEPROM would be 3. EEPROM.read(0); = 3. Knowing this, and the fact that each ID is 5 Bytes long we know that 1-5 is card one, 6-10 is card 2 and 11-15 is card 3. We can make a loop that looks through the EEPROM 5 bytes at a time and tries to find the card that was read in by the reader. But how can we add new cards to the EEPROM after the circuit is installed?? I have read in one of the RFID cards I have and hard coded it to be the Master RFID card. So even if the entire EEPROM is wiped the master card will still function. Whenever a card is read, it checks first to see if it is the Master card, if not, then it continues to see if it is a valid card or not. If the card is the master card we have the arduino go into a "programming mode" where it flashes RGB and waits for another valid tag to be read. The next tag that is read is added to the next free spot in the EEPROM and the counter is incremented 1 if the card does not already exist in the EEPROM memory. The reader then returns to normal mode and waits for a new card to be read. Currently I have not programmed a way to delete a card as the reasons for deleting a card would most likely be it was lost or stolen. As this would most likely be used with 1-10 people the easiest thing to do would be to hard program a Master Erase card that will wipe all cards from the EEPROM then re add them all, which only takes a few seconds. I have added code to wipe the EEPROM but I have not implemented this feature yet. . The code is attached in a text file along with a copy of the parts list.

File Downloads

RFIDLock.txt (16 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFIDLock.txt']

Updated_Code.txt (22 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'Updated_Code.txt']

Step 5: Expand This is only some of the cool stuff you can do with RFID. You could expand this much further with a LCD output, logging of who enters and when, network/twitter connection etc. I plan on making a finished PCB version of this circuit. I have never made a PCB before so I am still working on the design and layout of the parts. Once I have them complete I will post them as well. I encourage anyone to take the code I have written and modify it to do even more cool things!

Related Instructables

A Universal RFID Key by drj113

RFID cat door by landmanr

Control a Schlage electronic deadbolt with an arduino! by quadmasta

http://www.instructables.com/id/Intro-to-RFID/

RFID pet feeder by landmanr

Very Simple Arduino Electric Lock by RKlenka

Build an easy temporary door chain lock by fastcar123

Secret Knock Detecting Door Lock by Grathio Proper lock releasing etiquette by dsv4724


iPhone RFID Reader by OniDaito on March 13, 2010

Intro: IPhone RFID Reader The idea behind this project is to see what the iPhone's serial is capable of and to try and have a little fun with RFID along the way. This reader works with the low frequency (125Khz) tags but I have a half working version for MiFARE Hi-Frequency as well. This was built as part of an up and coming project from The Centre for Advanced Spatial Analysis at University College London.

This instructable assume knowledge of compiling iPhone custom software (in C++) , basic soldering and electronics. For this project you will need: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

An iPhone USB Cable (genuine one is best and probably at least 3!) A JAILBROKEN iPhone! An ID-12 RFID Reader An ID-12 Breakout Board A Logic Level Converter It's useful to have some IC Sockets for Soldering Glass Tags if you want extra fun or any 125Khz Tags If you don't like the idea of taking iPhone Cables apart, use an iPhone Breakout Board A Battery Pack with a 5V step up Wire. Some kind of switch. A box to put it all in.

I should point out that I don't work for Sparkfun.

http://www.instructables.com/id/Intro-to-RFID/


Step 1: Wire the ID-12 The first stage is the wiring of the ID-12. You should attach it to the breakout board then attach a series of IC Sockets to the board so you can easily add and remove your wires later on. Wiring up the ID-12 is quite easy. This particular unit does need to be set to ASCII output however. To do this you need to solder:

A Red wire from 5V (11) to /RST (2) A Black wire from FS (7) to GND (1) This sets up the ID-12 into ASCII mode. From here we need simply need to solder in the Ground, 5V power and TX Lines VCC to 5V (Pin 11) GND to GND (Pin 1) RX-I to D0 (Pin 9) If this is confusing, there is an excellent write-up Here

Step 2: Connect Logic Level Converter The next step is to wire up the Logic Level Convertor. This is needed because the iPhone works at TTL3.3V whereas the ID12 runs at TTL5V. We need to step up and down. This little board is quite easy to use. The Schematic and Instructions can be found in this PDF . The key is to Solder the ID12's 5V, GRND and signal lines to the first channel on the High Voltage Side of the Board. At this point, you can wire in the switch and the battery box into the High Voltage side of the circuit. Wire the positive of the battery into the switch and out of the switch into the logic board and the ID12. Wire the battery's ground wire into the GND of the logic level board and the ID12.

http://www.instructables.com/id/Intro-to-RFID/


Step 3: Repurpose the iPhone USB Cable The next step is to work on the iPhone's connection. You should make yourself familiar with the connector. If you use a breakout board, this is quite easy. However, if you are using an iPhone cable, things are a little trickier. Firstly, you should look at Pinout.ru's iPod Guide that lists the ports we need. We are aiming to use the iPhone's built in serial connection. The pins we need are: Pin 1 for GND Pin 13 for RX Pin 18 for 3.3V(+ve)

We could use pin 12 for TX as well but the ID-12 doesn't need data sent to it and I have had significant problems in sending data FROM the iPhone. If anyone knows why this is so, do let me know. Regardless, the iPhone only needs to receive and this is well because these two pins are very close together. First, either solder your wires into the breakout board or open up the iPhone cable. To open a genuine iPhone cable, you need to run a thin blade around the inside of the plastic case. A small amount of force should release the clips on either side and then pulling on the metal plug with a pair of pliers should do the job. Be careful at this stage though as its VERY HANDY TO KEEP THE PLUG INTACT. Taking apart the plug should reveal 4 cables. A genuine iPhone cable will have a sheath and small gold connectors. Cheaper cables will be glued in place and this can wreak the project. You dont want glue inside the unused sockets and the less force you need to remove the cables, the better. Removing the small plugs requires a lot of force and yet, you MUST be as delicate as possible. The connectors are attached to the wires with a very small amount of solder. If the connectors snap they cannot be used and if the solder snaps, you will need to solder them again and if you use too much, the plugs will not fit back into their sockets. Also, you are limited on how many times you can place the plugs as the sockets will wear out. I personally went through 5 cables with this method; two of them were genuine. The geunine ones wear much less. Place the black wire into the ground. You can decide which colour goes into which socket. I chose green for Pin12, white for Pin13 and Red for Pin18. Remember which is which!

http://www.instructables.com/id/Intro-to-RFID/


Step 4: Connect iPhone Cable to Logic Level Board The next step is to wire the cable into the LOW level side of the Logic level board. Again, you need only solder the Live, RX and GND but you may do the TX as well. The iPhone should be receiving from the TX-O pin on the board whereas the ID-12 is sending to the TX-I on the board. It can be useful to practice this on a breadboard first to make sure you get it right. Once this is all soldered together, you can place it all in a box and begin testing. I used a custom built FTDI USB TTL adaptor and read the the values being sent with my laptop.

Step 5: Download and Compile Software The next step is to design the software. Jailbroken software is really another topic all together but there are some interesting choices. In the main, I followed the advice given on This Page which talks about OpenFrameworks and iPhone Serial. As I'm a big fan of OpenFrameworks, I chose this approach. However, I didn't use the serial class mentioned in this blog. I had previously written some standard C++ to open serial ports for the ID-12 specifically and use it. As this worked, I decided simply to transplant it into a simple OF example. Compiling OpenFrameworks for the iPhone requires signing in order to run on a jailbroken device. There is a small program called LDID by Saurik who is the definitive source for all iPhone development. To generate a working program you need to: 1. 2. 3. 4. 5. 6.

Download the code from GitHub Open the project in Xcode. Compile the code using your own signature fake signature or simnply don't sign at all Using SSH/SCP, copy the executable .app to /private/var/stash/applications Download LDID in Cydia Use ldid on a terminal app to sign your app.

In short, build with Xcode and use a fake signature as written on Saurik's site. Serial Communication on the iPhone has been covered very well on DevDots page. The basic C/C++ code there works quite well for testing if you comment out the sending code. So now you have the ability to read RFID Tags. But you need some tags to read. For me, I quite like the idea of home automation and similar. There was an odd trend of implanting glass RFID tags into the flesh near your thumb but why bother with that when you can simply make an RFID earring? That way, you can remove it if need be or swap out the actual tag.

http://www.instructables.com/id/Intro-to-RFID/


Related Instructables

AVR/Arduino RFID Reader with UART Code in C by nevdull

How to connect Arduino and RFID by otaviousp

Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch

http://www.instructables.com/id/Intro-to-RFID/

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma

How to block/kill RFID chips by w1n5t0n

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

Arduino RFID Door Lock by pcmofo

Twitter Poem Box by saccpcomp


How to connect Arduino and RFID by otaviousp on September 13, 2009

Intro: How to connect Arduino and RFID On this instructable I will try to show how to interface a RFID sensor with the Arduino. I am using the RFID sensor from seeedstudio the serial version of it. There are a few parts you will gonna need. I also bought some RFID keys. UPDATE: Now it works with IDE 021

Step 1: What you gonna need? - Arduino Board - RFID Sensor from seeedstudios - Wires - Protoboard - RFID tags (125kHz) from seeedstudios

Image Notes 1. Arduino Board 2. RFID sensor board 3. RFID antenna 4. Wires

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. Card that I used to add another tag. 2. The card I used to deny others TAGs 3. Sample TAGs


Step 2: Plugging all together Connect the antenna on the appropriate pins like the first photo. Plug the RFID sensor to the protoboard like the second photo above. Only 3 wires are required to interface, 2 wires for supply and another for the serial line(communication) The wires as connected as the third photo shows. On RFID sensor: PIN 1 -> Tx PIN 2 -> Rx (Not Used) PIN 3 -> NC PIN 4 -> GND PIN 5 -> VCC (+5V) Tx from RFID board goes to Digital PIN 2 on Arduino Board. That is all you gonna need to wire. Moving on to next step, the software.

Image Notes 1. Some tape to hold the wires.

Image Notes 1. Arduino PIN2 (Rx) SoftSerial 2. NC 3. Tx 4. Vcc 5. GND 6. Antenna

http://www.instructables.com/id/Intro-to-RFID/

Image Notes 1. Tx PIN 2. GND 3. Vcc


Step 3: The code I'm not a software guy, so this code is just for demonstration. I don't make any kind of checksum at the tags code, but it seems to work fine. The code is really simple. I used a new library for the serial, using software emulation. With the two white cards you can deny or allow the access of others keys. Any doubt, please ask me.

File Downloads

RFID_2_eng.pde (1 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFID_2_eng.pde']

Step 4: Results! There is no LED, sound or LCD for debug or visualization, just through the serial line. The video demonstrate how to use the software. I didn't post any kind of explanation as text on the video. I hope that the images spokes more then words, xD Any doubt or suggestion, feel free to ask, or correct me. Please, if you like it, rate it, thank you

Related Instructables

RFID cat door by landmanr

RFID pet feeder by landmanr

Twitter Poem Box by saccpcomp

http://www.instructables.com/id/Intro-to-RFID/

Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch

How to block/kill RFID chips by w1n5t0n

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

AVR/Arduino RFID Reader with UART Code in C by nevdull

Seeeduino Curtain Control by suqingxiao


RFID Car immobiliser with PIC12629 by andrew_h on April 26, 2010

Intro: 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. 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.

Image Notes 1. 7805 vreg 2. ID-12 3. Standard Automotive relay 4. BD667 darlington Transistor 5. Bi-colour LED

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 ID12. 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...

http://www.instructables.com/id/Intro-to-RFID/


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.

File Downloads

immobiliser_pcb2.pdf ((595x842) 10 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'immobiliser_pcb2.pdf']

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.

Image Notes 1. 7805 vreg 2. ID-12 3. Standard Automotive relay 4. BD667 darlington Transistor 5. Bi-colour LED

File Downloads

http://www.instructables.com/id/Intro-to-RFID/


Immobiliser_1.2.hex (5 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'Immobiliser_1.2.hex']

immobliser_v1.2_12f675.hex (5 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'immobliser_v1.2_12f675.hex']

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.

Related Instructables

Mobile Phone Alarm for a motorbike, car or anything you want by simon72post

Knex Bazooka by fobblewabble

K'nex MP5 by Trauts

http://www.instructables.com/id/Intro-to-RFID/

Steampunk Turbo Lighter (Howto) by MurphyHarris

KNEX RBG REPEATER TRIGGER by rivera364

knex light hybrid crossbow by stf13

DD-KYT by kingghaffari

Knex Wall-E Home: Spinning wheel by Seleziona


Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch on April 9, 2010

Intro: Stupid Simple Arduino LF RFID Tag Spoofer RFID tags are all over the place. They're used in building access control systems, passports, inventory tracking . . . This instructable will show how you can use an Arduino and a few simple components (wire coil, transistor, capacitor, resistor) to make a device that can spoof an 125 KHz (low frequency) RFID tag. This is version 1, so there are many enhancements that can be made, but this version is stupid simple, yet it works. I did this in a few hours without much previous knowledge of RFID and without any fancy equipment (like a radio tuning hardware or an oscilloscope . . .I guess an oscilloscope is fancy, I need to pick up one of those). UPDATE: Here is a link to an Arduino Mini shield based on these instructions http://wiki.smallroom.net/doku.php?id=terd:projects:rfidspoofer .

Step 1: Parts Parts: *Some enamel coated solid core copper wire (I used the green spool from the 3 spool set Radio Shack carries). *A NPN transistor, I used a 2N3904 *A 10 K Ohm Resistor *A 10 nF capacitor (0.01 uF). I'm using a Metalized polyester film cap I got from Radio Shack, others should work though *A toilet paper roll to wind the wire on I tested my circuit using a Parallax RFID serial reader connected to a second Arduino

http://www.instructables.com/id/Intro-to-RFID/


Step 2: RFID background A passive RFID tag has a coil and a chip with data on it. An RFID reader has a coil in it that has a coil in it that creates a varying electronic field (in this case 125 KHz), which is called the carrier signal. When the tag is close to the RFID reader then the magnetic field powers the chip on the tag, which then responds by tuning and detuning its own antenna. This all works on the principle of inductive coupling, to learn more about his see www.rfid-handbook.de/rfid/types_of_rfid.html 125 KHz cards use manchester encoding to encode the data to send it to the reader. Manchester encoding basically takes the XOR of the bit that needs to be transmitted and the clock value. So if the clock value is low (0) and the value to transmit is 1 then it would be 0 XOR 1 which is 1. This has to be done on every clock cycle. For more information on manchester encoding see en.wikipedia.org/wiki/Manchester_code.

Step 3: The Data You can either download the code below, or get it here: www.scribd.com/doc/30215336/RFID-Faker-Code The serial number of a tag is sent over using a fairly simple protocol. It starts by sending 9 one's Then it sends 10 sets of 4 bits, then one parity bit (it's using even parity) Then it sends "column" parity bits (even parity of the rows in the previous step) Last it sends a 0 stop bit So an example looks like this: (start bits) 111111111 (10 rows of data - the card serial number) (the first 4 bits are the data, the last is the even parity bit) 11110 10100 10001 11000 10010 11101 11110 00000 00011 01010 (then it sends the column parity bits, even parity of the rows above) 1101 (last a 0 stop bit) 0 See the pdf in the first link in the references section for more details on this Image provided by Flickr user at www.flickr.com/photos/kurtisscaletta/2473469841/ and used under the creative commons license.

http://www.instructables.com/id/Intro-to-RFID/


Step 4: Building the circuit You need to create a coil that's about 150 to about 162 uH (different sources say it should be different values). To determine how many winds to do you can use an induction calculator like the one here www.crystalradio.net/cal/indcal2.shtml. I used the green spool from the Radio Shack set of wires and wound it about 133 times around the toilet paper roll (I did this both by working with a calculator and some trial and error, I have no tuning equipment). You probably want to leave a little extra wire in case you need to wind some more to get your antenna tuned right. After you have your coil you can connect it to your circuit. The schematic is pretty easy. Just connect pin 9 on the Arudino to a 10 K Ohm resistor, then to the base of the transistor. Next you can put your capacitor between the collector and emitter of the transistor. The emitter also needs to be connected to ground. Next connect the coil the the emitter and collector of the transistor.

Step 5: The code The Arduino now needs to tune and detune the antenna. When pin 9 is low then the antenna is tuned (sending out a "high" signal). When the pin is high then it sends power to the base of the transistor. This reduces the resistance between the two ends of the coil, which "detunes" the antenna. We just need to do this in the right sequence to send data to the reader. The code generates a tag ID that's 10 hex F's. If that's what you get in your reader then you know it's working.

File Downloads

rfidFaker.pde (1 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'rfidFaker.pde']

Step 6: Testing To test the circuit hold the antenna right up to the reader (go ahead and touch it to the reader for the first test), if everything's right you should see the tag ID you're hoping to see. If not (and you're sure the sketch is uploaded properly and the circuit is connected correctly) start adding and removing winds from the coil and retesting it. It should be somewhere in the 120-140 range with the green Radio Shack wire I used. Once it's working at really short ranges (touching the reader) you can mess with the coil some more to tune the antenna better and you should be able to get a range of a few inches.

http://www.instructables.com/id/Intro-to-RFID/


Step 7: The Video First I hold up a real tag to the reader, and you'll see by the screen behind it that the tag ID is read and displayed on the screen behind it. Next I hold my coil up and the reader sees it as a tag and reads the serial number off it.

Step 8: Elephants in the Room This project does have a few deficiencies that should be mentioned. First, since the RFID emulator runs on it's own clock instead of using the one from the magnetic field the reader creates not every serial ID broadcast is received by the broadcaster. This isn't a huge deal because in my experience they end up matching up close enough every about every second or two. If you wanted to modify this so it could brute force tag IDs it might be more important that every tag ID is broadcast correctly. The second issue is the form factor of the antenna. It should be easy to modify this though by simply collapsing the coil. At that point though you'll need to use a different calculator that does multi-level coils to figure out how to wind it. Last, there's the range. By experimenting with the coil winds and the capacitor you should be able to get a few inches of range. More range would probably need some type of an amplified coil. The image for this step is from www.flickr.com/photos/exfordy/123900378/ used under the creative commons license.

http://www.instructables.com/id/Intro-to-RFID/


Step 9: References PDF on a similar project, good discussion of how it all works and schematic mrl.cz/projects/rfid/rfid.pdf Similar project, including C code www.alexanderguthmann.de/en/emulator.html An RFID tag that's just a small Microchip uController and a resistor micah.navi.cx/2008/09/using-an-avr-as-an-rfid-tag/ A similar project, also a reader www.cq.cx/prox.pl School project, cool ideas, missing some details though www.dennislambing.com/senior-design-rfid/

Related Instructables

A Universal RFID Key by drj113

How to connect Arduino and RFID by otaviousp

Arduino Magstripe Emulator by sketchsk3tch

http://www.instructables.com/id/Intro-to-RFID/

Magnetic stripe card spoofer by powerpants

AVR/Arduino RFID Reader with UART Code in C by nevdull

Arduino RFID Door Lock by pcmofo

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma

How to block/kill RFID chips by w1n5t0n


Weather proof, Bluetooth capable RFID reader by tamberg on March 30, 2009

Intro: Weather proof, Bluetooth capable RFID reader This instructable connects the popular BlueSmirf Bluetooth module to the ID12 RFID reader and shows how to make a dust and water resistant (IP55 ) RFID reader that sends IDs to your PC or mobile phone over Bluetooth radio without an additional micro controller and without an external power source. Created as a prototype for an online swim lap counter system named Rfish , it can be used for any project in need of a self contained, weather proof RFID reader.

Material ID12 RFID reader ID12 breakout board 125kHz RFID Tag USB to serial adapter BlueSmirf Gold Bluetooth module Right angle break away headers Jumper wires premium F/F Ensto junction box IP55 3 1.5V AA batteries Battery holder with button connectors Battery wire with button connectors 2 short pieces of wire Solder Tape Tools Cutter Soldering iron Helping hands

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. ID12 RFID reader soldered to breakout board 2. BlueSmirf Bluetooth module 3. 3 x 1.5V AA batteries

Step 1: Solder headers to the BlueSmirf Bluetooth module

Image Notes 1. Solder on this side of the BlueSmirf module and do not heat the contacts longer than necessary

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Configure the BlueSmirf module via USB Connect the BlueSmirf to the USB to serial adapter as follows (you might use headers to connect female jumper cables to the female connector of the USB to serial adapter): VCC to 3.3V GND to GND TX-O to RX-I RX-I to TX-O Then plug the USB into your PC (the following instructions apply to Windows XP and might differ for other operating systems). The red LED on the BlueSmirf should now blink. Press "<Windows key>-R" on your keyboard to open the "Run" command line, type "devmgmt.msc" and press "<RETURN>". This opens the Device Manager. Open the node "Ports (COM & LPT)" in the device tree. There should be a node called "USB Serial Port (COM<X>)" e.g. COM17. Write down the COM port number (to talk to the BlueSmirf module over USB we will open a connection to this COM port). Download SerialUsbBlueSmirfConfig.zip (requires .NET 2.0 ; source included for educational purpose) and unzip it. Edit SerialUsbBlueSmirfConfig.bat (right click, "Edit") to match your COM port number and baud rate (default for BlueSmirf Gold is 115200 baud) and save the changes. Start SerialUsbBlueSmirfConfig.bat and as soon as the program displays your COM port in the command shell, type the following commands (BlueSmirf's response shown in italic ): $$$<RETURN> CMD SU,96<RETURN> AOK ---<RETURN> END When in command mode, the BlueSmirf's red LED starts to flash faster. After leaving command mode, the BlueSmirf Bluetooth module is set to 9600 baud which is necessary to communicate with the ID12 RFID reader. (Note: If you want to use SerialUsbBlueSmirfConfig.bat again don't forget to change it to 9600.)

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Right angle headers

Step 3: Solder headers to the ID12 breakout board

Image Notes 1. Solder on this side of the breakout board 2. Make shure the headers are in a right angle to the breakout board

Step 4: Solder the RFID reader to the ID12 breakout board

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. Take care not to create a short cut and do not heat the contacts longer than necessary 2. A small solder tip makes soldering this a lot easier

Step 5: Hard-wire the ID12 reader to ASCII mode Solder the two short wires as follows: Red wire from 5V (11) to /RST (2) Black wire from FS (7) to GND (1)

Image Notes 1. Take care not to create a short cut

Step 6: Connect the BlueSmirf to the ID12 reader and 3 1.5V AA batteries Connect the BlueSmirf to the ID12 reader as follows: VCC to 5V (11) GND to GND (1) RX-I to D0 (9) Then connect the ID12 to the batteries: 5V (11) to + (Plus) GND (1) to - (Minus) If you use solder to create a durable connection it might be better to unplug the jumper cable before soldering. Also, the jumper cable's plastic cover melts really quick so take care not to heat it too long. Once you got the connections ready, attach 3 1.5V AA batteries (equals 4.5V) and make shure the BlueSmirf starts to flash its red LED. Note: While the BlueSmirf is marked as 3.3V it does work pretty well with 4.5V. The ID12 which is laid out for 5V also functions with 4.5V (maybe with a slightly lower range). Put everything into the box and try to close it tightly without squeezing any cables. For the following test (next step) you might want to open the box again to be sure the BlueSmirf LED works as supposed.

http://www.instructables.com/id/Intro-to-RFID/


http://www.instructables.com/id/Intro-to-RFID/


Step 7: Test the reader with a PC To test the reader you need a PC with Bluetooth and a test program. Download Serial.zip (requires .NET 2.0 ; source included for educational purpose) and unzip it. Pair your PC with the BlueSmirf: Enable Bluetooth on your PC Disconnect and then reconnect the BlueSmirf to the batteries (inquiry only works right after module startup) Start Bluetooth inquiry on your PC Select the device called "FireFly ..." Enter the PIN 1234 Choose "Serial Profile" or SPP or similar, without (!) encryption Write down the COM port number of the serial Bluetooth connection on your PC Edit Serial.bat (right click, "Edit") to match your COM port number and baud rate (must be 9600 baud) and save the changes. Start Serial.bat and wait for the BlueSmirf's LED to turn green. This does only work if you connect to the right Bluetooth serial COM port (not the same COM port as in step 2). Once the LED is green you can start scanning RFIDs. Hold the RFID tag very close to the front of the reader (i.e. the top of the case) and you should see the read IDs being displayed on the PCs console shell, maybe with some additional characters. Congrats - you're done. (Note: if you see questionmarks instead make shure your batteries are fully loaded and check the wiring in step 5.)

http://www.instructables.com/id/Intro-to-RFID/


Related Instructables

Moleskine RFID reader-external hard drive (Photos) by Deslivres

Arduino RFID Door Lock by pcmofo

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

http://www.instructables.com/id/Intro-to-RFID/

Low Tech Lap Counting by cleversomeday

How to block/kill RFID chips by w1n5t0n

iPhone RFID Reader by OniDaito

AVR/Arduino RFID Reader with UART Code in C by nevdull

Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch


AVR/Arduino RFID Reader with UART Code in C by nevdull on August 13, 2009

Author:nevdull AVR-based Network Combat Gian is a microbial biochemist by education but an avid computer science flunky and wishes this hobby could be self-sustaining.. He has a collection of 8-bit microcontrollers and a room full of computer junk that he believes talks to him. He is a sympathizer with the Robot Overlords and is adroitly maneuvering himself to be in a comfortable position when the AVR global domination begins. He is also scared of zombies.

Intro: AVR/Arduino RFID Reader with UART Code in C RFID is the craze, found everywhere - from inventory systems to badge ID systems. If you've ever been to a department store and walked through those metal-detectorlooking things at the entrace/exit points, then you've seen RFID. There are several places to find good information on setting up RFID, and this instructable focuses on installing the Parallax RFID reader (Serial TTL) on an AVR, with emphasis on the C code needed to read the serial input. The code is in C and doesn't use any external libraries. In fact, it speaks 2400 baud directly without the use of a UART by synchronizing to the RFID reader's baud rate and reading the digital pin that it's connected to. Excited? Me too.

Step 1: Get the Goods You'll need the following list of parts: RFID Reader (Parallax #28140 $39.99) RFID tag ( Parallax #32397 $0.99) AVR or Arduino clone (if you use a stock AVR, you'll also need a max232, 5 x 1uF capacitors, and a DE9 connector) Solderless breadboard Optional 4 position header Wire (and the max232 etc for communication of the tag information) You could also connect your favorite LCD screen in lieu of sending tag data via RS232.

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Connect the parts The hardware side of things is pretty easy. Instead of plonking my RFID reader directly into my breadboard I opted to make a quick cable so I could move the RFID reader around a little bit better. For that, I just cut off 4 positions from a female socket header strip I had lying about and soldered on three wires. Electrical tape completed the ghetto connector. The RFID reader has 4 connections: Vcc ENABLE OUT Gnd As you probably guessed it, connect Vcc to +5V and Gnd to ground. Because the RFID reader consumes so much power, you can bang the ENABLE pin to turn it off and on at various intervals. I simply chose to keep it on. Because it's inverted, you pull it LOW to activate it. Alternatively, you can connect it to ground. I connected it to PIND3 to give me options of enabling/disabling if I decided to. The OUT pin is where the reader sends its serial data after it reads a tag. I connected it to PIND2. Note, in the Parallax Universe, red means go. That is, a green LED means the unit is inactive and idle, while a red LED means the unit is active. *shrug* Go figure.

http://www.instructables.com/id/Intro-to-RFID/


Step 3: Write the Code To read the data from the RFID reader, you have to know when a tag has been submitted, pull the data off of the serial port, then send it somewhere.

RFID Reader Data Format The Parallax RFID reader sends data at a fixed, glacial pace of 2400 baud. An RFID tag is 10 bytes. In order to allow for error detection/correction, since the reader could be set off from random noise, the 10-byte RFID is bounded by a start and stop sentinel. The start sentinel is line feed (0x0A) and the stop sentinel is carriage return (0x0D). It looks like this: [Start Sentinel |Byte 1|Byte 2|Byte 3|Byte 4|Byte 5|Byte 6|Byte 7|Byte 8|Byte 9|Byte 10| Stop Sentinel]

These are the three primary steps.

Know when a tag has been submitted I used a Pin Change Interrupt on the AVR that notifies the firmware that a change has occurred on a monitored pin. Configuring the AVR for this is easy and requires setting the flag, telling the MCU which pin you want to monitor, and setting the global interrupt bit. Configure PCINT BSET(PCICR,PCIE2);

// pin change interrupt control register pcie2

BSET(PCMSK2,PCINT18);

// enable pin change interrupt for PCINT18 (PD2)

Write your interrupt service routine You want to keep your ISR short so in my interrupt vector I read the entire byte, bit by bit, and store the byte in a global volatile character array. I do the following at each interrupt: Check to ensure I'm on a start bit Center the timing onto the middle pulse at 2400 baud (the speed of the RFID reader) Skip the start bit and pause to the middle of the next bit Read each bit into an unsigned integer When I've got 8 bits, put the byte into a character array When I've collected 12 bytes, let the MCU know the tag has been read for error detection.

http://www.instructables.com/id/Intro-to-RFID/

B


I modified SoftSerial code from Mikal Hart who modified code from David Mellis for the experimentally determined delays in the serial routines.

Parse RS232 Output The PCINT routine contains the code for reading the RS232 output from the RFID reader. When I've gotten 12 bytes (10-byte RFID plus sentinels) I set bDataReady to 1 and let the main loop process the data and display it. // this is the interrupt handlerISR(PCINT2_vect){ if (BCHK(PIND,RFID_IN)) // Start bit goes low

return; uint8_t bit = 0; TunedDelay(CENTER_DELAY);

// Cente

Display Your Tag In the main(), during the for(ever) loop, I check to see if bDataReady has been set, signalling that the entire RFID structure has been sent. I then check to see if it's a valid tag (ie start and stop characters are 0x0A and 0x0D, respectively), and if so, I send it out my RS232 connection. for (;;){

if (bDataReady)

{#ifdef __DEBUG__

USART_tx_S("Start byte: ");

USART_tx_S(itoa(RFID_tag[0],&ibuff[0],16));

ibuff[0] = 0;

Step 4: Code and Farewell This page contains a zip file with the relevant code. It was written in AVR Studio 4.16. If you use programmer's notepad, eclipse, or vi (or something else) you'll need to copy a trusted Makefile into the directory and add these files to the source line. Also note, the timing for the serial reading section is based on a 16MHz MCU. If you are running at a different clock frequency, you will need to experimentally determine the tuned delays to center on the baud rate pulses. I hope this instructable helped you in some way. If you have any suggestions on how it could be improved don't hesitate to let me know!

File Downloads

RFID_Reader.zip (30 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'RFID_Reader.zip']

Related Instructables

Stupid Simple Arduino LF RFID Tag Spoofer by sketchsk3tch

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma

How to connect Arduino and RFID by otaviousp

http://www.instructables.com/id/Intro-to-RFID/

RFID based toll plaza using 8051 Microcontroller (video) by ashoksharma

Twitter Poem Box by saccpcomp

USB RFID Reading Keyboard (video) by frank26080115

Telnet to your Arduino/AVR! by nevdull A Universal RFID Key by drj113


How to turn your cellphone into a credit/debit card by Kikurimu on March 5, 2009

Intro: How to turn your cellphone into a credit/debit card Easy to do mod for an extra credit/debit card with RFID chip (i.e. Paypass). Using this method, you will be able to locate and extract the RFID chip in your spare Paypass-capable card and place it in your cellphone. This will allow you to present your cellphone at Paypass terminals (movie theaters, McDonalds, etc..) and pay using the RFID chip.

Image Notes 1. My env2

Step 1: Get your materials Items needed: - Spare credit/debit card with embedded RFID chip (if go to your bank and request a new card they will typically send you a new card w/ the same number and info). - Scissors - Cellphone - Magic marker/ Sharpie

Image Notes 1. If your card has this symbol, you should be able to do this mod.

http://www.instructables.com/id/Intro-to-RFID/


Step 2: Find the Chip In this instructable, I am using an old, deactivated debit card. I found the RFID chip in a previous card by cutting into it randomly. I DO NOT recommend this method if you don't know where the chip is, as you could obviously damage the chip and make it unusable. I do not know if all cards are setup with the RFID in the same location, but if they are, my guidelines will give you a good idea where to start. If not, I was able to see the impression of the chip on the back of the card when I looked at it from an angle in a well lit room (it appeared as a small square impression only a few millimeters across). Make sure to mark out a guideline to cut along that goes from the bottom of the magnetic strip to the top of the imprinted card numbers. This will yield a decent size chunk of the card with the RFID in the center.

Image Notes 1. General location of RFID chip

Image Notes 1. General area around RFID chip

Step 3: Cut out the chip Be very careful when cutting out the chip. Less is more! The initial size may be fine for many people and is small enough to be placed in many cellphones or anything else you can think of. But if you're like me and have an env2 or similarly compact phone you need it a little bit smaller. Going any further than the initial cutout comes with the risk of damaging the chip. Consider yourself warned. When cutting close to the chip you may break the seal around it and the sides may begin to separate. You DO NOT want this to happen as you want the plastic for insulation around the chip.

Image Notes 1. RFID chip extracted from a previous card. This is as small as you can trim it. 2. Chip is about here

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. RFID chip and both plastic sides 2. Unseperated chip

Step 4: Place the chip in your phone This last step is pretty self-explanatory. However, there are two possible ways to go about it. 1. I've found that the easiest way of placing the chip inside the phone is by placing it inside the battery cover. In the case of my env2 and other compact cellphones, there is very little wiggle room available to place anything extra in the battery compartment. For my phone, I would trim the card more than shown in order to create a lower profile inside the battery compartment. For others the chip in the size I show here may be more than adequate. 2. This second option is for those are not utilizing their microSD card slots (if available).The plastic around the RFID can usually be trimmed enough so that it is able to fit into a microSD card slot. I only offer this option as an alternative for those willing and able to do so. Just make sure you can remove the chip from the slot and that there is no way to cause a short while the chip is in the slot.

http://www.instructables.com/id/Intro-to-RFID/


Image Notes 1. microSD card slot when viewed w/o the battery cover

Step 5: Success Congratulations! You now have a fully operational RFID-embedded cellphone.

Oh, and please let me know what you think as this is my first instructable. P.S. before I forget, I did not come up with this completely on my own. I had seen something similar almost a year ago online. Try as I might I can't seem to find the site anymore. I just want to give credit for the inspiration to the author of that webpage, whoever they may be.

Image Notes 1. My env2

Related Instructables

How to block/kill RFID chips by w1n5t0n

RFID Secure Wallet by dogsrcool2me

how to block anoying cell phone interference by thematthatter

http://www.instructables.com/id/Intro-to-RFID/

Interfacing RFID with 8051 Microcontroller (video) by ashoksharma

Make purchases with your cell phone by: Jason Valalik by jvalal

RFID Reader Detector and Tilt-Sensitive RFID Tag by nmarquardt

RFID based toll plaza using 8051 Microcontroller (video) by ashoksharma

RFID: The REAL Story by metrogdor22

3 intro to rfid  
Read more
Read more
Similar to
Popular now
Just for you