Chameleon-Mini
ISO14443A Reader Functionality

The ChameleonMini is able to act as an ISO 14443A reader. This page describes how to use this configuration (See Configurations) correctly.

Supported Commands

Using the ISO 14443A reader configuration enables the usage of some commands that are only available within this configuration.

Note
Technically, the SEND and SEND_RAW commands are also timeout commands, but they end successfully (either with NO DATA or the response) nearly immediately on every call.
Each of the following commands returns INVALID COMMAND USAGE on a non-reader configuration.
Warning
The reader field is only turned on if this is necessary. Some commands deactivate the reader field after they are done, some do not deactivate the reader field after finishing. Please be aware, that the reader field takes a massive amount of energy and thus the voltage of the battery can drop to a critical level fastly. If not mentioned differently, all of the commands below deactivate the reader field after work.

SEND <BYTEVALUE>

There are two cases what is done, depending on the parameter:

  1. If the parameter is one byte, no parity bits are added, since this must be a short frame command. In this case the seven least significant bits are sent.
  2. If the parameter consists of more than one byte, parity bits are added and afterwards the whole sequence is sent.

After sending, the ChameleonMini waits for an answer and returns either

In each case, the ChameleonMini code 101:OK WITH TEXT is returned.

Examples

Warning
This command does not deactivate the reader field after finishing in order to make it possible to keep up the conversation with the card.

SEND <2-BYTEVALUE> <BYTEVALUE>

Does the same like the command with only one parameter, but the first parameter indicates the to-be-sent bit count.

Warning
If the bit count parameter is neither 7 or a multiple of 8, no parity bits will be appended, but the remaining functionality is the exact same!

Examples

Warning
This command does not deactivate the reader field after finishing in order to make it possible to keep up the conversation with the card.

SEND_RAW <BYTEVALUE>

Sends the given byte sequence. The ChameleonMini assumes that the parameter has the parity bits already appended and thus calculates the bit count itself:

After sending, the ChameleonMini waits for an answer and returns either

Examples

Warning
This command does not deactivate the reader field after finishing in order to make it possible to keep up the conversation with the card.

SEND_RAW <2-BYTEVALUE> <BYTEVALUE>

Does the same like the command with only one parameter, but the first parameter indicates the to-be-sent bit count.

Examples

Warning
This command does not deactivate the reader field after finishing in order to make it possible to keep up the conversation with the card.

GETUID

This is a timeout command. It tries to obtain the UID from a card that is in reader range and returns it.

If this command is called within the reader configuration, it either ends up returning 101:OK WITH TEXT and the UID or with a timeout (no matter if on setting/configuration change or on real timeout).

DUMP_MFU

This is a timeout command. It tries to read the whole content of a MiFare Ultralight card that is in reader range and returns the content.

If this command is called within the reader configuration, it either ends up returning 101:OK WITH TEXT and the card content in 4 lines (each line contains 16 bytes) or with a timeout (no matter if on setting/configuration change or on real timeout).

IDENTIFY

This is a timeout command. Tries to identify the type of a card in reader range and returns the type.

If this command is called within the reader configuration, it ends in one of three ways:

  1. Return code 101:OK WITH TEXT, the card type and ATQA value, UID value and SAK value of the highest cascade level.
  2. Return code 101:OK WITH TEXT, the information that this card type is unknown to the ChameleonMini ("Unknown card.") and ATQA value, UID value and SAK value of the highest cascade level.
  3. Timeout (no matter if on setting/configuration change or on real timeout).

AUTOCALIBRATE

This is a timeout command. Tries to select to a card with every threshold within a range with a specific step size and chooses the best threshold.

If this command is called within the reader configuration, it ends in one of the following ways:

  1. Return code 101:OK WITH TEXT and a list of the tested thresholds with a + for every threshold where the select protocol was successful and a - if the select protocol was not successfully finished.
  2. Timeout (no matter if on setting/configuration change or on real timeout).
Note
If no working threshold was found, the threshold is reset to the standard threshold.