Menu

Tree [a00139] master /
 History

HTTPS access


File Date Author Commit
 img 2017-11-06 JavaCardOS JavaCardOS [359092] Initial commit
 log 2017-11-06 JavaCardOS JavaCardOS [359092] Initial commit
 src 2017-11-06 JavaCardOS JavaCardOS [359092] Initial commit
 README.md 2017-11-06 JavaCardOS JavaCardOS [a00139] commit readme.md

Read Me

What is LibSC Reader Kit

LibSC Card Reader Module Development Kit developed by JavaCardOS Technologies is based on Arduino MFRC522-1.2.0 library source code. It has been further encapsulated and its functions has also been enhanced as well, which makes it much closer to a universal card reader's function.

Combined with the card provided by JavaCardOS, you can directly send control commands from PC to communicate with the reader and then read/write the card infomation.It expands the new command control channel while retaining the original printout function, which greatly facilitates the 14443 communication protocol learning process.

The entire suite of hardware is carefully chosen, tested and integrated by JavaCardOS, and can be also used as a cost-effective business solution. In addition, each component of this kit can be individually purchased in batches, please feel free to contact JavaCardOS.

List of Components

  • arduino UNO R3 board
  • MFRC522 antenna board
  • 1 * 8 Pin Header Strip(for MFRC522 board)
  • 1 * 8 Pin Header Strip(bending socket for MFRC522 board)
  • Dupont wire * 7
  • USB cable * 1
  • MIFARE 1k card(Please note that this is not the cloneable card, if you need MIFARE clone 1k card, please click here )

Equipment List

LibSC Reader Kit pro includes a Mifare Clone 1K and a CPU card. You can send APDU commands via LibSC Reader.If you need enhanced version of the suite, please click here

Architecture

Architecture

The content in the dotted box is the software code implementation on PC, such as all the scripts and LibSC API implementation.All these codes will be executed on PC.There are also two arrows,which indicate PORT A and PORT B. The PORT A is connected with USB cable.Although we just see an USB cable ,essentially,the USB device is virtual as a serial device to access to the computer.The PORT B indicates the dupont wires, which connnect arduino core board and MFRC522.The firmware code is downloaded to core board via USB, so you will see that the source code of this kit is divided to two directories, that is Client(PC-side code) and Firmware( firmware code that will be downloaded to arduino core board).

Quick Start

1.Install arduino development environment.
2.Install serial device driver .
   Please download the cooresponding driver according to your platform and requirement.
   windows
   linux
   mac
3.Please refer to this picture to connect each component.
4.Install MFRC522 library .
5.Add LibSC Reader implementation firmware code to MFRC522 library installation directory.
6.Download firmware code to arduino hardware.
7.Install pyserial .
   pip install pyserial
8.Run LibSC Reader client code to confirm whether the smart card reader can work.

Install Arduino Development Environment

   Support arduino 1.6,1.7,1.8 or above. If you have any question, please post it in the forum.

   Double-click arduino-1.8.0-windows.exe, click "I Agree" and then continue the following installation step.
   arduino-install-1
   arduino-install-2
   arduino-install-3
   arduino-install-4
   Click "close" to finish the installation.

Install Serial Device Driver(windows)

   If using ch340 series chip as the USB virtual serial chip of the current arduino board sold in our online store, it also needs a additional driver installation process. Then you are able to communicate with arduino core board via USB cable.

Driver Installation Steps

   1.Download CH341SER.zip, and decompress.
   2.Insert the device.
   3.Specify where the driver is located.

Install Driver Manually(Exception Handling)

   If the driver can not be recognized or encountering error during the installation process, you can follow the steps below to manually install the driver.Open the device manager and select "Other devices" or "Ports".
   If device driver is not installed properly, just as the following figure shows.
   Unknown_Device

   Please select "Update Driver Software".
   Update_Drv

   In the new pop-up dialog box, select "Browse my computer for driver software".
   Sel_Drv_Path

   The entered path should be the driver decompression path.
   Spec_Path

   After the installation is completed, the below dialog box will pop-up.
   Inst_Finish

   If the driver works normally, you will see this device in the device manager, as shown below.
   Drv_Ok

