ESP32 Nano auf Classic-Platine macht Probleme mit MFRC522

Hallo zusammen,

meine TonUINO lief zuvor mit dem ATmega328P einwandfrei. Nun habe ich mir einen ESP32 Nano zugelegt und wollte meiner TonUINO ein Upgrade verpassen, um Bluetooth und Webinterface nutzen zu können.

Ich habe sowohl über die Arduino IDE als auch über PlatformIO meine Builds sauber kompilieren und hochladen können. Dabei nutze ich den Branch issue_259_esp32. Egal was ich tue: beim Einschalten startet die TonUINO sauber, ich komme auch ins Admin‑Menü. Allerdings gibt der Lautsprecher nur ein lautes Klackern von sich. Die NFC‑Karte wird zwar erkannt (es piept kurz), aber es wird nichts abgespielt.

Setup‑Details:

  • Platine: TonUINO Classic von Voss.earth

  • Board: Arduino Nano ESP32 (statt ATmega328P)

  • Firmware: Branch issue_259_esp32, #define TonUINO_Esp32 100 gesetzt

  • DFPlayer: HW‑247A (GD3200B‑Chip), #define DFMiniMp3_T_CHIP_GD3200B gesetzt

  • Buttons: Classic‑Platine, 3‑Button‑Setup

  • RFID‑Reader: MFRC522

Vielen Dank

Der Branch ist schon etwas veraltet und war schon lange nach main gemergt. Nimm alsi einfach den main Branch. Aber das hat sicher erstmal nichts mit deinem Problem zu tun.
Du solltest als erstes das Webinterface einrichten (oder besser gesagt, das WLAN).
Nimm einfach diese Beschreibung:

Dann kannst du auch das Log sehen und wir können weiterhelfen.

Da war @Boerge1 schneller. Ich schließe mich da an und empfehle dringend,
das Webinterface zu aktivieren, denn dort kannst Du in der Konsole recht komfortabel auch sehen (nicht nur hören) was Dein TonUINO macht, oder eben auch nicht macht

Da sich weder an Schaltung, noch an Steuerung des DF-Players vom Nano zum NanoESP etwas geändert hat, sollte eigentlich alles funktionieren. Tut es anscheinend ja auch, da Du schreibst „es piept kurz“ - das sollte eine Sound-Datei (262.mp3) von der SD-Karte sein und über den Lautsprecher kommen.
Also auch da alles OK.

Nun bleibt als Hinweis noch „lautes Klackern“
Das ist nun ein starkes Indiz dafür, dass die Versorgungsspannung am DF-Player (!) nicht ausreicht. Wir müssen uns also die Spannungsversorgung anschauen.
Beide Nanos haben eine interne Stabilisierung für die 5 V Spannung, wenn die Versorgung über den Vin Pin erfolgt. Hier ist es nun gut möglich, dass die Toleranzen bei den unterschiedlichen Nanos etwas abweichen und bei dem Ur-Nano kein Problem verursachten, beim NanoESP jedoch die 5 V nicht mehr zuverlässig stabilisiert werden können.

Wenn Du also ohnehin mit einer stabilen 5 V Spannungsquelle versorgst, solltest Du den Einspeisepunkt am Arduino von Vin auf den 5 V Pin ändern. Am NanoESP ist die Bezeichnung dafür VBUS. VBUS ist zwar offiziell als Ausgang deklariert, liegt aber parallel zu der Onboard-USB-Buchse, so dass er auch als Input zur Spannungsversorgung verwendet werden kann.

Teste doch zunächst einmal, ob dein TonUINO läuft, wie er soll, wenn Du die Versorgung ausschließlich über die USB-Buchse des NanoESP (z.B aus einer Power Bank) machst.

Hey,

vielen Dank für die schnelle Rückmeldung. Mit dem main-Branch kommt kein Klackern mehr aber der Lautsprecher gibt ab und zu ein lautes Knistern von sich. Beim Start ertönt weiterhin der Piepton. Das Adminmenü funktioniert auch.

Anbei die System Infos:

TonUINO Info

About


TonUINO TNG Version

V3.3.2 29.11.25

TonUINO TNG Konfiguration

ESP32 Nano,
DF-Player Chip MH2024K24SS
Shutdown mit Pololu

Arduino

2.0.17

Build date

Dec 7 2025 11:51:36

esp32


ESP32-S3

