Essel 000537 User manual

1 | P a g e www.eccel.co.uk
FCC / ISED, PSE, CE approved
RS485 RFID reader
Eccel part: 000537
User manual
Manual version: v1.1
04/08/2022

2 | P a g e www.eccel.co.uk
Table of contents
1. Introduction ..........................................................................................................................................................5
2. Electrical specification ...........................................................................................................................................6
2.1 ABSOLUTE MAXIMUM RATINGS .................................................................................................................................... 6
2.2 OPERATING CONDITIONS............................................................................................................................................. 6
2.3 DC CHARACTERISTICS (VDD = 5 V, TS= 25 °C)................................................................................................................ 6
2.4 CURRENT CONSUMPTION (5V INPUT) ............................................................................................................................ 6
3. Installation ............................................................................................................................................................7
4. Communication interface ......................................................................................................................................8
4.1 OVERVIEW ............................................................................................................................................................... 8
4.2 FRAME STRUCTURE .................................................................................................................................................... 8
4.3 CRC CALCULATION .................................................................................................................................................... 9
4.4 AUTOMATIC ADDRESSING.......................................................................................................................................... 11
5. Commands list.....................................................................................................................................................12
5.1 GENERIC COMMANDS............................................................................................................................................... 12
5.1.1 Acknowledge frame (0x00) ................................................................................................................ 12
5.1.2 Error response (0xFF) ......................................................................................................................... 12
5.1.3 Dummy command (0x01)................................................................................................................... 13
5.1.4 Get tag count (0x02) .......................................................................................................................... 14
5.1.5 Get tag UID (0x03) ............................................................................................................................. 14
5.1.6 Activate TAG (0x04) ........................................................................................................................... 15
5.1.7 Halt (0x05) ......................................................................................................................................... 16
5.1.8 Set key (0x06)..................................................................................................................................... 16
5.1.9 Save keys (0x07)................................................................................................................................. 17
5.1.10 Reboot (0x08)..................................................................................................................................... 17
5.1.11 Get version (0x09) .............................................................................................................................. 17
5.1.12 Get hardware version (0x0A) ............................................................................................................. 18
5.1.13 Set communication settings (0x0B).................................................................................................... 18
5.1.14 Get communication settings (0x0C)................................................................................................... 19
5.1.15 Reset to factory defaults (0x0D) ........................................................................................................ 20
5.1.16 Set LED (0x0E) .................................................................................................................................... 20
5.2 FIRMWARE COMMANDS............................................................................................................................................ 21
5.2.1 Jump to bootloader (0xF1) ................................................................................................................. 21
5.2.2 Firmware start frame (0xF2) .............................................................................................................. 21
5.2.3 Firmware frame (0xF4) ...................................................................................................................... 22
5.2.4 Firmware finish frame (0xF4)............................................................................................................. 22
5.3 MIFARE CLASSICS COMMANDS ................................................................................................................................. 23
5.3.1 Read block (0x20)............................................................................................................................... 23
5.3.2 Write block (0x21).............................................................................................................................. 23
5.3.3 Read value (0x22) .............................................................................................................................. 24
5.3.4 Write value (0x23).............................................................................................................................. 25
5.3.5 Increment/decrement value (0x24) ................................................................................................... 25
5.3.6 Transfer value (0x25) ......................................................................................................................... 26
5.3.7 Restore value (0x26) .......................................................................................................................... 27

