{"product_id":"mfrc-522-rc522-rfid-rf-ic-card-reader-sensor-module-1-card","title":"MFRC-522 RC522 RFID RF IC card reader sensor module + 1 card","description":"\u003ch4\u003eDescription\u003c\/h4\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch2 class=\"sing--sub-heading\"\u003e\u003cspan\u003eMFRC-522 RC522 RFID RF IC card reader sensor module\u003c\/span\u003e\u003c\/h2\u003e\nDo you want to know the work of\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRFID Reader\/Writer RC522 SPI S50 CARD AND KEYCHAIN,\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003ethen this Product is best for you . With this Product, you can detect radio waves produced by a reader to detect the presence of (then read the data stored on) an RFID tag\u003cbr\u003e\u003cbr\u003eThis is\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRFID Reader\/Writer RC522 SPI S50 CARD AND KEYCHAIN which works on non-contact 13.56mhz communication,\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eis designed by NXP as low power consumption, low cost, and compact size read and write chip, is the best choice in the development of smart meters and portable hand-held devices.\u003cbr\u003e\u003cbr\u003eIt uses an advanced modulation system, fully integrated at 13.56MHz with all kinds of positive non-contact communication protocols. Support 14443A compatible answer signal. DSP deals with ISO14443A frames and error correction.\u003cbr\u003e\u003cbr\u003eThis module can fit directly in handheld devices for mass production. The module uses the 3.3V power supply and can communicate directly with any CPU board by connecting through the SPI protocol, which ensures reliable work, good reading distance.\u003c\/div\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch3 class=\"sing--sub-heading\"\u003eTechnical Details\u003c\/h3\u003e\n\u003cdiv id=\"p_info\"\u003e\n\u003cul class=\"pro-ds\"\u003e\n\u003cli\u003eModel: RFID Reader, Writer Module\u003c\/li\u003e\n\u003cli\u003eFrequency: 13.56 MHz\u003c\/li\u003e\n\u003cli\u003eReading Distance: 5 cm\u003c\/li\u003e\n\u003cli\u003eSupply Voltage: 3.3V (Do not use 5V)\u003c\/li\u003e\n\u003cli\u003eCurrent: 13-26mA\u003c\/li\u003e\n\u003cli\u003eSPI Data Rate: 10 Mbit\/s\u003c\/li\u003e\n\u003cli\u003eDimensions: 60mm (L) x 39.5mm (W) x 5mm (H)\u003c\/li\u003e\n\u003cli\u003eWeight: 20g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch3 class=\"sing--sub-heading\"\u003eFeatures\u003c\/h3\u003e\n\u003cdiv id=\"p_info\"\u003e\n\u003cul class=\"pro-ds\"\u003e\n\u003cli\u003eIntegrated analog circuitry for demodulation and decoding\u003c\/li\u003e\n\u003cli\u003eSupports ISO\/IEC 14443 A\/MIFARE\u003c\/li\u003e\n\u003cli\u003eOperating distance up to 50mm\u003c\/li\u003e\n\u003cli\u003eTransfer speed up to 848 kBd\u003c\/li\u003e\n\u003cli\u003eSPI up to 10 Mbit\/s\u003c\/li\u003e\n\u003cli\u003e64-byte FIFO buffer (send\/receive)\u003c\/li\u003e\n\u003cli\u003eFlexible interrupt modes\u003c\/li\u003e\n\u003cli\u003ePower-down by software\u003c\/li\u003e\n\u003cli\u003eProgrammable timer\u003c\/li\u003e\n\u003cli\u003e2.5V to 3.3V power supply\u003c\/li\u003e\n\u003cli\u003eCRC coprocessor\u003c\/li\u003e\n\u003cli\u003eInternal self-test\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch2 class=\"sing--sub-heading\"\u003e\u003cspan\u003eApplications :\u003c\/span\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eAccess Control Systems:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eUsed for secure entry systems in offices, buildings, and homes using RFID cards.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eContactless Payments:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eEnables secure and fast payment transactions using RFID-enabled cards or tags.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInventory Management:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eHelps in tracking and managing goods or assets by scanning RFID tags attached to products.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAttendance Systems:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eUsed in schools, workplaces, or events to track attendance with RFID-enabled cards.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePublic Transport:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eUsed in ticketing systems for public transportation to streamline access control and payments.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLibrary Systems:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eEnables automated check-in\/check-out of books or materials in libraries using RFID cards or tags.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEnergy Monitoring:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eTracks and reports energy usage in smart grids, home energy systems, or industrial setups.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWearable Devices:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eIntegrates into wearable gadgets for real-time data transfer and internet connectivity.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSmart Locks and CCTV:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eProvides wireless connectivity for smart locking mechanisms and security camera systems.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEnvironmental and Smart City Systems:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eSupports data collection and communication for environmental monitoring and smart city applications like air quality monitoring and traffic control.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch3 class=\"sing--sub-heading\"\u003eIntegration with Arduino\u003c\/h3\u003e\n\u003cdiv id=\"p_info\"\u003e\u003cimg height=\"85%\" width=\"85%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0587\/2130\/4757\/files\/Arduino-Wiring-Fritzing-Connections-with-RC522-RFID-Reader-Writer-Module.jpg?v=1636349744\" alt=\"MFRC-522 RFID card reader sensor module\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch3 class=\"sing--sub-heading\"\u003eSample Code\u003c\/h3\u003e\n\u003cdiv id=\"gist112887693\" class=\"gist\"\u003e\n\u003cdiv class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\"\u003e\n\u003cdiv class=\"gist-data\"\u003e\n\u003cdiv class=\"js-gist-file-update-container js-task-list-container\"\u003e\n\u003cdiv id=\"file-kg062-ino\" class=\"file my-2\"\u003e\n\u003cdiv itemprop=\"text\" class=\"Box-body p-0 blob-wrapper data type-c\" role=\"region\" aria-label=\"KG062.ino content, created by labsguru on 05:48AM on November 08, 2021.\" tabindex=\"0\"\u003e\n\u003cdiv class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\"\u003e\n\u003ctable data-hpc=\"\" class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip=\"\" data-tagsearch-path=\"KG062.ino\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC1\" class=\"blob-code blob-code-inner js-file-line\"\u003e#\u003cspan class=\"pl-k\"\u003einclude\u003c\/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026lt;\u003c\/span\u003eSPI.h\u003cspan class=\"pl-pds\"\u003e\u0026gt;\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"pl-c\"\u003e\/\/include the SPI bus library\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC2\" class=\"blob-code blob-code-inner js-file-line\"\u003e#\u003cspan class=\"pl-k\"\u003einclude\u003c\/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026lt;\u003c\/span\u003eMFRC522.h\u003cspan class=\"pl-pds\"\u003e\u0026gt;\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"pl-c\"\u003e\/\/include the RFID reader library\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC3\" class=\"blob-code blob-code-inner js-file-line\"\u003e#\u003cspan class=\"pl-k\"\u003edefine\u003c\/span\u003e \u003cspan class=\"pl-en\"\u003eSS_PIN\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e10\u003c\/span\u003e \u003cspan class=\"pl-c\"\u003e\/\/slave select pin\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC4\" class=\"blob-code blob-code-inner js-file-line\"\u003e#\u003cspan class=\"pl-k\"\u003edefine\u003c\/span\u003e \u003cspan class=\"pl-en\"\u003eRST_PIN\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e5\u003c\/span\u003e \u003cspan class=\"pl-c\"\u003e\/\/reset pin\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC5\" class=\"blob-code blob-code-inner js-file-line\"\u003eMFRC522 \u003cspan class=\"pl-en\"\u003emfrc522\u003c\/span\u003e(SS_PIN, RST_PIN); \u003cspan class=\"pl-c\"\u003e\/\/ instatiate a MFRC522 reader object.\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC6\" class=\"blob-code blob-code-inner js-file-line\"\u003eMFRC522::MIFARE_Key key; \u003cspan class=\"pl-c\"\u003e\/\/create a MIFARE_Key struct named 'key', which will hold the card information\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC7\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC8\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/this is the block number we will write into and then read.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC9\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e block=\u003cspan class=\"pl-c1\"\u003e2\u003c\/span\u003e;\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC10\" class=\"blob-code blob-code-inner js-file-line\"\u003ebyte blockcontent[\u003cspan class=\"pl-c1\"\u003e16\u003c\/span\u003e] = {\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eKitsGuru\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e}; \u003cspan class=\"pl-c\"\u003e\/\/an array with 16 bytes to be written into one of the 64 card blocks is defined\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC11\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/byte blockcontent[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; \/\/all zeros. This can be used to delete a block.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC12\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/This array is used for reading out a block.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC13\" class=\"blob-code blob-code-inner js-file-line\"\u003ebyte readbackblock[\u003cspan class=\"pl-c1\"\u003e18\u003c\/span\u003e];\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC14\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/https:\/\/kitsguru.myshopify.com\/products\/mifare-rfid-readerwriter-13-56mhz-rc522-spi-s50-fudan-card-and-keychain\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC15\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003evoid\u003c\/span\u003e \u003cspan class=\"pl-en\"\u003esetup\u003c\/span\u003e() {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC16\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003ebegin\u003c\/span\u003e(\u003cspan class=\"pl-c1\"\u003e9600\u003c\/span\u003e); \u003cspan class=\"pl-c\"\u003e\/\/ Initialize serial communications with the PC\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC17\" class=\"blob-code blob-code-inner js-file-line\"\u003eSPI.\u003cspan class=\"pl-c1\"\u003ebegin\u003c\/span\u003e(); \u003cspan class=\"pl-c\"\u003e\/\/ Init SPI bus\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC18\" class=\"blob-code blob-code-inner js-file-line\"\u003emfrc522.\u003cspan class=\"pl-c1\"\u003ePCD_Init\u003c\/span\u003e(); \u003cspan class=\"pl-c\"\u003e\/\/ Init MFRC522 card (in case you wonder what PCD means: proximity coupling device)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC19\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eScan a MIFARE Classic card\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC20\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC21\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/ Prepare the security key for the read and write functions.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC22\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003efor\u003c\/span\u003e (byte i = \u003cspan class=\"pl-c1\"\u003e0\u003c\/span\u003e; i \u0026lt; \u003cspan class=\"pl-c1\"\u003e6\u003c\/span\u003e; i++) {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC23\" class=\"blob-code blob-code-inner js-file-line\"\u003ekey.\u003cspan class=\"pl-smi\"\u003ekeyByte\u003c\/span\u003e[i] = \u003cspan class=\"pl-c1\"\u003e0xFF\u003c\/span\u003e; \u003cspan class=\"pl-c\"\u003e\/\/keyByte is defined in the \"MIFARE_Key\" 'struct' definition in the .h file of the library\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC24\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC25\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC26\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC27\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003evoid\u003c\/span\u003e \u003cspan class=\"pl-en\"\u003eloop\u003c\/span\u003e(){\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC28\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/ Look for new cards\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC29\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e ( ! mfrc522.\u003cspan class=\"pl-c1\"\u003ePICC_IsNewCardPresent\u003c\/span\u003e()) {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC30\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e;\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC31\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC32\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC33\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/ Select one of the cards\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC34\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e ( ! mfrc522.\u003cspan class=\"pl-c1\"\u003ePICC_ReadCardSerial\u003c\/span\u003e())\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC35\" class=\"blob-code blob-code-inner js-file-line\"\u003e{\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC36\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e;\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC37\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC38\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003ecard selected\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC39\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC40\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/the blockcontent array is written into the card block\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC41\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-c1\"\u003ewriteBlock\u003c\/span\u003e(block, blockcontent);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC42\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC43\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/read the block back\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC44\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-c1\"\u003ereadBlock\u003c\/span\u003e(block, readbackblock);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC45\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/uncomment below line if you want to see the entire 1k memory with the block written into it.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC46\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/mfrc522.PICC_DumpToSerial(\u0026amp;(mfrc522.uid));\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC47\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC48\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/print the block contents\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC49\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eread block: \u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC50\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003efor\u003c\/span\u003e (\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e j=\u003cspan class=\"pl-c1\"\u003e0\u003c\/span\u003e ; j\u0026lt;\u003cspan class=\"pl-c1\"\u003e16\u003c\/span\u003e ; j++)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC51\" class=\"blob-code blob-code-inner js-file-line\"\u003e{\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC52\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003ewrite\u003c\/span\u003e (readbackblock[j]);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC53\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC54\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC55\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC56\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/https:\/\/kitsguru.myshopify.com\/products\/mifare-rfid-readerwriter-13-56mhz-rc522-spi-s50-fudan-card-and-keychain\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC57\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/Write specific block \u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC58\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e \u003cspan class=\"pl-en\"\u003ewriteBlock\u003c\/span\u003e(\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e blockNumber, byte arrayAddress[])\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC59\" class=\"blob-code blob-code-inner js-file-line\"\u003e{\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC60\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/this makes sure that we only write into data blocks. Every 4th block is a trailer block for the access\/security info.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC61\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e largestModulo4Number=blockNumber\/\u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e*\u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e;\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC62\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e trailerBlock=largestModulo4Number+\u003cspan class=\"pl-c1\"\u003e3\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/determine trailer block for the sector\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC63\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e (blockNumber \u0026gt; \u003cspan class=\"pl-c1\"\u003e2\u003c\/span\u003e \u0026amp;\u0026amp; (blockNumber+\u003cspan class=\"pl-c1\"\u003e1\u003c\/span\u003e)%\u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e == \u003cspan class=\"pl-c1\"\u003e0\u003c\/span\u003e){Serial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(blockNumber);Serial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e is a trailer block:\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e2\u003c\/span\u003e;}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC64\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(blockNumber);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC65\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e is a data block:\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC66\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC67\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/authentication of the desired block for access\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC68\" class=\"blob-code blob-code-inner js-file-line\"\u003ebyte status = mfrc522.\u003cspan class=\"pl-c1\"\u003ePCD_Authenticate\u003c\/span\u003e(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, \u0026amp;key, \u0026amp;(mfrc522.\u003cspan class=\"pl-smi\"\u003euid\u003c\/span\u003e));\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC69\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e (status != MFRC522::STATUS_OK) {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC70\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003ePCD_Authenticate() failed: \u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC71\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(mfrc522.\u003cspan class=\"pl-c1\"\u003eGetStatusCodeName\u003c\/span\u003e(status));\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC72\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e3\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/return \"3\" as error message\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC73\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC74\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC75\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/writing the block \u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC76\" class=\"blob-code blob-code-inner js-file-line\"\u003estatus = mfrc522.\u003cspan class=\"pl-c1\"\u003eMIFARE_Write\u003c\/span\u003e(blockNumber, arrayAddress, \u003cspan class=\"pl-c1\"\u003e16\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC77\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/status = mfrc522.MIFARE_Write(9, value1Block, 16);\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC78\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e (status != MFRC522::STATUS_OK) {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC79\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eMIFARE_Write() failed: \u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC80\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(mfrc522.\u003cspan class=\"pl-c1\"\u003eGetStatusCodeName\u003c\/span\u003e(status));\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC81\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/return \"4\" as error message\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC82\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC83\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eblock was written\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC84\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC85\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC86\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC87\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC88\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/Read specific block\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC89\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e \u003cspan class=\"pl-en\"\u003ereadBlock\u003c\/span\u003e(\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e blockNumber, byte arrayAddress[])\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC90\" class=\"blob-code blob-code-inner js-file-line\"\u003e{\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC91\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e largestModulo4Number=blockNumber\/\u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e*\u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e;\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC92\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eint\u003c\/span\u003e trailerBlock=largestModulo4Number+\u003cspan class=\"pl-c1\"\u003e3\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/determine trailer block for the sector\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC93\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC94\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/authentication of the desired block for access\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC95\" class=\"blob-code blob-code-inner js-file-line\"\u003ebyte status = mfrc522.\u003cspan class=\"pl-c1\"\u003ePCD_Authenticate\u003c\/span\u003e(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, \u0026amp;key, \u0026amp;(mfrc522.\u003cspan class=\"pl-smi\"\u003euid\u003c\/span\u003e));\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC96\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC97\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e (status != MFRC522::STATUS_OK) {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC98\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003ePCD_Authenticate() failed (read): \u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC99\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(mfrc522.\u003cspan class=\"pl-c1\"\u003eGetStatusCodeName\u003c\/span\u003e(status));\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC100\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e3\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/return \"3\" as error message\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC101\" class=\"blob-code blob-code-inner js-file-line\"\u003e} \u003cspan class=\"pl-c\"\u003e\/\/https:\/\/kitsguru.myshopify.com\/products\/mifare-rfid-readerwriter-13-56mhz-rc522-spi-s50-fudan-card-and-keychain\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC102\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC103\" class=\"blob-code blob-code-inner js-file-line\"\u003e\u003cspan class=\"pl-c\"\u003e\/\/reading a block\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC104\" class=\"blob-code blob-code-inner js-file-line\"\u003ebyte buffersize = \u003cspan class=\"pl-c1\"\u003e18\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/we need to define a variable with the read buffer size, since the MIFARE_Read method below needs a pointer to the variable that contains the size... \u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC105\" class=\"blob-code blob-code-inner js-file-line\"\u003estatus = mfrc522.\u003cspan class=\"pl-c1\"\u003eMIFARE_Read\u003c\/span\u003e(blockNumber, arrayAddress, \u0026amp;buffersize);\u003cspan class=\"pl-c\"\u003e\/\/\u0026amp;buffersize is a pointer to the buffersize variable; MIFARE_Read requires a pointer instead of just a number\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC106\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003eif\u003c\/span\u003e (status != MFRC522::STATUS_OK) {\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC107\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eMIFARE_read() failed: \u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC108\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(mfrc522.\u003cspan class=\"pl-c1\"\u003eGetStatusCodeName\u003c\/span\u003e(status));\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC109\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cspan class=\"pl-k\"\u003ereturn\u003c\/span\u003e \u003cspan class=\"pl-c1\"\u003e4\u003c\/span\u003e;\u003cspan class=\"pl-c\"\u003e\/\/return \"4\" as error message\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC110\" class=\"blob-code blob-code-inner js-file-line\"\u003e}\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC111\" class=\"blob-code blob-code-inner js-file-line\"\u003eSerial.\u003cspan class=\"pl-c1\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003eblock was read\u003cspan class=\"pl-pds\"\u003e\"\u003c\/span\u003e\u003c\/span\u003e);\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"file-kg062-ino-LC112\" class=\"blob-code blob-code-inner js-file-line\"\u003e\n\u003cp\u003e}\u003c\/p\u003e\n\u003cdiv id=\"col-main\" class=\"page-product layout-normal\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"product\"\u003e\n\u003cdiv class=\"product-content-wrapper\"\u003e\n\u003cdiv class=\"row\"\u003e\n\u003cdiv class=\"col-lg-7 col-md-6 col-sm-6 col-12\"\u003e\n\u003cdiv id=\"product-info\" class=\"product-info\"\u003e\n\u003cdiv class=\"ced-description\"\u003e\n\u003cdiv class=\"ced-content\"\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch3 class=\"sing--sub-heading\"\u003ePhysical Attributes\u003c\/h3\u003e\n\u003cdiv id=\"p_info\"\u003e\n\u003cul class=\"pro-ds\"\u003e\n\u003cli\u003eLength * Width * Height (mm): 60 x 39 x 5\u003c\/li\u003e\n\u003cli\u003eWeight (gm): 19\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product_info\"\u003e\n\u003ch3 class=\"sing--sub-heading\"\u003ePackage Includes\u003c\/h3\u003e\n\u003cdiv id=\"p_info\"\u003e\n\u003cul class=\"pro-ds ls-n\"\u003e\n\u003cli\u003e1 x RFID-RC522 Reader\/Write Module\u003c\/li\u003e\n\u003cli\u003e1 x Standard Blank RFID Card\u003c\/li\u003e\n\u003cli\u003e2 x Straight \u0026amp; Right-Angle Header Strip\u003c\/li\u003e\n\u003cli\u003e1 x Special-Shaped Keychain RFID Tag\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"judgeme_product_reviews\" class=\"jdgm-widget jdgm-review-widget jdgm--done-setup-widget\" data-product-title=\"MFRC-522 RC522 RFID RF IC card reader sensor module + 1 card\" data-id=\"6899147374773\" data-from-snippet=\"true\" data-auto-install=\"false\" data-widget-name=\"review_widget\" data-impressions-tracked=\"true\" data-views-tracked=\"true\"\u003e\n\u003cdiv class=\"jdgm-rev-widg\" data-updated-at=\"2025-11-03T04:08:31Z\" data-average-rating=\"4.89\" data-number-of-reviews=\"19\" data-number-of-questions=\"0\" data-image-url=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0587\/2130\/4757\/products\/products-4-9.jpg?v=1628433074\"\u003e\n\u003cdiv class=\"jdgm-rev-widg__header\"\u003e\n\u003ch2 class=\"jdgm-rev-widg__title\"\u003e\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"SIPRO ELECTRONICS","offers":[{"title":"Default Title","offer_id":53341210837314,"sku":null,"price":65.0,"currency_code":"INR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1008\/3808\/0834\/files\/products-1-16_720x_7616d06d-b758-4061-82de-e795ecfa2221.webp?v=1778915306","url":"https:\/\/siproelectronic.com\/products\/mfrc-522-rc522-rfid-rf-ic-card-reader-sensor-module-1-card","provider":"SIPRO ELECTRONICS","version":"1.0","type":"link"}