How does it work?
NFC 6 Click is based on the ST25R95, a near-field communication transceiver from STMicroelectronics. It manages frame coding and decoding in Reader and card emulation modes for standard applications such as near-field communication (NFC), proximity, and vicinity standards. The NFC transceiver supports ISO/IEC 14443 Type A communication in reader and card emulation modes and ISO/IEC 14443 Type B, ISO/IEC15693, and FeliCa in reader mode. The ST25R95 embeds an analog front end to provide the 13.56 MHz air interface and supports the detection, reading, and writing of NFC Forum Type 1, 2, 3, 4, and 5 tags.
There are two operating modes that ST25R95 supports: wait for event (WFE) and active mode. In active mode, the transceiver communicates actively with a tag or an external host, while the WFE mode includes four low-consumption states: power-up, hibernate, sleep/field detector, and tag detector.
NFC 6 Click uses a standard 4-wire SPI serial interface to communicate with the host MCU, supporting clock frequencies of up to 2MHz. There are two interrupt pins: interrupt input (II) and interrupt output (IO). The interrupt input allows you to control WFE events. When it is ready, the NFC transceiver returns a replay over the interrupt output by setting it to a Low logic level. It will remain Low until the host MCU reads the data. The application can use the Interrupt mode to skip the polling stage.
This Click board™ can operate with either 3.3V or 5V logic voltage levels selected via the V SEL jumper. This way, both 3.3V and 5V capable MCUs can use the communication lines properly. Also, this Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used as a reference for further development.
Specifications
Type
RFID/NFC
Applications
Can be used for the development of applications based on NFC technology, contactless communication, payment systems, home and industrial automation, and more
On-board modules
ST25R95 – near field communication transceiver from STMicroelectronics
Key Features
NFC/RFID card writer and reader, ISO/IEC 14443-3 Type A card emulation, dedicated internal frame controller, highly integrated analog front end (AFE) for RF communication, transmission and reception modes, optimized power management, tag detection mode, field detection mode, and more
Interface
SPI
Feature
ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on NFC 6 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1 | V SEL | Left | Power Voltage Level Selection 3V3/5V: Left position 3V3, Right position 5V |
NFC 6 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
RF Communication Frequency | – | 13.56 | – | MHz |
Software Support
We provide a library for the NFC 6 Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for NFC 6 Click driver.
Key functions
-
nfc6_send_command
This function sends a desired command by using SPI serial interface. -
nfc6_read_data
This function reads a response data bytes by using SPI serial interface. -
nfc6_read_mifare_tag_uid
This function reads the UID of a MIFARE ISO14443-A type tags with 4-byte or 7-byte UIDs.
Example Description
This example demonstrates the use of NFC 6 Click board™ by reading MIFARE ISO/IEC 14443 type A tag UID.
void application_task ( void )
{
uint8_t tag_uid[ NFC6_TAG_UID_MAX_LEN ] = { 0 };
uint8_t tag_uid_len = 0;
if ( NFC6_OK == nfc6_read_mifare_tag_uid ( &nfc6, tag_uid, &tag_uid_len ) )
{
log_printf( &logger, " TAG UID: " );
for ( uint8_t cnt = 0; cnt < tag_uid_len; cnt++ )
{
log_printf( &logger, "0x%.2X ", ( uint16_t ) tag_uid[ cnt ] );
}
log_printf( &logger, "rn----------------------------------rn" );
Delay_ms( 500 );
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.NFC6
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.