Close Menu
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
Facebook X (Twitter) Instagram
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us
Facebook X (Twitter) Instagram Pinterest YouTube LinkedIn
How To Electronics
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
How To Electronics
Home » RFID RC522 Attendance System Using Arduino with Data Logger
Arduino Projects

RFID RC522 Attendance System Using Arduino with Data Logger

Mamtaz AlamBy Mamtaz AlamUpdated:February 19, 202332 Comments5 Mins Read
Share Facebook Twitter LinkedIn Telegram Reddit WhatsApp
RFID RC522 Attendance System Arduino
Share
Facebook Twitter LinkedIn Pinterest Email Reddit Telegram WhatsApp

RFID RC522 Attendance System Using Arduino with Data Logger

In this project, we have designed RFID RC522 Based Attendance System Using Arduino with Data Logger. MFRC522 RFID Reader is a very simple yet effective module. It is an RFID module and is used for scanning RFID cards. It’s a new technology and is expanding day by day. Nowadays it is extensively used in offices where employees have issued an RFID card and their attendance is marked when they touch their card to the RFID reader. We have seen it in many movies that when someone places one’s card over some machine then the door opens or closes. In short, its a new emerging technology which is quite useful.

In this project, we will make RFID MFRC522 based Time Attendance System Using Arduino Board. When you swipe an RFID tag next to the RFID reader, it saves the user UID and time in an SD card. It also shows if you are late or in time accordingly to a preset hour and minute. For this, we are interfacing the MFRC522 RFID SPI module with Arduino. We are also interfacing SD Card Module as a Datalogger where the data is saved in text format. Similarly, RTC Module DS3231 or DS1307 is used to store time information.

But before beginning you can see our earlier projects that are based on Attendance System:
1. RFID EM-18 Based Attendance System using Arduino & LCD Display
2. Fingerprint Sensor Based Biometric Attendance System using Arduino



You can also check the advance version of the same project:
IoT Based RFID Attendance System Using Arduino ESP8266 & Adafruit.io


Bill of Materials

Components for RFID Attendance System

S.N.Components NameQuantityPurchase Links
1Arduino UNO Board1Amazon | AliExpress
2RFID Module RC5221Amazon | AliExpress
316X2 LCD Display1Amazon | AliExpress
4Potentiometer 10K1Amazon | AliExpress
513.56 MHz RFID Cards1Amazon | AliExpress
6Micro SD Card 8GB/16GB1Amazon | AliExpress
7Card Reader1Amazon | AliExpress
8RTC Module DS32311Amazon | AliExpress
9Buzzer 5V1Amazon | AliExpress
10LED 5mm Any Color2Amazon | AliExpress
11Connecting Wires20Amazon | AliExpress
12Breadboard1Amazon | AliExpress

RFID MFRC522 Module

RC522 – RFID Reader / Writer 13.56MHz with Cards Kit includes a 13.56MHz RF reader cum writer module that uses an RC522 IC and two S50 RFID cards. The MF RC522 is a highly integrated transmission module for contactless communication at 13.56 MHz. RC522 supports ISO 14443A/MIFARE mode.

RFID MFRC522 Module

RC522 – RFID Reader features an outstanding modulation and demodulation algorithm to serve effortless RF communication at 13.56 MHz. The S50 RFID Cards will ease up the process helping you to learn and add the 13.56 MHz RF transition to your project.

The module uses SPI to communicate with microcontrollers. The open-hardware community already has a lot of projects exploiting the RC522 – RFID Communication, using Arduino.


The following table shows the connection between Arduino UNO & RFID MFRC522:

Arduino RC522 Connection

Note: different Arduino boards have different SPI pins. If you’re using another Arduino board, check the Arduino documentation.


SD Card Module

The micro- SD Card Module is a simple solution for transferring data to and from a standard SD card. The pin out is directly compatible with Arduino, but can also be used with other microcontrollers. It allows you to add mass storage and data logging to your project.

SD Card Module

This module has an SPI interface which is compatible with any sd card and it uses 5V or 3.3V power supply which is compatible with Arduino UNO/Mega. SD module has various applications such as data logger, audio, video, graphics. This module will greatly expand the capability an Arduino can do with their poor limited memory.

