RFID based students attendance system with message Alert

(Last Updated On: July 6, 2019)

Students attendance


In this tutorial, I will show you how to make a RFID students attendance system with an SMS alert. This tutorial explains step by step how to create your graphical user interface application in Visual Basic.Net “Vb.net”.  Before we discuss anything, first let me tell you in a few words how this project actually works.

First of all, a teacher swipes a card and is marked Present, then the timer is started and messages are sent to the students, that the teacher has arrived. As each student has given an RFID card, so if every student swipes his/her RFID card within the specified time, the student will be marked present. While the rest of the students will be marked absent and messages will be sent to their parents.

The components and tools used in this project can be purchased from Amazon, the components Purchase links are given below:

Arduino Uno: https://amzn.to/2tVz1vu
Mega 2560: https://amzn.to/2ze1kdu
MFRC522 RFID module and tags: best deal: https://amzn.to/2PD9Ref
GSM sim900A: https://amzn.to/2Nv70TI
lm7805 Voltage Regulator: https://amzn.to/2IZEl5x
330-ohm resistors pack: https://amzn.to/2NtlAeh
female DC power jack socket: https://amzn.to/2KEo1gt
470 uf capacitors: https://amzn.to/2xDCOzf
5×7 cm vero board: https://amzn.to/2OHGbvn
female headers: https://amzn.to/2zqmtiJ
connection wires: https://amzn.to/2DpBuW7
Super Starter kit for Beginners: https://amzn.to/2KJvmKG
Jumper Wires: https://amzn.to/2KMoVXs
Bread Board: https://amzn.to/2MS4q8X
12v Adaptor: https://amzn.to/2Ntr6h1
PCB plate: https://amzn.to/2IUwpCt
Variable Supply: https://amzn.to/2MT4Qfj
Digital Multimeter: https://amzn.to/2Nvft9i
Vero Board / strip board: https://amzn.to/2MTf9jD
Soldering iron kit: “best” You guys should definitely purchase this: https://amzn.to/2zfoNuJ
Solder wire: https://amzn.to/2ufUMWf
Wire Stripper: https://amzn.to/2KOqxfU
wire cutter: https://amzn.to/2ucIq14
PCB small portable drill machine: https://amzn.to/2Nu62XF

First, let’s start with the GSM module:

This is the GSM module, in the market, we have different types of GSM modules, the one I will be using today is sim900A if you want you can also use any other gsm module, like for example sim900D. I have also tested the same programming using sim900D but with a different baud rate, the rest of the program remains the same.

If you are from Pakistan, Bangladesh or India make sure you double check the GSM module and purchase the unlocked version of the sim900A. This GSM sim900A module as you can see on the screen has no Onboard voltage regulator, so be careful while applying the voltage. Ideal voltage for this GSM module is 4.7v but you can also connect it with a 5v adaptor. If you don’t have a 5v adaptor then you can make your power supply using an lm317t adjustable variable voltage regulator, I have a very detailed tutorial on lm317t explaining everything. You can watch this video tutorial on my YouTube channel “Electronic Clinic”.

As you can see clearly in the picture above this module has so many pins which are clearly labeled, but we will be using only 5 of these pins, the power supply pins, GND, Rxd 5v, and TXD 5v. The GND will be connected with the Arduino GND, TXD will be connected with the Arduino pin 2 and RXD will be connected with the  Arduino pin 4.


MFRC522 RFID Module and its Pinout.

The first pin of the RFID module is the VCC and this will be connected with 3.3v of the Arduino.

Pin number 2 is the RST or reset, pin number 3 is the ground, while the MISO pin, MOSI PIN, SCK pin and NSS pin, these four pins in the Arduino are the SPI pins While in Arduino Mega these pins are different. So these pins will be connected with the Arduino SPI pins, In Arduino Uno the SPI pins are as follow.

pin number 13 is the SCK

pin number 12 is the MISO

pin number 11 is the mosi and

pin number 10 is the ss.

What is SPI :

SPI stands for “Serial Peripheral Interface”. It is a Synchronous serial data bus, which means that the data can travel in both the directions at the same time, as opposed to (for example) the I2c bus that cannot do so. To use Synchronous data transmission, the SPI bus makes use of the four wires, and they are called.

MISO: The MISO stands for Mater in, Slave Out. The purpose of this line is to carry data from the SPI support devices back to Arduino.

SCK: The SCK stands for the Serial Clock.

The IRQ pin is not used

MOSI: The MOSI stands for Master Out, Slave In. the purpose of this line is to carry data from the Arduino to the SPI supported devices.

SS: The SS stands for Slave Select. Each SPI supported device needs a unique SS line back to Arduino.

Circuit Diagram:


with the Arduino’s ground.  a power supply is connected with sim900A ideal voltage is 4.7v to 5v. While the RFID module connections I already explained.

Programming for students attendance:

Tags reading Program:

This is the program written for finding the identity numbers of RFID tags. Before you can control anything using RFID system, first you need to find out the identity number of each tag, and then you can use that identification number to identify a rfid tag to control anything you want.

RFID and GSM sim900A combined the programming of Students attendance system:

Computer application Programming for students attendance:

This application is designed in Visual Basic 2010 express Edition.

Another version of the RFID based student attendance system:


Watch Video Tutorial:

Recommended For You

About the Author: Engr Fahad

My name is Shahzada Fahad and I am an Electrical Engineer. I have been doing Job in UAE as a site engineer in an Electrical Construction Company. Currently, I am running my own YouTube channel "Electronic Clinic", and managing this Website. My Hobbies are * Watching Movies * Music * Martial Arts * Photography * Travelling * Make Sketches and so on...


Leave a Reply