NFC · I2C · EEPROM

ST25DV16K I2C RFID EEPROM 模块资料

ST25DV16K 是动态 NFC/RFID Tag 芯片,内部 16-Kbit EEPROM,支持 I2C 有线读写,也支持手机 NFC 通过 13.56MHz RF 接口读取。适合做可动态改写的网址标签、设备配置卡、NFC 信息牌和 I2C 到 NFC 的实验项目。

Quick Facts

  • 芯片:ST25DV16K
  • 容量:16-Kbit EEPROM
  • 接口:I2C + NFC/RFID
  • NFC:ISO/IEC 15693,NFC Forum Type 5
  • 购买:淘宝 item 1012478068232
ST25DV16K I2C RFID EEPROM Breakout STEMMA QT / Qwiic 接口;SKU:6013400677375 对应规格请以淘宝订单为准。
进入淘宝购买

Product

实物图与丝印

下面为本店实物图。模块带板载 NFC 天线,两侧有 STEMMA QT / Qwiic 接口,也保留 2.54mm 焊盘。

ST25DV16K I2C RFID EEPROM 模块正面实物图
正面:板载天线、ST25DV16K 芯片、GND/SDA/SCL/VEH/VIN/GPO 焊盘。
ST25DV16K I2C RFID EEPROM 模块背面丝印图
背面:标有 I2C 地址参考 0x2D、0x53、0x57。

Specs

主要规格

以下参数按 ST25DV16K 芯片公开资料和模块常见设计整理;模块供电、丝印、接口以当前实物为准。

项目说明备注
芯片型号ST25DV16K动态 NFC/RFID Tag IC
EEPROM 容量16-Kbit,约 2048 bytesI2C 按 byte 访问,RF 按 4-byte block 访问
通信接口I2C + RFRF 为 13.56MHz NFC/RFID
RF 协议ISO/IEC 15693,NFC Forum Type 5手机 NFC 一般可读 Type 5 标签
芯片供电1.8V ~ 5.5V模块 VIN 可按主控逻辑电平供电
I2C 速度最高 1MHz排查时先用 100kHz 或 400kHz
常见 I2C 地址0x2D、0x53、0x57同一芯片不同存储/寄存器区可能响应不同地址
GPO可配置事件输出用于 RF 活动/中断提示,可先不接
VEH能量采集输出非稳压电源,不建议给主控供电

Wiring

I2C 接线

STEMMA QT / Qwiic 线序按常见颜色:红 VCC/VIN、黑 GND、蓝 SDA、黄 SCL。不要把 GPO、VEH 当成普通 I2C 必接线。

ST25DV16K I2C RFID EEPROM 模块 Arduino ESP32 接线图
模块引脚Arduino UNO/NanoESP32说明
VIN5V3.3V建议与主控 I2C 逻辑电平一致
GNDGNDGND必须共地
SDAA4 / SDAGPIO21I2C 数据线
SCLA5 / SCLGPIO22I2C 时钟线
GPO可不接可接任意输入脚RF 活动/中断提示,需要外部上拉时再接
VEH可不接可不接能量采集输出,不是稳定电源

Software

程序去哪里下载

先用 I2C 扫描程序确认接线和地址,再安装官方 ST25DV 库运行示例。客户不会下载程序时,可以直接发这一段。

第一步:下载 Arduino IDE

打开 Arduino 官网下载并安装 Arduino IDE。已经安装的客户直接跳到库管理器。

Arduino IDE 下载

第二步:安装 ST25DV 库

Arduino IDE 里打开“工具 / 管理库”,搜索 STM32duino ST25DV,安装 STMicroelectronics 维护的库。

ST25DV 库源码

第三步:打开示例

安装后打开 文件 → 示例 → STM32duino ST25DV → ST25DV_HelloWorld,按示例修改引脚和 URL 后上传。

重点提醒:ST25DV 官方 Arduino 库不建议用 Arduino UNO / ATmega328P / ATmega32U4,内存不够。建议用 ESP32、SAMD、STM32 等内存更大的主控。

Quick Test

I2C 扫描测试

下面这个程序只用于确认模块 I2C 有响应,不负责写 NFC URL。扫到 0x2D、0x53、0x57 中的一个或多个,通常说明 I2C 接线基本正常。

#include <Wire.h>

void setup() {
  Serial.begin(115200);
  Wire.begin();          // UNO/Nano: SDA=A4, SCL=A5
  // Wire.begin(21, 22); // ESP32: SDA=GPIO21, SCL=GPIO22

  Serial.println("ST25DV16K I2C scan start");
  Serial.println("Common addresses may include 0x2D, 0x53, 0x57.");
}

void loop() {
  byte found = 0;
  for (byte addr = 1; addr < 127; addr++) {
    Wire.beginTransmission(addr);
    byte error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("I2C device found at 0x");
      if (addr < 16) Serial.print("0");
      Serial.println(addr, HEX);
      found++;
    }
  }
  if (found == 0) Serial.println("No I2C device found. Check VIN/GND/SDA/SCL.");
  delay(3000);
}

Use Notes

使用注意事项

为什么 I2C 扫描会看到多个地址?

ST25DV 系列是一个芯片,但用户存储区、系统区、动态寄存器/邮箱等区域可能使用不同 I2C 地址。模块背面也标了 0x2D、0x53、0x57,所以看到多个地址不一定异常。

手机能不能直接读?

写入 NDEF URL 或文本后,支持 NFC Type 5 / ISO15693 的手机通常可以靠近天线读取。天线面积较小,测试时手机 NFC 区域要贴近模块天线。

PN532 能不能读这个标签?

常见 PN532 教程多用于 ISO14443 / Mifare 一类标签,不一定支持 ISO15693。客户用 PN532 读不到,不代表 ST25DV16K 模块坏。

VEH 能不能给单片机供电?

VEH 是能量采集输出,受 RF 场强和负载影响,不是稳定电源。资料页只建议用它做实验或检测,不建议给主控稳定供电。

Downloads

官方资料与原理图下载

官方原理图和 PCB 文件请保留来源链接,不建议去掉官方 LOGO 后重新发布。网站里已自绘无水印接线图,客户需要原理图时直接点官方链接下载。

Customer Reply

淘宝客户简短话术

您好,这个 ST25DV16K 模块是 I2C + NFC/RFID 双接口 EEPROM。接单片机时只需要 VIN、GND、SDA、SCL 四根线,GPO 和 VEH 可以先不接。程序先用 I2C 扫描,看是否能扫到 0x2D、0x53、0x57 中的地址;确认 I2C 正常后,再在 Arduino IDE 库管理器搜索安装 STM32duino ST25DV,打开 ST25DV_HelloWorld 示例测试写入 URL。

注意:ST25DV 官方库不建议用 Arduino UNO,UNO 内存太小,容易编译不过或运行不稳定。建议用 ESP32、SAMD、STM32 等内存更大的开发板测试。手机读取时要贴近板载天线,普通 PN532 模块不一定支持 ISO15693,读不到不能直接判断模块坏。