M24SR64 NFC/RFID Tag with I2C Interface

This page describes the STM M24SR64 NFC/RFID tag with I2C interface that is used on ST's M24SR Discovery board. The board features the M24SR device, an ST32F103, an LCD (320x240, ILI9341, SPI) and some switches and LEDs. The board is pre-loaded with firmware to demonstrate its capabilities. I got one of these boards for free from ST (thanks again) at a trade show and started some experiments. The plan was to port the application to mbed. This notebook provides information on progress to date.

/media/uploads/wim/img_3161.jpg

Hardware

The board is shown above. I have added an ''extender'' to get access to as many pins as possible (top, center). This helped in debugging and provides I/O capabilities that may be used in future. There are several differences compared to the F103 nucleo board:

  • There is no ST-link/mbed programming interface. Flashing code can be done using the JTAG/SWD port through an external programmer. I plan to use the ST-Link/V2 programmer from a regular nucleo in future. Initial testing was done with Segger J-Link.
  • There is no console/terminal port on the original board. I have added an FTDI compatible port (top, left) and use an external USB-Serial converter.
  • The F103RGT6 on the board has 1M Flash instead of the 128K that is provided by the F103RB on the mbed nucleo. This will work, but you don't get to use all the available memory.
  • The official ST mbed libs are still under development and don't yet support all the pins and code that is needed to get the UART, SPI, I2C and some other functions going on the M24SR board. I have done some quick hacks on the mbed source libs and included those in my M24SR project instead of the official mbed lib.
  • The ST board uses a simple driver for the ILI9341 LCD controller. I have replaced that lib by the one that Peter Drescher published. Several improvements and additions were added to get this going on the ST board.
  • The 'C' source code for the M24SR Discovery is provided by ST. I have ported and modified these libs to make them compliant with the (updated) low level mbed SPI and I2C APIs.
  • Currently only the NDEF URl function is available (picture below). However, this function uses the whole NDEF protocol stack so the other message types should be working also. Testing for those is ongoing.

/media/uploads/wim/img_3165_-_copy.jpg

Writing NDEF messages

The tags can be written or read by smartphones or other devices that support NFC/NDEF. Initial testing was done using another evaluation board from ST. This board is shown below. It is the CR95HF demonstration board. ST provides free PC software to read/write tags such as the M24SR.

/media/uploads/wim/img_3163.jpg

Software

Needs more work before it is ready for publication....

References


2 comments on M24SR64 NFC/RFID Tag with I2C Interface:

29 Jul 2014

Hi, I bought a M24SR Discovery board from ST and as you know the Microcontroller is ARM in this module.I want to use ATXMEGA 32A4U in a project and I have source code for ARM but I don't know which changes I have to apply to the ARM code to use the code for ATXMEGA 32A4U?

Would you please help me in this regard?I need a urgent help or if you have a code for ATMEGA or ATXMEGA,Please send me. I am waiting for your reply soon.

thanks a lot.

14 Sep 2016

I have one of these any chance of publishing the LCD code? The Peter Drescher library gives me a stm32f10x_dma.h missing? how do you deal with LCD_SDA?

Please log in to post comments.