3 | P a g e www.eccel.co.uk
5.3.8 Transfer-Restore value (0x27)............................................................................................................ 27
5.4 MIFARE ULTRALIGHT COMMANDS............................................................................................................................. 29
5.4.1 Read page (0x40) ............................................................................................................................... 29
5.4.2 Write page (0x41) .............................................................................................................................. 29
5.4.3 Get version (0x42) .............................................................................................................................. 30
5.4.4 Read signature (0x43) ........................................................................................................................ 30
5.4.5 Write signature (0x44) ....................................................................................................................... 31
5.4.6 Lock signature (0x45)......................................................................................................................... 31
5.4.7 Read counter (0x46)........................................................................................................................... 31
5.4.8 Increment counter (0x47) .................................................................................................................. 32
5.4.9 Password auth (0x48) ........................................................................................................................ 32
5.4.10 Ultralight-C authenticate (0x49) ........................................................................................................ 33
5.4.11 Check Tearing Event (0x4A) ............................................................................................................... 33
5.5 MIFARE DESFIRE COMMANDS ................................................................................................................................. 35
5.5.1 Get version (0x60) .............................................................................................................................. 35
5.5.2 Select application (0x61).................................................................................................................... 35
5.5.3 List application IDs (0x62) .................................................................................................................. 36
5.5.4 List files IDs (0x63) ............................................................................................................................. 36
5.5.5 Authenticate (0x64) ........................................................................................................................... 37
5.5.6 Authenticate ISO (0x65) ..................................................................................................................... 37
5.5.7 Authenticate AES (0x66) .................................................................................................................... 38
5.5.8 Create application (0x67)................................................................................................................... 38
5.5.9 Delete application (0x68) ................................................................................................................... 39
5.5.10 Change key (0x69).............................................................................................................................. 39
5.5.11 Get key settings (0x6A) ...................................................................................................................... 40
5.5.12 Change key settings (0x6B) ................................................................................................................ 40
5.5.13 Create standard or backup data file (0x6C) ....................................................................................... 40
5.5.14 Write data (0x6D) .............................................................................................................................. 41
5.5.15 Read data (0x6E)................................................................................................................................ 41
5.5.16 Create value file (0x6F) ...................................................................................................................... 42
5.5.17 Get value (0x70)................................................................................................................................. 43
5.5.18 Credit file (0x71)................................................................................................................................. 43
5.5.19 Credit file (0x72)................................................................................................................................. 43
5.5.20 Debit file (0x73).................................................................................................................................. 44
5.5.21 Create record file (0x74) .................................................................................................................... 44
5.5.22 Write record (0x75) ............................................................................................................................ 45
5.5.23 Read record (0x76)............................................................................................................................. 45
5.5.24 Clear records (0x77) ........................................................................................................................... 46
5.5.25 Delete file (0x78) ................................................................................................................................ 46
5.5.26 Get free memory (0x79) ..................................................................................................................... 47
5.5.27 Format memory (0x7A) ...................................................................................................................... 47
5.5.28 Commit transaction (0x7B) ................................................................................................................ 47
5.5.29 Abort transaction (0x7C).................................................................................................................... 48
5.6 ICODE (ISO15693) COMMANDS.............................................................................................................................. 49
5.6.1 Inventory start (0x90) ........................................................................................................................ 49
5.6.2 Inventory next (0x91) ......................................................................................................................... 49
5.6.3 Stay quiet (0x92) ................................................................................................................................ 50
5.6.4 Read block (0x93)............................................................................................................................... 50
5.6.5 Write block (0x94).............................................................................................................................. 51

