RFID + Voltage Amplifier Triggered MP3 Player
by owen000821 in Circuits > Arduino
51 Views, 0 Favorites, 0 Comments
RFID + Voltage Amplifier Triggered MP3 Player


This DIY project combines an RFID MP3 player with a high-precision voltage amplifier module. Instead of just using RFID tags to trigger audio files, the system can also react to tiny sensor signals (like thermocouples, strain gauges, or other low-level sensors). When the amplified voltage crosses a set threshold, a specific MP3 file plays automatically.
This hybrid design makes the project ideal for:
- Interactive learning systems
- Science demonstrations (sound cues for sensor events)
- Smart toys or exhibits
We’ll use the AD620-based Voltage Amplifier Module from EasyElecModule as the core component.
Supplies

Components Required
- Arduino Uno / Nano (or ESP32)
- DFPlayer Mini MP3 player + microSD card
- MFRC522 RFID reader + tags
- Voltage Amplifier Module (AD620) – Product link
- Small 8Ω speaker (3W recommended)
- OLED Display (optional) – SSD1306
- Breadboard + jumper wires
- Power supply (5V USB or battery pack)
Circuit Connections
RFID (MFRC522 → Arduino)
- SDA → D10
- SCK → D13
- MOSI → D11
- MISO → D12
- RST → D9
- VCC → 3.3V
- GND → GND
DFPlayer Mini → Arduino
- RX → D5
- TX → D6
- VCC → 5V
- GND → GND
- SPK+ / SPK- → Speaker
Voltage Amplifier Module → Arduino
- VCC → 5V
- GND → GND
- OUT → A0 (analog input)
- Signal input → connect your sensor (microvolt/millivolt level)
.jpeg)
Arduino Code (Template)
#include <SPI.h>
#include <MFRC522.h>
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 rfid(SS_PIN, RST_PIN);
SoftwareSerial mySerial(5, 6); // RX, TX for DFPlayer
DFRobotDFPlayerMini myDFPlayer;
const int analogPin = A0; // Amplifier output
const int threshold = 400; // Adjust after calibration
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
mySerial.begin(9600);
if (!myDFPlayer.begin(mySerial)) {
Serial.println("DFPlayer not detected!");
while (true);
}
myDFPlayer.volume(25); // Set volume (0–30)
Serial.println("System ready: RFID + Amplifier MP3 Player");
}
void loop() {
// --- RFID Check ---
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
Serial.println("RFID detected!");
myDFPlayer.play(1); // Play MP3 track #1
delay(2000);
}
// --- Amplifier Input Check ---
int sensorValue = analogRead(analogPin);
if (sensorValue > threshold) {
Serial.print("Signal detected: ");
Serial.println(sensorValue);
myDFPlayer.play(2); // Play MP3 track #2
delay(2000);
}
}
Calibration
- Upload the code and open Serial Monitor.
- Note down the baseline value of the amplifier output with no input.
- Increase the gain using the onboard potentiometer until the sensor signal is clearly visible.
- Set the threshold variable slightly above the noise floor.
Testing the System
- RFID Mode: Place a tag near the reader → Track #1 plays.
- Amplifier Mode: Inject a small signal (e.g., from a thermocouple or function generator) → Track #2 plays when voltage exceeds threshold.
Extensions
- Add more tracks for different tags or voltage ranges.
- Display messages on an OLED screen.
- Use buttons to adjust threshold without reprogramming.
- Make it portable with a Li-ion battery pack.