[000 01.112] V3.3.2 29.11.25
[000 01.112] ESP32 Nano 3
[000 01.402] EEPROM begin: 1
[000 01.402] Ver:2
[000 01.402] Vol:25 5 15 25 5 15
[000 01.402] EQ:1
[000 01.402] ST:0
[000 01.402] IB:1
[000 01.402] AL:0
[000 01.402] AP:1111
[000 01.403] PCR:0
[000 02.017] MFRC522:0
[000 02.018] com to mfrc broken

Ich sehe, dass mein MFRC nicht funktioniert.

Ich habe sowohl über das Pololu als auch direkt die Stromversorgung zum Nano getestet.

Woran kann das liegen?

Danke!

Nach dem Eingangspost hast Du einen GD3200B Chip auf dem DF-Player oder hast Du den inzwischen ausgetauscht?

Wenn Du das Webnterface konfiguriert hat, solltest Du darüber, ohne MFRC522, Dateien abspielen können.

Ansonsten ist bekannt, dass der MFRC522 sehr empfindlich auf zu geringe Versorgungsspannung (3,3 V) reagiert. Wenn die LED am MFRC leuchtet, heißt das nur, dass eine Spannung anliegt, NICHT, dass der Reader „zufrieden“ und betriebsbereit ist.
Ansonsten schau mal bei „com to MFRC broken“ rein.

Ich habe zwei DFPlayer, der GD3200B Chip war meinerseits falsch konfiguriert, da ich den TD5580A habe und hier nur zwei Tracks abgespielt werden (auch mit dem ATmega328P Board). Ich habe jetzt wieder den von AZ mit dem Chip MH2024K24SS genommen.

Aber der MP3 Player sollte ja nicht das Problem sein, da ich tatsächlich über das Web-GUI Tracks abspielen kann (auch wenn weiterhin das Kinstern ab und an zu hören ist). Ich werde in den originalen DFRobot MP3 Player investieren.

Laut dem MFRC Broken Beitrag müsste ich den 3V3 direk an das Board stecken. Ich habe es probiert, aber das reicht nicht.

Hat das Knistern auch etwas mit dem MFRC zu tun?

Es sind in dem Beitrag die (alle) Datenleitungen gemeint, da die Spannungsteiler in diese eingeschleift sind. Hast Du überhaupt eine entsprechende Classic-Platine, wie dort gezeigt ?

Der TDA5580A Chip musste leider als „unbrauchbar“ für den TonUINO eingestuft werden.

Ist mir nicht bekannt, dass der MFRC für Tonstörungen sorgt

Ja die Classic-Platine habe ich neulich erst gekauft. Müsste also die letzte Version (1.7) gewesen sein.

Sprich, ich komme nicht drum rum, die Widerstände von der Platine zu entfernen oder alle Datenverbindungen (nicht nur 3V3) direkt von MFRC zum NANO zu bringen. Habe gerhofft mit der Classic Platine flexibel zu sein, was die Boardauswahl angeht.

Wenn Du die Widerstände entfernst, trennst Du auch die Verbindung von der Anschlussleiste zum Nano. Also für einen Versuch lieber die Leitungen direkt an den Nano (am Sockel der Platine) lõten und erst bei Erfolg die Widerstände entfernen. Wahrscheinlich reicht es dann schon, nur die 2 kOhm Widerstände zu entfernen. Damit ersparst Du Dir dann, noch Brücken einlöten zu müssen.

Wie haben andere das Probleme mit der Classic Platine und einem ESP32 Nano gelöst? Gibt es eventuell weitere Schaubilder und eine Lösung ohne umlöten zu müssen? Danke

Ich dachte eigentlich, dass ich es mit der Classic Platine probiert hatte und da lief es ohne Probleme. Muss ich nochmal überprüfen.
Kannst du mal den Test machen, ob die Mfrc funktioniert, wenn der DFPlayer gar nicht aufgesteckt ist?

Dann ist beides broken:

[000 02.017] MFRC522:0
[000 02.018] com to mfrc broken
[000 02.018] isPlaying: 1
[000 14.248] isPlaying: 0
[000 24.029] websocket [1] Connected!
[000 26.478] Com to DFPlayer broken

Ich habe jetzt aber auch nichts am Code verändert.

Ok, ich werde es dann mal hier testen.

Wenn Du die Möglichkeit hast, könntest Du den Code noch wider besseres Wissen (die Classic ist ja für SW-serial) auf HW-serial umstellen. Nur um auszuschließen, dass beim NanoESP die Emulation von SW-serial nicht die MFRC-Schnittstelle stört.
Damit wird dann der DF-Player natürlich immer noch „broken“ sein.

Das kann er sich sparen, daran kann es nicht liegen. Habe ich schon etliche Male mit Software Serial getestet.