4 | P a g e www.eccel.co.uk
5.6.6 Lock block (0x95)................................................................................................................................ 51
5.6.7 Write AFI (0x96) ................................................................................................................................. 52
5.6.8 Lock AFI (0x97) ................................................................................................................................... 52
5.6.9 Write DSFID (0x98)............................................................................................................................. 53
5.6.10 Lock DSFID (0x99)............................................................................................................................... 53
5.6.11 Get System Information (0x9A).......................................................................................................... 53
5.6.12 Get multiple BSS (0x9B) ..................................................................................................................... 54
5.6.13 Password protect AFI (0x9C) .............................................................................................................. 54
5.6.14 Read EPC (0x9D)................................................................................................................................. 55
5.6.15 Get NXP System Information (0x9E) .................................................................................................. 55
5.6.16 Get random number (0x9F)................................................................................................................ 56
5.6.17 Set password (0xA0) .......................................................................................................................... 56
5.6.18 Write password (0xA1) ...................................................................................................................... 57
5.6.19 Lock password (0xA2) ........................................................................................................................ 57
5.6.20 Protect page (0xA3) ........................................................................................................................... 58
5.6.21 Lock page protection (0xA4) .............................................................................................................. 59
5.6.22 Get multiple block protection status (0xA5) ...................................................................................... 59
5.6.23 Destroy (0xA6) ................................................................................................................................... 60
5.6.24 Enable privacy (0xA7) ........................................................................................................................ 60
5.6.25 Enable 64-bit password (0xA8) .......................................................................................................... 60
5.6.26 Read signature (0xA9)........................................................................................................................ 61
5.6.27 Read config (0xAA)............................................................................................................................. 61
5.6.28 Write config (0xAB)............................................................................................................................ 62
5.6.29 Pick random ID (0xAC) ....................................................................................................................... 62
6. Compliance..........................................................................................................................................................64
7. Labelling ..............................................................................................................................................................65
8. Mechanical dimensions .......................................................................................................................................66

5 | P a g e www.eccel.co.uk
1. Introduction
Features
Low cost RFID Reader with MIFARE®
Classic® in 1K, 4K memory, ICODE,
MIFARE Ultralight®, MIFARE DESFire®
EV1/EV2, MIFARE Plus® support
Over-the-Air lifetime updates
Command interface via RS485
Baud rate up to 115200 bps
High transponder read and write
speed
-25°C to 85°C operating range
Multiple internal reference voltages
RoHS compliant
CE
PSE
FCC / ISED Full modular approval
Applications
Access control
Monitoring goods
Approval and monitoring
consumables
Pre-payment systems
Managing resources
Contact-less data storage systems
Evaluation and development of
RFID systems
Description
This RS485 FCC/ISED/PSE/RED approved reader is CE compliant
and has full modular approval from the FCC and ISED for use in
equipment supplied and fitted in the USA and Canada. Eccel
provides free lifetime updates via a firmware file download from
our website and programming of the unit via our free PC app using
the RS485 communication port.
RS485 communications make the device suitable for industrial
applications in noisy environments and/or where long
communication lines are required. It provides multi-unit
configurable addressing and integrated end of line termination
impedance selection.
RS485 in and out ports are provided using Molex, Pico-Clasp family
connectors.
The device provides “out of the box” RFID capability for integrating
into customer equipment. A powerful dual-core, 32-bit processor
enables easy host communication to a wide range of NFC
transponders with simple host commands and also powerful
autonomous stand-alone capability.

6 | P a g e www.eccel.co.uk
2. Electrical specification
2.1 Absolute maximum ratings
Stresses beyond the absolute maximum ratings listed in the table below may cause permanent damage to the
device. These are stress ratings only, and do not refer to the functional operation of the device that should
follow the recommended operating conditions.
Symbol
Parameter
Min
Max
Unit
T
S
Storage temperature
-
40
+125
°C
T
A
Ambient temperature
-
40
+85
°C
V
DDMAX
Supply voltage
4.5
5.5
V
Table 2-1. Absolute maximum ratings
2.2 Operating conditions
Symbol
Parameter
Min
Typ
Max
Unit
T
S
Operating temperature
-
25
25
+85
°C
H
Humidity
5
60
95
%
V
DD
Supply voltage
4.75
5
5.
25
V
Table 2-2. Operating conditions
2.3 DC characteristics (VDD = 5 V, TS= 25 °C)
Symbol
Parameter
Min
Typ
Max
Unit
V
ORS485
V output RS
485
(RS
485
_TX pin)
-
5
-
V
V
IRS485
V input RS
485
(RS
485
_RX pin)
-
7
-
+
1
2
V
Table 2-3. DC characteristics
2.4 Current consumption (5V input)
Symbol
Parameter
Typ
Max
Unit
IPN_RFOFF RF field off 20 mA
IPN_RFON RF field on 6012502mA
Table 2-4. Current consumption
1Dedicated NTag216 tag may increase current consumption up to 90mA and value depends on distance and
location between tag and antenna (higher consumption is when tag is closer to the antenna).
2Any metal object located in electromagnetic flux will increase current consumption.

