{"id":52330,"date":"2026-11-01T10:50:58","date_gmt":"2026-11-01T10:50:58","guid":{"rendered":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/"},"modified":"2026-11-01T10:50:58","modified_gmt":"2026-11-01T10:50:58","slug":"rc522-rfid-reader","status":"publish","type":"siratek_tutorial","link":"https:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/","title":{"rendered":"Reading RFID Cards with an RC522"},"content":{"rendered":"<body><p><\/p>\n<h2>What it does<\/h2>\n<p>The spiral on the board is an antenna. It broadcasts a short-range field at 13.56 MHz, and a card held near it harvests enough energy from that field to power its own chip and answer back. The card has no battery; it is woken by the reader.<\/p>\n<p>What comes back includes a <strong>UID<\/strong>, a number unique to that card, and access to a small amount of memory on it. That is enough for an attendance log, a door that opens for known cards, or a machine that knows who is using it.<\/p>\n<h2>Before you begin<\/h2>\n<h3>Required parts and tools<\/h3>\n<ul>\n<li>An Arduino Uno or compatible board.<\/li>\n<li>One RC522 reader kit. This is Siratek product 2609, which the photographs show includes <strong>a white card and a blue keyfob<\/strong>.<\/li>\n<li>A soldering iron. <strong>Two eight-pin headers are supplied loose<\/strong>, one straight and one right-angled; fit whichever suits your layout.<\/li>\n<li>Seven jumper wires.<\/li>\n<\/ul>\n<h3>3.3 volts, and this one really does matter<\/h3>\n<p>The RC522 is a <strong>3.3 V device<\/strong>. Its <code>3.3V<\/code> pin is a supply input, and <strong>5 V there will destroy it<\/strong>, often immediately.<\/p>\n<p>This is the most common way these boards die, because the pin sits next to <code>GND<\/code> and <code>RST<\/code> in a row that looks like any other module\u2019s.<\/p>\n<p>The SPI inputs are a softer question. In practice an Uno\u2019s 5 V <code>MOSI<\/code>, <code>SCK<\/code> and <code>SS<\/code> work with these readers and the parts generally survive, which is why so many wiring diagrams show them connected directly. In specification terms it is out of bounds, exactly like the I2C case in <em>Mixing 3.3 V and 5 V Safely<\/em>. For something you intend to keep, use a level converter on those three lines; <code>MISO<\/code> runs the other way and needs nothing.<\/p>\n<p>The simplest answer remains an ESP32, which is 3.3 V throughout and connects to this board directly with nothing in between.<\/p>\n<h3>Eight pins<\/h3>\n<p><code>SDA<\/code>, <code>SCK<\/code>, <code>MOSI<\/code>, <code>MISO<\/code>, <code>IRQ<\/code>, <code>GND<\/code>, <code>RST<\/code>, <code>3.3V<\/code>.<\/p>\n<p><code>SDA<\/code> here is <strong>not I2C<\/strong>. On this board it is the SPI chip select, which other boards call <code>SS<\/code> or <code>CS<\/code>, and the silkscreen is simply misleading. The RC522 chip can speak I2C, but these breakouts are wired for SPI.<\/p>\n<p><code>IRQ<\/code> signals that a card has arrived, and is left unconnected in the examples below.<\/p>\n<h3>The card and the fob<\/h3>\n<p>Both supplied items are <strong>MIFARE Classic 1K<\/strong> cards, the common type these readers are sold with.<\/p>\n<p>Each holds 1 KB of memory divided into sixteen sectors of four blocks. Most blocks hold data, and the last block in each sector holds the keys that control access to it. The library ships with the factory default key, which is what makes the reading example work out of the box.<\/p>\n<h3>A UID is not a password<\/h3>\n<p>This is the part to be honest about before anyone builds a door lock.<\/p>\n<p><strong>A card\u2019s UID is readable by anybody with a reader, and cards that let you write any UID you like are cheap and easy to buy.<\/strong> So a lock that opens for a known UID can be defeated by anyone who can stand near your card for a second.<\/p>\n<p>MIFARE Classic\u2019s own encryption has been thoroughly broken in published research and should not be relied on either.<\/p>\n<p>What that means in practice:<\/p>\n<ul>\n<li><strong>A cabinet, a toolbox, a workshop machine, an attendance log<\/strong>: fine. The convenience is real and the threat is low.<\/li>\n<li><strong>A front door, or anything protecting money or safety<\/strong>: not with this. Use a proper access control product.<\/li>\n<\/ul>\n<p>Build the project. Enjoy it. Just do not let it be the only thing between someone and your house, and say the same to anyone you build one for.<\/p>\n<h2>Pin reference<\/h2>\n<table>\n<thead>\n<tr>\n<th>Module pin<\/th>\n<th>Connect to<\/th>\n<th>Purpose<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>3.3V<\/code><\/td>\n<td>Uno <strong><code>3.3V<\/code><\/strong><\/td>\n<td>Power<\/td>\n<td><strong>Never <code>5V<\/code><\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>GND<\/code><\/td>\n<td>Uno <code>GND<\/code><\/td>\n<td>Ground<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>RST<\/code><\/td>\n<td>Uno <code>D9<\/code><\/td>\n<td>Reset<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>SDA<\/code><\/td>\n<td>Uno <code>D10<\/code><\/td>\n<td>SPI chip select<\/td>\n<td>Not I2C, despite the name<\/td>\n<\/tr>\n<tr>\n<td><code>MOSI<\/code><\/td>\n<td>Uno <code>D11<\/code><\/td>\n<td>Data to the reader<\/td>\n<td>Converter for permanent builds<\/td>\n<\/tr>\n<tr>\n<td><code>MISO<\/code><\/td>\n<td>Uno <code>D12<\/code><\/td>\n<td>Data from the reader<\/td>\n<td>No converter needed<\/td>\n<\/tr>\n<tr>\n<td><code>SCK<\/code><\/td>\n<td>Uno <code>D13<\/code><\/td>\n<td>Clock<\/td>\n<td>Converter for permanent builds<\/td>\n<\/tr>\n<tr>\n<td><code>IRQ<\/code><\/td>\n<td>Not connected<\/td>\n<td>Card-present signal<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<figure class=\"siratek-tutorial-figure\"><img decoding=\"async\" src=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/rc522-rfid-reader-wiring.svg\" alt=\"An RC522 reader wired to an Uno over SPI, with its supply pin on the Arduino's 3.3 volt pin and the card and keyfob that come in the kit\" loading=\"lazy\"><figcaption>The supply pin is 3.3 V. Five volts there destroys the reader, and the pin sits in a row that looks ordinary.<\/figcaption><\/figure>\n<h2>Wiring steps<\/h2>\n<ol>\n<li>Unplug the USB cable.<\/li>\n<li>Solder one of the supplied headers to the board.<\/li>\n<li><code>GND<\/code> to <code>GND<\/code>.<\/li>\n<li><strong><code>3.3V<\/code> to the Uno\u2019s <code>3.3V<\/code> pin.<\/strong> Check this one twice.<\/li>\n<li><code>RST<\/code> to <code>D9<\/code>, <code>SDA<\/code> to <code>D10<\/code>, <code>MOSI<\/code> to <code>D11<\/code>, <code>MISO<\/code> to <code>D12<\/code>, <code>SCK<\/code> to <code>D13<\/code>.<\/li>\n<li>Leave <code>IRQ<\/code> unconnected.<\/li>\n<li>Plug the USB cable back in.<\/li>\n<\/ol>\n<p>Keep the leads short. SPI over long loose jumpers is a known source of readers that work intermittently.<\/p>\n<h2>Software and libraries<\/h2>\n<p>Install <strong>MFRC522<\/strong> by GithubCommunity through Library Manager. Record the version.<\/p>\n<h2>Minimal working example<\/h2>\n<pre><code>\/\/ Siratek: read the UID of any card presented to the reader.\n\n#include &lt;SPI.h&gt;\n#include &lt;MFRC522.h&gt;\n\nconst int ssPin = 10;\nconst int rstPin = 9;\n\nMFRC522 reader(ssPin, rstPin);\n\nvoid setup() {\n  Serial.begin(9600);\n  SPI.begin();\n  reader.PCD_Init();\n\n  delay(100);\n  byte version = reader.PCD_ReadRegister(MFRC522::VersionReg);\n  Serial.print(\"Siratek: reader version 0x\");\n  Serial.println(version, HEX);\n\n  if (version == 0x00 || version == 0xFF) {\n    Serial.println(\"  Reader not responding. Check wiring, and check 3.3V not 5V.\");\n  } else {\n    Serial.println(\"  Present a card.\");\n  }\n}\n\nvoid loop() {\n  if (!reader.PICC_IsNewCardPresent() || !reader.PICC_ReadCardSerial()) {\n    return;\n  }\n\n  Serial.print(\"card UID: \");\n  for (byte i = 0; i &lt; reader.uid.size; i++) {\n    if (reader.uid.uidByte[i] &lt; 0x10) {\n      Serial.print(\"0\");\n    }\n    Serial.print(reader.uid.uidByte[i], HEX);\n    Serial.print(\" \");\n  }\n  Serial.println();\n\n  reader.PICC_HaltA();\n}<\/code><\/pre>\n<p>The version check in <code>setup()<\/code> is worth the five lines. <code>0x00<\/code> or <code>0xFF<\/code> means the reader is not talking at all, which tells you to look at the wiring rather than at the card. A working board reports something like <code>0x92<\/code> or <code>0x91<\/code>.<\/p>\n<p>That one check turns the commonest failure from a mystery into a sentence.<\/p>\n<p><code>PICC_HaltA()<\/code> tells the card to stop responding, so a card left on the reader is reported once rather than continuously.<\/p>\n<p>Run this and write down the UIDs of your card and your fob. You need them for what follows.<\/p>\n<h3>A door that opens for known cards<\/h3>\n<pre><code>\/\/ Siratek: act on recognised cards. See the honest note above about what this is for.\n\n#include &lt;SPI.h&gt;\n#include &lt;MFRC522.h&gt;\n\nMFRC522 reader(10, 9);\n\nconst int greenPin = 6;\nconst int redPin = 7;\n\n\/\/ From the sketch above. Put your own UIDs here.\nconst byte allowed[][4] = {\n  {0xDE, 0xAD, 0xBE, 0xEF},\n  {0x12, 0x34, 0x56, 0x78}\n};\nconst int allowedCount = sizeof(allowed) \/ sizeof(allowed[0]);\n\nbool isAllowed(MFRC522::Uid&amp; uid) {\n  if (uid.size != 4) {\n    return false;              \/\/ 7-byte UIDs exist; this list holds 4-byte ones\n  }\n\n  for (int card = 0; card &lt; allowedCount; card++) {\n    bool match = true;\n    for (byte i = 0; i &lt; 4; i++) {\n      if (uid.uidByte[i] != allowed[card][i]) {\n        match = false;\n        break;\n      }\n    }\n    if (match) {\n      return true;\n    }\n  }\n  return false;\n}\n\nvoid setup() {\n  pinMode(greenPin, OUTPUT);\n  pinMode(redPin, OUTPUT);\n\n  Serial.begin(9600);\n  SPI.begin();\n  reader.PCD_Init();\n  Serial.println(\"Siratek: present a card.\");\n}\n\nvoid loop() {\n  if (!reader.PICC_IsNewCardPresent() || !reader.PICC_ReadCardSerial()) {\n    return;\n  }\n\n  bool ok = isAllowed(reader.uid);\n\n  digitalWrite(ok ? greenPin : redPin, HIGH);\n  Serial.println(ok ? \"accepted\" : \"refused\");\n  delay(1200);\n  digitalWrite(greenPin, LOW);\n  digitalWrite(redPin, LOW);\n\n  reader.PICC_HaltA();\n  reader.PCD_StopCrypto1();\n}<\/code><\/pre>\n<p>Two details.<\/p>\n<p><strong>The UID length is checked.<\/strong> Not every card has a four-byte UID; seven-byte ones are common on newer cards and phones. Comparing only the first four bytes of a seven-byte UID would accept cards it should not.<\/p>\n<p><strong><code>PCD_StopCrypto1()<\/code><\/strong> after each card. Without it the reader can be left in a state where the next card is not read, which looks like an intermittent hardware fault.<\/p>\n<h3>Reading what is on the card<\/h3>\n<p>The UID is not the only thing available. Each card has 1 KB of memory, and with the default key you can read and write it.<\/p>\n<pre><code>\/\/ Siratek: read one block of card memory, using the factory default key.\n\nMFRC522::MIFARE_Key key;\nfor (byte i = 0; i &lt; 6; i++) {\n  key.keyByte[i] = 0xFF;             \/\/ the factory default\n}\n\nbyte block = 4;                      \/\/ block 0 holds the UID; do not write there\nbyte buffer[18];\nbyte size = sizeof(buffer);\n\nif (reader.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A,\n                            block, &amp;key, &amp;(reader.uid)) == MFRC522::STATUS_OK) {\n  if (reader.MIFARE_Read(block, buffer, &amp;size) == MFRC522::STATUS_OK) {\n    for (byte i = 0; i &lt; 16; i++) {\n      Serial.print(buffer[i], HEX);\n      Serial.print(\" \");\n    }\n    Serial.println();\n  }\n}<\/code><\/pre>\n<p>Writing is possible too, which is how you store a name or a balance on the card rather than in the Arduino. Two cautions: <strong>block 0 holds the UID and the manufacturer data<\/strong>, and writing there bricks the card on most types; and every fourth block is a <strong>sector trailer<\/strong> holding the access keys, so writing the wrong value there locks that sector permanently. Stick to blocks that are neither, such as 4, 5, 6, 8, 9, 10.<\/p>\n<h2>Expected result<\/h2>\n<p>A version byte other than <code>0x00<\/code> or <code>0xFF<\/code> at startup, then a UID printed each time the card or fob is brought within a centimetre or two.<\/p>\n<p>Range is short by design, a few centimetres at most. A card held flat against the antenna reads best; held at an angle or edge-on it may not read at all, because the antenna has to couple to the coil inside the card.<\/p>\n<h2>Troubleshooting<\/h2>\n<table>\n<thead>\n<tr>\n<th>Symptom<\/th>\n<th>Likely cause<\/th>\n<th>Check or fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Version reads 0x00 or 0xFF<\/td>\n<td>Wiring, or reader not powered<\/td>\n<td>Check every SPI line and the supply<\/td>\n<\/tr>\n<tr>\n<td>Reader dead after one use<\/td>\n<td>5 V on the <code>3.3V<\/code> pin<\/td>\n<td>That pin is 3.3 V only<\/td>\n<\/tr>\n<tr>\n<td>Intermittent reads<\/td>\n<td>Long or loose jumper leads<\/td>\n<td>Shorten and reseat<\/td>\n<\/tr>\n<tr>\n<td>First card reads, later ones do not<\/td>\n<td>Crypto state left open<\/td>\n<td>Call <code>PCD_StopCrypto1()<\/code><\/td>\n<\/tr>\n<tr>\n<td>Same card reported repeatedly<\/td>\n<td>No halt<\/td>\n<td>Call <code>PICC_HaltA()<\/code><\/td>\n<\/tr>\n<tr>\n<td>Card only reads at one angle<\/td>\n<td>Antenna coupling<\/td>\n<td>Hold it flat against the board<\/td>\n<\/tr>\n<tr>\n<td>Very short range<\/td>\n<td>Normal, and metal nearby makes it worse<\/td>\n<td>Keep the reader clear of metal<\/td>\n<\/tr>\n<tr>\n<td>Looking for I2C pins<\/td>\n<td><code>SDA<\/code> here is SPI chip select<\/td>\n<td>Wire it as <code>SS<\/code><\/td>\n<\/tr>\n<tr>\n<td>Works on an ESP32, not an Uno<\/td>\n<td>Logic levels on the SPI lines<\/td>\n<td>Use a converter<\/td>\n<\/tr>\n<tr>\n<td>Some cards have longer UIDs<\/td>\n<td>Four and seven byte UIDs both exist<\/td>\n<td>Check the length before comparing<\/td>\n<\/tr>\n<tr>\n<td>Card stopped working after a write<\/td>\n<td>Wrote to block 0 or a sector trailer<\/td>\n<td>Not recoverable; avoid those blocks<\/td>\n<\/tr>\n<tr>\n<td>Planning to use this on a front door<\/td>\n<td>A UID is not a password<\/td>\n<td>See the note above<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Next steps<\/h2>\n<ul>\n<li><strong>Easier first:<\/strong> <em>Mixing 3.3 V and 5 V Safely<\/em>, which this board is a main reason for.<\/li>\n<li><strong>Related products:<\/strong> a relay or a servo to act on a card, and the relay tutorial\u2019s safety section before you do.<\/li>\n<li><strong>Next project:<\/strong> an attendance logger, writing a UID and a timestamp to an SD card with the DS3231 supplying the time.<\/li>\n<\/ul>\n<h2>Sources and attribution<\/h2>\n<p>All text, wiring guidance and code in this tutorial are original Siratek work.<\/p>\n<ul>\n<li>MFRC522 datasheet for the 13.56 MHz operation, the supply voltage and the version register.<\/li>\n<li>MFRC522 library documentation for the calls used.<\/li>\n<li>The <code>RC522<\/code> board marking, the eight-pin header, the two loose headers and the included card and keyfob were read from the Siratek product photographs for item 2609.<\/li>\n<\/ul>\n<p>The statement that MIFARE Classic\u2019s encryption is broken refers to published academic research into that card family, and the advice that a UID is not an access credential follows from UIDs being readable and writable cards being freely available. No third-party tutorial text, diagrams, photographs or code has been reproduced here.<\/p>\n<p><\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>The spiral on the board is an antenna. It broadcasts a short-range field at 13.56 MHz, and a card held near it harvests enough energy from that field to power its own chip and answer back. The card has no&#8230;<\/p>\n","protected":false},"featured_media":0,"template":"","siratek_tutorial_level":[],"class_list":["post-52330","siratek_tutorial","type-siratek_tutorial","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Reading RFID Cards with an RC522 - siratek<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reading RFID Cards with an RC522 - siratek\" \/>\n<meta property=\"og:description\" content=\"The spiral on the board is an antenna. It broadcasts a short-range field at 13.56 MHz, and a card held near it harvests enough energy from that field to power its own chip and answer back. The card has no...\" \/>\n<meta property=\"og:url\" content=\"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/\" \/>\n<meta property=\"og:site_name\" content=\"siratek\" \/>\n<meta property=\"og:image\" content=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/rc522-rfid-reader-wiring.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/\",\"url\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/\",\"name\":\"Reading RFID Cards with an RC522 - siratek\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/rc522-rfid-reader-wiring.svg\",\"datePublished\":\"2026-11-01T10:50:58+00:00\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/#primaryimage\",\"url\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/rc522-rfid-reader-wiring.svg\",\"contentUrl\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/rc522-rfid-reader-wiring.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/rc522-rfid-reader\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/siratek.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials\",\"item\":\"https:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Reading RFID Cards with an RC522\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\",\"url\":\"https:\\\/\\\/siratek.net\\\/\",\"name\":\"siratek\",\"description\":\"Your Best Electronic Retail Shop\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/siratek.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reading RFID Cards with an RC522 - siratek","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/","og_locale":"en_US","og_type":"article","og_title":"Reading RFID Cards with an RC522 - siratek","og_description":"The spiral on the board is an antenna. It broadcasts a short-range field at 13.56 MHz, and a card held near it harvests enough energy from that field to power its own chip and answer back. The card has no...","og_url":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/","og_site_name":"siratek","og_image":[{"url":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/rc522-rfid-reader-wiring.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/","url":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/","name":"Reading RFID Cards with an RC522 - siratek","isPartOf":{"@id":"https:\/\/siratek.net\/#website"},"primaryImageOfPage":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/#primaryimage"},"image":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/#primaryimage"},"thumbnailUrl":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/rc522-rfid-reader-wiring.svg","datePublished":"2026-11-01T10:50:58+00:00","breadcrumb":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/#primaryimage","url":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/rc522-rfid-reader-wiring.svg","contentUrl":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/rc522-rfid-reader-wiring.svg"},{"@type":"BreadcrumbList","@id":"http:\/\/siratek.net\/index.php\/tutorials\/rc522-rfid-reader\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/siratek.net\/"},{"@type":"ListItem","position":2,"name":"Tutorials","item":"https:\/\/siratek.net\/index.php\/tutorials\/"},{"@type":"ListItem","position":3,"name":"Reading RFID Cards with an RC522"}]},{"@type":"WebSite","@id":"https:\/\/siratek.net\/#website","url":"https:\/\/siratek.net\/","name":"siratek","description":"Your Best Electronic Retail Shop","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/siratek.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial"}],"about":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/types\/siratek_tutorial"}],"version-history":[{"count":0,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52330\/revisions"}],"wp:attachment":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/media?parent=52330"}],"wp:term":[{"taxonomy":"siratek_tutorial_level","embeddable":true,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial_level?post=52330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}