Free-Libre Hardware RFID handheld device

From Appropedia
Jump to: navigation, search
Photo of the v2.0.
You can put an abstract (a brief description of your project) here.

Some introduction text and background can go here.

Contents

[edit] Understanding the market

Currently we can see free-libre hardware for RFID reader/writers but there is still no handheld that includes all the options to be used in real life RFID situations like logistics, transportation, payments for social currencies, etc.

[edit] The Project

[edit] The Problem

Location: Auroville, India, a self-suistainable community of more than 3000 people created in 1966.

The ever increasing amount of guests arriving each year made the old way of operating unreliable. The system was based on trust whereby guests would create an account and deposit money on it, which could then be used anywhere within the city by writing the account number, amount and signing. Many guests would leave before the money could be processed and various services suffered losses due to this. In addition it was difficult to ascertain where people were staying or whether they were actually guests or not.

[edit] The Solution

RFID card of every user in the Auroville community.

Cynergy proposed and developed a contactless smartcard solution using Mifare Classic card. These card have 1K of data storage and can be read and written to from a distance of up to 5 cm from the access device. The decision to go for contactless instead of the normal contact type card was made because it would remove any problems due to moisture, damage, etc to the card or reader device and allow cards to be completely waterproof. All cards are re-usable and guests can be linked and unlinked from them. Guests re-charge their balances and then make payments at over 100 outlets for services, food or products. Cards are valid only for the duration of the guest meaning that they cannot pass them on but need to have them officially recharged or re-activated.

The system has three main components:

  1. Web application to manage cards, guests and transactions
  2. Cross-platform application to read and write cards
  3. Handheld device to read cards and deduct funds

[edit] Web application

The web application is the core of the system and contains all information about the cards created, the guests linked to cards and all transactions that go through the system. This system also automatically synchronizes all transactions with the existing financial service database. This is written in PHP with a MySQL back end and soap services for the applications to interface with it.

[edit] Cross Platform Application

The Aurocard application runs on Linux and Windows and is written in C using open source libraries. It reads information from the contactless smartcard and displays it on the screen. It also allows Point Of Sale owners to deduct funds from the card if funds are sufficient. The application synchronizes with the online server to update a list of blacklisted cards and also to process all transactions that are pending. The application can store an unlimited amount of transactions in offline mode and process whenever an internet connection is available. The administrator version of the application can also link and unlink guests and add funds to the card.

[edit] Handheld(opensourced)

Due to the fact that several locations did not have any computer or internet connection such as taxi services and certain activities, it was decided that a hand-held device was required. A market survey showed that there were no devices that filled the requirements. The requirements were:

  1. A contactless reader/writer that is battery operated
  2. Ability to write a custom application
  3. USB syncronization with computer
  4. Graphical screen and 16-digit keypad minimum
  5. Battery life of about one day

Cynergy designed and developed this reader from scratch. The application runs on a microchip processor and is written in C. Peripherals are interfaced via I2C. The antenna (mifare, 13.56MHz) is etched on to the PCB and single chip handles all reads and writes to the card. Battery charging is handled by a chip that allows USB and external charging. A 128x64 pixel screen with backlight allows operation during day and night. The device synchronizes with the cross-platform app through USB and updates an internal blacklist. An on-board EEPROM can store up to 1000 transactions for later processing. The devices uses a low cost lithium cell phone battery to reduce costs. At the time of creation we were able to produce these devices for less than $100 per device which is less than half the cost of any such device on the market

[edit] Schematics(v2.0)

You will find the PDF images and source code for the hardware schematics

(Note: We need help by cleaning up and organizing the source code, making sure it compiles for all platforms and upload it to some Git repository)

[edit] Firmware sourcecode(v2.0)

(Note: We need help by cleaning up and organizing the source code, making sure it compiles for all platforms and upload it to some Git repository)

This project is compiled using Microchip C18 Compiler on MPLAB IDE v8.76 It requires the Microchip USB libraries to be installed and paths set up.

[edit] Gallery

[edit] Costs

Here is the list of all the needed components and their costs.(Help us creating a 'wikitable' from that spreadsheet)

[edit] Discussion

You can write here to participate in the discussion.

[edit] RFID Security

Due that all RFID Mifare Classic cards has a security backdoor that allows forcebrute(using opensource tools like mfoc) attacks that enable to duplicate cards. The central payment software implemented a security control where the balance of each card is checked during every payment, and if there is a suspicious balance registry, that card ID is put in a blacklist that avoids any future payment. Aurocards are not anonymous therefore it's easy to see who is responsible, but most important, their community network in Auroville is strongly based on trust between their people. You can also use other type of more secure RFID cards.

[edit] Related-Similar projects

PN532 NFC/RFID controller breakout board] + Arduino

We would like to see other projects that can be based on this sytem. Please share it with us.

  1. Another way of making the internal components more Free/Open Hardware would be using the PN532 NFC/RFID controller breakout board + Arduino

[edit] License

https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en

[edit] Contact

http://www.cynergy-software.com/contact-us-html.html