DATASHEET SEARCH SITE | WWW.ALLDATASHEET.COM

Document overview

  • Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 21

Technical content

PN7150 Arduino SBC Kit Quick Start Guide Rev. 1.2 — 19 August 2016 373012 Application note COMPANY PUBLIC Document information Info Content Keywords OM5578, PN7150, Arduino, Kinetis, UDOO, LPC, NFC, P2P, Card Emulation, Linux, Android, NullOS, RTOS Abstract This document gives a description on how to get started with the OM5578 PN7150 NFC Controller SBC Kit on boards featuring Arduino compatible header.

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 2 of 21 Contact information For more information, please visit: http://www.nxp.com

Revision history

1.2 20160819 Added Android Marshmallow demo 1.1 20160620 Added Android NFC demo on UDOO Neo 1.0 20160518 First official release

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 3 of 21 1. Introduction This document gives a description on how to get started with the OM5578 PN7150 NFC- Controller SBC Kit on platform featuring Arduino compatible header. This document provides a step by step guide to the installation procedure of the hardware and the software. Finally it shows PN7150 NFC Controller functionalities through demonstration application.

1.1 OM5578/PN7150ARD demo kit

OM5578/PN7150ARD kit is a high performance fully NFC compliant expansion board compatible with Arduino Compatible Interface platforms (refer to [1] for more details). It meets compliance with Reader mode, P2P mode and Card emulation mode standards. The board features an integrated high performance RF antenna to insure high interoperability level with NFC devices. The demo kit is comprised of a PN7150 NFC Controller Board, a dedicated interface board, and a NFC Sample Card. OM5578/PN7150S PN7150 NFC Controller Board OM29110ARD Arduino Interface Board NTAG216 NFC Sample Card Fig 1. OM5578/ARD kit overview The demo kit is fully described in UM10935 document [8].

1.2 Linux driver support

PN7150 NFC Controller is supported under GNU/Linux system using the NXP Linux libnfc-nci software stack delivered through public GitHub repository www.nxp.com/redirect/github.com/NXPNFCLinux/linux_libnfc-nci# (for more details, refer to AN11697 [5]). In chapter 2.4 it is described how to run an image with the already integrated driver on your kit.

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 4 of 21

1.3 Android driver support

PN7150 NFC Controller is supported from the official Android Open Source Project (r efer to [7] for more details) with the addition of dedicated patches (refer to AN11690 [6] ). In chapter 2.5 it is described how to run an image with the already integrated driver on your kit.

1.4 RTOS and Null OS support

Since implementing NFC Forum NCI standardized API, the PN7150 NFC Controller can be easily integrated into system based on RTOS or even without OS. Code example are given in the scope of LPCXpresso and Kinetis Design Studio projects and can easily be ported to any other system.

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 5 of 21 2. Quick Startup on UDOO Neo

2.1 Required items

  • UDOO Neo [2]
  • Compatible MicroSD card of at least 4 Gb memory size (8 Gb for Android demo image)
  • Computer (running Windows, Linux or Mac OS X) for SD/MicroSD card installation and remote access to UDOO Neo
  • Micro USB cable to connect UDOO Neo to the computer
  • UDOO Neo demo image file (see [9])
  • Other than for Linux NFC demo (see 2.4), where UDOO Neo is run as a headless IoT device, one need for the Android NFC demo (see 2.5) in addition the following items: - USB Mouse - Micro HDMI cable to connect to Monitor / TV - UDOO 12V power supply (Note: the 5V generated by UDOO Neo board from the Micro USB is not stable on the Android image. Without the 12V power supply the RF discovery may suddenly stop)

2.2 Hardware preparation

First of all assemble the PN7150 NFC Controller Board with the Arduino Interface Board. Fig 2. OM5578/PN7150ARD demo kit assembly

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 6 of 21 Then stacked together the boards with the UDOO Neo. Fig 3. OM5578/PN7150ARD and UDOO Neo stacked together Note: The UDOO Neo feature a “two rows” connectors, the demo kit must be plugged in the inner ones as show in below picture: Fig 4. OM5578/PN7150ARD and UDOO Neo stacked together - zoom

2.3 Software preparation

The MicroSD needs to store an image specific for the OM5578 Linux or Android NFC demo. This demo image can be downloaded from [9] and loaded to the MicroSD card, following the installation guidelines provided here: http://www.udoo.org/docs- neo/Getting_Started/Create_a_bootable_MicroSD_card_for_UDOO_Neo.html

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 7 of 21

2.4 Linux NFC demo application

2.4.1 Application details

The demo application uses a part of the Linux libnfc-nci stack available on public GitHub repository www.nxp.com/redirect/github.com/NXPNFCLinux/linux_libnfc-nci. The related source code can then be found there (more details in document AN11697 [5]).

2.4.2 Starting the application

Start the UDOO Neo board as “USB Headless IoT Device”, by just inserting the Micro-SD card in the related slot and connect the micro-USB cable to your PC. Be sure to have installed the right driver specific for the USB connection, refer to http://www.udoo.org/docs-neo/Basic_Setup/Usb_Direct_Connection.html. Open a remote session through “Web Control Panel” by browsing to “192.168.7.2” in a web browser, it should display the UDOO Neo platform dashboard: Fig 5. UDOO dashboard Then open a terminal session by clicking on “>_ REMOTE TERMINAL” button. Note: there is other way to open a remote terminal allowing to run the demo application. Refer to http://www.udoo.org/docs-neo/Getting_Started/Use_as_a_Computer.html and http://www.udoo.org/docs-neo/Getting_Started/Use_as_a_headless_IoT_Device.html for more details.

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 8 of 21 Log in the terminal using the default credentials:  Login: udooer  Password: udooer Fig 6. UDOO Remote Terminal Then browse to the Linux libnfc-nci stack directory (refer to chapter 1.2 for more details about the Linux NFC software stack). $ cd ~/linux_libnfc-nci The application requires parameters to run: $ ./nfcDemoApp <OPTIONS> You can get the parameters details by launching the application help menu: $ ./nfcDemoApp –-help Fig 7. Linux demo application parameters

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 9 of 21 The demo application offers 3 modes of operation:

  • Polling: continuously waiting for a remote NFC device (tag or peer device) and displays related information
  • Tag writing: allows writing NDEF content to a NFC tag
  • Tag emulation: allows sharing NDEF content to a NFC reader device
  • Device push: allows pushing NDEF content to a remote NFC peer device

2.4.2.1 Polling mode

When in this mode, the application will display information of any discovered NFC tags or remote NFC device. It is reached starting the application with “poll” parameter: $ ./nfcDemoApp poll Fig 8. Linux demo application polling mode

2.4.2.2 Device push mode

This mode allows pushing data to a remote NFC device (e.g. an NFC phone). It is reached using “push” parameter: $ ./nfcDemoApp push <OPTIONS> Fig 9. Linux demo application device push mode

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 10 of 21 You can get more information about the message format using “-h” or “--help” parameter: $ ./nfcDemoApp push –-help

2.4.2.3 Tag emulation mode

This mode allows emulating an NFC tag (NFC Forum T4T) to share data to a remote NFC reader (e.g. an NFC phone). It is reached using “share” parameter: $ ./nfcDemoApp share <OPTIONS> Fig 10. Linux demo application Tag emulation mode You can get more information about the message format using “-h” or “--help” parameter: $ ./nfcDemoApp share –-help

2.4.2.4 Tag writing mode

This mode allows writing data to an NFC tag. It is reached using “write” parameter: $ ./nfcDemoApp write <OPTIONS>

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 11 of 21 Fig 11. Linux demo application tag writing mode You can get more information about the message format using “-h” or “--help” parameter: $ ./nfcDemoApp write –-help

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 12 of 21

2.5 Android NFC demo

Insert the MicroSD card with the written image (see 2.3) in the UDOO Neo. Connect HDMI Display and USB mouse. Finally supply the board using 12V adapter. After a few seconds Android boots up, NFC is then running, ready to read tags or interact with remote NFC device (e.g. NFC phone). Fig 12. Android home screen You can enable/disable the NFC function via “Settings/Wireless & Network/More…” Fig 13. Android “Setting/Wireless&Network” menu

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 13 of 21 Using already installed NXP TagInfo and NXP TagWriter applications you can get information from discovered tag and write content. Fig 14. Android applications Fig 15. Android TagInfo application

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 14 of 21 Fig 16. Android TagWriter application

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 15 of 21 3. Quick Startup on Kinetis

3.1 Required items

  • FRDM-K64F board [3]
  • Computer (running Windows, Linux or Mac OS X) with KDS installed [11]
  • Micro USB cable to connect FRDM-K64F to the computer
  • NXPNCI Kinetis Design Studio example software package (see AN11845 [10])

3.2 Hardware setup

First of all assemble the PN7150 NFC Controller Board with the Arduino Interface Board as shown if Fig 2. Then stacked together the boards with the FRDM-K64F. Fig 17. OM5578/PN7150ARD and FRDM-K64F stacked together

3.3 Software setup

Follow procedure described in AN11845 [10].

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 16 of 21 4. Quick Startup on LPCXpresso

4.1 Required items

  • OM13071 [14] or OM13074 [15]
  • Computer (running Windows, Linux or Mac OS X) with LPCXpresso installed [13]
  • Micro USB cable to connect FRDM-K64F to the computer
  • NXPNCI LPCXpresso example software package (see AN11658 [12])

4.2 Hardware setup

First of all assemble the PN7150 NFC Controller Board with the Arduino Interface Board as shown if Fig 2. Then stacked together the boards with the LPCXpresso board. Fig 18. OM5578/PN7150ARD and OM13071 stacked together

4.3 Software setup

Follow procedure described in AN11658 [12].

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 17 of 21 5. References [1] The Arduino Uno is a microcontroller board with 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset button. For more information about it please visit www.nxp.com/redirect/arduino.cc/en/Main/ArduinoBoardUno [2] UDOO NEO is an all-in-one open hardware low-cost computer equipped with NXP’s i.MX 6SoloX applications processor for Android and Linux. For more information about it please visit http://www.udoo.org/udoo-neo/ [3] The Freedom-K64F is an ultra-low-cost development platform for Kinetis K64, K63, and K24 MCUs. For more information about it please visit http://www.nxp.com/products/software- and-tools/hardware-development-tools/freedom-development-boards/freedom- development-platform-for-kinetis-k64-k63-and-k24-mcus:FRDM-K64F [4] LPCXpresso is a low-cost development platform available from NXP, supporting NXP's ARM-based microcontrollers. The platform is comprised of a simplified Eclipse-based IDE and low-cost target boards which include an attached JTAG debugger. LPCXpresso is an end-to-end solution enabling embedded engineers to develop their applications from initial evaluation to final production. For more information about it please visit http://www.nxp.com/products/software- and-tools/hardware-development-tools/lpcxpresso-boards:LPCXPRESSO- BOARDS [5] AN11697 PN71x0 Linux Software Stack Integration Guidelines: http://www.nxp.com/documents/application_note/AN11697.pdf [6] AN11690 NXPNCI Android Porting Guidelines: http://www.nxp.com/documents/application_note/AN11690.pdf [7] Android is an open-source software stack for a wide range of mobile devices and a corresponding open-source project led by Google. For more information about it please visit www.nxp.com/redirect/source.android.com/

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 18 of 21 [8] UM10935 PN7150 NFC Controller SBC Kit User Manual: http://www.nxp.com/documents/user_manual/UM10935.pdf [9] UDOO Neo Linux demo image: https://nxp.box.com/OM5578-PN7150ARD-Udoo- Linux UDOO Neo Android Lollipop demo image: https://nxp.box.com/OM5578- PN7150ARD-Udoo-Lollipop UDOO Neo Android Marshmallow demo image: https://nxp.box.com/OM5578- PN7150S-UdooMarshmallow [10] AN11845 NXPNCI Kinetis Design Studio example: http://www.nxp.com/documents/application_note/AN11845.pdf [11] Kinetis Design Studio IDE (KDS) is a complimentary integrated development environment for Kinetis MCUs that enables robust editing, compiling and debugging of your designs. For more information about it please visit http://www.nxp.com/products/software- and-tools/run-time-software/kinetis-software-and-tools/ides-for-kinetis-mcus/kinetis- design-studio-integrated-development-environment-ide:KDS_IDE [12] AN11658 NXPNCI LPCXpresso Design Studio example: http://www.nxp.com/documents/application_note/AN11658.pdf [13] LPCXpresso IDE gives developers a low-cost way to create high-quality applications for LPC microcontrollers (MCUs). Based on the Eclipse platform, it has many enhancements to simplify application development and debugging. For more information about it please visit http://www.nxp.com/products/software- and-tools/hardware-development-tools/lpcxpresso-boards/lpcxpresso- ide:LPCXPRESSO [14] OM13071: LPCXpresso824-MAX Board for LPC82x family MCUs: http://www.nxp.com/demoboard/OM13071.html [15] OM13074: LPCXpresso board for LPC11U37H: http://www.nxp.com/demoboard/OM13074.html

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 19 of 21 6. Legal information

