UM2045 User manual. Getting started with the X-CUBE-NFC3 near field communication transceiver software expansion for STM32Cube.

Similar documents
Getting started with the X-CUBE-NFC5 high performance HF reader / NFC initiator IC software expansion for STM32Cube

Getting started with X-CUBE-LED channel LED driver software expansion based on LED1642GW for STM32Cube

Getting started with the X-CUBE-IKA02A1 multifunctional software expansion for STM32Cube

Getting started with the X-CUBE-53L1A1 Time-of-Flight long distance ranging sensor software expansion for STM32Cube

AN4624 Application note

Getting started with the software package for STEVAL-STLKT01V1 based on STM32Cube

Getting started with the STSW-BCNKT01 software package for STEVAL-BCNKT01V1 based on STM32Cube

UM2495. High performance HF reader / NFC initiator IC software expansion for NUCLEO-8S208RB. User manual. Introduction

Getting started with the FP-NET-6LPBLE1 function pack for 6LoWPAN IoT node connection to a smartphone via BLE interface

Getting started with the X-CUBE-MEMS1 motion MEMS and environmental sensor software expansion for STM32Cube

UM1853 User manual. STM32CubeF1 Nucleo demonstration firmware. Introduction

Getting started with the FP-IND-PLCWIFI1 function pack for PLC management via Wi-Fi

Getting started with the X-CUBE-SPN2 two-axis stepper motor driver software expansion for STM32Cube

Getting started with the X-CUBE-SPN3 high power stepper motor driver software expansion for STM32Cube

Getting started with the FP-SNS-ALLMEMS1 Bluetooth low energy and sensors software expansion for STM32Cube

Getting started with the software package for digital MEMS microphones in X-CUBE-MEMSMIC1 expansion for STM32Cube

Getting started with the software package for L6474 stepper motor driver X-CUBE-SPN1 expansion for STM32Cube

NUCLEO-L433RC-P NUCLEO-L452RE-P

Bluetooth low energy profiles for the X-CUBE-BLE1 expansion for STM32Cube. Description

NUCLEO-L496ZG. STM32 Nucleo-144 board. Features. Description

Getting started with osxmotiongc gyroscope calibration library for X-CUBE-MEMS1 expansion for STM32Cube

32F412GDISCOVERY. Discovery kit with STM32F412ZG MCU. Features. Description

P-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery. Features. Description

UM2204. Getting started with STM32CubeH7 for STM32H7 Series. User manual. Introduction

USB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on STUSB1602. Description

USB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on the STUSB1602

P-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery Data brief. Features. Description

UM2350. Getting started with MotionPW real-time pedometer for wrist library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Getting started with the STM32 Nucleo pack for USB Type-C and Power Delivery with the Nucleo-F072RB board and the STUSB1602

Getting started with MotionPM real-time pedometer library in X-CUBE-MEMS1 expansion for STM32Cube

UM2276. Getting started with MotionSD standing vs sitting desk detection library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Getting started with FP-SNS-6LPNODE1 software for IoT sensor node connection to 6LoWPAN networks using sub-1ghz RF

UM2232. Getting started with the IO-Link demonstration kit firmware. User manual. Introduction

UM2375 User manual. Linux driver for the ST25R3911B/ST25R391x high performance NFC frontends. Introduction

STSW-BLUENRG1-DK. BlueNRG-1, BlueNRG-2 DK SW package

STM32H7x3I-EVAL. Evaluation board with STM32H7x3XI MCUs. Data brief. Features

32F469IDISCOVERY. Discovery kit with STM32F469NI MCU. Features. Description

UM2194. Getting started with MotionAW activity recognition for wrist library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Getting started with MotionPM real-time pedometer library in X CUBE-MEMS1 expansion for STM32Cube

32F746GDISCOVERY. Discovery kit with STM32F746NG MCU. Features. Description

Getting started with MotionAR activity recognition library in X-CUBE-MEMS1 expansion for STM32Cube

32L476GDISCOVERY. Discovery kit with STM32L476VG MCU. Features. Description