7 | P a g e www.eccel.co.uk
3. Installation
The RS485 RFID Reader must be connected to the RS485 bus using a dedicated cable. Pinout of the connectors
is described below. The connector used on the Reader is 10 pin MOLEX 5015681007.
Devices can be connected in a chain, so one device can be connected to another one.
The maximum number of devices in a chain is four.
Figure 3-1. Connectors pinout.
GPIO_XX corresponds to GPIO33 on the MCU
GPIO_YY corresponds to GPIO21 on the MCU.
Both GPIO’s can be configured by the user as an INPUT or an OUTPUT using the RS485 interface commands
contained later in this User Manual..
Note that connectors are described as INPUT and OUTPUT but they can be used interchangeably.
The mating Molex receptacle and terminal are Molex part numbers 5013301000 and 5013340100.

8 | P a g e www.eccel.co.uk
4. Communication interface
4.1 Overview
The RS485 RFID Reader can be controlled using a simple binary protocol available over RS485. This binary
protocol was designed to be as simple as possible to implement on the host side whilst still providing robust
communication.
The default baud rate is 115200 bps, and can be changed from 9600 up to 115200.
Other protocol settings are:
data bits: 8,
parity: None,
Stop bits: 1,
flow control: None.
4.2 Frame structure
Communication with the module is symmetric. So, frames sent to and received from the module are coded in
the same way. All frames contain fields as described in the table below. The reader should answer only to
commands with an address byte equal to its own device address.
The length of the command is the sum of the Address byte + Command body + 2 bytes CRC.
Frame STX
Command
length
Command length
XOR
Address
byte Command body CRC16
1
-
byte
2
-
bytes
2
-
bytes
1
-
byte
1
-
byte
n
-
bytes
2
-
bytes
0xF5
Command
body length,
maximum
value 1024,
LSB
XOR with 0xFFFF
of command
length bytes, LSB
Address
byte Command Command
parameters
Address +
Command
body CRC,
LSB

9 | P a g e www.eccel.co.uk
4.3 CRC calculation
CRC is a 16-bit CRC-CCITT with a polynomial equal to 0x1021. The initial value is set to 0xFFFF, the input data
and the output CRC is not negated. In addition, no XOR is performed on the output value. Example C code is
shown below.
static const uint16_t CCITTCRCTable [256] = {
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5,
0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b,
0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210,
0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c,
0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401,
0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b,
0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6,
0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738,
0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5,
0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969,
0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96,
0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc,
0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03,
0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd,
0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6,
0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a,
0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb,
0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1,
0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c,
0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2,
0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb,
0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447,
0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8,
0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2,

10 | P a g e www.eccel.co.uk
0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9,
0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827,
0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c,
0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0,
0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d,
0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07,
0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba,
0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74,
0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 };
static uint16_t GetCCITTCRC(const uint8_t* Data, uint32_t Size) {
uint16_t CRC;
uint16_t Temp;
uint32_t Index;
if (Size == 0) {
return 0;
}
CRC = 0xFFFF;
for (Index = 0; Index < Size; Index++){
Temp = (uint16_t)( (CRC >> 8) ^ Data[Index] ) & 0x00FF;
CRC = CCITTCRCTable[Temp] ^ (CRC << 8);
}
return CRC;
}

