 Hi there, my name is John Tran and I am ST Application Engineer for NFC and RFID products. I'm here to show you a quick demo tutorial of the STM32 Cube MX NFC for firmware package. Before we start, let's quickly discuss near field communication and what it means for the world around us. NFC is a short-range wireless technology that is becoming widespread. As a matter of fact, in the year 2020, more than 60% of mobile phones come with NFC. And ABI research estimates that by 2024, NFC-enabled devices will reach 1.6 billion units. This application range from mobile payment to appliances, medical and industrial automation. ST recognizes the growing potential of NFC in vast number of applications. So we have built an extensive NFC product portfolio. Within the ST25 product family, we have the ST25T for tags, ST25D for dynamic tags, and ST25R for transceivers. You can explore our NFC product portfolio by navigating to the links shown here. What you see here is a demo consisted of the ex-nuclear NFC04A1 shield board with its circular antenna on top of the nuclear STM32L476RG. The boards are stacked via the Arduino connector. It demonstrates the use of ST25D dynamic tag IC with STM32 microcontroller and how RF field coming from an NFC phone can be used as an interrupt source. This diagram shows the components and how they are connected to complete the demo. So the ST25DV detects an RF field and interrupts the STM32 via its GPO pin. The microcontroller subsequently turns on the green LED. To complete this demo tutorial, you will need two pieces of hardware. The nuclear L476RG board and the NFC04A1 shield. You will also need to install STM32QMX and STM32QIDE by navigating your web browser to the last two links of this list. Let's quickly go through what we are going to do in this short tutorial. First we will install QMX code generator in QIDE debugger. Once we have done that, we will proceed to set the correct GPIOs and needed peripheral. There is also some setting of the XCube NFC4 package that we need to pay attention to. After all that, we will proceed to project export and run the project. Once you have successfully installed STM32QMX, select the application and run it. You will need an internet connection at this point to install necessary package such as STM32QL4 and XNUCLEAR NFC4. Locate the install and remove embedded software button at the right side of the screen. The embedded software package manager will open up and you can see if you need to install the STM32L4Q package. Here the green box indicates install package, while clear blue box shows all the relevant package that could be installed for working with the STM32L4 microcontroller. Notice that in this particular example screenshot, the STM32QL4 is already installed at version 1.16.0. Next we will install the XCube NFC4 by clicking on the STM32L4Q tab. Notice that in this particular example screenshot, we already have version 2.0.0 installed. Now start your project by clicking on the access board selector button. We will choose which board we plan to use. You will see a list of boards navigate to the NUCLEAR L476RG and click on start project. A dialog will open and you will click on no. A 64-pin package will then be shown. You will notice here that some pins are already assigned to certain features specific to the NUCLEAR board. Reveal the list on the left and set up additional GPIO assignments. These pins will connect to the XNUCLEAR NFC4A1 shield board. For example, if you click on PA10, a dialog box will open and you will select GPIO underscore output. Under connectivity, select the I2C1 peripheral, then enable it for I2C operation. Under parameter setting tab, inspect the I2C1 configuration and make sure that it matches what is shown here on this example screenshot. Next we will enable the external interrupt and configure it. Under the system core tab, select NVIC, then check the box that is corresponding to the EXTI line 9 through 5 interrupt. Next you will navigate to the software packs drop-down menu bar. This is located directly below the clock configuration tab. Then click on select component. You can also select this item using out all key combination. Click on SD Microelectronics XCube NFC4 to expand it. Then click on board extension similar to review the NFC04A1 checkbox. Take the checkbox. Finally you click on device to expand it. Only one item application is in this drop-down menu. You will select general purpose output, then you click OK. One last thing before we compile and debug, navigate to software packs at the middle left of your screen. There should only one item that you can click on. Check the box next to device NFC04 application and board extension NFC. Under platform setting tab, assign the correction hardware to the pins. For example for the yellow LED, select PA10 under found solution. Essentially duplicate what you see here on the screenshot. Now navigate to the project manager tab and give your project a name. Here we name it QMXGPL. Then select SEM32CubeID under to change slash IDE. Generate under root checkbox should be ticked for win 10. Click on generate code and then open project when the dialog appears. Here is the project in cube IDE. You can browse through the project file structures and examine the code. Now you can add or change code at this point. Make sure that you run the code first to confirm its operation. This screenshot shows the correct configuration for the debugger. Make sure that you have the board connected via a mini USB cable before running the code. Using an NFC phone near will light up the green LED showing that SD25DV detects its RF field. Thank you and we hope that you enjoyed this short tutorial with NFC and SEM32. Feel free to exercise our example within XCube NFC4. You can also complete this tutorial with all the SEM32 variants that are available in Nucleus 64 hardware format.