ESP32 S3 - RFID/NFC - Relais

Erfahren Sie, wie Sie ein RC522-RFID/NFC-Lesemodul und ein Relais mit dem ESP32 S3 verbinden, sodass nur berechtigte RFID- oder NFC-Tags das Relais auslösen können. Dieses Tutorial führt Sie durch alle Schritte – von der Verdrahtung der Hardware bis zum Hochladen eines fertigen Sketches – und bietet Ihnen eine solide Grundlage für Zugangskontroll- und Automatisierungsprojekte.

Was Sie bauen werden:

  1. Eine Schaltung, die das RFID-RC522-Modul und ein Relais mit dem ESP32 S3 verbindet
  2. Eine Firmware, die die UID eines RFID/NFC-Tags liest und mit einer Liste berechtigter UIDs vergleicht
  3. Ein Relais, das bei einem berechtigten Tag aktiviert wird und bei unberechtigten Tags ausgeschaltet bleibt
  4. Eine Grundlage, die Sie zu Türschlössern, gesicherten Gehäusen und industriellen Zugangssystemen erweitern können
ESP32 S3 RFID-Relais

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×Relais
10×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/NFC RC522 Module and Relay

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 erkennt ISO-14443A-kompatible Karten und Tags – einschließlich der beliebten MIFARE-Familie – in einer Entfernung von bis zu etwa 5 cm. Da es mit 3,3-V-Logik arbeitet, ist keine Pegelwandlung erforderlich. Ein Relais ist ein magnetisch betätigter Schalter, mit dem die Niederspannungs-GPIO-Pins des ESP32 S3 sicher Lasten mit hoher Spannung oder hohem Strom steuern können. Damit sind die beiden Komponenten ein natürliches Paar für Zugangskontrollprojekte.

Wichtige Spezifikationen

Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zu Hardware-Pinbelegung, Funktionsprinzip, Verdrahtung mit dem ESP32 S3 und Arduino-Code. Mehr dazu erfahren Sie unter den folgenden Links:

ESP32 S3 RFID-Relais-Komponenten

So funktioniert das RC522-Modul

Wenn ein RFID/NFC-Tag an das RC522-Lesegerät gehalten wird, liest der ESP32 S3 die eindeutige Kennung (UID) des Tags und prüft, ob diese UID in einer vordefinierten Liste berechtigter UIDs im Sketch enthalten ist. Stimmt die UID mit einem berechtigten Eintrag überein, aktiviert der ESP32 S3 das Relais. Wird die UID nicht erkannt, bleibt das Relais aus und die unberechtigte UID wird zu Diagnosezwecken im Seriellen Monitor ausgegeben.

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

Verdrahtungsdiagramm

Um das RFID-RC522-Modul und das Relais mit dem ESP32 S3 zu verbinden, benötigen Sie nur 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 Relais Verdrahtungsplan

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

Eine Schraubklemme hält jedes Kabel fest, auch wenn die Platine wackelt. Probieren Sie ein Schraubklemmen-Board für ESP32 S3: Der ESP32 S3 sitzt darauf, und jeder Pin bekommt seine eigene Schraubklemme. Unten sehen Sie das Verdrahtungsdiagramm mit dem Schraubklemmen-Board.

ESP32 S3 RFID RC522 Relais Verdrahtungsplan (Screw Terminal)

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

Eine andere Möglichkeit ist ein GPIO-Breakout-Board für ESP32 S3. Jeder GPIO hat einen Signal-Pin mit einem 3,3V- und einem GND-Pin daneben, wie unten gezeigt:

ESP32 S3 RFID RC522 Relais Verdrahtungsplan (GPIO Breakout Board)

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. Das Relaismodul wird über den 5-V-Pin des ESP32 S3 versorgt, und sein Steuersignal kommt von einem GPIO-Pin. Halten Sie daher die Hochspannungsseite der Relaisverdrahtung räumlich getrennt von der Niederspannungs-Steuerverdrahtung, um eine versehentliche Berührung zu vermeiden.

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
Relais ESP32 S3 Pin
DC- GND
DC+ 5V
IN GPIO7

ESP32 S3 Code - Ein RFID/NFC-Tag

Der folgende Code initialisiert den SPI-Bus, die MFRC522-Bibliothek und den Relais-Pin und fragt dann fortlaufend nach einem neuen RFID- oder NFC-Tag ab. Wird ein Tag erkannt, liest der ESP32 S3 dessen UID und vergleicht sie mit einer einzigen vordefinierten berechtigten UID – bei Übereinstimmung wird das Relais aktiviert, andernfalls wird eine Meldung "Unauthorized" ausgegeben.