11 | P a g e www.eccel.co.uk
4.4 Automatic addressing
The device provides automatic addressing for boards connected together in the chain.
The procedure requires modified tags with information containing the address and RS485 line termination
information.
It’s recommended to enable termination on the last reader in the chain.
The procedure is as below:
1. At power up, the Reader discovers nearby tags.
2. The Reader should read (header size) bytes from each discovered tag until it finds an address tag. Verify
the header CRC.
3. If any address tags are discovered containing valid configuration data (address and termination) in its
payload, the Reader will store that configuration in NVM (non-volatile memory) and blink the status LED
green.
4. If after 2 seconds no nearby address tags containing valid configuration payloads are discovered, load
configuration data from non-volatile memory (NVM) if such data exists, and blink the LED white.
5. If no configuration data exists in NVM, The Reader will load the default configuration (address: 0x80,
termination: ON) and blink the LED red.

12 | P a g e www.eccel.co.uk
5. Commands list
Commands are exchanged with the module using the protocol described above. All frames contain a command
byte and command arguments. Depending upon the command, arguments can be optional, so a command
length can be in the range from 1-1024 bytes.
5.1 Generic commands
5.1.1 Acknowledge frame (0x00)
This is the response message from the module to the host. This frame always contains 1-byte with command
ID and optional arguments.
Command description
Argument
Size
Value
Description
Command ID
1
0x00
Related command ID
1
X
Related command code
Other parameters n X
Depending on the requested command this parameter is n
-
bytes
long and contains parameters
Example:
HOST=>READER: 0x02 – GET_TAG_COUNT command
READER=>HOST: 0x00 - ACK byte
0x02 - related command code GET_TAG_COUNT
0x01 – argument for GET_TAG_COUNT – 0x01 – one tag
detected
5.1.2 Error response (0xFF)
In case of any problems with executing the command, the device can send back ERROR response with error
number returned by the RFID chip. The most common errors are described below.
If the host sends an Error frame without argument to the reader, then repeat last frame.
Command description
Argument
Size
Value
Description
ACK
1
0x00
Command ID
(optional) 1
0x01
DUMMY_COMMAND
Example:
HOST=>READER: 0xFF – Error byte
READER=>HOST: XX XX XX … - last command send to the host
Example:
READER=>HOST: 0xFF – Error byte
0x01 - related command code DUMMY_COMMAND
0x02 – layer byte
0x01 – Error number

13 | P a g e www.eccel.co.uk
Error list:
0x01 - No reply received, e.g. PICC removal
0x02 - Wrong CRC or parity detected
0x03 - A collision occurred
0x04 - Attempt to write beyond buffer size
0x05 - Invalid frame format
0x06 - Received response violates protocol
0x07 - Authentication error
0x08 - A Read or Write error occurred in RAM/ROM or Flash
0x09 - The RC sensors signal over heating
0x0A - Error due to RF.
0x0B - An error occurred in RC communication
0x0C - A length error occurred
0x0D - An resource error
0x0E - TX Rejected sanely by the counterpart
0x0F - RX request Rejected sanely by the counterpart
0x10 - Error due to External RF
0x11 - EMVCo EMD Noise Error
0x12 - Used when HAL ShutDown is called
0x20 - Invalid data parameters supplied (layer id check failed)
0x21 - Invalid parameter supplied
0x22 - Reading/Writing a parameter would produce an overflow
0x23 - Parameter not supported
0x24 - Command not supported
0x25 - Condition of use not satisfied
0x26 - key error occurred
0x7F - An internal error occurred
5.1.3 Dummy command (0x01)
This command takes no arguments. It is used to check that the module alive. The module replies to this
command with an ACK response and no optional parameters.
Command description
Argument
Size
Value
Description
Command ID
1
0x01
D
UMMY_COMMAND
Response
description
ACK
1
0x00
Command ID
1
0x01
D
UMMY_COMMAND
Example:
HOST=>READER: 0x01 –DUMMY_COMMAND
READER=>HOST: 0x00 - ACK byte
0x01 - related command code DUMMY_COMMAND

