español
Tiempo: 26/08/2026
Navegar: 2,343
El módulo RFID RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
es un lector y escritor sin contacto de 13.56 MHz comúnmente utilizado con Arduino, ESP32 y otros microcontroladores. El nombre RC522 generalmente se refiere a una placa básica construida en torno al IC lector MFRC522 de NXP. La sintonización de la antena, la configuración de la interfaz y la calidad de los componentes pueden variar entre los fabricantes de módulos. Crea un campo de radiofrecuencia que alimenta una tarjeta o etiqueta pasiva compatible, lee el UID de la etiqueta y accede a la memoria almacenada cuando la clave de autenticación correcta está disponible. Este artículo explica el pinout de RC522, especificaciones, etiquetas compatibles, proceso de lectura/escritura, conexiones de Arduino y ESP32, código de ejemplo, rango medido, problemas comunes y alternativas modernas de NFC.

Figura 1. Módulo RFID RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs

Figura 2. Pinout de RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
| Pin |
Nombre |
Función |
| 1 |
VCC |
Suministra energía al módulo. Conéctalo a una fuente regulada de 3.3 V. No lo conectes directamente a 5 V. |
| 2 |
RST |
Reinicia y habilita el módulo. Conéctalo a un pin GPIO digital en el microcontrolador. |
| 3 |
GND |
Proporciona la conexión a tierra. Conéctalo al pin GND del microcontrolador. |
| 4 |
IRQ |
Envía una señal de interrupción cuando ocurre un evento RFID configurado. Generalmente no se utiliza en proyectos básicos. |
| 5 |
MISO/SCL/TX |
Envía datos desde el RC522 al microcontrolador en modo SPI. También puede funcionar como SCL para I²C o TX para UART. |
| 6 |
MOSI |
Envía comandos y datos desde el microcontrolador al RC522 en modo SPI. |
| 7 |
SCK |
Suministra la señal de reloj utilizada para sincronizar la comunicación SPI. |
| 8 |
SS/SDA/RX |
Selecciona el RC522 durante la comunicación SPI. También puede funcionar como SDA para I²C o RX para UART. |
La mayoría de las placas de desarrollo RC522 de color azul están configuradas para SPI. El IC MFRC522 también admite I²C y UART, pero usar estas interfaces puede requerir cambios de soldadura o puentes específicos de la placa. Verifica el esquema del módulo antes de intentar una conexión I²C o UART.
| Especificación |
Valor |
| IC lector |
NXP MFRC522 |
| Frecuencia de operación |
13.56 MHz |
| Estándar sin contacto compatible |
ISO/IEC 14443 A, MIFARE y NTAG |
| Suministro operativo del MFRC522 |
2.5–3.3 V |
| Máximo suministro VDDA, VDDD y TVDD |
3.6 V |
| Interfaces de host |
SPI, bus I²C y UART serie |
| Tasa máxima de datos SPI |
10 Mbit/s |
| Tasa máxima de datos I²C |
400 kBd en modo rápido; 3400 kBd en modo de alta velocidad |
| Tasa máxima de datos UART serie |
1228.8 kBd |
| Tasa máxima de transferencia sin contacto |
848 kBd |
| Distancia de operación típica |
Hasta 50 mm en modo de lectura/escritura, dependiendo del tamaño y la sintonización de la antena |
| Buffer FIFO |
64 bytes para enviar y recibir datos |
| Corriente máxima en apagado duro |
5 µA como máximo |
| Corriente máxima en apagado blando |
10 µA como máximo con el detector de nivel RF habilitado |
| Procesamiento CRC |
Coprocesador CRC integrado |
| Temporizador |
Temporizador interno programable |
| Interrupciones |
Modos de interrupción flexibles |
| Autocomprobación |
Autocomprobación interna integrada |
| Frecuencia de cristal externo |
27.12 MHz |
| Antena del módulo |
Típicamente una antena PCB integrada; específica para la placa y no para la especificación del IC MFRC522 |
Nota: NXP lista MFRC52202HN1 como Fin de Vida y recomienda CLRC663 plus para nuevos diseños de lectores.
Referencia: NXP Semiconductors, MFRC522 - Rendimiento estándar MIFARE y NTAG frontend, Hoja de datos del producto, Rev. 3.9, 27 de abril de 2016, número de documento 112139.
El RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
lee y escribe tarjetas y etiquetas ISO/IEC 14443 Tipo A de 13.56 MHz. Funciona mejor con productos MIFARE Classic Mini, 1K y 4K. El MFRC522 admite estos productos a nivel RF, pero las características de lectura, escritura y protección disponibles dependen de la etiqueta y la biblioteca de software.
No puede leer etiquetas de 125 kHz, ISO/IEC 14443 Tipo B, FeliCa, ISO/IEC 15693 o etiquetas UHF. Las tarjetas protegidas pueden permitir la detección de UID pero bloquean el acceso a sus datos almacenados. El RC522 tampoco admite comunicación normal con teléfonos inteligentes NFC.
El proceso comienza cuando el microcontrolador indica al RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
que escanee en busca de una etiqueta. Después de que una etiqueta pasiva compatible responde, el lector realiza una anticollision para separar múltiples respuestas, obtiene el UID de la etiqueta y selecciona una etiqueta para la comunicación.

Figura 3. Detección de etiqueta RC522, autenticación y proceso de lectura/escritura de datos
Antes de acceder a la memoria protegida, el lector se autentica utilizando la clave de sector correcta. Una operación de lectura transfiere datos del bloque seleccionado al microcontrolador, mientras que una operación de escritura envía nuevos datos al bloque y verifica si la etiqueta los aceptó. El RC522 luego informa si la operación tuvo éxito o fracasó.
El Arduino Uno y el ESP32 se comunican con el RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
a través de SPI, pero utilizan diferentes pines y niveles lógicos. Instala la biblioteca MFRC522 a través del Administrador de bibliotecas de Arduino antes de cargar el boceto de lectura de UID en la Sección 5.3.
La biblioteca está congelada y solo recibe mantenimiento esporádico. Admite tarjetas MIFARE Classic, pero el soporte para NTAG y MIFARE Ultralight es parcial. No admite I²C, UART, autenticación MIFARE DESFire, comunicación con teléfonos inteligentes ni emulación de tarjetas.
El Arduino Uno se comunica con el RC522 a través de SPI. Alimenta el módulo con 3.3 V y conecta ambos dispositivos a una tierra común. Debido a que el Uno produce salidas GPIO de 5 V, SDA/SS, SCK, MOSI y RST deben pasar a través de un buffer lógico tolerante a 5 V alimentado desde 3.3 V. En las placas RC522 comunes, el pin SDA funciona como SS o selección de chip en modo SPI.

Figura 4. Cableado SPI de Arduino Uno y RC522
| Pin RC522 |
Conexión de Arduino Uno |
Función |
| SDA/SS |
D10 a través del buffer lógico |
Selección de chip |
| SCK |
D13 a través del buffer lógico |
Reloj SPI |
| MOSI |
D11 a través del buffer lógico |
Datos enviados al RC522 |
| MISO |
D12 directamente |
Datos devueltos al Arduino |
| RST |
D9 a través del buffer lógico |
Reinicio del lector |
| GND |
GND directamente |
Tierra común |
| 3.3 V |
3.3 V directamente |
Alimentación del módulo |
| IRQ |
No conectado |
Se utiliza sondeo |
Una conexión MISO directa funciona comúnmente, pero un nivel shifter ascendente proporciona una compatibilidad más estricta en el peor de los casos. El pin de 3.3 V del Uno está limitado a 50 mA. Si el módulo se vuelve inestable, usa una fuente de alimentación externa regulada de 3.3 V con su tierra conectada a la tierra de Arduino.
El ESP32 y el RC522 utilizan lógica de 3.3 V, por lo que un convertidor de nivel normalmente no es necesario. RST está conectado a GPIO 22, evitando GPIO 0 porque GPIO 0 afecta el modo de arranque del ESP32. Estas conexiones se aplican al clásico ESP32 DevKit; otras variantes del ESP32 pueden usar diferentes pines SPI.