Connect components

   Please refer to the following picture to complete the connection.
   Connection diagram

   Note:
   SDA------------------------Digital 10
   SCK------------------------Digital 13
   MOSI----------------------Digital 11
   MISO----------------------Digital 12
   IRQ------------------------unconnected
   GND-----------------------GND
   RST------------------------Digital 9
   3.3V------------------------3.3V (DO NOT CONNECT TO 5V)

You can also refer to this article from Arduino official website.
If you want to view the real pictures of wire connection ,please click here.

Install MFRC522 Library

   Decompress MFRC522-1.2.0.zip and copy the content to X:***\Arduino\libraries

   e.g. D:\Program Files (x86)\Arduino\libraries

Add LibSC Reader Implemention Code

   Copy all the content of src\Firmware to X:***\Arduino\libraries\MFRC522
   e.g. D:\Program Files (x86)\Arduino\libraries\MFRC522

Download Firmware to Arduino Hareware

   1.Open D:\Program Files (x86)\Arduino\libraries\MFRC522\examples\LibSC_RF_ReaderEx\LibSC_RF_ReaderEx.ino
   2.Compile and download, click Verify and Upload button.VerifyUpload

note:If failed to compile or upload, you can switch the port(the coresponding port mentioned above) by the arduino development environment menu tools->port.

Install pyserial

   Please install python and pip before installing pyserial.
Enter the command below in the console to install pyserial, then you can communicate with arduino core board via serial port.
   pip install pyserial

Run LibSC Reader

How to place the card

   The shape of antenna board(MFRC522) is a little small,so when the card antenna is bigger than it, the placement angle has an effect on the stability of the connection. Please refert o the pictures shown below to properly place the card.

   Mifare Card
   mifare

   CPU Card
   cpu

Test Card

   Click arduino menu *Tools->Port "COMXX" * to check COM port information.
   COM port

Console mode verification

   Open the console, switch to the directory src/client and execute the below command
   LibSC_Client.py com12
   "com12" is the port number assigned by the system.The port number will be different on different computers.
   If the card placed on the card reader module is MIFARE card, you will get the logs similar as the following.
   MIFARE test log
   If the card placed on the card reader module is CPU card, you will get the logs similar as the following.
   CPU card test log

Clone a MIFARE card by LibSC_tools

LibSC_tools is a GUI program, which is developed based on wxPython.You can implement some basic operations on MIFARE card or MIFARE CLONE card via this program.

Please install wxPython3.0-win64-3.0.2.0-py27.exe in advance before using the program. And also remember to select the installation version according to your own system.

Start program

Put the card,which is to be copied, to the effective position of
MFRC522 antenna. Start program and execute "LibSC_Tools.py" in the console.Then enter COM port and MIFARE sector password.
settinginfo
After selecting the corresponding port, click "OK" to jump to program main interface. In the new dialogbox, you can see the current card type according to the item "Card Type" and it will also shows whether the card is cloneable.
main_ui
Currently we only provide Read Card function and CopyUID function. The Write Card function is not available. You can modify the source code (./src) according to your own requirement. Note: The Write Card function can cause the card irremediable defect. Please look through the content of chapter Password and Permission in MIFARE manual.

Copy UID

Click "CopyUID" to copy the UID of the current connected card. Then the following dialogbox will display and the program will be back to the state that no cards are connected.At this time, you can change the card that supports CLONE function.
copy_uid

Write UID

After "CopyUID" operation ,the button's label "CopyUID" will be changed to "WriteUID" automatically,click "WriteUID" to write the copied UID to the target card.
If the target card can not support CLONE function, the following dialogbox will display.
dlg_not_clone
If the target card support CLONE function, the pop-up dialog box will let you confirm the "WriteUID" operation.
WriteUID

Discussion

   If you have any problem on LibSC Reader Module Development Kit, please feel free to post them in our forum. JavaCardOS DISCUSSION

TODO

Verify the below platforms:
    arduino mega256
    arduino mini
    arduino micro