NFC TAG 4 CLICK
PID: MIKROE-3659 Weight: 19 g
NFC Tag 4 Click is NFC tag device, offering 16 Kbit of electrically erasable programmable memory
(EEPROM). This Click Board™ offer two communication interfaces. The first one is an I2C serial link
and can be operated from a DC power supply. The second one is a RF link activated when Click
Board™ act as a contactless memory powered by the received carrier electromagnetic wave. It is
perfectly suited for using in wide variety of applications, such as NFC enabled business cards,
stickers, wristbands, key fobs, pens, movie passes, hang tags, medication bottles, and many more.
NFC Tag 4 click is supported by a mikroSDK compliant library, which includes functions that simplify
software development. This Click board™ comes as a fully tested product, ready to be used on a
system equipped with the mikroBUS™ socket.
NFC Tag 4 click is NFC tag device, featuring ST25DV16K - the compact NFC tag IC
from STMicroelectronics. This IC includes a full set of features, like Fast data transfer
between I2C and RF interfaces, half-duplex 256-byte dedicated buffer, energy
harvesting, data protection features, and more. NFC Tag 4 click also features the
onboard trace antenna, ensuring that no external components are required in order to
use this Click Board™.
HOW DOES IT WORK?
The active NFC tag component on NFC Tag 4 click is the ST25DV16K - the compact
NFC tag IC from STMicroelectronics. The Click board™ itself has a reasonably small
number of components because most of the interface and EEPROM memory circuitry is
already integrated on the ST25DV16K IC. The I2C / SMBus compatible serial interface
lines, along with the GPO pin, which also works in the open drain configuration, are
pulled up by the onboard resistors. The 2-Wire lines are routed to the respective I2C
lines of the mikroBUS™ (SCK and SDA), while the GPO pin of the main IC is routed to
the INT pin of the mikroBUS™
The ST25DV16K uses the I2C/SMBus compatible communication interface, offering a
fast transfer mode (FTM), to achieve a fast link between RF and contact worlds, via a
256 byte buffer called Mailbox. This mailbox dynamic buffer of 256 byte can be filled or
emptied via either RF or I2C.
There is also the INT pin available, which indicates incoming event to the contact side,
like RF Field changes, RF activity in progress, RF writing completion or Mailbox
message availability. The built in energy harvesting element can deliver µW of power
when external conditions make it possible. The integrated RF management allows the
NFC Tag 4 click to ignore RF requests.
All these features can be programmed by setting static and/or dynamic registers of the
ST25DV16K. ST25DVxxx can be partially customized using configuration registers
located in the E2 system area. More information about all the registers can be found in
the ST25DV16K datasheet. However, provided library contains functions that simplify
the use of the NFC Tag 4 click. The included application example demonstrates their
functionality and it can be used as a reference for custom design.
In order to make sure that no external components are required in order to use it, this
Click Board™ contains the integrated trace antenna on the PCB. The antenna coil is
correctly tuned and can be used to power and access the device using the ISO/IEC
15693 and ISO 18000-3 mode 1 protocols. Power is transferred to the ST25DV16K by
radio frequency at 13.56 MHz via coupling antennas of the NFC Tag 4 click and the
NFC Reader being used. The ISO 15693 standard defines the carrier frequency (fC) of
the operating field as 13.56 MHz ±7 kHz.
The Click board™ can be supplied and interfaced with both 3.3V and 5V without the
need for any external components. The onboard SMD jumper labeled as VCC SEL
allows voltage selection for interfacing with both 3.3V and 5V MCUs.
SPECIFICATIONS
Type
NFC
Applications
NFC enabled business cards, stickers, wristbands, key fobs,
pens, movie passes, hang tags, medication bottles, and many
more.
On-board
modules
ST25DV16K - the compact NFC tag IC from STMicroelectronics
Key Features
Fast data transfer between I2C and RF interfaces, half-duplex
256-byte dedicated buffer, energy harvesting, data protection
features, integrated antenna onboard
Interface
I2C
Input Voltage
3.3V or 5V
Compatibility
mikroBUS
Click board
size
L (57.15 x 25.4 mm)
PINOUT DIAGRAM
This table shows how the pinout on NFC Tag 4 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
NC
1
AN
PWM
16
NC
NC
2
RST
INT
15
INT
NC
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
SCL
I2C Clock
NC
6
MOSI
SDA
11
SDA
I2C Data
Power Supply
3.3V
7
3.3V
5V
10
5V
Ground
GND
8
GND
GND
9
GND
Interrupt output
Power Supply
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
JP1
VCC SEL
Left
Description
Power supply voltage selection: left position 3V3,
right position 5V
LD1
PWR
-
Power LED indicator
SOFTWARE SUPPORT
We provide a library for the NFC Tag 4 click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run
on all the main MikroElektronika development boards.
Library Description
Library contains function for getting INT pin state Library contains function for setting CS
pin state Library contains function for getting register values Library contains function for
setting register values Library contains function for device initialization Library contains
function for getting temperature value Library contains function for getting axes values
Library contains function for software reset Library contains functions for setting power
mode and full scale range
Key functions:
•
•
•
uint8_t nfctag4_password_present( uint8_t * password_bytes ) - presents password to device in
order to open I2C security session.
uint8_t nfctag4_init( void ) - initializes the device.
uint8_t nfctag4_enable_mailbox( uint8_t enable_mailbox ) - enables or disables mailbox
functionality.
Examples description
The application is composed of three sections :
•
System Initialization - Initializes GPIO pins, I2C and LOG modules.
•
Application Initialization - Initializes I2C driver, presents password to the device and initializes the
device.
•
Application Task - Checks if RF placed a message to mailbox and if it did, checks message length
and logs message bytes.
void applicationTask( )
{
nfctag4_wait_for_int( );
nfctag4_i2c_get( _NFCTAG4_MEMORY_DYNAMIC, _NFCTAG4_DYNAMIC_REG_MB_CTRL, &aux_buffer[0], 1
);
if (( aux_buffer[0] & 0x04 ) == ( 0x04 ))
{
nfctag4_wait_for_int( );
nfctag4_i2c_get( _NFCTAG4_MEMORY_DYNAMIC, _NFCTAG4_DYNAMIC_REG_MB_LEN, &aux_buffer[0],
1 );
message_length = aux_buffer[0];
message_length++;
nfctag4_wait_for_int( );
nfctag4_i2c_get( _NFCTAG4_MEMORY_MAILBOX, _NFCTAG4_MAILBOX_REG_BYTE_0, &aux_buffer[0],
message_length );
mikrobus_logWrite( " ", _LOG_LINE );
mikrobus_logWrite( "> ********* MESSAGE ********* Message length : ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " [Bytes]", _LOG_LINE );
for (i = 0; i < message_length; i ++)
{
ByteToStr( i, text );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " : ", _LOG_TEXT );
ByteToHex( aux_buffer[ i ], text );
mikrobus_logWrite( "0x", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_LINE );
}
mikrobus_logWrite( "> *********** END ***********