Figura 5. Conexiones SPI del ESP32 y RC522
| RC522 |
ESP32 |
| SDA/SS |
GPIO 5 |
| SCK |
GPIO 18 |
| MOSI |
GPIO 23 |
| MISO |
GPIO 19 |
| RST |
GPIO 22 |
| GND |
GND |
| 3.3 V |
3.3 V |
| IRQ |
No conectado |
La configuración específica del ESP32 utilizada por el sketch compartido es:
const byte SS_PIN = 5;
const byte RST_PIN = 22;
Serial.begin(115200);
SPI.begin(18, 19, 23, SS_PIN);
El siguiente sketch selecciona automáticamente las asignaciones de pines e inicialización SPI para un Arduino Uno o un ESP32 clásico. Abre el Monitor Serial a 9600 baudios para el Uno o 115200 baudios para el ESP32.
#include
#include
#if defined(ARDUINO_ARCH_ESP32)
const byte SS_PIN = 5;
const byte RST_PIN = 22;
const unsigned long SERIAL_BAUD = 115200;
#else
const byte SS_PIN = 10;
const byte RST_PIN = 9;
const unsigned long SERIAL_BAUD = 9600;
#endif
MFRC522 reader(SS_PIN, RST_PIN);
void setup() {
Serial.begin(SERIAL_BAUD);
#if defined(ARDUINO_ARCH_ESP32)
SPI.begin(18, 19, 23, SS_PIN);
#else
SPI.begin();
#endif
reader.PCD_Init();
Serial.println("Coloca una etiqueta RFID compatible cerca del lector.");
}
void loop() {
if (!reader.PICC_IsNewCardPresent() ||
!reader.PICC_ReadCardSerial()) {
return;
}
Serial.print("UID de la tarjeta:");
for (byte i = 0; i
Serial.print(reader.uid.uidByte[i]
Serial.print(reader.uid.uidByte[i], HEX);
}
Serial.println();
reader.PICC_HaltA();
delay(500);
}
El RC522 es un lector, no un sistema de seguridad completo. El UID de una etiqueta identifica la etiqueta, pero no debe tratarse como una contraseña secreta porque los dispositivos compatibles pueden copiarlo o emularlo. Por lo tanto, los sistemas que solo utilizan UID no son adecuados para pagos, control de acceso seguro u otras aplicaciones donde la suplantación podría causar daños graves.
La seguridad también depende de la tecnología de la tarjeta. MIFARE Classic utiliza el cifrado legado Crypto1, que los investigadores han demostrado ser vulnerable a ataques prácticos de recuperación de claves y acceso a memoria. Las claves predeterminadas y las claves almacenadas sin protección en el firmware del microcontrolador crean riesgos adicionales. El RC522 es adecuado para aprendizaje e identificación de bajo riesgo, pero los sistemas sensibles deben usar un lector compatible y tarjetas con autenticación mutua moderna, cifrado AES, mensajería segura y almacenamiento de claves protegidas, como los productos MIFARE DESFire o MIFARE Plus apropiados.
El folleto NXP MFRC522 especifica una distancia típica de lectura/escritura de hasta 50 mm, dependiendo del tamaño de la antena y el ajuste. Este no es un rango garantizado para cada módulo RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
. El diseño de la etiqueta, la alineación de la antena, el voltaje de suministro, el ruido eléctrico y el metal cercano pueden afectar la distancia real.
Wijanarko et al. (2025) probaron un prototipo de control de acceso basado en ESP32 utilizando un módulo RC522 y una tarjeta MIFARE Classic 1K.
| Detalle de Prueba |
Información Reportada |
| Lector |
Módulo RC522; versiones de PCB y chip MFRC522 no especificadas |
| Etiqueta |
Tarjeta MIFARE Classic 1K |
| Voltaje de suministro |
Listado como 3.3 V, pero el voltaje durante la prueba no fue medido ni documentado |
| Orientación de antena |
No informado |
| Ensayos por distancia |
No informado |
| Tasa de éxito |
No informado como porcentaje |
| Tiempo de respuesta |
Descrito cualitativamente; no se proporcionaron tiempos medidos |
| Distancia |
Resultado Reportado en el Estudio |
| 1 cm |
Exitoso; descrito como muy rápido |
| 2 cm |
Exitoso; descrito como muy preciso |
| 3 cm |
Exitoso; respuesta descrita como ligeramente más lenta |
| 4 cm |
Exitoso; descrito como dentro del rango óptimo |
| 5 cm |
Exitoso; reportado como el límite de distancia estable |
| 6 cm |
Fallido |
El prototipo detectó la tarjeta a distancias de 1 a 5 cm y falló a 6 cm. Sin embargo, el estudio no informó sobre ensayos repetidos, tasas de éxito numéricas, tiempos de respuesta medidos u orientación de la antena. Por lo tanto, estos hallazgos describen este prototipo únicamente y no deben presentarse como una calificación de fiabilidad universal del RC522.
Referencia: Wijanarko, Y., Alfarizal, N., y Pratama, M. R. (2025). “Implementación de un sistema de seguridad de puerta automática basado en RFID RC522 e IoT en un laboratorio de ingeniería eléctrica.” Revista Indonesia de Inteligencia Artificial y Minería de Datos, 8(2), 478–488.
Tan et al. (2018) desarrolló un sistema de asistencia universitaria utilizando un lector RFID-RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
, un controlador NodeMCU, Wi-Fi y tarjetas de campus compatibles de 13.56 MHz. Los estudiantes escanearon sus tarjetas en la entrada del aula, y una aplicación móvil confirmó que la base de datos en la nube recibió cada registro de asistencia. En una prueba en el aula, la tasa de asistencia reportada aumentó del 85% al 98%.
El artículo no indicó el tamaño de la muestra de asistencia, la duración de la prueba, el número de sesiones de clase, la distancia de lectura, el tiempo de escaneo o la tasa de fallos de tarjetas. También carecía de un grupo de control y evaluó una plataforma más amplia que contenía características móviles, códigos QR e interacción en clase. Por lo tanto, el aumento no puede atribuirse solo al RC522.
Referencia: Tan, P., Wu, H., Li, P., y Xu, H. (2018). “Sistema de Gestión de Enseñanza con Aplicaciones de RFID y Tecnología IoT.” Ciencias de la Educación, 8(1), Artículo 26. DOI: 10.3390/educsci8010026.
Dewanto et al. (2021) construyeron un prototipo de pago offline utilizando un Arduino Uno, un lector MFRC522, un LCD y una tarjeta microSD. Actualizó saldos de dinero electrónico y almacenó compras, recargas y reembolsos localmente.
Una prueba de 30 toques logró un éxito del 100% en la detección de tarjetas a 1-3 cm y 0% a 4 cm. El tiempo de respuesta del lector a 1–3 cm fue de 0.1–0.2 segundos. Las transacciones completas tomaron de 1.4 a 2.0 segundos con saldo suficiente, 0.5 segundos con saldo insuficiente y 0.3 segundos para tarjetas no registradas.
El artículo no explicó claramente cómo se distribuyeron los toques, cuántas tarjetas se utilizaron o la variación entre las mediciones. Sus resultados basados en cronómetro se aplican únicamente al prototipo. La clonación de tarjetas, la recuperación de claves, los ataques de repetición y la resistencia a manipulación no fueron probados, por lo que el sistema no fue validado para uso de pago en producción.
Referencia: Dewanto, S. A., Munir, M., Wulandari, B., y Alfian, K. (2021). “Implementación de tecnología RFID MFRC522 para comerciantes convencionales con sistema de pago sin efectivo.” Revista de Física: Serie de Conferencias, 1737(1), 012012. DOI: 10.1088/1742-6596/1737/1/012012.
| Problema |
Prueba diagnóstica |
Solución |
| El módulo no es detectado |
Verifique la alimentación de 3.3 V y ejecute PCD_DumpVersionToSerial(). |
Corrija las conexiones de alimentación, tierra, SPI, SS y RST. |
| La etiqueta no es reconocida |
Pruebe la tarjeta de 13.56 MHz incluida cerca de la antena. |
Utilice una tarjeta compatible con ISO/IEC 14443A. El RC522
|
| La lectura es inestable |
Sostenga la tarjeta paralela a la antena y retire el metal cercano. |
Utilice cables cortos, alimentación estable de 3.3 V y alineación adecuada de la etiqueta. |
| La autenticación falla |
Verifique el tipo de etiqueta, sector, bloque y Clave A o Clave B. |
Utilice la clave de sector correcta de MIFARE Classic. |
| No se pueden escribir datos |
Pruebe un bloque de datos sin usar y léalo de nuevo. |
Verifique los permisos de acceso y evite el bloque 0 o los tráilers de sector. |
| El lector se detiene después de una tarjeta |
Retire y presente la tarjeta nuevamente. |
Termine la sesión con PICC_HaltA() y PCD_StopCrypto1(). |
| El lector falla cuando se activa un motor |
Desconecte el motor o relé y vuelva a probar. |
Utilice filtrado de potencia separado y protección contra retroceso. |
| Dispositivo |
Modos de NFC |
Soporte para teléfonos inteligentes |
Interfaz de host |
Estándares soportados |
Estado del producto |
Uso recomendado |
| MFRC522 |
Solo lector/escritor |
Limitado; sin modos de peer-to-peer o de emulación de tarjeta, y la biblioteca común de Arduino no soporta la comunicación con teléfonos inteligentes |
SPI, I²C o UART serie |
ISO/IEC 14443A, MIFARE y NTAG |
Fin de vida; NXP recomienda CLRC663 Plus |
Proyectos de Arduino y ESP32 de bajo costo existentes que utilizan tarjetas o etiquetas compatibles |
| PN532
|
Lector/escritor, emulación de tarjeta y peer-to-peer NFCIP-1 |
Sí, cuando es compatible con el sistema operativo y la aplicación del smartphone |
SPI, I²C o UART de alta velocidad |
ISO/IEC 14443A/B, MIFARE, FeliCa e ISO/IEC 18092 |
No recomendado para nuevos diseños; NXP recomienda el PN7160 |
Mantenimiento de proyectos NFC más antiguos que requieren múltiples modos NFC |
| PN7160 |
Todos los modos del Foro NFC: lector/escritor, emulación de tarjeta y peer-to-peer activa o pasiva |
Sí; admite interacción del lector, emulación de tarjeta y peer-to-peer, aunque los sistemas operativos de los teléfonos pueden restringir P2P |
I²C o SPI utilizando NCI 2.0 |
Tipos de etiqueta del Foro NFC 1–5, ISO/IEC 14443A/B, MIFARE Classic, FeliCa e ISO/IEC 15693 |
Activo |
Nuevos productos embebidos e IoT que requieren soporte completo de NFC; no destinado a cumplimiento de pagos EMVCo |
| CLRC663 Plus |
Lector/escritor multiprotocolo e iniciador pasivo ISO/IEC 18092 |
Limitado a la comunicación del lado del lector con modos de emulación de tarjeta de teléfono compatibles; requiere una pila de protocolos host |
SPI, I²C o UART |
ISO/IEC 14443A/B, MIFARE, NTAG, FeliCa, ISO/IEC 15693 e ISO/IEC 18000-3 Modo 3 |
Activo; sustituto recomendado del MFRC522 |
Diseños de control de acceso de alto rendimiento, industrial, de juegos y de lectores multiprotocolo |
El PN532 no se recomienda para nuevos diseños. NXP recomienda el PN7160 como su reemplazo. El PN7160 admite todos los modos del Foro NFC, pero la disponibilidad de peer-to-peer todavía depende de la pila de software y el sistema operativo del smartphone.
Almacene el último UID y la hora de escaneo, luego ignore los escaneos repetidos dentro de un retraso elegido. Para un mejor control, requiera que la tarjeta salga del campo RF antes de aceptarla nuevamente.
Almacene la longitud del UID junto con cada byte en bruto porque los UIDs pueden contener 4, 7 o 10 bytes. Evite convertirlos en un entero normal, lo que puede eliminar ceros a la izquierda o exceder el tamaño de número disponible.
La tarjeta contiene 1,024 bytes divididos en 16 sectores. Después de excluir el bloque del fabricante y los tráilers de sector, quedan aproximadamente 752 bytes en bloques de datos normales.
El hardware puede comunicarse con productos NTAG compatibles, pero el manejo de NDEF depende de la biblioteca de software. El programa debe entender la estructura de memoria NFC Tipo 2, los campos TLV y el formato del registro NDEF en lugar de tratar la etiqueta como una memoria bruta ordinaria.
CAP CER 18PF 100V C0G/NP0 0603
CAP CER 2700PF 50V C0G/NP0 0603
CAP CER 10UF 6.3V X5R 0805
CAP CER 0.56UF 16V X7R 1206
CAP CER 4.7UF 50V Y5V 1206
CAP TANT 4.7UF 10% 16V 1411
MOSFET N-CH 100V 120A TO220-3
CRYSTAL 32.7680KHZ 12.5PF SMD
IC DRIVER 1/0 14SOIC
ATTENUATOR VOLT VARIABLE 8MSOP
PSB3186FV-1.4 LNFINEON
PDM41256LA-12SO PARADIG
UPD70P3002GC-25-7EA NEC
RC522 NXP
Existencias disponibles: 1376
Existencias disponibles: 1298
