NFC EXTEND CLICK
PID: MIKROE-3971
Weight: 16 g
NFC Extend Click is NFC tag interface device with possibility of using any
shape and size external antenna, 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 Extend Click board™ 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.
How does it work?
The active NFC tag component on NFC Extend 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 on-board 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™.
Depending on the application requirements various shapes and sizes of 13.56 MHz external
antenna can be used by connecting them to CN1 (male U.FL) connector. Mikroe is working on
offering plenty of them it in the future, therefore stay tuned.
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 Extend Click to ignore RF requests.
All these features can be programmed by setting static and/or dynamic registers of the
ST25DV16K. ST25DV16K 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 Extend
Click. The included application example demonstrates their functionality and it can be used as a
reference for custom design.
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
RFID/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, custom size and shape external antenna.
Interface
I2C
Compatibility
mikroBUS
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on NFC Extend 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
Interrupt output
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
Power supply
Ground
GND
8 GND
GND
9
Ground
GND
Onboard settings and indicators
Label
Name
Default
PWR LED GREEN ‐
JP1 VCC/SEL
Left
Description
Power LED Indicator
Power supply voltage selection: left position 3V3, right position 5V
Software Support
We provide a library for the NFC Extend 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, for getting and setting registers via I2C, for
presenting and writing password, for enabling/disabling mailbox and RF functionalities and for
device initialization.
Key functions:
uint8_t nfcextend_password_present ( uint8_t *password_bytes ) ‐ Presenting
password to device.
uint8_t nfcextend_init ( void ) ‐ Initializing the device.
uint8_t nfcextend_enable_mailbox ( uint8_t enable_mailbox ) ‐ Enabling or
disabling mailbox.
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 application_init ( )
{
nfcextend_i2c_driver_init( (nfcextend_obj_t)&_MIKROBUS1_GPIO,
(nfcextend_obj_t)&_MIKROBUS1_I2C, NFCEXTEND_I2C_SLAVE_ADDRESS );
Delay_ms( 500 );
nfcextend_password_present( &default_password[ 0 ] );
Delay_ms( 100 );
init_status_flag = nfcextend_init( );
Delay_ms( 100 );
if ( init_status_flag == 1 )
{
mikrobus_logWrite( "> App init fail", _LOG_LINE );
}
else if ( init_status_flag == 0 )
{
mikrobus_logWrite( "> App init done", _LOG_LINE );
}
}
Additional Functions :
nfcextend_wait_for_int( void ) ‐ waits for INT pin to go LOW and than HIGH for time
period of 300ms
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
I2C
UART
Conversions
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. The terminal available in all MikroElektronika compilers,
or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK - MikroElektronika 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.
https://www.mikroe.com/nfc‐extend‐click/2‐18‐20