Audiostationen sind eine großartige Möglichkeit, interaktive Medien-Elemente in ein Museum oder eine Ausstellung zu integrieren. Eine einfache Audiostation kann mit einem ESP32 (oder Arduino) und einem DFPlayer Mini schnell und kostengünstig umgesetzt werden. In diesem Artikel zeige ich, wie mit wenigen Bauteilen und etwas Code eine funktionierende Audiostation gebaut werden kann, die auf Knopfdruck drei verschiedene MP3-Dateien abspielt.
Wir benötigen:
✅ ESP32 (oder Arduino)
✅ DFPlayer Mini (MP3-Modul)
✅ Lautsprecher (passiv oder mit Verstärker)
✅ Micro-SD-Karte (max. 32 GB, FAT32)
✅ 3 Drucktaster
✅ Kabel und eventuell ein Breadboard zum Testen
So funktioniert die Audiostation:
➡️ Der ESP32 (oder Arduino) kommuniziert über die UART-Schnittstelle mit dem DFPlayer Mini.
➡️ Der DFPlayer Mini liest die MP3-Dateien von der SD-Karte.
➡️ Wenn ein Taster gedrückt wird, wird die entsprechende Datei abgespielt.
➡️ Die Steuerung erfolgt über einfache Befehle an den DFPlayer Mini.
Aufbau, Teil 1: ESP32 mit dem DFPlayer verbinden
DFPlayer Pin | ESP32 Pin |
---|---|
VCC | 5V |
GND | GND |
RX | GPIO16 |
TX | GPIO17 |
Aufbau, Teil 2: Taster anschließen
Taster | ESP32 Pin |
---|---|
Taster 1 | GPIO12 |
Taster 2 | GPIO14 |
Taster 3 | GPIO27 |
Ein Ende des Tasters mit GND
am ESP32, das andere mit dem GPIO-Pin verbinden.
Aufbau, Teil 3: Lautsprecher anschließen
DFPlayer Pin | Anschluss |
---|---|
SPK_1 | + Lautsprecher |
SPK_2 | – Lautsprecher |
Der DFPlayer Mini hat einen eingebauten Verstärker – kleine Lautsprecher sind also direkt anschließbar.

Programmierung
Hier ist der vollständige Code für den ESP32. Er spielt drei verschiedene MP3-Dateien auf Knopfdruck ab:
#include "DFRobotDFPlayerMini.h"
HardwareSerial mySoftwareSerial(1);
DFRobotDFPlayerMini myDFPlayer;
const int button1Pin = 12;
const int button2Pin = 14;
const int button3Pin = 27;
void setup() {
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
pinMode(button3Pin, INPUT_PULLUP);
mySoftwareSerial.begin(9600, SERIAL_8N1, 16, 17);
Serial.begin(115200);
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println("DFPlayer not detected!");
while (true);
}
myDFPlayer.setTimeOut(500);
myDFPlayer.volume(25); // Lautstärke auf 25 (max. 30)
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
}
void loop() {
if (digitalRead(button1Pin) == LOW) {
Serial.println("Button 1 pressed → Playing 0001.mp3");
myDFPlayer.play(1); // Spielt die Datei 0001.mp3
delay(500);
}
if (digitalRead(button2Pin) == LOW) {
Serial.println("Button 2 pressed → Playing 0002.mp3");
myDFPlayer.play(3); // Spielt die Datei 0002.mp3
delay(500);
}
if (digitalRead(button3Pin) == LOW) {
Serial.println("Button 3 pressed → Playing 0003.mp3");
myDFPlayer.play(5); // Spielt die Datei 0003.mp3
delay(500);
}
}
Dateien auf die Karte kopieren
Der DFPlayer kann nur Dateien verarbeiten, die nach einem bestimmten Schema abgelegt wurden. Am störungsärmsten ist es, wenn man auf der SD-Karte einen Ordner mit dem Namen MP3 anlegt und dort die Dateien mit dem Namen 000.mp3, 0002.mp3 und 0003.mp3 ablegt. Eine kurze Google-Suche kann da noch mehr Auskunft geben.
Schluss
Es ist gar nicht so kompliziert, eine Audiostation selbt zu bauen. Zu allem gibt es zudem Tutorials und viele Informationen im Netz. Einfach machen! Jetzt gilt es nur noch, ein geeignetes Gehäuse für die Audiostation zu finden oder zu bauen. Aber da sind der Phantasie keine Grenzen gesetzt: Vom alten Telefonhörer (wie bei uns in Brome), einer Sounddusche bis zur sprechenden Ritterrüstung ist alles möglich.