Data Sheet
Copyright © Parallax Inc.  RFID Read/Write Module, Serial & USB (#28440 / 28540)  v2.0 2/22/2018 Page 7 of 10 
Error Checking 
The RFID Read/Write Module responds to each command with a single-byte status/error code in 
hexadecimal format followed by any returned data, if applicable. In most standard implementations, the 
user will repeatedly call the desired function until the ERR_OK status byte is returned, indicating that the 
function successfully completed with no errors.  
For scenarios where more error checking is desired, the RFID Read/Write Module provides detailed error 
code values: 
Value 
Name 
Description 
0x01
ERR_OK 
No Errors
0x02
ERR_LIW 
Could not find a Listen Window (LIW) from the tag
0x03 
ERR_NAK
Received a No Acknowledge (NAK), possible communication error or 
invalid command/data 
0x04 
ERR_NAK_OLDPW
Received a No Acknowledge (NAK) sending the current password during 
the RFID SetPass command, possible incorrect password 
0x05 
ERR_NAK_NEWPW
Received a No Acknowledge (NAK) sending the new password during the 
RFID SetPass command 
0x06 
ERR_LIW_NEWPW
Could not find a Listen Window (LIW) from the tag after setting the new 
password during the RFID SetPass command 
0x07
ERR_PARITY 
Parity error when reading data from the tag
Tag Details 
The RFID Read/Write Module works exclusively with the EM Microelectronics-Marin SA EM4x50 1kbit R/W 
transponder tags at 125 kHz. A variety of different tag types and styles exist with the most popular made 
available from Parallax. 
The memory map and corresponding address locations for the EM4x50 tag are shown below. Each 
address holds a 32-bit (4 byte) value. 
Address (decimal) 
Register 
Description 
0
ADDR_Password 
Password (not readable)
1
ADDR_Protect 
Protection word
2
ADDR_Co
ntrol
Control word
3-31
User Data Area 
Non-volatile EEPROM storage area for user data (116 bytes)
32
ADDR_Serial 
Device serial number (unique, read-only)
33
ADDR_DeviceID 
Device identification (used to identify tag family, read-only)
The User Data Area can be optionally secured using a 32-bit password to allow only authorized read and 
write operations. This password is stored in 
ADDR_Password
  and can be changed by the user via the 
RFID_SetPass command with knowledge of the current password. For security reasons, it cannot be read. 
As such, if your tag is password-protected and you forget the tag’s password, you will be unable to 
retrieve the contents of the User Data Area.  
ADDR_Protect
  and 
ADDR_Control
 are modified directly by the RFID Read/Write Module and, in normal 
scenarios, should not be changed by the user.  