The following table shows the connection between Arduino UNO & SD Card Module:

Arduino UNO and SD Card Module Connection

Note: different Arduino boards have different SPI pins. If you’re using another Arduino board, check the Arduino documentation.


DS3231 RTC Module

RTC means Real-Time Clock. RTC modules are simply TIME and DATE remembering systems that have battery setup which in the absence of external power keeps the module running. This keeps the TIME and DATE up to date. So we can have accurate TIME and DATE from the RTC module whenever we want.

DS3231

DS3231 is a six terminal device, out of the two pins are not compulsory to use. It works on I2C Communication Protocols with SDA and SCL pins. So we have mainly four pins.</p

The following table shows the connection between Arduino UNO & DS3231 Module:

Connection Between Arduino and DS3231 RTC Module

Note: different Arduino boards have different I2C pins. If you’re using another Arduino board, check the Arduino documentation.




Circuit Diagram & Connection

The circuit for this project RFID RC522 Based Attendance System Using Arduino with Data Logger is shown in the circuit schematics below.

In this circuit there are 3.3V and 5V devices, make sure you wire them correctly. Also, if you’re using different modules, check the recommend voltage before powering the circuit. Wire one module at a time and follow the pinout tables if needed.

Circuit Diagram for RFID Based Attendance System


Preparing & Setting Up SD Card

First, insert the SD Card of 16/32 GB in SD Card Reader and format using FAT32 Command:

Formating SD Card Module

Once the formatting is done, put the SD card in SD Card Module as in the assembled circuit above. Then upload the code given below to Arduino Board.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <SPI.h>
#include <SD.h>
 
// set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root;
 
// change this to match your SD shield or module;
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
// MKRZero SD: SDCARD_SS_PIN
const int chipSelect = 4;
 
void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
 
 
  Serial.print("\nInitializing SD card...");
 
  // we'll use the initialization code from the utility libraries
  // since we're just testing if the card is working!
  if (!card.init(SPI_HALF_SPEED, chipSelect)) {
    Serial.println("initialization failed. Things to check:");
    Serial.println("* is a card inserted?");
    Serial.println("* is your wiring correct?");
    Serial.println("* did you change the chipSelect pin to match your shield or module?");
    while (1);
  } else {
    Serial.println("Wiring is correct and a card is present.");
  }
 
  // print the type of card
  Serial.println();
  Serial.print("Card type:         ");
  switch (card.type()) {
    case SD_CARD_TYPE_SD1:
      Serial.println("SD1");
      break;
    case SD_CARD_TYPE_SD2:
      Serial.println("SD2");
      break;
    case SD_CARD_TYPE_SDHC:
      Serial.println("SDHC");
      break;
    default:
      Serial.println("Unknown");
  }
 
  // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
  if (!volume.init(card)) {
    Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
    while (1);
  }
 
  Serial.print("Clusters:          ");
  Serial.println(volume.clusterCount());
  Serial.print("Blocks x Cluster:  ");
  Serial.println(volume.blocksPerCluster());
 
  Serial.print("Total Blocks:      ");
  Serial.println(volume.blocksPerCluster() * volume.clusterCount());
  Serial.println();
 
  // print the type and size of the first FAT-type volume
  uint32_t volumesize;
  Serial.print("Volume type is:    FAT");
  Serial.println(volume.fatType(), DEC);
 
  volumesize = volume.blocksPerCluster();    // clusters are collections of blocks
  volumesize *= volume.clusterCount();       // we'll have a lot of clusters
  volumesize /= 2;                           // SD card blocks are always 512 bytes (2 blocks are 1KB)
  Serial.print("Volume size (Kb):  ");
  Serial.println(volumesize);
  Serial.print("Volume size (Mb):  ");
  volumesize /= 1024;
  Serial.println(volumesize);
  Serial.print("Volume size (Gb):  ");
  Serial.println((float)volumesize / 1024.0);
 
  Serial.println("\nFiles found on the card (name, date and size in bytes): ");
  root.openRoot(volume);
 
  // list all files in the card with date and size
  root.ls(LS_R | LS_DATE | LS_SIZE);
}
 
