This post contains a step by step guide of how to use PN7150 with i.MX RT1060.
This document is structured as follows:
Overview of PN7150
PN7150 is a Plug-and-Play all-in-one NFC solution for easy integration into any OS environment like Linux and Android, reducing Bill of Material (BoM) size and cost. The embedded Arm® Cortex®-M0 microcontroller core is loaded with the integrated firmware, simplifying the implementation as all the NFC real-time constraints, protocols and the device discovery (polling loop) are processed internally. In few NCI commands, the host SW can configure the PN7150 to notify for card or peer detection and start communicating with them.
It has the following salient features:
- Full NFC forum compliancy with small form factor antenna
- Embedded NFC firmware providing all NFC protocols as pre-integrated feature
- Direct connection to the main host or microcontroller, by I2C-bus physical and NCI protocol
- Ultra-low power consumption in polling loop mode
- Highly efficient integrated power management unit (PMU) allowing direct supply from a Battery
Hardware Requirements
1. OM5578/PN7150ARD
2. i.MX RT1060 EVK Evaluation Board + usb micro cable
Using PN7150 with i.MX RT1060
Hardware Connections
The hardware connections are simple. Both the EVKB-IMXRT1060 board and OM5578/PN7150ARD board have an Arduino interface. So, mount the PN7150ARD board with male Arduino connector onto the female Arduino connector of the EVKB-IMXRT1060 board.
Running the Demo
- If this is the first time you’re using EVK-MIMXRT1060 board, follow the getting started guide first: i.MX RT1060 Evaluation Kit | NXP . Make sure to install the SDK package for EVK-MIMXRT1060 board which is required for the project to run.
- Download the ‘evkbimxrt1060_PN7150’ package which you will find attached to this post.
- Drag and drop the downloaded package to the “Project Explorer” tab of your MCUXpresso IDE workspace (If you don’t have MCUXpresso, it can be downloaded for free from here:
https://www.nxp.com/support/developer-resources/software-development-tools/mcuxpresso-software-and-t...
- Now that the package has been imported to the MCUXpresso IDE (via drag and drop), click on Debug icon from the Quickstart panel to begin a debug session. Once the debug session has started, click on the run icon to run the code:
After step 3, the project should be running now. The project contains basic discovery loop functionality. Here is how the output looks in the console tab on MCUXpresso:
Bring any NFC card near the PN7150 board’s antenna and the output console will show the detection and type of the card. For example, in the picture below, we can see that type 4 card was detected:
Available Resources
- AN11990 NXP-NCI MCUXpresso example document. (https://www.nxp.com/docs/en/application-note/AN11990.pdf) The example project explained in this project was ported to i.MX RT1060 using section 5.3 and 6 of the above mentioned document.
- PN7150 datasheet (https://www.nxp.com/docs/en/data-sheet/PN7150.pdf)
- PN7150 User Manual (https://www.nxp.com/docs/en/user-guide/UM10936.pdf)
- PN7150 NFC Controller SBC Kit User Manual (https://www.nxp.com/docs/en/user-guide/UM10935.pdf)