Design Guide
Application Firmware
A DIVISION OF TRIMBLE
Firmware Overview 63
Application Firmware 
The application firmware contains the tag protocol code along with all the command 
interpreters to set and get system parameters and perform tag operations. The 
application firmware is started automatically upon power up. 
Programming the ThingMagic Nano
Applications to control the ThingMagic Nano module are written using the high level 
MercuryAPI. The MercuryAPI supports Java, “.NET” and C programming environments. 
The MercuryAPI Software Development Kit (SDK) contains sample applications and 
source code to help developers get started demonstrating and developing functionality. 
For more information on the MercuryAPI see the MercuryAPI Programmers Guide and 
the MercuryAPI SDK, available on the ThingMagic website.
Upgrading the ThingMagic Nano
New features developed for the ThingMagic Nano are made available through an 
Application Firmware upgrade, released with corresponding updates to the MercuryAPI to 
make use of the new features. The MercuryAPI SDK contains applications which will 
upgrade firmware for all ThingMagic readers and modules, as well as source code that 
allows developers to build this functionality into their custom applications. 
Verifying Application Firmware Image
The application firmware has an image level Cyclic Redundancy Check (CRC) embedded 
in it to protect against corrupted firmware during an upgrade process. If the upgrade is 
unsuccessful, the CRC will not match the contents in flash. When the bootloader starts 
the application firmware, it first verifies that the image CRC is correct. If this check fails, 
then the boot loader does not start the application firmware and an error is returned.










