ESP32 S3 - RFID/NFC

Apprenez à connecter un module lecteur RFID/NFC RC522 à un ESP32 S3 et à lire l'identifiant unique (UID) de tout tag RFID ou NFC compatible. Ce tutoriel vous guide à travers tout, du câblage du matériel au téléversement du sketch final, afin que vous puissiez identifier des cartes et des tags avec votre ESP32 S3 en quelques minutes seulement.

Ce que vous allez construire :

  1. Un circuit connectant le module RFID-RC522 à l'ESP32 S3 via SPI
  2. Un firmware qui détecte la présence d'un tag RFID ou NFC et lit son UID
  3. Une sortie du Serial Monitor qui affiche le type de tag et l'UID au format hexadécimal
  4. Une base que vous pouvez étendre en systèmes de contrôle d'accès, suivi d'inventaire et projets de serrures intelligentes
ESP32 S3 RFID RC522

À propos du module RFID-RC522

Le RFID-RC522 est un module lecteur RFID 13,56 MHz à faible coût basé sur la puce MFRC522 de NXP Semiconductors. Il communique avec l'ESP32 S3 via SPI et peut détecter et lire des cartes et tags compatibles ISO 14443A — y compris la populaire famille de cartes MIFARE — à des distances allant jusqu'à environ 5 cm. Le module fonctionne en logique 3,3 V, ce qui le rend directement compatible avec l'ESP32 S3 sans circuit d'adaptation de niveau.

Caractéristiques principales

  • Fréquence de fonctionnement : 13,56 MHz
  • Interface de communication : SPI (par défaut), I2C, UART
  • Tension de fonctionnement : 3,3 V (ne connectez pas VCC à 5 V)
  • Portée de lecture : jusqu'à ~5 cm (selon le tag et l'orientation de l'antenne)
  • Types de tags pris en charge : MIFARE 1KB, MIFARE Ultralight, MIFARE Classic, et autres cartes ISO 14443A
  • Dimensions : environ 40 mm × 60 mm

Brochage

RFID-RC522 module Pinout

Le module RFID-RC522 possède 8 broches, dont certaines sont partagées entre trois interfaces de communication : SPI, I2C et UART. Un seul mode de communication peut être actif à la fois. Les broches sont :

  1. GND : Connectez à GND (0 V)
  2. VCC : Connectez à 3,3 V — ne connectez jamais à 5 V
  3. RST : Contrôle de réinitialisation et de mise hors tension — lorsqu'elle est tirée à l'état bas, la mise hors tension matérielle est activée ; le module se réinitialise sur le front montant
  4. IRQ : Sortie d'interruption — alerte l'ESP32 S3 lorsqu'un tag RFID entre dans la portée de détection (non utilisée dans ce tutoriel)
  5. MISO / SCL / TX : Sert de MISO (SPI), SCL (I2C), ou TX (UART) selon l'interface active
  6. MOSI : Ligne de données MOSI lorsque le SPI est activé
  7. SCK : Horloge série lorsque le SPI est activé
  8. SS / SDA / RX : Sert de SS (SPI), SDA (I2C), ou RX (UART) selon l'interface active

※ Note:

  • L'ordre des broches peut varier selon les fabricants. Utilisez toujours les étiquettes imprimées sur le module lui-même. L'image ci-dessus montre le brochage des modules du fabricant DIYables.
  • Le module RFID-RC522 fonctionne en 3,3 V. Connecter la broche VCC à 5 V endommagera définitivement le module.
  • Ce tutoriel utilise l'interface SPI pour la communication entre l'ESP32 S3 et le module RFID-RC522.

Schéma de câblage

Connecter le module RFID-RC522 à l'ESP32 S3 ne nécessite que quelques fils de câblage car le module utilise le bus SPI matériel. Gardez tous les fils courts pour réduire le bruit sur les lignes SPI et vérifiez bien chaque connexion avant de mettre la carte sous tension.

ESP32 S3 RFID RC522 wiring diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Notes de sécurité

Le module RFID-RC522 fonctionne en logique 3,3 V — connecter sa broche VCC au rail 5 V détruira immédiatement le module, donc vérifiez toujours votre connexion d'alimentation avant de mettre sous tension. La broche IRQ est laissée non connectée dans ce tutoriel, ce qui est normal ; laissez-la simplement flottante si votre faisceau de câblage n'a pas de fil qui lui est assigné. Comme le bus SPI de l'ESP32 S3 fonctionne en 3,3 V, aucune résistance d'adaptation de niveau n'est nécessaire entre le module et la carte.

Module RFID/NFC RC522 Broche ESP32 S3
Broche SS GPIO10 (SS/CS)
Broche SCK GPIO12 (SCK)
Broche MOSI GPIO11 (MOSI)
Broche MISO GPIO13 (MISO)
Broche IRQ (non connectée)
Broche GND GND
Broche RST GPIO39
Broche VCC 3.3V

