Smart Card Solution
- R502 Manual
JavaCard API Samples
Java Card Specification
Smart Card Solution
JavaCard API Samples
Java Card Specification
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.
- arduino core board
- MFRC522 antenna 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
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
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).
1.Install arduino development environment.
2.Install serial device driver. Please download the cooresponding driver according to your platform and requirement.
3.Please refer 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.
Support arduino 1.6,1.7,1.8 or above. If you have any question, please post it in the forum.
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.
1.Download CH341SER.zip, and decompress.
2.Insert the device.
3.Specify where the driver is located.
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.
Please refer to the following picture to complete the connection.
You can also refer to this article from Arduino official website.
If you want to view the real pictures of wire connection ,please refer to the following picture.
Decompress MFRC522-1.2.0.zip and copy the content to 'X:\***\Arduino\libraries'
`e.g. D:\Program Files (x86)\Arduino\libraries`
Copy all the content of src\Firmware to 'X:\***\Arduino\libraries\MFRC522'
`e.g. D:\Program Files (x86)\Arduino\libraries\MFRC522`
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*.
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`
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.
Open the console, switch to the directory src/client and execute the below command
“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
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-220.127.116.11-py27.exe in advance before using the program. And also remember to select the installation version according to your own system.
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.
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.
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.
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.
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.
If the target card support CLONE function, the pop-up dialog box will let you confirm the “WriteUID” operation.
If you have any problem on LibSC Reader Module Development Kit, please feel free to post them in our forum. JavaCardOS DISCUSSION
Verify the below atforms: