Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC3730162 / 19
NXP Semiconductors
2Introduction
This document gives a description on how to get started with the OM5579 PN7150 NFCController 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.
OM5579/PN7150 demonstration kit replaces previous OM5578/PN7150 demonstration
kit now discontinued.
2.1 OM5579/PN7150ARD demo kit
OM5579/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 an NFC sample card.
AN11841
PN7150 Arduino SBC kit quick start guide
++
OM5579/PN7150
PN7150 NFC controller board
Figure 1. OM5579/PN7150ARD kit overview
The demo kit is fully described in UM10935 document [7].
OM29110ARD-B
Arduino Interface Board
NTAG216
NFC Sample Card
2.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 https://github.com/
NXPNFCLinux/linux_libnfc-nci (for more details, refer to AN11697 [4]).
In Section 3.4, it is described how to run an image with the already integrated driver on
your kit.
2.3 Android driver support
PN7150 NFC controller is supported from the official Android Open Source Project (refer
to [6] for more details) with the addition of dedicated patches (refer to AN11690 [5]).
Section 3.5 describes how to run an image with the already integrated driver on your kit.
Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC3730165 / 19
NXP Semiconductors
Figure 3. OM5579/PN7150ARD and UDOO Neo stacked together
AN11841
PN7150 Arduino SBC kit quick start guide
Note: The UDOO Neo feature a “two rows” connectors, the demo kit must be plugged in
the inner ones as show in below picture:
Figure 4. OM5579/PN7150ARD and UDOO Neo stacked together - zoom
3.3 Software preparation
The MicroSD needs to store an image specific for the OM5579 Linux or Android NFC
demo. This demo image can be downloaded from [8] and loaded to the MicroSD card,
following the installation guidelines provided here: http://www.udoo.org/docs-neo/
Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC3730166 / 19
NXP Semiconductors
3.4 Linux NFC demo application
3.4.1 Application details
The demo application uses a part of the Linux libnfc-nci stack available on public GitHub
repository https://github.com/NXPNFCLinux/linux_libnfc-nci. The related source code can
then be found there (more details in document AN11697 [4]).
3.4.2 Starting the application
Start the UDOO Neo board as “USB Headless IoT Device”, by just inserting the MicroSD 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:
AN11841
PN7150 Arduino SBC kit quick start guide
Figure 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.
Log in the terminal using the default credentials:
Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC3730168 / 19
NXP Semiconductors
• Device push: allows pushing NDEF content to a remote NFC peer device
3.4.2.1 Polling mode
When in this mode, the application displays information of any discovered NFC tags or
remote NFC device. It is reached starting the application with “poll” parameter:
$ ./nfcDemoApp poll
AN11841
PN7150 Arduino SBC kit quick start guide
Figure 8. Linux demo application polling mode
3.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>
Linux demo application device push mode
You can get more information about the message format using “-h” or “--help” parameter:
Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC37301610 / 19
NXP Semiconductors
AN11841
PN7150 Arduino SBC kit quick start guide
Figure 10. Linux demo application tag writing mode
You can get more information about the message format using “-h” or “--help” parameter:
$ ./nfcDemoApp write –-help
3.5 Android NFC demo
Insert the MicroSD card with the written image (see Section 3.3) in the UDOO Neo.
Connect HDMI Display and USB mouse. Finally supply the board using 12 V 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).
[10] The MCUXpresso IDE brings developers an easy-to-use Eclipse-based
[11] OM13071: LPCXpresso824-MAX Board for LPC82x family MCUs: http://
[12] OM13074: LPCXpresso board for LPC11U37H: http://www.nxp.com/demoboard/
[13] OM13058: LPCXpresso board for LPC11U68: http://www.nxp.com/demoboard/
AN11841
PN7150 Arduino SBC kit quick start guide
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 visit https://store.arduino.cc/arduino-uno-rev3
i.MX 6SoloX applications processor for Android and Linux.
For more information visit http://www.udoo.org/udoo-neo/
and K24 MCUs.
For more information visit https://www.nxp.com/design/:FRDM-K64F
www.nxp.com/docs/en/application-note/AN11697.pdf
application-note/AN11690.pdf
corresponding open source project led by Google.
For more information visit https://source.android.com/
development environment for NXP MCUs based on Arm Cortex-M cores, including
LPC and Kinetis microcontrollers and i.MX RT crossover processors.
For more information visit https://www.nxp.com/design/:MCUXpresso-IDE
Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC37301615 / 19
NXP Semiconductors
6Legal information
6.1 Definitions
AN11841
PN7150 Arduino SBC kit quick start guide
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.
Draft — A draft status on a document indicates that 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 in a draft version of a document 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.
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, its 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.
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.
Security — Customer understands that all NXP products may be subject
to unidentified or documented vulnerabilities. Customer is responsible
for the design and operation of its applications and products throughout
their lifecycles to reduce the effect of these vulnerabilities on customer’s
applications and products. Customer’s responsibility also extends to other
open and/or proprietary technologies supported by NXP products for use
in customer’s applications. NXP accepts no liability for any vulnerability.
Customer should regularly check security updates from NXP and follow up
appropriately. Customer shall select products with security features that best
meet rules, regulations, and standards of the intended application and make
the ultimate design decisions regarding its products and is solely responsible
for compliance with all legal, regulatory, and security related requirements
concerning its products, regardless of any information or support that may
be provided by NXP. NXP has a Product Security Incident Response Team
(PSIRT) (reachable at PSIRT@nxp.com) that manages the investigation,
reporting, and solution release to security vulnerabilities of NXP products.
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 the 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.
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 the property of their respective owners.
Kinetis — is a trademark of NXP B.V.
NXP — wordmark and logo are trademarks of NXP B.V.
Application noteRev. 1.6 — 14 June 2021
COMPANY PUBLIC37301616 / 19
ULINKpro, µVision, Versatile — are trademarks or registered trademarks
of Arm Limited (or its subsidiaries) in the US and/or elsewhere. The related
technology may be protected by any or all of patents, copyrights, designs
and trade secrets. All rights reserved.
6Legal information .............................................. 16
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 section 'Legal information'.