Arduino RFID Reading Time Checker with MP3 Player

Set the alarm and activate it with an RFID card or tag to get notified with your favorite songs when the reading time is over.

Similar projects worth following
I created this project (RFID Reading Time Checker with MP3 Player and RTC) to solve one of my perennial problems :) I have the habit of reading one-hour every day and had been using my phone's timer to check my reading time. However, I was always kvetching about its lack of features when it comes to detecting the book reading time and notifying me. Thus, I contemplated a device specialized to check the reading time with various features to ease my reading process. To check the reading time, I needed to elicit the accurate date and time information, so I used a DS3231 RTC module, which also provides the current temperature. And, I wanted to activate the timer (RTC) by using an RFID tag or card before starting to read my book, so I used an MFRC522 RFID module.

To get notified when the set reading time is over, I utilized a Serial MP3 Player Module (OPEN-SMART) with Speaker, including my two favorite cartoon soundtracks as the playlist. Lastly, to develop an interface (menu) to control the mentioned modules and implement special features, I used an Arduino Nano and a Nokia 5110 Screen. You can get the more detailed information regarding the specialties of this device in Features.

As a prototype, I tried my code with the mentioned modules and Arduino Nano on two breadboards, as depicted in the figure below. The prototype was working properly, but it had redundant wirings that hinder me from using the device attached to my bookcase as I intended. Therefore, I decided to design a PCB to complete my project, including buttons to control the interface, headers to connect the modules, and embedded-resistors.


SeeedStudio sponsored my PCB design for this project with its fast and high-quality PCB / PCBA service. You can find more detailed information about the PCB and its fabrication process in Designing the RFID Reading Time Checker PCB.


Preview: What You Will Learn

- How to design a PCB

- How to use an MFRC522 RFID module with Arduino Nano

- How to register a new RFID card or tag UID to the EEPROM

- How to use a DS3231 RTC module with Arduino Nano

- How to use a Nokia 5110 Screen with Arduino Nano

- How to control a Serial MP3 Player Module (OPEN-SMART) with Speaker by using UART commands with Arduino Nano

- How to program an interface and a timer in Arduino


When you open the device (RFID Reading Time Checker with MP3 Player and RTC), you should see the "Initializing..." message while it is checking the modules.


Then, the device will show you the home screen (interface), including four menu commands - A. Init Checker, B. Set Checker, C. Clock, and D. New Card. Each menu command lets you activate a different feature of the device.

To select and activate menu commands, you need to use the buttons on the PCB, as explained below, named Left, OK, Right, and Exit (from left to right).

Press Right to go down and Left to go up.

To select a menu command, press OK.

To return to the home screen after selecting, press Exit.


A. Init Checker

Approximate the registered RFID card or tag in the EEPROM to the MFRC522 RFID module to activate the alarm mode. The device displays the clock icon if the alarm mode is activated.

In the alarm mode, the device notifies you when the timer (RTC) has reached the set reading time - for instance, 15:21 - by displaying the Spider-Man icon and playing the second song (Spider-Man Cartoon Theme Song) in the playlist of the Serial MP3 Player (OPEN-SMART).

In other words, as its name implies, the alarm mode is an alarm that is activated by the registered RFID card or tag and rings when set (the reading time). So, depending on your routine, you can check your reading time daily.

To return to the home screen, press Exit.



Important: In the alarm mode, you can play songs without waiting for the device to notify you with the second song and the icon if you want to listen to the playlist:

Press Right to play the first song in the playlist.

Press Left to pause the playing song.

Press OK to play (continue) the playing song.

B. Set Checker

Set the reading time - for instance, 14:2 - to get notified when the timer (RTC) has reached the reading time if the alarm mode is activated. When the reading time is set, it is saved by the device until further changes.

Press Right to increment minutes by 1.

Press Left to decrement minutes by 1.

If minutes exceed 59, the device increases the hour by 1.

If minutes are smaller than 0, the device decreases the hour by 1.

Allowed Range: 0:0 - 23:59

Press Exit to return to the home screen after setting the reading time.




C. Clock

Display time, date, and temperature variables generated by the DS3231 RTC module, which is also the timer of the device.



D. New Card

Approximate an RFID card or tag to scan and save the new...

Read more »

C Source File - 2.02 kB - 06/10/2020 at 21:02


Adobe Portable Document Format - 629.28 kB - 06/10/2020 at 21:02


ino - 14.31 kB - 06/10/2020 at 21:02


x-zip-compressed - 6.84 kB - 06/10/2020 at 21:02


C Source File - 2.01 kB - 06/10/2020 at 21:02


View all 7 files

  • 1 × RFID Reading Time Checker (PCB)
  • 1 × Arduino Nano v3
  • 1 × Nokia 5110 Screen
  • 1 × Serial MP3 Player Module (OPEN-SMART)
  • 1 × Micro SD Card

View all 10 components

  • 1

View all instructions

Enjoy this project?



kutluhan_aktar wrote 06/10/2020 at 21:09 point

Please feel free to leave a comment here if you have any questions or concerns regarding this project :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates