1
Preventing Electrical Damage in ThingMagic Nano Modules
Dan Ratner
7/21/2016
Since the release of the Nano module, we have had a few reports of Nano modules ceasing to work
properly after weeks or months of successful operation in customer-designed readers. The two must
common symptoms are:
The module fails to initialize and will not communicate with the host
The module will initialize, but presents a “firmware CRC error” (Error number 0200h) to the host
indicating that the application firmware is corrupted.
We believe the cause of these failures is memory corruption resulting from the circuitry around the
Nano not following the interface guidelines we give in our User Guide, which are based on requirements
from the supplier of the processor IC we use. There are two areas are of particular concern:
1. Input lines remaining high when the Nano module is turned off
2. Programming pin SWCLK allowed to float if not used
Input Line Requirements
In the Nano Design Guide, we give the following requirements for input lines. (The relevant clause is
underlined for emphasis.)
1.9 V min to indicate high state; 3.7 V max when module is powered up, no
more than 0.3 V higher than Vout when module is turned off to prevent
damage.
“Vout” is the DC voltage that the Nano sources on pin 10 and is nominally 3.3V as long as the DC input
voltage (pins 16 and 17) is greater than 1.8V.
This input voltage restriction applies to both the serial interface input line (“receive” side) and the GPIO
lines. Our recommended carrier board schematic diagram shows a buffer circuit that would enforce this
requirement for the RX input line. We did not take steps to protect the GPIO lines on the carrier board
because they can be used as either inputs or outputs depending on how the Nano is programmed.
We have discovered that the most common “damage” that is caused by violating this requirement is
corruption of the bootloader or application memory. Application memory corruption causes the
module’s bootloader to report a firmware CRC error, indicating that the firmware is not operational. If
Bootloader memory is corrupted, the module may not respond at all. The altered memory cannot be
repaired through user-accessible module interfaces, so the module cannot be repaired in the field.