14 | P a g e www.eccel.co.uk
5.1.4 Get tag count (0x02)
The command send to the module to read how many TAGS are in range of the antenna no matter which
technology of tag, so it returns the total amount present of all supported tag types. The maximum number
for this standard discovery loop is 5. If you want to perform a full inventory command for ICODE tag types
please refer to ICODE_INVENTORY_xxx commands.
After this command, the module holds all UID’s and basic information about TAGs present in volatile memory
and the user can read it using the GET_TAG_UID command.
Command description
Argument
Size
Value
Description
Command ID
1
0x02
GET_TAG_COUNT
Response
description
ACK
1
0x00
Command ID
1
0x02
GET_TAG_COUNT
TAG count
1
X
Maximum discovered tags is 5
Example:
HOST=>READER: 0x02 – GET_TAG_COUNT
READER=>HOST: 0x00 - ACK byte
0x02 - related command code GET_TAG_COUNT
0x01 – number of tags in range
5.1.5 Get tag UID (0x03)
This command should be executed after GET_TAG_COUNT frame to read information about the tag.
Command description
Argument
Size
Value
Description
Command ID
1
0x03
GET_TAG_UID
TAG idx 1 X
TAG
index in module memory, must me less than number of tags
reported by GET_TAG_COUNT command
Response
description
ACK
1
0x00
Command ID
1
0x03
GET_TAG_UID
TAG type 1 X
0x01
-
MIFARE
U
ltralight
0x02 - MIFARE Ultralight-C
0x03 - MIFARE Classic
0x04 - MIFARE Classic 1k
0x05 - MIFARE Classic 4k
0x06 - MIFARE Plus
0x07 - MIFARE Plus 2k
0x08 - MIFARE Plus 4k
0x09 - MIFARE Plus 2k sl2
0x0A - MIFARE Plus 4k sl2
0x0B - MIFARE Plus 2k sl3
0x0C - MIFARE Plus 4k sl3
0x0D - MIFARE DESFire

15 | P a g e www.eccel.co.uk
0x0F
-
JCOP
0x10 – MIFARE Mini
0x21 – ICODE Sli
0x22 – ICODE Sli-S
0x23 – ICODE Sli-L
0x24 – ICODE Slix
0x25 – ICODE Slix-S
0x26 – ICODE Slix-X
0x27 – ICODE Slix2
0x28 – ICODE DNA
TAG parameter 1 X
SAK
-
byte for
MIFARE
family tags
DSFID - byte for ICODE family tags
UID
N
X
UID bytes. Max length is 8.
Example:
HOST=>READER: 0x03 – GET_TAG_UID
0x00 – TAG idx
READER=>HOST: 0x00 - ACK byte
0x03 - related command code GET_TAG_UID
0x01 – MIFARE tag type
0x20 – tag parameter:
SAK byte for MIFARE family tags
DSFID byte for ICODE family tags
0x74 0x54 0x12 0x65 – tag UID bytes
5.1.6 Activate TAG (0x04)
The command activates a TAG after the discovery loop if more than one TAG is detected.
Command description
Argument
Size
Value
Description
Command ID
1
0x04
ACTIVATE_TAG
TAG idx 1 X
TAG
index in module memory, must me less than number of tags
reported by GET_TAG_COUNT command
Response
description
ACK
1
0x00
Command ID
1
0x04
ACTIVATE_TAG
Example:
HOST=>READER: 0x04 – ACTIVATE_TAG
0x00 – TAG idx
READER=>HOST: 0x00 - ACK byte
0x04 - related command code ACTIVATE_TAG

