This procedure describes encoding Mifare Contactless cards using CardStudio.
- Card Printers with Smart Card MIFARE contactless encoder option
- CardStudio Professional Edition
- MIFARE contactless cards
CardStudio offers a number of encoding options meant to integrate with Zebra's card printer lines. The Performance, Value, and ZXP series printers all offer an RFID contactless encoder option used to communicate with high frequency cards (13.56 MHz) such as Mifare cards. Supported Mifare card models include Mifare 1k, Mifare 4k, and Mifare UltraLight.
In this article we demonstrate how to use CardStudio to encode and print to Mifare 4k cards. Users must have CardStudio Professional edition; Classic and Standard editions do not have this capability. This solution was tested with a ZXP-3 printer with SDI010 contactless encoder installed. The final CardStudio project is attached to the bottom of this article and can be downloaded as needed.
How to Encode with CardStudio
1. First, open a blank CardStudio project and draw basic elements on the canvas.
2. After drawing your elements, select the file menu > card print. If your printer is not selected, choose the appropriate printer by choosing the red arrow button. When selecting your printer in the subsequent menu, make sure to only check the 'Combined (driver + encoding)' box.
3. Next, select the green contactless button above the drawing canvas. Make sure to select your printer's encoder (SDI010 in the case of the ZXP-3) and choose Mifare Classic from the left-hand side menu. We will now add smart card operations. Below, select the plus (+) button to introduce a new contactless command.
4. Select the 'Wait for card present' command with a timeout of 5 second and hit finish.
5. Select the plus (+) button again and add a 'Present Key' command. We will use Key A. By default, many Mifare cards use the key 0xFFFFFFFFFFFF (12 hexadecimal F's). You may have to enter the Manufacturer Keys Editor section if the key is not already defined for you.
6. Select the plus (+) button again and add a 'Write Block' command. The Mifare 4k memory card is broken into distinct sectors and blocks. Each of the first 32 sectors contains 4 blocks with 16 bytes each. In our example, we'll write to block 1 of sector 0.
7. You will want to edit the write command so that it uses keyboard input as its data source. When sending the job to print, you will be prompted for the value to encode. When done, finish adding the write command and select 'apply'.
8. Navigate to file > card print. Make sure that print and contactless smart card are selected from the operations tab, and hit 'OK' to print.
9. After selecting OK, CardStudio should prompt you for what data you want to encode to the card. We enter 'CARDSTUDIOCARDS' and continue.
10. The print job will be processed and the resulting card should have both the print job applied and Mifare encoding performed. As proof of the successful encoding, we demonstrate the data being read from a third-party encoder with third-party software: