ESP32 S3 - RFID/NFC

Erfahren Sie, wie Sie ein RC522-RFID/NFC-Lesemodul mit einem ESP32 S3 verbinden und die eindeutige Kennung (UID) jedes kompatiblen RFID- oder NFC-Tags lesen. Dieses Tutorial führt Sie durch alle Schritte – von der Verdrahtung der Hardware bis zum Hochladen des fertigen Sketches –, sodass Sie mit Ihrem ESP32 S3 in wenigen Minuten Karten und Tags identifizieren können.

Was Sie bauen werden:

  1. Eine Schaltung, die das RFID-RC522-Modul über SPI mit dem ESP32 S3 verbindet
  2. Eine Firmware, die erkennt, wenn ein RFID- oder NFC-Tag vorhanden ist, und dessen UID liest
  3. Eine Ausgabe im Seriellen Monitor, die den Tag-Typ und die UID im Hexadezimalformat anzeigt
  4. Eine Grundlage, die Sie zu Zugangskontrollsystemen, Inventar-Trackern und Smart-Lock-Projekten erweitern können
ESP32 S3 RFID RC522

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×RFID/NFC RC522 Kit (reader + tags)
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Überblick über RFID-RC522 Module

Das RFID-RC522 ist ein günstiges 13,56-MHz-RFID-Lesemodul auf Basis des MFRC522-Chips von NXP Semiconductors. Es kommuniziert über SPI mit dem ESP32 S3 und kann ISO-14443A-kompatible Karten und Tags – einschließlich der beliebten MIFARE-Kartenfamilie – in einer Entfernung von bis zu etwa 5 cm erkennen und lesen. Das Modul arbeitet mit 3,3-V-Logikpegeln und ist daher ohne Pegelwandlung direkt mit dem ESP32 S3 kompatibel.

Wichtige Spezifikationen

  • Betriebsfrequenz: 13,56 MHz
  • Kommunikationsschnittstelle: SPI (Standard), I2C, UART
  • Betriebsspannung: 3,3 V (VCC nicht mit 5 V verbinden)
  • Lesereichweite: bis zu ~5 cm (abhängig von Tag und Ausrichtung der Antenne)
  • Unterstützte Tag-Typen: MIFARE 1KB, MIFARE Ultralight, MIFARE Classic und andere ISO-14443A-Karten
  • Abmessungen: ca. 40 mm × 60 mm

Pinbelegung

RFID-RC522-Modul Pinbelegung

Das RFID-RC522-Modul hat 8 Pins, von denen einige von drei Kommunikationsschnittstellen gemeinsam genutzt werden: SPI, I2C und UART. Es kann immer nur ein Kommunikationsmodus gleichzeitig aktiv sein. Die Pins sind:

  1. GND: Mit GND (0 V) verbinden
  2. VCC: Mit 3,3 V verbinden – niemals mit 5 V verbinden
  3. RST: Reset- und Power-Down-Steuerung – bei LOW-Pegel wird ein Hard-Power-Down aktiviert; das Modul wird bei der steigenden Flanke zurückgesetzt
  4. IRQ: Interrupt-Ausgang – benachrichtigt den ESP32 S3, wenn ein RFID-Tag in den Erfassungsbereich gelangt (in diesem Tutorial nicht verwendet)
  5. MISO / SCL / TX: Dient je nach aktiver Schnittstelle als MISO (SPI), SCL (I2C) oder TX (UART)
  6. MOSI: MOSI-Datenleitung, wenn SPI aktiviert ist
  7. SCK: Serieller Takt, wenn SPI aktiviert ist
  8. SS / SDA / RX: Dient je nach aktiver Schnittstelle als SS (SPI), SDA (I2C) oder RX (UART)

※ Notiz:

  • Die Pin-Reihenfolge kann je nach Hersteller variieren. Verwenden Sie immer die auf dem Modul aufgedruckten Beschriftungen. Das obige Bild zeigt die Pinbelegung der Module des Herstellers DIYables.
  • Das RFID-RC522-Modul arbeitet mit 3,3 V. Wenn Sie den VCC-Pin mit 5 V verbinden, wird das Modul dauerhaft beschädigt.
  • Dieses Tutorial verwendet die SPI-Schnittstelle für die Kommunikation zwischen dem ESP32 S3 und dem RFID-RC522-Modul.

