Svenska
Tid: 2026/08/26
Bläddra: 2,295
RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
RFID-modulen är en 13.56 MHz kontaktlös läsare och skrivare som vanligtvis används med Arduino, ESP32 och andra mikrokontroller. Namnet RC522 hänvisar vanligtvis till ett breakout-kort byggt runt NXP:s MFRC522 läsar-IC. Antennjustering, gränssnitts-konfiguration och komponentkvalitet kan variera mellan modulens tillverkare. Den skapar ett radiosignalsfält som driver ett kompatibelt passivt kort eller tag, läser taggens UID och kommer åt lagrad minne när den rätta autentiseringsnyckeln är tillgänglig. Denna artikel förklarar RC522 pinout, specifikationer, stödda taggar, läs-/skrivprocess, Arduino- och ESP32-anslutningar, exempelkod, uppmätt räckvidd, vanliga problem och moderna NFC-alternativ.

Figur 1. RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
RFID-modul

Figur 2. RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
Pinout
| Pin |
Namn |
Funktion |
| 1 |
VCC |
Förser modulen med ström. Anslut den till en reglerad 3.3 V strömförsörjning. Anslut den inte direkt till 5 V. |
| 2 |
RST |
Återställer och aktiverar modulen. Anslut den till en digital GPIO-pin på mikrokontrollern. |
| 3 |
GND |
Ger markanslutning. Anslut den till mikrokontrollerns GND-pin. |
| 4 |
IRQ |
Skickar en avbrottssignal när en konfigurerad RFID-händelse inträffar. Det används vanligtvis inte i grundläggande projekt. |
| 5 |
MISO/SCL/TX |
Skickar data från RC522 till mikrokontrollern i SPI-läge. Den kan också fungera som SCL för I²C eller TX för UART. |
| 6 |
MOSI |
Skickar kommandon och data från mikrokontrollern till RC522 i SPI-läge. |
| 7 |
SCK |
Förser klocksignalen som används för att synkronisera SPI-kommunikation. |
| 8 |
SS/SDA/RX |
Väljer RC522 under SPI-kommunikation. Den kan också fungera som SDA för I²C eller RX för UART. |
De flesta blå RC522 breakout-kort är konfigurerade för SPI. MFRC522 IC stöder också I²C och UART men att använda dessa gränssnitt kan kräva specifika löd-jumper eller strap-ändringar för kortet. Kontrollera modulens schema innan du försöker göra en I²C- eller UART-anslutning.
| Specifikation |
Värde |
| Läsar-IC |
NXP MFRC522 |
| Driftsfrekvens |
13.56 MHz |
| Stödd kontaktlös standard |
ISO/IEC 14443 A, MIFARE och NTAG |
| MFRC522 driftsströmförsörjning |
2.5–3.3 V |
| Maximal VDDA, VDDD och TVDD strömförsörjning |
3.6 V |
| Värdgränssnitt |
SPI, I²C-buss och seriell UART |
| Maximal SPI-datahastighet |
10 Mbit/s |
| Maximal I²C-datahastighet |
400 kBd i snabb läge; 3400 kBd i hög hastighet |
| Maximal seriell UART-datahastighet |
1228.8 kBd |
| Maximal kontaktlös överföringshastighet |
848 kBd |
| Typisk driftavstånd |
Upp till 50 mm i läs/skriv-läge, beroende på antennstorlek och justering |
| FIFO-buffert |
64 byte för att skicka och ta emot data |
| Hård strömsänkning |
5 µA max |
| Mjuk strömsänkning |
10 µA max med RF-nivådetektor aktiverad |
| CRC-bearbetning |
Integrerad CRC-koprocessor |
| Timer |
Programmerbar intern timer |
| Interrupts |
Flexibla avbrottslägen |
| Självtest |
Integrerat internt självtest |
| Extern kristallfrekvens |
27.12 MHz |
| Modulets antenn |
Typiskt en integrerad PCB-antenn; brädspecifik snarare än en MFRC522 IC-specifikation |
Obs: NXP listar MFRC52202HN1 som slut på livscykel och rekommenderar CLRC663 plus för nya läsardesigner.
Referens: NXP Semiconductors, MFRC522 - Standard prestanda MIFARE och NTAG frontend, Produktdatablad, Rev. 3.9, 27 april 2016, dokumentnummer 112139.
RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
läser och skriver 13.56 MHz ISO/IEC 14443 Typ A-kort och taggar. Den fungerar bäst med MIFARE Classic Mini, 1K och 4K-produkter. MFRC522 stöder dessa produkter på RF-nivån, men tillgängliga läs-, skriv- och skyddsfunktioner beror på taggen och programvarubiblioteket.
Den kan inte läsa 125 kHz taggar, ISO/IEC 14443 Typ B, FeliCa, ISO/IEC 15693 eller UHF-taggar. Skyddade kort kan tillåta UID-detektering men blockera åtkomst till deras lagrade data. RC522 stöder inte normal kommunikation med NFC-smartphones.
Processen börjar när mikrokontrollern säger åt RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
att skanna efter en tagg. Efter att en kompatibel passiv tagg svarar, utför läsaren antikollision för att separera flera svar, får taggens UID och väljer en tagg för kommunikation.