/* * 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-relay */ /* * 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-relay */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // ESP32-S3 pin GPIO10 #define RST_PIN 39 // ESP32-S3 pin GPIO39 #define RELAY_PIN 7 // ESP32-S3 pin GPIO7 connects to relay MFRC522 rfid(SS_PIN, RST_PIN); byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 pinMode(RELAY_PIN, OUTPUT); // initialize pin as an output. digitalWrite(RELAY_PIN, LOW); // deactivate the relay 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); if (rfid.uid.uidByte[0] == authorizedUID[0] && rfid.uid.uidByte[1] == authorizedUID[1] && rfid.uid.uidByte[2] == authorizedUID[2] && rfid.uid.uidByte[3] == authorizedUID[3] ) { Serial.println("Authorized Tag"); digitalWrite(RELAY_PIN, HIGH); // activate the relay for 2 seconds delay(2000); digitalWrite(RELAY_PIN, LOW); // deactivate the relay } else { Serial.print("Unauthorized Tag with 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. Verdrahten Sie das RFID-RC522-Modul und das Relais gemäß dem obigen Verdrahtungsplan mit dem ESP32 S3.
  3. Verbinden Sie den ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem Computer.
  4. Öffnen Sie die Arduino IDE auf Ihrem Computer.
  5. Wählen Sie im Menü Werkzeuge das richtige ESP32 S3 Board und den COM-Port aus.
  6. Klicken Sie auf das Symbol Bibliotheken in der linken Leiste der Arduino IDE.
  7. Geben Sie "MFRC522" in das Suchfeld ein und suchen Sie dann nach der Bibliothek von GithubCommunity.
  8. 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. Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  2. Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.
Arduino IDE Code hochladen
  1. Öffnen Sie nach dem Hochladen den Seriellen Monitor in der Arduino IDE.
So öffnen Sie den Seriellen Monitor in der Arduino IDE
  1. Halten Sie einen RFID/NFC-Tag, den Sie berechtigen möchten, an das RC522-Lesegerät.
  2. Notieren Sie die im Seriellen Monitor ausgegebene UID.
  3. Aktualisieren Sie die UID im Code. Ändern Sie zum Beispiel byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; in byte authorizedUID[4] = {0x2B, 0xB8, 0x59, 0xB1}; und verwenden Sie dabei die UID Ihres Tags.
  4. Laden Sie den Code erneut auf den ESP32 S3 hoch.
  5. Halten Sie den berechtigten RFID/NFC-Tag an das RC522-Modul und beobachten Sie, wie das Relais aktiviert wird.
  6. Halten Sie einen unberechtigten Tag an das Lesegerät und beobachten Sie, dass das Relais ausgeschaltet bleibt.
  7. 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 das Autorisierungsergebnis für jeden Scan 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:22:10] Tap an RFID/NFC tag on the RFID-RC522 reader [2026-06-16 09:22:18] Unauthorized Tag with UID: 2B B8 59 B1 [2026-06-16 09:22:31] Tap an RFID/NFC tag on the RFID-RC522 reader [2026-06-16 09:22:39] Authorized Tag - Relay ON
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

ESP32 S3 Code - Mehrere RFID/NFC-Tags

Der folgende Code ermöglicht es mehreren berechtigten RFID/NFC-Tags, das Relais zu aktivieren. Er verwendet zwei Tags als Beispiel, Sie können aber so viele berechtigte UIDs hinzufügen, wie Ihr Projekt benötigt, indem Sie das Array im Sketch erweitern.

