Fingerprint and RFID Based Attendance System Using Raspberry Pi and MySQL Database

About: Newbie

Video of This Project

Step 1: Hardware Components

  1. R305 Fingerprint Module
  2. PL2303 USB to TTL
  3. RC522 RFID Module
  4. 20x4 LCD
  5. Raspberry Pi
  6. Ethernet Cable
  7. Push Button (8)
  8. Buzzer
  9. Jumper Wire
  10. SD Card (16 GB)
  11. Potensiometer (10k)

Step 2: Software Components

  1. PC/Laptop
    Install Xampp application in your laptop/PC. Connect your PC/Laptop to the ethernet network that has an DHCP Server. Then, open CMD and run this following command: ipconfig. Look your IP Address (mine is and remember it. Run Xampp, in Module Apache klik Config, select Apache (httpd.conf). Find and edit this command : #Listen Remove " # " and then save the httpd.conf file.
  2. Raspberry Pi
    I assume that on the SD Card there is a Raspbian Stretch Operating System. Insert the SD Card to the Raspberry Pi and power on the Raspberry Pi.

Step 3: Hardware Integration

  1. Raspberry Pi and R305 Fingerprint Module
    Follow this link

  2. Raspberry Pi and RC522 RFID Module
    Follow this link

  3. Raspberry Pi and 20x4 LCD Module
    Follow this link

  4. Raspberry Pi and Push Button
    Desain your PCB layout using Eagle software, you can look the picture attached and follow the pinout picture.
  5. Raspberry Pi and Buzzer
    You can use another available I/O in Raspberry Pi, but for this project I choose pin 40 for buzzer.

Step 4: Software Integration

  • For PC/Laptop
    1. Make sure that your Laptop/PC is connected to an ethernet network that has a DHCP Server. So you can check your Laptop/PC IP Address still same as before (mine is
    2. Run Xampp Software, then klik Start on Apache and MySQL Module.
    3. Run Browser (e.g Mozilla Firefox), then in the Address Bar type this command:, then enter. You will be directed to phpmyadmin for making database.
    4. Create database same as the picture attached.
  • For Raspberry Pi
    1. Open this link

    2. Download Register and Searching python file. After that you can place it in Desktop.

Step 5: Run the System

  1. Power on your Raspberry Pi and connect it to the same ethernet network as PC/Laptop. Make sure that your Raspberry Pi have connected to the same network by run this command in terminal : ifconfig. If connected your Raspberry Pi will have IP Address like or other. To perform this proses, you should have keyboard and mouse, then plug it to Raspberry Pi USB Port.
  2. Run Xampp Application on Laptop/PC. Then klik Start Apache and MySQL Module.
  3. Run the code:
    • If you want to Register a new user, run on terminal by this command : sudo python .
    • If you want to Searching a user, run on terminal by this comman : sudo python .



    • Build a Tool Contest

      Build a Tool Contest
    • Paper Contest

      Paper Contest
    • Pocket Sized Contest

      Pocket Sized Contest

    5 Discussions


    16 days ago

    Great work. Did you use breadboard for some part of the connections?


    4 weeks ago

    Hello good afternoon, I am trying to make these methods work with a PIC, I have the connections and some routines already done, however I would like to make the following query.

    The sensor has a limited memory, I want to save the templates in a database, I understand that the process is to take the image "readImage", convert it "convertImage", create a template "createTemplate", then load the saved template again " loadTemplate "and then send that template, or am I wrong?

    How can I send this template? Should it be done with "downloadCharacteristics"?

    According to the code that you show with "" it seems that you had the templates saved also in the sensor, or do not know if I'm wrong?


    3 months ago

    keren mas boleh minta alamat emailnya