Figur 3. RC522 Taggdetektering, autentisering och data läs-/skrivprocess
Innan åtkomst till skyddad minne autentiserar läsaren med den korrekta sektorkoden. En läsoperation överför data från den valda blocket till mikrokontrollern, medan en skrivoperation skickar ny data till blocket och kontrollerar om taggen accepterade den. RC522 rapporterar sedan om operationen lyckades eller misslyckades.
Arduino Uno och ESP32 kommunicerar med RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
genom SPI, men de använder olika pinnar och logiknivåer. Installera MFRC522-biblioteket genom Arduino-bibliotekshanteraren innan du laddar upp UID-läsningsskissen i avsnitt 5.3.
Biblioteket är fryst och får endast sporadisk underhåll. Det stöder MIFARE Classic-kort, men NTAG och MIFARE Ultralight-stödet är delvis. Det stöder inte I²C, UART, MIFARE DESFire-autentisering, smartphonekommunikation eller kortemulering.
Arduino Uno kommunicerar med RC522 genom SPI. Ge ström till modulen med 3.3 V och koppla båda enheterna till en gemensam jord. Eftersom Uno producerar 5 V GPIO-utgångar, måste SDA/SS, SCK, MOSI och RST passera genom en 5 V-tolerant logikbuffert som drivs från 3.3 V. På vanliga RC522-kort fungerar SDA-pinnen som SS eller chipval i SPI-läge.

Figur 4. Arduino Uno och RC522 SPI-koppling
| RC522 Pin |
Arduino Uno Anslutning |
Funktion |
| SDA/SS |
D10 genom logikbuffert |
Chipval |
| SCK |
D13 genom logikbuffert |
SPI-klocka |
| MOSI |
D11 genom logikbuffert |
Data skickad till RC522 |
| MISO |
D12 direkt |
Data återvänd till Arduino |
| RST |
D9 genom logikbuffert |
Läsaramreset |
| GND |
GND direkt |
Gemensam jord |
| 3.3 V |
3.3 V direkt |
Modulströmm |
| IRQ |
Inte ansluten |
Polling används |
En direkt MISO-anslutning fungerar vanligtvis, men en uppåtriktad nivåomvandlare ger striktare kompatibilitet i värsta fall. Unos 3.3 V-stift är begränsat till 50 mA. Om modulen blir instabil, använd en extern reglerad 3.3 V-strömförsörjning med sin jord kopplad till Arduinos jord.
ESP32 och RC522 använder 3,3 V logik, så en nivåomvandlare är normalt onödig. RST är kopplad till GPIO 22, vilket undviker GPIO 0 eftersom GPIO 0 påverkar ESP32 startläge. Dessa anslutningar gäller för den klassiska ESP32 DevKit; andra ESP32-varianter kan använda olika SPI-pins.