Verdrahtungsdiagramm

Um das RFID-RC522-Modul mit dem ESP32 S3 zu verbinden, benötigen Sie nur wenige Jumperkabel, da das Modul den Hardware-SPI-Bus nutzt. Halten Sie alle Kabel kurz, um Störungen auf den SPI-Leitungen zu reduzieren, und überprüfen Sie jede Verbindung, bevor Sie das Board mit Strom versorgen.

ESP32 S3 RFID RC522 Verdrahtungsplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Sicherheitshinweise

Das RFID-RC522-Modul arbeitet mit 3,3-V-Logik – wenn Sie seinen VCC-Pin mit der 5-V-Leitung verbinden, wird das Modul sofort zerstört. Überprüfen Sie daher immer die Stromversorgung, bevor Sie Strom anlegen. Der IRQ-Pin bleibt in diesem Tutorial unbeschaltet, was in Ordnung ist; lassen Sie ihn einfach offen, wenn Ihr Kabelsatz keinen Draht dafür vorsieht. Da der SPI-Bus des ESP32 S3 mit 3,3 V arbeitet, sind keine Pegelwandler-Widerstände zwischen Modul und Board erforderlich.

RFID/NFC-RC522-Modul ESP32 S3 Pin
SS-Pin GPIO10 (SS/CS)
SCK-Pin GPIO12 (SCK)
MOSI-Pin GPIO11 (MOSI)
MISO-Pin GPIO13 (MISO)
IRQ-Pin (nicht verbunden)
GND-Pin GND
RST-Pin GPIO39
VCC-Pin 3.3V

ESP32 S3 RFID/NFC-Code

Der folgende Code initialisiert den SPI-Bus und die MFRC522-Bibliothek und fragt dann fortlaufend nach einem neuen Tag ab. Wird ein Tag erkannt, liest er den Tag-Typ und die UID, gibt beides im Hexadezimalformat im Seriellen Monitor aus und hält die Karte dann an, sodass das nächste Auflegen als neuer Lesevorgang behandelt wird.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-rfid */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-rfid-nfc */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // ESP32-S3 pin GPIO10 #define RST_PIN 39 // ESP32-S3 pin GPIO39 MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.print("RFID/NFC Tag Type: "); Serial.println(rfid.PICC_GetTypeName(piccType)); // print UID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Schaltung verdrahten: Verbinden Sie das RFID-RC522-Modul gemäß dem obigen Verdrahtungsplan mit dem ESP32 S3.
  3. Mit dem Computer verbinden: Schließen Sie den ESP32 S3 über ein USB-Type-C-Kabel an Ihren Computer an.
  4. Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
  5. Board auswählen: Wählen Sie in der Board-Auswahl den ESP32 S3 und den richtigen COM-Port aus.
  6. MFRC522-Bibliothek installieren: Klicken Sie auf das Symbol Bibliotheken in der linken Leiste der Arduino IDE.
  7. Nach der Bibliothek suchen: Geben Sie "MFRC522" in das Suchfeld ein und suchen Sie dann nach der Bibliothek von GithubCommunity.
  8. Installieren: Klicken Sie auf die Schaltfläche Installieren, um die MFRC522-Bibliothek zu installieren.
  • Search for MFRC522 created by GithubCommunity and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
MFRC522 by GithubCommunity
Read/Write a RFID Card or Tag using the ISO/IEC 14443A/MIFARE interface. More info
1.4.11
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Code hochladen: Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
  2. Seriellen Monitor öffnen: Öffnen Sie nach dem Hochladen den Seriellen Monitor in der Arduino IDE.
So öffnen Sie den Seriellen Monitor in der Arduino IDE
  1. Lesegerät testen: Halten Sie mehrere RFID- oder NFC-Tags an das RC522-Modul.
  2. Ausgabe ansehen: Beobachten Sie, wie Tag-Typ und UID im Seriellen Monitor erscheinen.
  3. Profi-Tipp: Halten Sie jeden Tag flach und parallel zur Antennenspule des RC522 in einem Abstand von 1–3 cm, um die zuverlässigsten Lesewerte zu erhalten.