Dann bleiben wohl wirklich nur die Levelshifter als Ursache übrig. Auf meinem Breadboard gibt es da keine Probleme

So, ich habe gerade alles zusammengesteckt und bei mir funktioniert alles out of the box.
Classic Platine 1.7
Esp32-Nano
DFPlayer mit JL Chip
RFID-RC522

Connected to ws://tonuino:/ws_serial
[000 01.208] 
[000 01.209]  _____         _____ _____ _____ _____ 
[000 01.209] |_   _|___ ___|  |  |     |   | |     |
[000 01.209]   | | | . |   |  |  |-   -| | | |  |  |
[000 01.209]   |_| |___|_|_|_____|_____|_|___|_____|
[000 01.209] TonUINO Version 3.x - refactored by Boerge1
[000 01.209] 
[000 01.209] created by Thorsten Voß and licensed under GNU/GPL.
[000 01.209] Information and contribution at https://tonuino.de.
[000 01.209] 
[000 01.210] V3.3.1 02.10.25
[000 01.210] ESP32 Nano 5
[000 01.501] EEPROM begin: 1
[000 01.502] Ver:2
[000 01.502] Vol:25 5 12 25 5 15
[000 01.502] EQ:1
[000 01.502] ST:0
[000 01.502] IB:1
[000 01.502] AL:0
[000 01.502] AP:1111
[000 01.502] PCR:0
[000 01.507] wifi settings - ssid: xxx, hostname: tonuino, st_ip: 0, st_ip_address: 192.168.10.2, st_ip_gw: 192.168.10.250, st_ip_subnet: 255.255.255.0, st_ip_dns1: 192.168.10.250, st_ip_dns2: 0.0.0.0
[000 01.569] Connecting to WiFi wlanabcd ...
[000 02.070] Connected to WiFi wlanabcd with IP: 192.168.10.155
[000 02.122] MFRC522:146
[000 06.707] Volume: 12
[000 06.881] track_count: 2071
[000 07.881] enter Idle
[000 07.881] btn/cmd: start/start
[000 07.881] enqueue mp3 262 0
[000 07.881] play mp3 262
[000 10.391] isPlaying: 1
[000 10.693] isPlaying: 0
[000 11.906] missing OnPlayFinished
[001 00.670] Card Ins
[001 00.677] CardData: 13 37 b3 47 02 01 02 00 00 
[001 00.677] enter StartPlay
[001 00.677] enqueue mp3 262 0
[001 00.717] play mp3 262
[001 01.739] Card Rem
[001 02.830] isPlaying: 1
[001 03.084] isPlaying: 0
[001 04.296] missing OnPlayFinished
[001 04.526] 14 tr in folder 1
[001 04.527] enqueue 1-1 2 3 4 5 6 7 8 9 10 11 12 13 14  
[001 04.555] play 1-1
[001 04.691] isPlaying: 1
[001 05.754] enter Play
[001 11.217] btn/cmd: pause/pause
[001 11.218] enter Pause
[001 11.303] isPlaying: 0

So auch meine Vermutung (und Ergebnisse meiner Versuche).
Da jedoch der NanoESP intern mit 3,3 V arbeitet, könnte es bei einigen Kombinationen von MFRCs und NanosESPs durch Bauteilstreuung dazu kommen, dass die Levelshifter dann „zuviel des Guten“ sind und die Signale nicht mehr sauber die Schwellwerte erreichen. (Für eine Diagnose müsste ich dazu meinen seit Jahren eingemotteten Oszi vom Dachboden holen und reanimieren).

Also muss @slo_down wohl doch die Anschlüsse des MFRC am NanoESP umlöten oder wenigstens die 2 kOhm Widerstände auf der Platine entfernen.

Nur, um sicher zu gehen, dass der MFRC (noch) wirklich OK ist, würde ich zur Kontrolle nochmals den Ur-Nano aufstecken, mit dem es ja anscheinend funktioniert hatte. Der arbeitet m. W. ja mit einer originalen 5 V Logik und war der Grund für die Levelshifter.

Genau der Ur-Nano funktioniert einwandfrei. Ich wollte nochmal die Lötstellen vom MFRC und der Classic Plaine prüfen und eventuell mal die Verkabelung austauschen.

Würder der U-Nano auch ohne den 2kOhm Widerständen funktionieren? Ich möchte jetzt nichts umlöten, nicht dass ich mir das Setup mit dem Ur-Nano kaputt mache.

Anbei noch Bilder des Aufbaus:

Wie hast du die Stromversorgung jetzt beim Testen eigentlich realisiert? Einfach USB Stecker am ESP32?