TapNLink, from the French company IoTize, is the first RF module that directly connects to a microcontroller’s (MCU) debug port to significantly facilitate development and offers an original approach to design. In a nutshell, the device, which uses ST’s ST25DV-I2C NFC tag, enables one mobile terminal to read and write data on another device’s MCU. This approach is so original, it won Best Emerging Concept at the 2018 NFC Forum Innovation Awards last month. TapNLink can also combine NFC and Bluetooth Low Energy (BLE) so users can switch from one to the other when necessary. We thus thought it’d be interesting to sit down with IoTize to learn more about this promising technology that its creators describe as “instant and easy connectivity for your embedded application.”
The TapNLink module turns foundational design principles on their heads because instead of developing an RF stack and creating an application that will conform to complex standards to send data through a wireless component, TapNLink just grabs data and propagates it, bypassing all the complexities usually inherent to such operations. This is probably one of the greatest and yet most misunderstood consequences of such a device. Companies often expect engineers to know everything about electronics, RF, antenna design, and a myriad of other fields that govern the transport of packets wirelessly from one device to the next. IoTize offers a much more realistic approach with a solution that handles a lot of these issues so designers can focus on what they do best, and we are proud that the ST25DV-I2C is one of the pieces at the center of this technology.
TapNLink in Your Embedded System
Connecting the TapNLink to the debug port of an embedded system is a simple way of creating an almost instantaneous proof-of-concept on existing hardware. Engineers don’t need to write new stacks, change the PCB, or create a new design to use NFC and BLE. They can take an existing product, plug in a TapNLink, and show what it means to take part in the IoT revolution. As Francis Lamotte, Founder of IoTize and inventor of the concept, told us:
“TapNLink can compress the time scale that it takes to develop your proof-of-concept and move to a viable application. We are also inverting design principles so the host machine becomes a slave to the RF module and smartphone application to get data faster and more easily, without any major changes to the hardware or existing code.”
Beyond the Debug Port
However, using the MCU’s debug port is sometimes impossible. In certain cases, engineers must work with closed designs that can’t allow such operations. As a result, IoTize ensured that its product could also connect to two General Purpose Inputs/Outputs (GPIOs), thus enabling teams to benefit from the same feature set, even if the debug port is unavailable. This method uses a “serial agent” similar to the debugging technology present on the STM32 MCUs, with the added advantages of being compatible with any MCU and bringing additional security functionalities. Engineers will have to re-link the target firmware with IoTize’s “serial agent,” but it will only be a matter of hours and developers still don’t have to write new code for their system.
Even if a TapNLink with NFC-only does exist, most engineers will probably adopt the NFC-BLE Primer since Bluetooth Low Energy will facilitate the development of a prototype that can send data to a mobile terminal, and demonstrate cloud features. On the other hand, for many local interactions with the system, such as configuring specific parameters, updating the firmware, or verifying an installation, using NFC is a simpler and more practical approach, thanks in part to the ST25DV-I2C tag that’s present in the TapNLink.
ST25DV-I2C in the TapNLink
Our ST25DV NFC tags have a dynamic – also called dual – interface, meaning that unlike traditional tags, it’s possible to use the module through the NFC or I2C protocols, which enables new applications that would have previously required more complicated and costly solutions. In the case of the TapNLink, the use of the dual interface is original because the module acts as a middleman between the mobile terminal reading the NFC tag and the MCU from the embedded system.
IoTize also uses the 64 kBit EEPROM version of the ST25DV-I2C, which at launch was the highest capacity nonvolatile memory for an NFC Tag. The memory stores a link to the Google Play Store, so users accessing the module for the first time automatically get the right mobile application without waking up the whole system or requiring more power than what the smartphone provides as it reads the NFC tag. The TapNLink also uses the tag’s internal memory to accelerate communication from the host MCU to the mobile device, and vice versa. Furthermore, another critical feature of the ST25DV-I2C is its fast transfer mode, thanks to its 256-byte buffer that serves as a cache to optimize operations. Steve Gussenhoven, IoTize Marcom Manager, actually explained that:
“When we demo the TapNLink to the public, we find that the ST25DV-I2C is very responsive. Wake-up times are surprisingly fast, and it’s really a tap-and-connect experience, rather than a tap-hold-connect feeling. We did spend time optimizing and validating our antenna design to offer optimal performances to our customers, but it’d amount to nothing if the ST tag didn’t also perform so well.”
Security in Your Device
TapNLink takes care of the wireless modules, antenna design, and performance optimization, as well as one critical feature that engineering teams may overlook: security. There are inherent risks to using the debug port or connecting directly to the GPIOs of an MCU. In most cases, few have access to a proof-of-concept and the data it contains is usually harmless, meaning that security isn’t always a major priority. However, it should never be an afterthought, even during early prototyping, which also explains why IoTize is so fond of the ST25DV-I2C. For instance, with our NFC tag, TapNLink can ensure that all wireless modules (NFC and BLE for instance) are asleep to avoid drawing unnecessary attention. Then, when a user taps a mobile device, it powers the NFC Tag, which will only wake the Bluetooth module if the proper keys are exchanged.
The TapNLink also offers a Simulated Secure Serial Port, or S3P, which works as an alternative to Arms’ Serial Wire Debug interface (SWD). Any developer with experience in embedded systems will most likely be familiar with the latter. It allows a direct communication through the debug port to quickly get access to the memory map, among other things, but there’s no encryption scheme, and even Arm recommends a dedicated logic in the form of a Debug Authentication Module, which isn’t always present or practical. Alternatively, S3P from IoTize comes with the TapNLink to ensure that data exchanges between the module and the MCU are encrypted using an AES–128 scheme, while also filtering memory addresses to reduce the risk of a mishap. In fact, the device uses the internal RAM of the ST25DV-I2C to exchange dynamic keys, thus benefiting from the ST NFC module to optimize security operations.
Where to Start?
A great way to start using the TapNLink is to get an evaluation kit called the TapNLink Primer, which is sold for €34 online. Aside from the hardware, IoTize also offers a cloud platform that’s preconfigured for the device, to start experimenting with cloud features immediately. However, since the TapNLink Primer uses an open source MQTT relay, companies that already use a cloud service provider should be able to connect the TapNLink to their system reasonably rapidly. Similarly, developing mobile apps to talk to the TapNLink is straightforward since Android applications can use dedicated APIs, while developers looking to create cross-platform systems for iOS, Android, and Windows can use the Cordova framework that runs on Node.js.
Additionally, when the designer configures the TapNLink for a target system, the IoTize configuration software automatically creates an app in HTML5 and CSS. Compatible with Android and iOS, it allows engineers to immediately test their configuration on a mobile terminal. In a lot of cases, this sample app may be sufficient for final deployment, and it remains very easy to refine by adding graphics and navigation controls.
IoTize is working on a version of the TapNLink with Wi-Fi to be available at the end of the year, while a model with NFC + BLE + LoRa should have its first demos in 2019.