Figur 5. ESP32 och RC522 SPI-anslutningar
| 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 |
Ej ansluten |
ESP32-specifika inställningar som används av den delade skissen är:
const byte SS_PIN = 5;
const byte RST_PIN = 22;
Serial.begin(115200);
SPI.begin(18, 19, 23, SS_PIN);
Den följande skissen väljer automatiskt pin-konfigurationer och SPI-initialisering för en Arduino Uno eller klassisk ESP32. Öppna den seriella monitorn på 9600 baud för Uno eller 115200 baud för 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 läsare(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("Placera en kompatibel RFID-tag nära läsaren.");
}
void loop() {
if (!reader.PICC_IsNewCardPresent() ||
!reader.PICC_ReadCardSerial()) {
return;
}
Serial.print("Kort UID:");
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);
}
RC522 är en läsare, inte ett komplett säkerhetssystem. En tags UID identifierar taggen men bör inte behandlas som ett hemligt lösenord eftersom kompatibla enheter kan kopiera eller emulera den. Därför är system som endast använder UID olämpliga för betalningar, säker åtkomstkontroll eller andra tillämpningar där förfalskning kan orsaka allvarlig skada.
Säkerhet beror också på kortteknologin. MIFARE Classic använder den äldre Crypto1-kryptografen, som forskare har visat vara sårbar för praktiska nyckelåterställnings- och minnesåtkomstattacker. Standardnycklar och nycklar som lagras utan skydd i mikrokontrollerprogramvara skapar ytterligare risker. RC522 är lämplig för inlärning och identifiering med låg risk, men känsliga system bör använda en kompatibel läsare och kort med modern ömsesidig autentisering, AES-kryptering, säker meddelandehantering och skyddad nyckellagring, som lämpliga MIFARE DESFire eller MIFARE Plus-produkter.
NXP MFRC522 datablad specificerar ett typiskt läs-/skrivavstånd på upp till 50 mm, beroende på antennstorlek och justering. Detta är inte ett garanterat intervall för varje RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
-modul. Taggdesign, antennjustering, strömkälla, elektrisk brus och närliggande metall kan påverka det faktiska avståndet.
Wijanarko et al. (2025) testade en ESP32-baserad åtkomstkontrollprototyp med en RC522-modul och ett MIFARE Classic 1K-kort.
| Test Detalj |
Information Rapportera |
| Läsare |
RC522 modul; PCB och MFRC522 chipversioner ej angivna |
| Tagg |
MIFARE Classic 1K-kort |
| Strömkälla |
Angiven som 3,3 V, men spänningen under testning mättes eller dokumenterades inte |
| Antennorientering |
Ej rapporterad |
| Försök per avstånd |
Ej rapporterad |
| Framgång grad |
Ej rapporterad som en procentandel |
| Svar tid |
Beskriven kvalitativt; inga mätta tider tillhandahölls |
| Avstånd |
Studie-rapporterad resultat |
| 1 cm |
Framgångsrik; beskriven som mycket snabb |
| 2 cm |
Framgångsrik; beskriven som mycket noggrann |
| 3 cm |
Framgångsrik; svar beskrivet som något långsammare |
| 4 cm |
Framgångsrik; beskriven som inom det optimala intervall |
| 5 cm |
Framgångsrik; rapporterad som stabilt avståndsgräns |
| 6 cm |
Misslyckades |
Prototypen upptäckte kortet på avstånd från 1 till 5 cm och misslyckades vid 6 cm. Studien rapporterade dock inte upprepade försök, numeriska framgångsfrekvenser, uppmätta svarstider eller antennorientering. Därför beskriver dessa resultat endast denna prototyp och bör inte presenteras som en universell RC522 pålitlighetsbedömning.
Referens: Wijanarko, Y., Alfarizal, N., och Pratama, M. R. (2025). “Implementering av ett RFID RC522 och IoT-baserat automatiskt dörrsäkerhetssystem i ett elektrisk ingenjörslaboratorium.” Indonesisk Journal of Artificial Intelligence and Data Mining, 8(2), 478–488.
Tan et al. (2018) utvecklade ett universitets närvarosystem med en RFID-RC522
![]()
RC522
NXP
RC522 NXP
In Stock: 11386 pcs
-läsare, NodeMCU-kontroller, Wi-Fi och kompatibla 13,56 MHz kampuskort. Studenterna skannade sina kort vid klassrummets ingång och en mobilapplikation bekräftade att molndatabasen mottog varje närvaroregistrering. I ett klassrumstest ökade den rapporterade närvarorate från 85 % till 98 %.
Artikeln angav inte provstorleken för närvaron, testets längd, antalet klasssessioner, läsavståndet, skanntiden eller kortmisslyckandefrekvensen. Den saknade också en kontrollgrupp och utvärderade en bredare plattform som innehöll mobila, QR-kod och klassruminteraktionsfunktioner. Därför kan ökningen inte tillskrivas RC522 ensam.
Referens: Tan, P., Wu, H., Li, P., och Xu, H. (2018). “Undervisningshanteringssystem med tillämpningar av RFID och IoT-teknik.” Utbildningsvetenskaper, 8(1), Artikel 26. DOI: 10.3390/educsci8010026.
Dewanto et al. (2021) byggde en offline betalningsprototyp med en Arduino Uno, MFRC522-läsare, LCD och microSD-kort. Den uppdaterade elektroniska pengar saldo och lagrade inköp, påfyllningar och återbetalningar lokalt.
Ett test med 30 tryck uppnådde 100 % kortdetekteringsframgång vid 1–3 cm och 0 % vid 4 cm. Läsarens svarstid vid 1–3 cm var 0,1–0,2 sekunder. Fullständiga transaktioner tog 1,4–2,0 sekunder med tillräckligt saldo, 0,5 sekunder med otillräckligt saldo och 0,3 sekunder för oregistrerade kort.
Artikeln förklarade inte tydligt hur trycken fördelades, hur många kort som användes, eller variationen mellan mätningarna. Dess stoppur-baserade resultat gäller endast prototypen. Kortkloning, nyckelåterställning, återspelningsattacker och motståndskraft mot manipulering testades inte, så systemet validerades inte för produktionsbetalningsanvändning.
Referens: Dewanto, S. A., Munir, M., Wulandari, B., och Alfian, K. (2021). “Implementering av MFRC522 RFID-teknologi för konventionella handlare med kontantlös betalningssystem.” Journal of Physics: Conference Series, 1737(1), 012012. DOI: 10.1088/1742-6596/1737/1/012012.
| Problem |
Diagnostiskt test |
Lösning |
| Modulen detekteras inte |
Kontrollera 3,3 V och kör PCD_DumpVersionToSerial(). |
Korrigera strömförsörjningen, mark, SPI, SS och RST-anslutningar. |
| Taggen erkänns inte |
Testa det medföljande 13,56 MHz-kortet nära antennen. |
Använd ett ISO/IEC 14443A-kompatibelt kort. RC522
|
| Läsningen är instabil |
Håll kortet parallellt med antennen och ta bort närliggande metall. |
Använd korta ledningar, stabil 3,3 V-strömförsörjning och korrekt tag-alignment. |
| Autentisering misslyckas |
Verifiera taggtypen, sektor, block och Nyckel A eller Nyckel B. |
Använd rätt MIFARE Classic sektornyckel. |
| Data kan inte skrivas |
Testa en oanvänd datablokk och läs tillbaka den. |
Kontrollera åtkomstbehörigheter och undvik block 0 eller sektortrailer. |
| Läsaren slutar efter ett kort |
Ta bort och presentera kortet igen. |
Avsluta sessionen med PICC_HaltA() och PCD_StopCrypto1(). |
| Läsaren misslyckas när en motor aktiveras |
Koppla ur motorn eller reläet och testa igen. |
Använd separat kraftfiltering och flyback-skydd. |
| Enhet |
NFC Lägen |
Smartphone Stöd |
Värd Gränssnitt |
Stödda Standarder |
Produkt Status |
Rekommenderad Användning |
| MFRC522 |
Läsa/skriver endast |
Begränsad; ingen peer-to-peer eller kort-emulationslägen, och det vanliga Arduino-biblioteket stöder inte smartphoneskommunikation |
SPI, I²C eller serielt UART |
ISO/IEC 14443A, MIFARE och NTAG |
Livets slut; NXP rekommenderar CLRC663 Plus |
Befintliga lågkostnads Arduino- och ESP32-projekt som använder kompatibla kort eller taggar |
| PN532
|
Läsare/skribent, kortemulering och NFCIP-1 peer-to-peer |
Ja, när den bärbara enheten stöds av smartphone operativsystemet och applikationen |
SPI, I²C eller hög hastighet UART |
ISO/IEC 14443A/B, MIFARE, FeliCa och ISO/IEC 18092 |
Rekommenderas inte för nya konstruktioner; NXP rekommenderar PN7160 |
Underhåll av äldre NFC-projekt som kräver flera NFC-lägen |
| PN7160 |
Alla NFC Forum-lägen: läsare/skriftare, kort emulering och aktiv eller passiv peer-to-peer |
Ja; stöder läsarinteraktion, kort emulering och peer-to-peer, även om telefonens operativsystem kan begränsa P2P |
I²C eller SPI med NCI 2.0 |
NFC Forum Tag Typer 1–5, ISO/IEC 14443A/B, MIFARE Classic, FeliCa och ISO/IEC 15693 |
Aktiv |
Nya inbyggda och IoT-produkter som kräver fullständig NFC-support; inte avsedd för EMVCo betalningsöverensstämmelse |
| CLRC663 Plus |
Multi-protokoll läsare/skriftare och ISO/IEC 18092 passiv initiator |
Begränsad till kommunikation från läsarsidan med kompatibla telefon kort-emuleringslägen; kräver en värdprotokollstack |
SPI, I²C eller UART |
ISO/IEC 14443A/B, MIFARE, NTAG, FeliCa, ISO/IEC 15693 och ISO/IEC 18000-3 Läge 3 |
Aktiv; rekommenderad ersättning för MFRC522 |
Högpresterande åtkomstkontroll, industri, spel och multi-protokoll läsar designs |
PN532 rekommenderas inte för nya konstruktioner. NXP rekommenderar PN7160 som sin ersättning. PN7160 stöder alla NFC Forum-lägen, men tillgången till peer-to-peer beror fortfarande på mjukvarustacken och smartphone-operativsystemet.
Spara den senaste UID:n och scanningtiden, och ignorera sedan upprepade skanningar inom en vald fördröjning. För bättre kontroll, kräva att kortet lämnar RF-fältet innan det accepteras igen.
Spara UID-längden tillsammans med varje rå byte eftersom UIDs kan innehålla 4, 7 eller 10 byte. Undvik att konvertera dem till ett vanligt heltal, vilket kan ta bort ledande nollor eller överskrida den tillgängliga nummers storlek.
Kortet innehåller 1 024 byte som är uppdelade i 16 sektioner. Efter att tillverkarens block och sektors trailer har exkluderats, återstår ungefär 752 byte i normala datablock.
Hårdvaran kan kommunicera med kompatibla NTAG-produkter, men NDEF-hanteringen beror på mjukvarubiblioteket. Programmet måste förstå NFC Typ 2 minnesstruktur, TLV-fält och NDEF-posterformat snarare än att behandla taggen som vanlig rå minne.
CAP CER 6PF 25V C0G/NP0 0201
CAP CER 2.3PF 25V T2H 0201
IC MPU I.MX23 454MHZ 128LQFP
IC RECEIVER 0/4 16TSSOP
IC DRAM 256MBIT PAR 54TFBGA
RES SMD 330 OHM 1% 1/10W 0603
OPTOISO 3.75KV OPEN COLL 5MFP
IC OPAMP ZERO-DRIFT 1 CIRC 8DFN
M38224M6A-353FP RENESAS
HITACHI PLCC68
IKW50N60 - DISCRETE IGBT WITH AN
RDS DEMODULATION IC
NVIDIA BGA