Ausgabe im Seriellen Monitor

Öffnen Sie nach dem Hochladen des Codes den Seriellen Monitor mit 9600 Baud und halten Sie dann RFID- oder NFC-Tags an das RC522-Modul, um für jeden Scan Typ und UID zu sehen.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:14:22] Tap an RFID/NFC tag on the RFID-RC522 reader [2026-06-16 09:14:35] RFID/NFC Tag Type: MIFARE 1KB [2026-06-16 09:14:35] UID: 2B B8 59 B1 [2026-06-16 09:14:48] RFID/NFC Tag Type: MIFARE Ultralight or Ultralight C [2026-06-16 09:14:48] UID: 15 75 46 7A 2C 5B 7E
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungs- und Projektideen

Der ESP32 S3 in Kombination mit einem RC522-RFID-Modul eröffnet eine Vielzahl von Identifikations- und Zugangskontrollanwendungen, die sich mit minimaler zusätzlicher Hardware umsetzen lassen. Hier sind praktische Einsatzmöglichkeiten für diese Schaltung:

  1. Zugangskontrollsystem: Gewähren oder verweigern Sie den Zutritt, indem Sie eine gescannte UID mit einer gespeicherten Liste berechtigter Karten vergleichen.
  2. Anwesenheitserfassung: Protokollieren Sie jeden RFID-Scan mit Zeitstempel über WLAN in einer Cloud-Tabelle oder Datenbank für automatische Anwesenheitsaufzeichnungen.
  3. Intelligentes Schließfach: Kombinieren Sie das Modul mit einem Magnetschloss oder Servo, um ein schlüsselloses Schließfach zu bauen, das sich nur für registrierte Tags öffnet.
  4. Bestandsverwaltung: Versehen Sie Artikel mit RFID-Aufklebern und scannen Sie sie mit dem ESP32 S3, um die Bestandszählung zu automatisieren.
  5. Bibliotheksbuch-Tracker: Bringen Sie RFID-Tags an Büchern an und verfolgen Sie Ausleihen und Rückgaben ohne manuelles Scannen von Barcodes.
  6. Identifikation von Haustieren oder Gegenständen: Lesen Sie passive RFID-Chips in Haustieren oder Geräten aus, um sie an einem Kontrollpunkt automatisch zu identifizieren.
  7. Spiel- oder Rätsel-Controller: Verwenden Sie RFID-Token als physische Eingaben in Escape Rooms, Schatzsuchen oder interaktiven Installationen.

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.

Fordern Sie sich heraus

Da Ihr ESP32 S3 nun erfolgreich die UIDs von RFID- und NFC-Tags liest, bringen Sie das Projekt mit diesen zunehmend schwierigeren Aufgaben weiter voran:

  1. Anfänger: Speichern Sie eine bekannte UID im Sketch und geben Sie "Access Granted" oder "Access Denied" aus, je nachdem, ob der gescannte Tag übereinstimmt.
  2. Anfänger: Fügen Sie eine LED-Anzeige hinzu, die bei einem berechtigten Tag grün und bei einem unberechtigten Tag rot leuchtet.
  3. Fortgeschritten: Schließen Sie einen Summer an und spielen Sie bei jedem erfolgreichen Scan einen kurzen Ton ab, mit einem anderen Ton für unberechtigte Tags.
  4. Fortgeschritten: Protokollieren Sie jede gescannte UID mit Zeitstempel auf einer Micro-SD-Karte für einen dauerhaften Prüfpfad.
  5. Experte: Bauen Sie mit dem WLAN des ESP32 S3 ein webbasiertes Admin-Panel, um berechtigte UIDs zur Laufzeit hinzuzufügen und zu entfernen, ohne die Firmware neu zu flashen.
  6. Experte: Kombinieren Sie das RC522-Lesegerät mit einem Magnetschloss und einem Tastenfeld, sodass sich die Tür nur öffnet, wenn sowohl die richtige RFID-Karte als auch eine PIN vorgelegt werden.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!