Getting started with MotionAR activity recognition library in X-CUBE-MEMS1 expansion for STM32Cube

Quick Start Guide. NFC card reader expansion board based on ST25R3911B for STM32 Nucleo (X-NUCLEO-NFC05A1) Version (July 14 th, 2017)

Getting started with VL53L0X ranging and gesture detection sensor software expansion for STM32Cube

Quick Start Guide. Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1) Version 1.2.

STM32L4R9I-EVAL. Evaluation board with STM32L4R9AI MCU. Features

Quick Start Guide. Bipolar stepper motor driver expansion board based on L6208 for STM32 Nucleo (X-NUCLEO-IHM05A1) Version 1.1.

Quick Start Guide. High power stepper motor driver expansion board based on powerstep01 for STM32 Nucleo (X-NUCLEO-IHM03A1)

UM2216 User manual. Getting started with MotionFA fitness activity library in X CUBE MEMS1 expansion for STM32Cube. Introduction

UM2192. Getting started with MotionMC magnetometer calibration library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Version (Apr 28, 2016)

Getting started with osxmotionmc magnetometer calibration library for X-CUBE-MEMS1 expansion for STM32Cube

Quick Start Guide. Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1) Version 1.

Quick Start Guide. Dynamic NFC/RFID tag IC expansion board based on ST25DV04K for STM32 Nucleo (X-NUCLEO-NFC04A1) Version 1.

UM1754 User manual. Getting started with STM32CubeL0 firmware package for STM32L0 series. Introduction

IoT node with BLE connectivity, digital microphone, environmental and motion sensors, motion and audio middleware libraries.

Quick Start Guide (V1.0 May2015) Dynamic NFC tag expansion board based on M24SR for STM32 NUCLEO (X-NUCLEO-NFC01A1)

AN4515 Application note

X-NUCLEO-53L1A1. Long distance ranging Time-of-Flight sensor expansion board based on VL53L1X for STM32 Nucleo. Description.

Getting started with STEVAL-IDB007V1 and STEVAL-IDB008V1 evaluation boards

EVALKITSTKNX. Miniature transceiver STKNX evaluation and development kit. Features

TN1235 Technical note

Quick Start Guide. Sound terminal expansion board based on STA350BW for STM32 NUCLEO (X-NUCLEO-CCA01M1) Version 1.1.

Getting started with osxacousticsl real-time sound source localization software expansion for STM32Cube

Getting started with MotionMC magnetometer calibration library in X-CUBE-MEMS1 expansion for STM32Cube

Getting started with the digital MEMS microphone expansion board based on MP34DT01-M for STM32 Nucleo

Quick Start Guide. Long distance ranging ToF sensor expansion board based on VL53L1X for STM32 Nucleo (X-NUCLEO-53L1A1) Version (February 20, 2018)

Getting started with osxmotionar activity recognition library for X-CUBE-MEMS1 expansion for STM32Cube

Running a simple 6LowPAN network consisting of one receiver node and one or more sensor nodes in a Sub-1GHz RF band

How to configure the BlueNRG-1 and BlueNRG-2 devices in network coprocessor mode. Main components Bluetooth Low Energy wireless system-on-chip

UM1727 User manual. Getting started with STM32 Nucleo board software development tools. Introduction

STSW-BNRGUI. BlueNRG GUI SW package. Data brief. Features. Description

Quick Start Guide. GNSS expansion board based on Teseo-LIV3F module for STM32 Nucleo (X-NUCLEO-GNSS1A1) Version 2.1 (Nov 9, 2018)

STM32SnippetsL0. STM32L0xx Snippets firmware package. Features. Description

P-NUCLEO-53L1A1. VL53L1X nucleo pack with X-NUCLEO-53L1A1 expansion board and STM32F401RE nucleo board. Description. Features

Quick Start Guide. Bluetooth Low Energy expansion board based on SPBTLE-RF module for STM32 Nucleo (X-NUCLEO-IDB05A1) Version 1.

ST25DV-DISCOVERY. Discovery kit for the ST25DV04K dynamic NFC/RFID tag. Features