void loop(void) {
}

After uploading check the serial monitor. If the below messages get displayed then you can proceed further.



Source Code/Programs

Add the two libraries first before compiling the Code:
1. MFRC522 Library Link: Download
2. RTC Library Link: Download

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
#include <LiquidCrystal.h>
LiquidCrystal lcd(3, 2, A0, A1, A2, A3);
 
#include <MFRC522.h> // for the RFID
#include <SPI.h> // for the RFID and SD card module
#include <SD.h> // for the SD card
#include <RTClib.h> // for the RTC
 
// define pins for RFID
#define CS_RFID 10
#define RST_RFID 9
// define select pin for SD card module
#define CS_SD 4
 
// Create a file to store the data
File myFile;
 
// Instance of the class for RFID
MFRC522 rfid(CS_RFID, RST_RFID);
 
// Variable to hold the tag's UID
String uidString;
 
// Instance of the class for RTC
RTC_DS1307 rtc;
 
// Define check in time
const int checkInHour = 9;
const int checkInMinute = 5;
 
//Variable to hold user check in
int userCheckInHour;
int userCheckInMinute;
 
// Pins for LEDs and buzzer
const int redLED = 6;
const int greenLED = 7;
const int buzzer = 5;
 
void setup() {
  
  // Set LEDs and buzzer as outputs
  pinMode(redLED, OUTPUT);  
  pinMode(greenLED, OUTPUT);
  pinMode(buzzer, OUTPUT);
  
  // Init Serial port
  Serial.begin(9600);
  lcd.begin(16,2);
  while(!Serial); // for Leonardo/Micro/Zero
  
  // Init SPI bus
  SPI.begin();
  // Init MFRC522
  rfid.PCD_Init();
 
  // Setup for the SD card
  Serial.print("Initializing SD card...");
  lcd.print("Initializing ");
  lcd.setCursor(0, 1);
  lcd.print("SD card...");
  delay(3000);
  lcd.clear();
  if(!SD.begin(CS_SD)) {
    Serial.println("initialization failed!");
    lcd.print("Initializing ");
    lcd.setCursor(0, 1);
    lcd.print("failed!");
    return;
  }
  Serial.println("initialization done.");
  lcd.print("Initialization ");
  lcd.setCursor(0, 1);
  lcd.print("Done...");
 
  // Setup for the RTC  
  if(!rtc.begin()) {
    Serial.println("Couldn't find RTC");
    lcd.clear();
    lcd.print("Couldn't find RTC");
    while(1);
  }
  else {
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
  if(!rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    lcd.clear();
    lcd.print("RTC Not Running!");
  }
}
 
void loop() {
  //look for new cards
  if(rfid.PICC_IsNewCardPresent()) {
    readRFID();
    logCard();
    verifyCheckIn();
  }
  delay(10);
}
 
void readRFID() {
  rfid.PICC_ReadCardSerial();
  lcd.clear();
  Serial.print("Tag UID: ");
  lcd.print("Tag UID: ");
  uidString = String(rfid.uid.uidByte[0]) + " " + String(rfid.uid.uidByte[1]) + " " +
    String(rfid.uid.uidByte[2]) + " " + String(rfid.uid.uidByte[3]);
  Serial.println(uidString);
  lcd.setCursor(0, 1);
  lcd.print(uidString);
  delay(2000);
  // Sound the buzzer when a card is read
  tone(buzzer, 2000);
  delay(200);        
  noTone(buzzer);
  
  delay(200);
}
 
void logCard() {
  // Enables SD card chip select pin
  digitalWrite(CS_SD,LOW);
  
  // Open file
  myFile=SD.open("DATA.txt", FILE_WRITE);
 
  // If the file opened ok, write to it
  if (myFile) {
    Serial.println("File opened ok");
    lcd.clear();
    lcd.print("File opened ok");
    delay(2000);
    myFile.print(uidString);
    myFile.print(", ");  
    
    // Save time on SD card
    DateTime now = rtc.now();
    myFile.print(now.year(), DEC);
    myFile.print('/');
    myFile.print(now.month(), DEC);
    myFile.print('/');
    myFile.print(now.day(), DEC);
    myFile.print(',');
    myFile.print(now.hour(), DEC);
    myFile.print(':');
    myFile.println(now.minute(), DEC);
    
    // Print time on Serial monitor
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.println(now.minute(), DEC);
    Serial.println("sucessfully written on SD card");
 
    lcd.clear();
    lcd.print(now.year(), DEC);
    lcd.print(':');
    lcd.print(now.month(), DEC);
    lcd.print(':');
    lcd.print(now.day(), DEC);
    lcd.print(' ');
    lcd.setCursor(11, 0);
    lcd.print(now.hour(), DEC);
    lcd.print(':');
    lcd.print(now.minute(), DEC);
    lcd.setCursor(0, 1);
    lcd.print("Written on SD...");
    delay(2000);
    
    myFile.close();
 
    // Save check in time;
    userCheckInHour = now.hour();
    userCheckInMinute = now.minute();
  }
  else {
    
    Serial.println("error opening data.txt");  
    lcd.clear();
    lcd.print("error opening data.txt");
  }
  // Disables SD card chip select pin  
  digitalWrite(CS_SD,HIGH);
}
 
void verifyCheckIn(){
  if((userCheckInHour < checkInHour)||((userCheckInHour==checkInHour) && (userCheckInMinute <= checkInMinute))){
    digitalWrite(greenLED, HIGH);
    delay(2000);
    digitalWrite(greenLED,LOW);
    Serial.println("You're welcome!");
    lcd.clear();
    lcd.print("You're Welcome!");
  }
  else{
    digitalWrite(redLED, HIGH);
    delay(2000);
    digitalWrite(redLED,LOW);
    Serial.println("You are late...");
    lcd.clear();
    lcd.print("You are Late...");
    delay(3000);
    lcd.clear();
    lcd.print("Put RFID to Scan");
    
  }
}


Working of the Project

When the RFID reader reads an RFID tag, it saves the current time and the UID of the tag in an SD card. The Arduino communicates with the SD card using an SD card module.

RFID RC522 Attendance System Arduino

You can set a check-in time to compare if you are on time or late. If you are on time, a green LED lights up, if you are late, a red LED lights up. The system also has a buzzer that beeps when a tag is read.


Video Preview & Demonstration

RFID RC522 Based Attendance System Using Arduino with Data Logger
Watch this video on YouTube.

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Reddit Telegram WhatsApp
Previous ArticleRTC Based Automatic Street Light Using Arduino & LDR
Next Article Interface Capacitive Soil Moisture Sensor v1.2 with Arduino

Related Posts

DC Energy Meter using Arduino

Build a DC Energy Meter using Arduino – 32V/5A

Updated:August 26, 20252K
Interfacing ADXL375 Accelerometer with Arduino

Interfacing ADXL375 Accelerometer with Arduino (±200g)

Updated:June 28, 2025
PZEM-004T Arduino Energy Meter

DIY AC Energy Meter using PZEM-004T & Arduino

Updated:March 6, 20258K
Interfacing BMI160 Accelerometer & Gyroscope with Arduino

Interfacing BMI160 Accelerometer & Gyroscope with Arduino

Updated:February 2, 20259K
Password Based Door Lock Security System Using Arduino & Keypad

Password Based Door Lock Security System Using Arduino & Keypad

Updated:February 2, 20252436K
Earthquake Detector Alarm with with Accelerometer & Arduino

Earthquake Detector Alarm with Accelerometer & Arduino

Updated:February 2, 2025661K
View 32 Comments

32 Comments

  1. Niket Nagwani on May 22, 2019 7:32 PM

    Rfid reader not working
    Checked all the connections

    Reply
    • Alex Newton on May 24, 2019 11:10 PM

      It was not working in my case too. First check if SD Card module is working or not. Also, did u use 330-ohm resistor between mosi pins of SD Card Module and RFID

      Reply
      • Mkn on March 5, 2020 10:33 AM

        Sir rfid not working
        sd card setep is finished
        But when i show card to rfid the display doesnt change anything but showing initialization done
        how to fix plss im doing this as sch project
        I need to finish plss
        I using 330 ohm too

  2. Tona on June 19, 2019 1:33 AM

    RFID reader not working either, all connections are in. Also using the 330-ohm resistor. please help.

    Reply
    • Hamza on July 7, 2019 8:44 PM

      i am facing same problem did you find any solution.

      Reply
      • Nilay Patel on March 6, 2020 10:59 PM

        did you find any solution

  3. Phaka on June 26, 2019 2:36 AM

    hey thanks great video, how does this attendance system can prevent people from swapping cards for absent people who never showed up in class, or is there anyway of preventing it beside the use of fingerprints based attendance system.

    Reply
  4. Lemon on October 28, 2019 6:34 PM

    This code is for RTC DS1307. Plz can you show me the code for rtc ds 3231

    Reply
  5. satya on November 23, 2019 11:24 AM

    Hi i interfaced RFID-RC522 (13.65MHZ) module it getting data from the card but it want to store the data in card day by day input date through IOT of the card was inserted then send print card number was reading the date and automatically if match card number the wifi send automatic data transform and updated in the computer but i tried this type using if equitation but how to transform the data in bulk please provide example.

    Reply
  6. suvi on February 26, 2020 8:14 PM

    Dear satya in my project I have same problem here. Have you found answer for that problem

    Reply
  7. Leon on March 1, 2020 2:15 AM

    Hi There , i used the code but its not working with a ds3231 rtc module. What can i do to fix it so that it will work.

    Reply
  8. Nilay Patel on March 5, 2020 6:23 AM

    RFID is not working

    Reply
  9. Mkn on March 5, 2020 10:30 AM

    Sir did the code here work and run for u?

    Reply
    • Mr. Alam on March 5, 2020 10:37 AM

      Hi bro it worked for me. The code that I have posted here is validated and verified. It should work fine unless there is a problem with the hardware and connection.

      Reply
    • Nilay Patel on March 6, 2020 10:58 PM

      yes bro code is working

      Reply
  10. Louis on March 5, 2020 10:44 AM

    Thank you for the great project.
    I was doing it as a project for my final year.
    The project is working fine and I am able to store the attendance data to SD Card as explained.
    Just one question, I want to add ESP8266-01 Module to it so that i can receive the data in MQTT.
    Can you help me.

    Reply
  11. Nilay Patel on March 6, 2020 10:57 PM

    hey bro in lcd its says that initialization done but when i try to scan rfid card it is not working

    Reply
  12. marcox on March 10, 2020 4:18 PM

    Thank you for thank you for your valuable unique contribution on the web right now

    Reply
    • Mr. Alam on March 10, 2020 4:26 PM

      Thanks Marcox

      Reply
  13. Kareem Assad on March 27, 2020 4:30 AM

    add 2.2K Resistor between SD card MISO and Arduino pin , it will fix the problem

    Reply
  14. Melonmelody on June 17, 2020 2:39 PM

    I want to present instead of ID with name how should I repair the program.

    Reply
  15. Firman Syah on June 27, 2020 5:44 PM

    Hi Bro RTC DS3231 Not Runing, how to solution?

    Reply
  16. Wilfried on November 26, 2020 3:43 PM

    Bonjours je souhaite également faire la même chose afficher le nom de la personne plutot que de montré le numéro de la carte comment faire ???

    Reply
  17. Rajat on November 29, 2020 10:07 PM

    Sir after uploading the code to the board… it shows as ‘initialisation done’.. but after that nothing comes if i swipe the card nothing comes…it stops at ‘initialisation done’ and nothing after that.

    Reply
  18. Cesar Falqueto on April 4, 2021 12:21 AM

    Hi, to work with SD card 2Gb need to change what ?

    Reply
  19. Teams vit on May 6, 2021 8:13 PM

    Where to add the 10k potentiometer?

    Reply
  20. Teams vit on May 6, 2021 8:21 PM

    Where to add the 10k Potentiometer in the circuit?

    Reply
  21. Sérgio on May 7, 2021 3:36 AM

    OK. It’s working perfectly

    Reply
  22. sambhara manaswni on September 12, 2021 2:49 PM

    is this code working properly for rtc 1307 , and is the lcd display working? Guys i nees a fast reply asap please.

    Reply
  23. Thabo Baldwin Motsoeneng on September 29, 2021 8:38 PM

    How did you solve the MISO/MOSI connection between RFID and SD card Adapter , because both electronics use the same SPI.

    Reply
  24. zikry on December 8, 2021 9:09 AM

    hi can this code working with ds3231?

    Reply
  25. robin on August 11, 2022 11:55 AM

    There is an issue of sharing spi bus..how to fix this
    ..??

    Reply

CommentsCancel reply

Latest Posts
IoT Based PM & Air Quality Monitoring System using ESP32

IoT Based PM & Air Quality Monitoring System using ESP32

May 31, 2026
DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

May 10, 2026
IoT Activity Tracker with ESP32 & Accelerometer Gyroscope

IoT Activity Tracker with ESP32 & Accelerometer/Gyroscope

May 2, 2026
A Guide to Sourcing Obsolete ICs for Vintage Projects

Beyond AliExpress: A Guide to Sourcing Obsolete ICs for Vintage Projects

April 21, 2026

ESP32 IoT Vehicle Motion Analyzer with MPU6050 & LIS3MDL

April 27, 2026
Building a Smart Sensor Node with a BLE Microcontroller

Building a Smart Sensor Node with a BLE Microcontroller

February 26, 2026
High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

April 27, 2026
DIY Colorimeter using AS7265x Spectroscopy Sensor & ESP32

DIY Colorimeter using AS7265x Spectroscopy Sensor & ESP32

February 1, 2026
Top Posts & Pages
  • IoT Based PM & Air Quality Monitoring System using ESP32
    IoT Based PM & Air Quality Monitoring System using ESP32
  • 12V DC to 220V AC Inverter Circuit & PCB
    12V DC to 220V AC Inverter Circuit & PCB
  • IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
    IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
  • Buck Converter: Basics, Working, Design & Application
    Buck Converter: Basics, Working, Design & Application
  • How to use INA219 DC Current Sensor Module with Arduino
    How to use INA219 DC Current Sensor Module with Arduino
  • ECG Graph Monitoring with AD8232 ECG Sensor & Arduino
    ECG Graph Monitoring with AD8232 ECG Sensor & Arduino
  • IoT Based Electricity Energy Meter using ESP32 & Blynk
    IoT Based Electricity Energy Meter using ESP32 & Blynk
  • How to use INA226 DC Current Sensor with Arduino
    How to use INA226 DC Current Sensor with Arduino
Categories
  • Arduino Projects (197)
  • Articles (60)
    • Learn Electronics (19)
    • Product Review (15)
    • Tech Articles (28)
  • Electronics Circuits (46)
    • 555 Timer Projects (21)
    • Op-Amp Circuits (7)
    • Power Electronics (13)
  • IoT Projects (204)
    • ESP32 MicroPython (7)
    • ESP32 Projects (81)
    • ESP32-CAM Projects (15)
    • ESP8266 Projects (76)
    • LoRa/LoRaWAN Projects (22)
  • Microcontrollers (38)
    • AMB82-Mini IoT AI Camera (4)
    • BLE Projects (18)
    • STM32 Projects (19)
  • Raspberry Pi (93)
    • Raspberry Pi Pico Projects (57)
    • Raspberry Pi Pico W Projects (12)
    • Raspberry Pi Projects (24)
Follow Us
  • Facebook
  • Twitter
  • Pinterest
  • Instagram
  • YouTube
About Us

“‘How to Electronics’ is a vibrant community for electronics enthusiasts and professionals. We deliver latest insights in areas such as Embedded Systems, Power Electronics, AI, IoT, and Robotics. Our goal is to stimulate innovation and provide practical solutions for students, organizations, and industries. Join us to transform learning into a joyful journey of discovery and innovation.

Copyright © How To Electronics. All rights reserved.
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Looks like you're using an ad blocker. Please allow ads on our site. We rely on advertising to help fund our site.