6.1 Definitions

Draft — The document is a draft version only. The content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information.

6.2 Disclaimers

Limited warranty and liability — Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. NXP Semiconductors takes no responsibility for the content in this document if provided by an information source outside of NXP Semiconductors. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation - lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors. Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof. Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors and its suppliers accept no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer’s own risk. Applications — Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer’s sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer’s applications and products planned, as well as for the planned application and use of customer’s third party customer(s). Customers should provide appropriate design and operating safeguards to minimize t he risks associated with their applications and products. NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer’s applications or products, or the application or use by customer’s third party customer(s). Customer is responsible for doing all necessary testing for the customer’s applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer’s third party customer(s). NXP does not accept any liability in this respect. Export control — This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from competent authorities. Translations — A non-English (translated) version of a document is for reference only. The English version shall prevail in case of any discrepancy between the translated and English versions. Evaluation products — This product is provided on an “as is” and “with all faults” basis for evaluation purposes only. NXP Semiconductors, its affiliates and their suppliers expressly disclaim all warranties, whether express, implied or statutory, including but not limited to the implied warranties of non- infringement, merchantability and fitness for a particular purpose. The entire risk as to the quality, or arising out of the use or performance, of this product remains with customer. In no event shall NXP Semiconductors, its affiliates or their suppliers be liable to customer for any special, indirect, consequential, punitive or incidental damages (including without limitation damages for loss of business, business interruption, loss of use, loss of data or information, and the like) arising out the use of or inability to use the product, whether or not based on tort (including negligence), strict liability, breach of contract, breach of warranty or any other theory, even if advised of the possibility of such damages. Notwithstanding any damages that customer might incur for any reason whatsoever (including without limitation, all damages referenced above and all direct or general damages), the entire liability of NXP Semiconductors, it s affiliates and their suppliers and customer’s exclusive remedy for all of the foregoing shall be limited to actual damages incurred by customer based on reasonable reliance up to the greater of the amount actually paid by customer for the product or five dollars (US$5.00). The foregoing limitations, exclusions and disclaimers shall apply to the maximum extent permitted by applicable law, even if any remedy fails of its essential purpose.

6.3 Licenses

Purchase of NXP ICs with NFC technology Purchase of an NXP Semiconductors IC that complies with one of the Near Field Communication (NFC) standards ISO/IEC 18092 and ISO/IEC 21481 does not convey an implied license under any patent right infringed by implementation of any of those standards. Purchase of NXP Semiconductors IC does not include a license to any NXP patent (or other IP right) covering combinations of those products with other products, whether hardware or software.

6.4 Trademarks

Notice: All referenced brands, product names, service names and trademarks are property of their respective owners. MIFARE — is a trademark of NXP Semiconductors N.V.

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Application note COMPANY PUBLIC Rev. 1.2 — 19 August 2016 373012 20 of 21 7. List of figures Fig 3. OM5578/PN7150ARD and UDOO Neo stacked Fig 4. OM5578/PN7150ARD and UDOO Neo stacked Fig 10. Linux demo application Tag emulation mode .. 10 Fig 17. OM5578/PN7150ARD and FRDM-K64F stacked Fig 18. OM5578/PN7150ARD and OM13071 stacked

NXP Semiconductors AN11841 PN7150 Arduino SBC Kit Quick Start Guide Please be aware that important notices concerning this document and the product(s) described herein, have been included in the section 'Legal information'. © NXP Semiconductors N.V. 2016. All rights reserved. For more information, visit: http://www.nxp.com Date of release: 19 August 2016 373012 Document identifier: AN11841 8. Contents