16 | P a g e www.eccel.co.uk
5.1.7 Halt (0x05)
The Halt command takes no arguments. It halts the tag and turns off the RF field. It must be executed at the
end of each operation on a tag to disable the antenna and reduce the power consumption.
Command description
Argument
Size
Value
Description
Command ID
1
0x05
HALT
Response
description
ACK
1
0x00
Command ID
1
0x05
HALT
Example:
HOST=>READER: 0x05 – HALT
READER=>HOST: 0x00 - ACK byte
0x05 - related command code HALT
5.1.8 Set key (0x06)
This command sets a KEY in Key Storage Memory on a selected slot. Set key can be used for all RFID functions
needing authorization like e.g. READ/WRITE memory on the TAG etc. This command changes a key in volatile
memory, so if the user wants to save it permanently and load automatically after boot-up, then the user should
use the CMD_SAVE_KEYS command.
Command description
Argument
Size
Value
Description
Command ID
1
0x06
SET_KEY
Key number
1
0
-
4
Key number in Key Storage Memory.
Key type 1 0 – 6
0x00
-
AES 128 Key
. (length = 16 bytes)
0x01 - AES 192 Key. (length = 24 bytes)
0x02 - AES 256 Key. (length = 32 bytes)
0x03 - DES Single Key. (length = 16 bytes)
0x04 - 2 Key Triple Des. (length = 16 bytes)
0x05 - 3 Key Triple Des. (length = 24 bytes)
0x06 - MIFARE (R) Key. (length = 12 bytes, key A+B)
K
ey
12
-
32
X
Key bytes. Length must match to the type.
Response
description
ACK
1
0x00
Command ID
1
0x06
SET_KEY
Example:
HOST=>READER: 0x06 – SET_KEY
0x00 – Key number
0x06 – MIFARE key type
0x00 0x00 0x00 0x00 0x00 0x00
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF – Key bytes
READER=>HOST: 0x00 - ACK byte
0x06 - related command code SET_KEY

17 | P a g e www.eccel.co.uk
5.1.9 Save keys (0x07)
This command should be called if the user wants to save keys changed using the SET_KEY command in the
module non-volatile memory. Saved keys will be automatically loaded after power up or reboot.
Command description
Argument
Size
Value
Description
Command ID
1
0x07
SAVE_KEYS
Response
description
ACK
1
0x00
Command ID
1
0x07
SAVE_KEYS
Example:
HOST=>READER: 0x07 – SAVE_KEYS
READER=>HOST: 0x00 - ACK byte
0x07 - related command code SAVE_KEYS
5.1.10 Reboot (0x08)
This command requests a software reboot for the reader. After this command the device will not accept any
protocol commands for 1 second.
Command description
Argument
Size
Value
Description
Command ID
1
0x08
REBOOT
Response
description
ACK
1
0x00
Command ID
1
0x08
REBOOT
Example:
HOST=>READER: 0x08 – REBOOT
READER=>HOST: 0x00 – ACK byte
0x08 – related command code REBOOT
5.1.11 Get version (0x09)
This command requests a version string from the device.
Command description
Argument
Size
Value
Description
Command ID
1
0x09
GET_VERSION
Response
description
ACK
1
0x00
Command ID
1
0x09
GET_VERSION
Version string X X
Version string, contains major and minor version and build data
and time e.g.: 1.1 Jan 18 2019 15:35:03

18 | P a g e www.eccel.co.uk
Example:
HOST=>READER: 0x09 – GET_VERSION
READER=>HOST: 0x00 – ACK byte
0x09 – related command code GET_VERSION
0x31 0x2e 0x31 0x20 0x4a 0x61 0x6e 0x20
0x31 0x38 0x20 0x32 0x30 0x31 0x39 0x20
0x31 0x35 0x3a 0x33 0x35 0x3a 0x30 0x33 – version
string bytes
5.1.12 Get hardware version (0x0A)
This command requests a hardware version string from the device.
Command description
Argument
Size
Value
Description
Command ID
1
0x0A
GET_HW_VERSION
Response
description
ACK
1
0x00
Command ID
1
0x0A
G
ET_HW_VERSION
Version string X X
Version
string, contains product name and major and minor
hardware revision e.g.: RS485_v1.0
Example:
HOST=>READER: 0x0A – GET_HW_VERSION
READER=>HOST: 0x00 – ACK byte
0x0A – related command code GET_HW_VERSION
0x42 0x69 0x6f 0x52 0x61 0x64 0x5f 0x52 0x53 0x34
0x35 0x5f 0x76 0x31 0x2e 0x30 – version string bytes
5.1.13 Set communication settings (0x0B)
This command sets the new communication settings of the RS485 bus. The reader sends an ACK using the old
settings, then sets the new RS485 communication parameters. The command also includes information about
bus termination. If the termination byte is set to 0x01, the reader must terminate the bus. The host application
should wait at least 500ms before sending another command. The new RS485 module own address is stored
in NVM.
Command description
Argument
Size
Value
Description
Command ID
1
0x0B
SET_COMM_SETTINGS
Baudrate ID 1 X
0x00
–
4800kbps
0x01 – 9600kbps
0x02 - 19200 kbps
0x03 - 38400 kbps
0x04 - 57600 kbps
0x05 - 115200 kbps (factory default)