Code ESP32 S3 RFID/NFC

Le code suivant initialise le bus SPI et la bibliothèque MFRC522, puis interroge en continu la présence d'un nouveau tag. Lorsqu'un tag est détecté, il lit le type de tag et l'UID, affiche les deux sur le Serial Monitor au format hexadécimal, puis met la carte en pause afin que le prochain contact soit traité comme une nouvelle lecture.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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 } } }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Câblez le circuit : Connectez le module RFID-RC522 à l'ESP32 S3 selon le schéma de câblage ci-dessus.
  3. Connectez à l'ordinateur : Branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
  4. Ouvrez l'Arduino IDE : Lancez l'Arduino IDE sur votre ordinateur.
  5. Sélectionnez votre carte : Choisissez ESP32 S3 dans le sélecteur de carte et sélectionnez le bon port COM.
  6. Installez la bibliothèque MFRC522 : Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  7. Recherchez la bibliothèque : Tapez "MFRC522" dans la zone de recherche, puis recherchez la bibliothèque de GithubCommunity.
  8. Installez : Cliquez sur le bouton Install pour installer la bibliothèque MFRC522.
  • 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. Téléversez le code : Copiez le code ci-dessus, collez-le dans l'Arduino IDE, et cliquez sur le bouton Upload.
  2. Ouvrez le Serial Monitor : Ouvrez le Serial Monitor dans l'Arduino IDE après le téléversement.
How to open serial monitor on Arduino IDE
  1. Testez le lecteur : Approchez plusieurs tags RFID ou NFC du module RC522.
  2. Consultez la sortie : Observez le type de tag et l'UID apparaître dans le Serial Monitor.
  3. Astuce pro : Tenez chaque tag à plat et parallèle à la bobine d'antenne du RC522 à une distance de 1 à 3 cm pour des lectures les plus fiables possibles.

Sortie du moniteur série

Ouvrez le Serial Monitor à 9600 bauds après avoir téléversé le code, puis approchez des tags RFID ou NFC du module RC522 pour voir leur type et leur UID affichés à chaque scan.

∞
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

Applications et idées de projets

L'ESP32 S3 associé à un module RFID RC522 ouvre la voie à une large gamme d'applications d'identification et de contrôle d'accès qui peuvent être déployées avec un minimum de matériel supplémentaire. Voici des façons pratiques de mettre ce circuit au travail :

  1. Système de contrôle d'accès : Accordez ou refusez l'entrée en comparant un UID scanné à une liste stockée de cartes autorisées.
  2. Suivi de présence : Enregistrez chaque scan RFID avec un horodatage via Wi-Fi vers une feuille de calcul ou une base de données cloud pour des registres de présence automatisés.
  3. Casier intelligent : Associez à une serrure à solénoïde ou un servo pour créer un casier sans clé qui ne s'ouvre que pour les tags enregistrés.
  4. Gestion d'inventaire : Étiquetez des articles avec des autocollants RFID et scannez-les avec l'ESP32 S3 pour automatiser le comptage des stocks.
  5. Suivi de livres de bibliothèque : Fixez des tags RFID aux livres et suivez les emprunts et retours sans scan de code-barres manuel.
  6. Identification d'animaux ou de biens : Lisez les puces RFID passives intégrées dans les animaux ou les équipements pour une identification automatique à un point de contrôle.
  7. Contrôleur de jeu ou de casse-tête : Utilisez des jetons RFID comme entrées physiques dans des escape rooms, des chasses au trésor, ou des installations interactives.

Tutoriel vidéo

Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.

Défiez-vous

Maintenant que votre ESP32 S3 lit avec succès les UID des tags RFID et NFC, poussez le projet plus loin avec ces défis progressivement plus difficiles :

  1. Débutant : Stockez un UID connu dans le sketch et affichez « Access Granted » ou « Access Denied » selon que le tag scanné correspond ou non.
  2. Débutant : Ajoutez un indicateur LED qui devient vert pour un tag autorisé et rouge pour un tag non autorisé.
  3. Intermédiaire : Connectez un buzzer et jouez une courte tonalité à chaque scan réussi, avec une tonalité différente pour les tags non autorisés.
  4. Intermédiaire : Enregistrez chaque UID scanné avec un horodatage sur une carte Micro SD pour un historique persistant.
  5. Avancé : Construisez un panneau d'administration web utilisant le Wi-Fi de l'ESP32 S3 pour ajouter et supprimer des UID autorisés en temps réel sans reflasher le firmware.
  6. Avancé : Combinez le lecteur RC522 avec une serrure à solénoïde et un clavier afin que la porte ne s'ouvre que lorsque la bonne carte RFID et un code PIN sont présentés ensemble.

Commentaires

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !