Skip navigation
> RoadTest Reviews

NTAG I²C plus Arduino-compatible Development kit - Review


Product Performed to Expectations: 10
Specifications were sufficient to design with: 10
Demo Software was of good quality: 8
Product was easy to use: 7
Support materials were available: 8
The price to performance ratio was good: 9
TotalScore: 52 / 60
  • RoadTest: NTAG I²C plus Arduino-compatible Development kit
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes
  • Comparable Products/Other parts you considered: ST25DV-I2C
  • What were the biggest problems encountered?:

  • Detailed Review:


    BLE Pairing with the NTAG I2C Plus Kit


    First of all, I'd like to thank NXP for providing the roadtest kit and element14 for organizing this roadtest. There already exist a couple of great reviews for this roadtest. For example, Gordon Margulieux(gordonmx) wrote a detailed review about unboxing, software installation and Android app demo. Steve Smythe(stevesmythe) wrote an interesting review demonstrating multiple NXP's NFC solutions.


    In my review, I am not going to repeat what they have presented. Instead, I'd like to demo the BLE pairing example that Steve has tried but not able to complete because the instruction document "skips over a few steps and is quite hard to follow". After spending some time in deciphering the procedure, I got it work. I'll present my process in a step-by-step fashion with lots of screen shots. However, I will skip the software/SDK installation part so please first read Gordon's review if you haven't done so.



    1. Prerequisite


    A couple of software components are required: MCUXpresso IDE and SDK. Please first read Gordon's review - Part IV - Software Installation.


    Please note that the line numbers shown in the screen shots below are just for reference. They may be different from the SDK version you're using. To locate the line positions where modifications should occur, you can use the context around the highlighted part as search pattern text.



    2. Import hid_device Example Application


    This application is based on the freeRTOS version of the bluetooth hid_device example. The following screen shots show how to import the hid_device example.



    Browse wireless_examples -> bluetooth -> hid_device, click on freertos item.


    After the import is complete, you should see the project in the workspace as shown below.



    3. Import NTAG_I2C_plus Middleware


    The above imported project doesn't include any code for NFC so we need to import the NTAG middleware. Where to get the middleware? Actually the SDK already includes the middleware for NFC. Since the downloaded SDK is a zip file, we need to unzip the SDK first before we can import it to the project. If you don't know how to build and download SDK, please refer to read Gordon's review. In the following screen shots, I unzipped to folder D:\NTAG_I2C_Full. You can unzip to whatever folder and use it when you import the middleware.


    After the import is done, you should be able to see the highlighted new folder under your project.



    4. Import NDEF Library


    Although we can hard-code NDEF message into the application source code, I find a NDEF library and attached at the end of this article. You can download the zip file and follow the following screen shots to import it to the project.




    5. Add two Files



    Download and unzip two app_ntag zip files attached at the end of this review. Then drag them to the source folder in your project (see the following screen shots). 




    It may need to press F5 key to update file list.





    6.Update File source\app_config.c


    Do a search and replace all instances of gSecurityMode_1_Level_3_c (total 6 instances in this file) with gSecurityMode_1_Level_1_c. Replace the highlighted gIoDisplayOnly_c with gIoNone_c. Replace the highlighted TRUE with FALSE.




    7.Update File source\app_preinclude.h


    Increase the highlighted stack size 500 to 1024.




    8.Update File source\common\ApplMain.c


    Insert the highlighted statements as shown below.




    9.Update File board\board.c


    Add the highlighted line to initialize NTAG's I2C interface.


    10.Update File source\hid_device.c


    Updated the hid_device.c file to the state shown in the screen shots below. The highlighted parts are the code that it should look like.







    11.Update File source\hid_device.h


    Change the highlighted advertise time 10 seconds to 3 seconds.



    12.Update File ntag_i2c_plus_1.0.0\inc\global_types.h


    Include header file EmbeddedTypes.h and comment out the Bool definition.


    13.Update File ntag_i2c_plus_1.0.0\HAL_TMR\timer_kinetis.c


    Replace HAL_Timer_delay_ms function body with the highlighted text and comment out SysTick_Handler() function.



    14.Update Project Properties


    Right click on the project then click on Properties menu.



    Add a few include paths as shown below.

    Also add a few preprocessor symbols as shown below.
    All required modification is complete. You should be able to build and run/debug the project.


Also Enrolling

Enrollment Closes: Oct 30 
Enrollment Closes: Oct 29 
Enrollment Closes: Oct 29 
Enrollment Closes: Oct 26 
Enrollment Closes: Oct 5 
Enrollment Closes: Oct 9 
Enrollment Closes: Oct 5