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:
- Eine Schaltung, die das RFID-RC522-Modul über SPI mit dem ESP32 S3 verbindet
- Eine Firmware, die erkennt, wenn ein RFID- oder NFC-Tag vorhanden ist, und dessen UID liest
- Eine Ausgabe im Seriellen Monitor, die den Tag-Typ und die UID im Hexadezimalformat anzeigt
- Eine Grundlage, die Sie zu Zugangskontrollsystemen, Inventar-Trackern und Smart-Lock-Projekten erweitern können

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Ü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

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

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.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Schaltung verdrahten: Verbinden Sie das RFID-RC522-Modul gemäß dem obigen Verdrahtungsplan mit dem ESP32 S3.
- Mit dem Computer verbinden: Schließen Sie den ESP32 S3 über ein USB-Type-C-Kabel an Ihren Computer an.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Board auswählen: Wählen Sie in der Board-Auswahl den ESP32 S3 und den richtigen COM-Port aus.
- MFRC522-Bibliothek installieren: Klicken Sie auf das Symbol Bibliotheken in der linken Leiste der Arduino IDE.
- Nach der Bibliothek suchen: Geben Sie "MFRC522" in das Suchfeld ein und suchen Sie dann nach der Bibliothek von GithubCommunity.
- 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.
- Code hochladen: Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
- Seriellen Monitor öffnen: Öffnen Sie nach dem Hochladen den Seriellen Monitor in der Arduino IDE.

- Lesegerät testen: Halten Sie mehrere RFID- oder NFC-Tags an das RC522-Modul.
- Ausgabe ansehen: Beobachten Sie, wie Tag-Typ und UID im Seriellen Monitor erscheinen.
- 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.
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:
- Zugangskontrollsystem: Gewähren oder verweigern Sie den Zutritt, indem Sie eine gescannte UID mit einer gespeicherten Liste berechtigter Karten vergleichen.
- Anwesenheitserfassung: Protokollieren Sie jeden RFID-Scan mit Zeitstempel über WLAN in einer Cloud-Tabelle oder Datenbank für automatische Anwesenheitsaufzeichnungen.
- 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.
- Bestandsverwaltung: Versehen Sie Artikel mit RFID-Aufklebern und scannen Sie sie mit dem ESP32 S3, um die Bestandszählung zu automatisieren.
- Bibliotheksbuch-Tracker: Bringen Sie RFID-Tags an Büchern an und verfolgen Sie Ausleihen und Rückgaben ohne manuelles Scannen von Barcodes.
- 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.
- 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:
- 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.
- Anfänger: Fügen Sie eine LED-Anzeige hinzu, die bei einem berechtigten Tag grün und bei einem unberechtigten Tag rot leuchtet.
- 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.
- Fortgeschritten: Protokollieren Sie jede gescannte UID mit Zeitstempel auf einer Micro-SD-Karte für einen dauerhaften Prüfpfad.
- 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.
- 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.