The latest version of our utility ST25PC-NFC SW relies on the ST25SDK and its libraries that we recently updated. The application runs on Windows and it supports all our ST25 products as well as NFC Forum tags. Since any command is available with only a couple of clicks, and the console shows all the interactions between the tag and the reader in real-time, the program is an intuitive graphical interface for developers experimenting with ISO and NFC commands, regardless of their experience level. Additionally, it supports all ST Discovery kits with ST25R NFC readers or devices from FEIG ELECTRONIC (the MR102, LR1002, and CPR30), common in industrial settings. The tool thus enables engineers to take advantage of our tags with little to no changes to their setup.
Last summer, iOS 13 supported Type-5 Custom Commands, thus incentivizing developers and system makers to take advantage of all the features the standard has to offer. At the time, we delved into the SDK and how it could help engineers working on iOS, Android, Windows, Linux, or macOS applications. The ST25PC-NFC SW aims to make our tags easy to access by offering an intuitive graphical user interface. An exhaustive exposition of all its features is impossible in a single blog post, so we decided to focus on functionalities users can expect with a few mouse clicks. We will also explore how developers can take advantage of our tags, regardless of their IDE or target platforms.
ST25PC-NFC SW: NDEF Editor, Unitary Commands, and More With Just a Right Click
Once users connect the ST25PC-NFC SW to a compatible reader, using a tag is as simple as starting an inventory to make it appear within the software and right-clicking on it to get a list of all available commands for that particular device. For instance, reading an ST25DV-PWM series Dynamic NFC Tags and right-clicking on it opens a contextual menu. Among the choices, a PWM Settings
menu enables users to change the PWM output, such as its frequency, or duty cycle. Developers can write an NDEF message, such as a URI or text, after simply right-clicking and selecting NDEF Editor
. Additionally, there’s an advanced mode to see the formatted hexadecimal content, which is an excellent tool for experts and those wishing to understand what takes place behind the scenes.
The right-click menu opens the door to low-level interactions, such as the Register Editor
, so users can setup the tag at the register level. Similarly, the Unitary Commands
menu enables developers to look at a command individually and explore all its possible parameters. For instance, if users select the readSingleBlock
command, the system opens a dedicated panel showing the hexadecimal code (0x20), the command’s bytes, the request flags (b1 for two sub-carriers, b2 for high-data rate, b3 for inventory, b7 for options, and more), and the Unique ID, among other fields. It’s the entire NFC Forum, ISO14443, and ISO15693 set of commands at your fingertips. It’s also possible to send the command from that interface and look at the console to see the interaction between the tag and the reader in real-time.
ST25PC-NFC SW: A Console and Low-Level Tool for Power Users
The console is another major feature of the ST25PC-NFC SW. If we use the previous example, after reading or writing an NDEF message, the console shows, in real-time, the various blocks involved, as well as the commands sent and received, which is highly valuable to understand what is happening at a low level and potentially debug any issue. Similarly, the source code is available, so developers can also see how we call our APIs or how we use various functions. Developers working on a Java application for Android or PCs can reuse the code as-is. Developers required to call specific APIs, such as iOS developers, can still look at our source code to see how things work behind the scenes and get a solid understanding of a command through the ST25PC-NFC SW’s GUI before implementing it through the Objective-C calls.
The ST25PC-NFC SW and the ST25SDK are such critical tools that we are dogfooding them to our teams. We use this kit and the libraries for all our internal testing, as well as all our work on current and upcoming tags. Put simply, it’s our internal reference tool that we put in the hands of developers worldwide because it helps us shape the innovations we bring to the industry, and we know it’ll ensure other teams do the same. It is such a powerful tool that we disabled the TruST25 Digital Signature for the ST25TV by default. Interested engineers can request the feature to their local ST representative and sign a non-disclosure agreement. It’s our way of keeping a handle on cryptographic keys and better protect the people who are already using this technology.