19 | P a g e www.eccel.co.uk
Bus address
1
X
Bus address byte. Default value is 0x80
Termination 1
X
0x00
–
termination disabled
0x01 – termination enabled
Short name
4
X
Four ASCII bytes with device description
Response
description
ACK
1
0x00
Command ID
1
0x0B
SET_COMM_SETTINGS
Example:
HOST=>READER: 0x0B – SET_COMM_SETTINGS
0x05 – baudrate 115200
0x81 – new RS485 module own address
0x01 – termination
0x31 0x32 0x33 -x34 – Short name
READER=>HOST: 0x00 – ACK byte
0x0B – related command code SET_COMM_SETTINGS
5.1.14 Get communication settings (0x0C)
This command gets communication settings.
Command description
Argument
Size
Value
Description
Command ID
1
0x0C
GET_COMM_SETTINGS
Response
description
ACK
1
0x00
Command ID
1
0x0C
GET_COMM_SETTINGS
Baudrate ID 1 X
0x00
–
4800kbps
0x01 – 9600kbps
0x02 - 19200 kbps
0x03 - 38400 kbps
0x04 - 57600 kbps
0x05 - 115200 kbps (factory default)
Bus address
1
X
Bus address byte. Default
value is 0x80
Termination 1 X
0x00
–
termination disabled
0x01 – termination enabled
Short name
4
X
Four ASCII bytes with device description
Example:
HOST=>READER: 0x0C – GET_COMM_SETTINGS
READER=>HOST: 0x00 – ACK byte
0x0C – related command code GET_COMM_SETTINGS
0x05 – baudrate 115200
0x81 – bus address 0x81
0x01 – termination enabled
0x31 0x32 0x33 -x34 – Short name

20 | P a g e www.eccel.co.uk
5.1.15 Reset to factory defaults (0x0D)
This command resets settings to factory default. The reader sends an ACK using the old settings, then reboots.
The host application should wait at least 1000ms before sending another command.
Command description
Argument
Size
Value
Description
Command ID
1
0x0D
FACTORY_RESET
Response
description
ACK
1
0x00
Command ID
1
0x0D
FACTORY_RESET
Example:
HOST=>READER: 0x0D – FACTORY_RESET
READER=>HOST: 0x00 – ACK byte
0x0D – related command code FACTORY_RESET
5.1.16 Set LED (0x0E)
This command turns on/off the external LED. If the On/Off flag is set to 2, then the host must provide a timeout
for the LED (two bytes LSB). The device turns on the LED for the specified timeout and then turns it off.
Command description
Argument
Size
Value
Description
Command
ID
1
0x0E
SET_LED
On/Off flag 1 X
2
–
turn on for specified timeout
1 – turn on LED
0 – turn off LED
On timeout
2
X
Unsigned 16
-
bit
timeout
value (LSB first)
in milliseconds
Response
description
ACK
1
0x00
Command ID
1
0x0E
SET_LED
Example:
HOST=>READER: 0x0E – SET_LED
0x01 – LED on
READER=>HOST: 0x00 - ACK byte
0x0E - related command code SET_LED
Table of contents