Getting started with X-NUCLEO-IHM06A1 low voltage stepper motor driver expansion board based on STSPIN220 for STM32 Nucleo

P-NUCLEO-53L0A1. VL53L0X Nucleo pack with ranging, gesture detection sensor expansion board and STM32F401RE. Description. Features

UM2051 User manual. Getting started with the STM32 Nucleo pack for USB Type-C and Power Delivery. Introduction

Quick Start Guide. Dual-channel high side driver expansion board based on VPS2535H for STM32 Nucleo (X-NUCLEO-IPS02A1) Version 1.0 (Sept.

External memory code execution on STM32F7x0 Value line and STM32H750 Value line MCUs

X-NUCLEO-53L0A1. Ranging and gesture detection sensor expansion board based on VL53L0X for STM32 Nucleo. Description. Features

How to upgrade the firmware on the STEVAL-USBC2DP USB Type-C to DisplayPort adapter

UM1677 User manual. Getting started with STM32F030 Value Line Discovery development tools. Introduction

STSW-STWBCFWDT. STWBC firmware downloader tool. Description. Features

P-NUCLEO-6180X2. Proximity, gesture, ambient light sensor expansion board based on VL6180X for STM32L053R8. Description. Features

Quick Start Guide. Bluetooth Low Energy expansion board based on BlueNRG for STM32 Nucleo (X-NUCLEO-IDB04A1) Version 1.

Getting started with the FP-CLD-AWS1 software package for IoT node with Wi-Fi and sensors, connected to Amazon AWS IoT cloud

AN4869 Application note

Getting started with the ultra-low-power STM32 and LoRa Nucleo pack

The BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade

STSW-BNRG-Mesh. Mesh over Bluetooth low energy. Features. Description. Applications

EVALKIT-VL6180X. VL6180X plug-in and STM32 F401RE Nucleo board explorer kit. Description. Features

P-NUCLEO-IKA02A1. STM32 Nucleo pack: electrochemical toxic gas sensor expansion board with CO sensor. Description. Features

Quick Start Guide. Bluetooth low energy, sensors and NFC tag software for STM32Cube (BLUEMICROSYSTEM3) Version (September 15, 2016)

Quick Start Guide. STM32 ODE Function Pack for connecting 6LoWPAN IoT Nodes to smartphone through a BLE interface (FP-NET-6LPBLE1)

UM2084 User manual. Getting started with the ultra-low-power STM32 and LoRa Nucleo pack. Introduction

Description. January 2019 DB2381 Rev 3 1/5

Transcription:

User manual Getting started with the X-CUBE-NFC3 near field communication transceiver software expansion for STM32Cube Introduction This document describes how to get started with the X-CUBE-NFC3 software expansion for STM32Cube. X-CUBE-NFC3 provides a complete middleware for STM32 to build applications using the ST25R95 or CR95HF near field communication transceivers. It is easily portable across different MCU families, thanks to STM32Cube. The package contains a sample application to detect different types of NFC tags. The software provides implementation examples for STM32 Nucleo platforms equipped with the X-NUCLEO-NFC03A1 expansion board, featuring the ST25R95 or CR95HF near field communication transceivers. The software is based on STM32Cube technology and expands STM32Cube based packages. January 2019 Rev 2 1/21 www.st.com 1

Contents Contents 1 Acronyms and abbreviations.................................. 5 2 References................................................. 5 3 What is STM32Cube?...................................... 6 3.1 STM32Cube overview...................................... 6 3.2 STM32Cube architecture.................................... 7 4 X-CUBE-NFC3 software expansion for STM32Cube.............. 9 4.1 Overview.................................................. 9 4.2 Architecture............................................... 10 4.3 Folders structure........................................... 12 4.4 APIs..................................................... 13 4.5 Sample application description................................. 13 5 System setup guide........................................ 16 5.1 Hardware description........................................ 16 5.1.1 STM32 Nucleo platform..................................... 16 5.1.2 X-NUCLEO-NFC03A1 expansion board........................ 17 5.2 Software description......................................... 18 5.3 Hardware and software setup................................. 18 5.3.1 Hardware setup........................................... 18 5.3.2 Software setup............................................ 18 5.3.3 System setup guide........................................ 18 6 Revision history........................................... 20 2/21 Rev 2

List of tables List of tables Table 1. List of acronyms.......................................................... 5 Table 2. LED lit on tag detection.................................................... 13 Table 3. Document revision history................................................. 20 Rev 2 3/21 3

List of figures List of figures Figure 1. Firmware architecture...................................................... 7 Figure 2. RFAL block diagram...................................................... 11 Figure 3. X-CUBE-NFC3 software architecture......................................... 12 Figure 4. X-CUBE-NFC3 package folders structure..................................... 12 Figure 5. ST virtual communication port enumeration.................................... 14 Figure 6. UART serial communication configuration..................................... 14 Figure 7. UART serial communication displayed on Hyperterminal.......................... 15 Figure 8. STM32 Nucleo board..................................................... 16 Figure 9. X-NUCLEO-NFC03A1 expansion board....................................... 17 4/21 Rev 2

Acronyms and abbreviations 1 Acronyms and abbreviations Table 1. List of acronyms Acronym Description BSP CMSIS HAL LED SPI MCU NFC RFAL Boot support package Arm Cortex microcontroller software interface standard Hardware abstraction layer Light emitting diode Serial peripheral interface Micro controller unit Near field communication RF abstract layer 2 References ST25R95 or CR95HF datasheets (available on www.st.com) STM32 microcontroller datasheets (available on www.st.com) Nucleo board user manuals (available on www.st.com) Rev 2 5/21 20

What is STM32Cube? 3 What is STM32Cube? 3.1 STM32Cube overview STMCube initiative was originated by STMicroelectronics to ease developers life by reducing development efforts, time and cost. STM32Cube covers STM32 portfolio. The STM32 microcontrollers are based on Arm (a) core(s). STM32Cube Version 1.x includes: The STM32CubeMX, a graphical software configuration tool that allows to generate C initialization code using graphical wizards. A comprehensive embedded software platform, delivered per series (such as STM32CubeF4 for STM32F4 series) The STM32Cube HAL, an STM32 abstraction layer embedded software, ensuring maximized portability across STM32 portfolio A consistent set of middleware components such as RTOS, USB, TCP/IP, Graphics All embedded software utilities coming with a full set of examples. Information about STM32Cube are available on www.st.com. a. Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere. 6/21 Rev 2

What is STM32Cube? 3.2 STM32Cube architecture The STM32Cube firmware solution is built around three independent levels that can easily interact with each other s as described in the figure below: Figure 1. Firmware architecture Level 0: This level is divided into three sub-layers: Board support package (BSP): this layer offers a set of APIs relative to the hardware components in the hardware boards (Audio codec, IO expander, Touchscreen, SRAM driver, LCD drivers. etc ) and composed of two parts: Component: is the driver relative to the external device on the board and not related to the STM32. The component driver provide specific APIs to the BSP driver external components and could be portable on any other board. BSP driver: it permits to link the component driver to a specific board and provides a set of friendly used APIs. The APIs naming rule is BSP_FUNCT_Action(): ex. BSP_LED_Init(),BSP_LED_On(). Level 0 is based on modular architecture allowing to port it easily on any hardware by just implementing the low level routines. Rev 2 7/21 20

What is STM32Cube? Hardware abstraction layer (HAL): this layer provides the low level drivers and the hardware interfacing methods to interact with the upper layers (application, libraries and stacks). HAL provides a generic, multi instance and functionalities oriented APIs which permit to offload the user application implementation by providing ready to use process. As an example, for the communication peripherals (I2S, UART ), it provides APIs allowing to initialize and configure the peripheral, manage data transfer based on polling, interrupt or DMA process, and manage communication errors that may raise during communication. The HAL Drivers APIs are split in two categories: generic APIs: it provides common and generic functions to all the STM32 series. extension APIs: it provides customized functions for a specific family or a specific part number. Basic peripheral usage examples: this layer encloses the examples build over the STM32 peripheral using only the HAL and BSP resources. Level 1: This level is divided into two sub-layers: Middleware components: set of libraries covering USB Host and Device Libraries, STemWin, FreeRTOS, FatFS, LwIP, and PolarSSL. Horizontal interactions between the components of this layer is done directly by calling the feature APIs while the vertical interaction with the low level drivers is done through specific callbacks and static macros implemented in the library system call interface. As example, the FatFs implements the disk I/O driver to access microsd drive or the USB Mass Storage Class. Examples based on the middleware components: each middleware component comes with one or more examples (called also Applications) showing how to use it. Integration examples that use several middleware components are provided as well. Level 2: This level is composed of a single layer: This layer is global real-time and graphical demonstration. It is based on the middleware service layer, the low level abstraction layer and the basic peripheral usage applications for board based functionalities. 8/21 Rev 2

X-CUBE-NFC3 software expansion for STM32Cube 4 X-CUBE-NFC3 software expansion for STM32Cube 4.1 Overview X-CUBE-NFC3 is a software package that expands the functionality provided by STM32Cube. The key features of the package are: Complete middleware to build applications using the ST25R95 or CR95HF near field communication transceivers. Easy portability across different MCU families, thanks to STM32Cube. Sample application example to detect NFC tags of different class. Free user-friendly license terms. Examples implementation available on board X-NUCLEO-NFC03A1 plugged on top of one NUCLEO-L476RG, NUCLEO-F401RE or NUCLEO-F103RB. This software is gathering ST25R95 or CR95HF drivers for the device, running on STM32. The software is built on top of STM32Cube software technology that ease portability across different STM32 microcontrollers. The software comes with examples of implementation of such drivers, running on X- NUCLEO-NFC03A1 plugged on top of one NUCLEO-L476RG, NUCLEO-F401RE or NUCLEO-F103RB. The sample application configures the ST25R95 or CR95HF for wakeup, followed by a polling loop for passive device detection. When a passive tag is detected, the shield signals the detected technology by lighting a corresponding LED. The demo logs all activities with ST-Link Virtual Com Port to the host system. The supported NFC technologies in this demo are: NFC-A \ ISO14443A (T1T, T2T, T4TA) NFC-B \ ISO14443B (T4TB) NFC-F \ FeliCa (T3T) NFC-V \ ISO15693 (T5T) ST25TB (ISO14443-2 Type B with proprietary protocol) Rev 2 9/21 20

X-CUBE-NFC3 software expansion for STM32Cube 4.2 Architecture This software expansion for STM32Cube lets you develop applications using the ST25R95 or CR95HF near field communication transceiver ICs. It is based on the STM32CubeHAL hardware abstraction layer for the STM32 microcontroller and extends STM32Cube with a board support package (BSP) for the X-NUCLEO-NFC03A1 expansion board. Application software can access and use the X-NUCLEO-NFC03A1 expansion board through the following layers: STM32Cube HAL layer: provides a simple set of generic, multiinstance APIs (application programming interfaces) to interact with the upper layers (application, libraries and stacks). These generic and extension APIs are directly built on a common architecture and allow overlying layers like middleware to implement their functions without depending on specific microcontroller unit (MCU) hardware information. This structure improves the library code reusability and guarantees easy portability across other devices. Board support package (BSP) layer: provides support for the peripherals on the STM32 Nucleo board (apart from the MCU). This set of APIs provides a programming interface for certain board-specific peripherals like the LED, the user button etc. This interface also helps you identify the specific board version. Middleware RF abstraction layer (RFAL): RFAL provides several functions for RF/NFC communication. It groups the different RF ICs (for instance ST25R95/CR95HF or ST25R3911) under a common and easy to use interface. The technologies currently supported by RFAL are: NFC-A \ ISO14443A (T1T, T2T, T4TA) NFC-B \ ISO14443B (T4TB) NFC-F \ FeliCa (T3T) NFC-V \ ISO15693 (T5T) ST25TB (ISO14443-2 Type B with Proprietary Protocol) The RFAL provides support of Data Exchange Protocols. Internally, the RFAL is divided into two sub layers: RF HAL- RF hardware abstraction layer RF AL - RF abstraction layer 10/21 Rev 2

X-CUBE-NFC3 software expansion for STM32Cube Figure 2. RFAL block diagram The modules in the RF HAL are chip-dependent, they implement the RF IC driver, configuration tables and specific instructions for the HW to perform the physical RF functions. The interface for the caller is a shared RF header file which provides the same interface for upper layers (for all chips). The RF AL can be broken down into two further sub layers: Technologies: technology modules which implement all the specifics, framing, timings, etc. Protocols: protocol implementation including all the framing, timings, error handling, etc. On top of these, the application layer uses RFAL functions like NFC Forum Activities, etc. Access to the lowest functions of the ICs is granted by the RF module. The caller can make direct use of any of the RF technology or protocol layers without requiring any specific hardware configuration data. Rev 2 11/21 20

X-CUBE-NFC3 software expansion for STM32Cube Figure 3. X-CUBE-NFC3 software architecture 4.3 Folders structure Figure 4. X-CUBE-NFC3 package folders structure The following folders are included in the software package: Documentation: this folder contains a compiled HTML file generated from the source code, which details the software components and APIs. Drivers: this folder contains the HAL drivers, the board-specific drivers for each supported board or hardware platform, including the on-board components, and the CMSIS vendor-independent hardware abstraction layer for the Cortex-M processor series. Middlewares: this folder contains RFAL (RF abstraction layer). RFAL provides several functions required to perform RF/NFC communication. 12/21 Rev 2

X-CUBE-NFC3 software expansion for STM32Cube The RFAL groups the different ST25R RF ICs under a common and easy to use interface. Projects: this folder contains a sample application example Tag Detect, provided for the NUCLEO-L476RG and NUCLEO-F401RE platforms with three development environments (IAR embedded workbench for Arm, Keil microcontroller development Kit (MDK-ARM), and system workbench for STM32 (SW4STM32). An RFAL usage example as a Poller device is provided in examplerfalpoller.c. In this example, different devices are detected and activated, and data is exchanged implementing a presence check mechanism. Once removed or upon error, the device is deactivated and the discovery loop restarts. 4.4 APIs Detailed technical information about the APIs available to the user can be found in a compiled CHM file located inside the Documentation folder of the software package where all the functions and parameters are fully described. 4.5 Sample application description A sample application using the X-NUCLEO-NFC03A1 expansion board with the STM32 Nucleo development board is provided in the Projects directory. Ready-to-build projects are available for multiple IDEs. In this application, NFC tags of different types are detected by the ST25R95 or CR95HF near field communication transceivers. See the CHM documentation file generated from the source code for more details regarding the sample application. After system initialization and clock configuration, LED1, LED2, LED3 and LED4 blink 3 times. When a tag is detected in the vicinity, a LED is lit on the NFC3 shield according to the table below. Table 2. LED lit on tag detection NFC Tag Type LEDs lit on tag detection NFC TYPE A NFC TYPE B NFC TYPE F NFC TYPE V LED1 LED2 LED3 LED4 ST s virtual comport interface is also included: following system initialization, the board is configured and enumerated as an ST Virtual comport. Rev 2 13/21 20

X-CUBE-NFC3 software expansion for STM32Cube Figure 5. ST virtual communication port enumeration After checking the virtual COM port number, open a connection on Hyperterminal (or similar) with the configuration shown below (enable option: Implicit CR on LF, if available). Figure 6. UART serial communication configuration 14/21 Rev 2

X-CUBE-NFC3 software expansion for STM32Cube Following successful connection, the user can view the messages on the hyperterminal, as shown below. Figure 7. UART serial communication displayed on Hyperterminal Rev 2 15/21 20

System setup guide 5 System setup guide 5.1 Hardware description This section describes the hardware components required to develop a sensor-based application. The following sub-sections describe the individual components. 5.1.1 STM32 Nucleo platform The STM32 Nucleo boards provide an affordable and flexible way for users to test new ideas and build prototypes with any STM32 microcontroller lines. The Arduino connectivity support and ST morpho headers make it easy to expand the functionality of the STM32 Nucleo open development platform with a wide choice of specialized expansion boards. The STM32 Nucleo board does not require any separate probe, as it integrates the ST-LINK/V2-1 debugger/programmer. The STM32 Nucleo board comes with the STM32 comprehensive software HAL library together with various packaged software examples. Information about the STM32 Nucleo boards is available on STMicroelectronics website www.st.com. Figure 8. STM32 Nucleo board 16/21 Rev 2

System setup guide 5.1.2 X-NUCLEO-NFC03A1 expansion board The X-NUCLEO-NFC03A1 is a contactless transceiver IC expansion board that can be used with the STM32 Nucleo platform. It is also compatible with Arduino UNO R3 connector layout, and is designed around the STMicroelectronics ST25R95 or CR95HF near field communication transceiver. The X-NUCLEO-NFC03A1 interfaces with the STM32 MCU via SPI/UART pin. Figure 9. X-NUCLEO-NFC03A1 expansion board Information about the STM32 Nucleo boards is available on STMicroelectronics website www.st.com. Rev 2 17/21 20

System setup guide 5.2 Software description The following software components are needed in order to setup the suitable development environment to create applications for the STM32 Nucleo with the NFC expansion board: X-CUBE-NFC3: an expansion for STM32Cube dedicated to NFC applications development. The X-CUBE-NFC3 firmware and its related documentation are available on www.st.com. Development tool-chain and Compiler: the STM32Cube expansion software supports the three following environments: IAR Embedded Workbench for Arm (EWARM) toolchain + ST-Link RealView Microcontroller Development Kit (MDK-ARM ) toolchain + ST-LINK System Workbench for STM32 (SW4STM32) + ST-LINK 5.3 Hardware and software setup This section describes the hardware and software setup procedures. It also describes the required system setup. 5.3.1 Hardware setup The following hardware components are needed: One STM32 Nucleo Development platform (order code: NUCLEO-L476RG, NUCLEO-F401RE or NUCLEO-F103RB) One ST25R95 (CR95HF) near field communication transceiver expansion board (order code: X-NUCLEO-NFC03A1) One USB type A to Mini-B USB cable to connect the STM32 Nucleo to the PC 5.3.2 Software setup This section lists the minimum requirements for the developer to setup the SDK. Development tool-chains and compilers Select one of the integrated development environments supported by the STM32Cube expansion software. Read the system requirements and setup information provided by the selected IDE provider. 5.3.3 System setup guide This section describes how to setup different hardware parts before writing and executing an application on the STM32 Nucleo board with the Sensors expansion board. STM32 Nucleo, ST25R95 (CR95HF) expansion boards setup The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger/programmer. The developer can download the ST-LINK/V2-1 USB driver by looking at the STSW-LINK009 software on www.st.com. The X-NUCLEO-NFC03A1 expansion board can be easily connected to the STM32 Nucleo motherboard through the Arduino UNO R3 extension connector. It is capable of 18/21 Rev 2

System setup guide interfacing with the external STM32 microcontroller on STM32 Nucleo board using SPI/UART transport layer. By default it will run using SPI interface. The user can choose to compile with one of the two interfaces by selecting the right target under Projects properties. Rev 2 19/21 20

Revision history 6 Revision history Table 3. Document revision history Date Revision Changes 26-May-2016 1 Initial release 15-Jan-2019 2 Added ST25R95. Updated: Introduction Table 1: List of acronyms Section 4.1: Overview Section 4.2: Architecture Section 4.3: Folders structure Section 4.4: APIs Section 4.5: Sample application description Section 5.3.1: Hardware setup 20/21 Rev 2

IMPORTANT NOTICE PLEASE READ CAREFULLY STMicroelectronics NV and its subsidiaries ( ST ) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST s terms and conditions of sale in place at the time of order acknowledgement. Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers products. No license, express or implied, to any intellectual property right is granted by ST herein. Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product. ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners. Information in this document supersedes and replaces information previously supplied in any prior versions of this document. 2019 STMicroelectronics All rights reserved Rev 2 21/21 21