/* * 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-relay */ /* * 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-relay */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // ESP32-S3 pin GPIO10 #define RST_PIN 39 // ESP32-S3 pin GPIO39 #define RELAY_PIN 7 // ESP32-S3 pin GPIO7 connects to relay MFRC522 rfid(SS_PIN, RST_PIN); byte authorizedUID1[4] = {0x3A, 0xC9, 0x6A, 0xCB}; byte authorizedUID2[4] = {0x30, 0x01, 0x8B, 0x15}; void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 pinMode(RELAY_PIN, OUTPUT); // initialize pin as an output. digitalWrite(RELAY_PIN, LOW); // deactivate the relay 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); if (rfid.uid.uidByte[0] == authorizedUID1[0] && rfid.uid.uidByte[1] == authorizedUID1[1] && rfid.uid.uidByte[2] == authorizedUID1[2] && rfid.uid.uidByte[3] == authorizedUID1[3] ) { Serial.println("Authorized Tag 1"); digitalWrite(RELAY_PIN, HIGH); // activate the relay for 2 seconds delay(2000); digitalWrite(RELAY_PIN, LOW); // deactivate the relay } else if (rfid.uid.uidByte[0] == authorizedUID2[0] && rfid.uid.uidByte[1] == authorizedUID2[1] && rfid.uid.uidByte[2] == authorizedUID2[2] && rfid.uid.uidByte[3] == authorizedUID2[3] ) { Serial.println("Authorized Tag 2"); digitalWrite(RELAY_PIN, HIGH); // activate the relay for 2 seconds delay(2000); digitalWrite(RELAY_PIN, LOW); // deactivate the relay } else { Serial.print("Unauthorized Tag with 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. Ermitteln Sie die UIDs aller Tags, die Sie berechtigen möchten, mit dem Code für einen Tag aus dem vorherigen Abschnitt.
  3. Aktualisieren Sie die beiden berechtigten RFID/NFC-Tag-UIDs im obigen Code.
  4. Laden Sie den Code auf den ESP32 S3 hoch.
  5. Halten Sie die berechtigten Tags nacheinander an das RC522-Modul und beobachten Sie, wie das Relais für jeden aktiviert wird.
  6. Profi-Tipp: Sie können den Code so ändern, dass drei, vier oder mehr Tags berechtigt sind, indem Sie dem Array der berechtigten Liste weitere UID-Einträge hinzufügen.

Ausgabe im Seriellen Monitor

Öffnen Sie den Seriellen Monitor mit 9600 Baud und halten Sie jeden berechtigten Tag an das Lesegerät, um zu prüfen, ob alle erkannten Tags das Relais aktivieren.

∞
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:35:04] Tap an RFID/NFC tag on the RFID-RC522 reader [2026-06-16 09:35:12] Authorized Tag 1 - Relay ON [2026-06-16 09:35:25] Tap an RFID/NFC tag on the RFID-RC522 reader [2026-06-16 09:35:33] Authorized Tag 2 - Relay ON [2026-06-16 09:35:46] Tap an RFID/NFC tag on the RFID-RC522 reader [2026-06-16 09:35:54] Unauthorized Tag with UID: 1C 2A 52 E3
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungs- und Projektideen

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

  1. Elektronisches Türschloss: Aktivieren Sie ein elektromagnetisches Schloss oder Magnetschloss nur, wenn eine berechtigte Karte aufgelegt wird, und ersetzen Sie so physische Schlüssel durch RFID-Berechtigungen.
  2. Gesicherter Gerätezugang: Beschränken Sie die Stromversorgung von Maschinen oder Werkzeugen, sodass nur Personal mit berechtigten RFID-Ausweisen sie bedienen kann.
  3. Schließfachsystem: Bauen Sie ein schlüsselloses Schließfach, bei dem jeder Schüler oder Mitarbeiter eine persönliche RFID-Karte zum Öffnen seines zugewiesenen Fachs besitzt.
  4. Anwesenheitsgesteuerte Automatisierung: Kombinieren Sie RFID-Autorisierung mit einem Relais, um automatisch einen Arbeitsplatz, eine Kaffeemaschine oder eine Lichtszene zu starten, wenn ein Mitarbeiter eintrifft.
  5. Zeitlich begrenzte Zugangskontrolle: Erlauben Sie die Relaisaktivierung nur zu bestimmten Uhrzeiten, indem Sie die RFID-Authentifizierung mit einem RTC-Modul für zeitgesteuerten Zugang kombinieren.
  6. Besucherverwaltungssystem: Geben Sie Gästen temporäre RFID-Tags, die ein relaisgesteuertes Tor oder Drehkreuz für eine festgelegte Anzahl von Nutzungen aktivieren.

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 ein Relais mit berechtigten RFID- und NFC-Tags aktivieren kann, bringen Sie das Projekt mit diesen zunehmend schwierigeren Aufgaben weiter voran:

  1. Anfänger: Fügen Sie eine LED-Anzeige hinzu, die grün leuchtet, wenn ein berechtigter Tag gescannt wird, und rot, wenn ein unberechtigter Tag vorgelegt wird.
  2. Anfänger: Ändern Sie den Code so, dass das Relais nach der Erkennung eines berechtigten Tags genau fünf Sekunden eingeschaltet bleibt und sich dann automatisch ausschaltet.
  3. Fortgeschritten: Schließen Sie einen Piezo-Summer an und spielen Sie bei berechtigten Tags einen kurzen Erfolgston und bei unberechtigten Tags einen längeren Warnton ab.
  4. Fortgeschritten: Protokollieren Sie jeden Scan – berechtigt und unberechtigt – 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 Tastenfeld, sodass das Relais nur aktiviert wird, wenn sowohl die richtige RFID-Karte als auch eine passende PIN vorgelegt werden.

※ 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!