Building this RFID door lock gave me a deep practical understanding of the SPI communication protocol — specifically how the Arduino communicates with the MFRC522 module using dedicated SPI pins (MOSI on 11, MISO on 12, SCK on 13) alongside a configurable SS pin on 10 and RST on 9. I learned how every RFID card carries a unique UID and how to read it as a byte array, then compare it byte by byte using a loop to authenticate access. Working with the Servo library taught me how PWM signals precisely control motor angles — in this project rotating to exactly 130° to physically open the lock mechanism and returning to 0° to close it. I also learned the importance of initializing hardware state in setup() — using lockServo.write(0) at startup ensures the door always begins in a locked position regardless of where the servo was left. Using Serial.begin(9600) and print statements throughout the code helped me understand how serial monitoring is essential for debugging embedded systems in real time.