ESPuino-miniD32(pro): Lolin D32/D32 pro mit SD_MMC und Port-Expander (SMD)

Ich bin mir nicht sicher, ob das folgende Thema hier an der richtigen Stelle ist - zumindest ist es exakt mit dem hier beschriebenen Setup durchgeführt worden.
→ Sollte es wo anders besser passen bitte einfach verschieben :wink:

Wie gesagt habe ich genau den hier beschriebene Aufbau mit einem FR7 Lautsprecher vor mir liegen. Das Ganze wurde vor ca. 30 Minuten mit der letzten Version des master branches (Git: Klone) geflashed - die Firmware wurde selbstverständlich genau nach der oben beschriebenen Vorgehensweise modifiziert.
Für die nachfolgenden Aufnahmen waren an die Platine lediglich ein Rotary Encoder und der Neo Pixel Ring, sowie der Viaston FR7 und eine 32GB SD Karte angeschlossen.

Stelle in nun in der Firmware den RC522 als RFID Reader ein und spiele aus dem Web Interface eine Audio File ab bekomme ich eine nahezu fehlerfreie Audio Ausgabe. Bei längeren Songs ruckelt es ganz kurz am Anfang, aber damit könnte ich leben.

Stelle ich allerdings um auf den PN5180, den ich eigentlich verwenden möchte und spiele dieselbe Audio File via Web Interface ab habe ich in der Augabe immer ein konstantes ruckeln, das sehr störend ist.

Da man hier keine Audio Files hochladen kann habe ich Euch eine Kostprobe auf meiner Dropbox verlinkt:
https://www.dropbox.com/sh/ietug12cj818hu1/AADAtWLM0Bt-UGDt8cqhoFxAa?dl=0

Hat jemand eine Idee, woran das liegen könnte, bzw. wie man das auch mit einem PN5180 flüssig zum laufen bekommt? Ich hatte auch testweise mal beide RFID Reader in Hardware drangehängt und die Files per RFID Tag gestartet… komme aber leider auf genau das gleiche Ergebnis.

Danke vorab und schöne Grüße
Ben

Wird der PN5180 denn überhaupt erkannt?

ja, wird er.

Die MP3s starten auch mit dem richtigen RFID Tag und auch sonst funktioniert alles, wie es soll. Bis auf dei Audio Ausgabe.

Hast du auch RC522 deaktiviert, als du PN5180 aktiviert hast? :slight_smile:
Also ich kenne zähes Reagieren nur dann, wenn man PN5180 einkompiliert hat, der PN5180 jedoch nicht drangesteckt ist. Ob das auch Einfluss aufs Abspielen hat weiß ich gerade nicht. Aber gut, wenn du sagst, dass die Kartenerkennung geht…

@tueddy Fällt dir noch was ein?

Habe jetzt auch noch keine Lösung:
Verwendest Du die vorgebenen PIN’s? Besserung bei abgeklemmten IRQ Pin (Der wird nur zum Aufwecken verwendet)? Play/Pause Feature aktiviert? Du verwendst die normalen RFID Karten oder kleinere Tags?

@onkelbobby

Schau mal, ob das vielleicht auch bei dir zutrifft. Weil tatsächlich hatte ich heute genau dieses Problem mit meinem ESP32-Develboard "D32 pro LiFePO4" auch, mit einem Lolin D32 pro jedoch nicht. Warum ist mir jedoch (bisher) unklar. Und es trat nur auf, wenn ich von SD abgespielt habe. Von Webradio war alles ok. Mit Kopfhörerplatine dran war das Problem weg.

vielen Dank für Eure Antworten…
ich habe jetzt nochmal auf zwei identischen Platinen kreuz und quer getestet, wobei der Lolin D32 pro Immer derselbe war.

Hast du auch RC522 deaktiviert, als du PN5180 aktiviert hast? :slight_smile:

Ja, habe ich nochmal kontrolliert.

Verwendest Du die vorgebenen PIN’s?

Ja, es ist genau die Platine von hier … and en Pins habe ich nichts geändert

Besserung bei abgeklemmten IRQ Pin (Der wird nur zum Aufwecken verwendet)?

meinst Du ich soll den physisch abklemmen? ich habe Ihn auskimmentiert, allerdings ohne jede Änderung

Play/Pause Feature aktiviert?

wenn Du LPCD meinst, Nein da habe ich auskommentiert

Du verwendst die normalen RFID Karten oder kleinere Tags?

Ja, ich habe ganz normale Karten verwendet. Die Erkennung funktioniert auch einwandfrei

HEADPHONE_ADJUST_ENABLE

ich habe derzeit noch keine Kopfhörer Platineb, aber trotzdem beides ausprobiert - leider ohne Änderung. Es ruckelt immer noch.

wenn ich von SD abgespielt habe.

ich hab bislang immer nur von SD abgespielt

Fazit: es macht keinen Unterschied in der Audio Ausgabe, ob Headphone PCB oder RFID Reader angeschlossen sind, oder nicht. konfiguriere ich den RC522 ruckelt es anz kurz am Anfang des Tracks…Wechsel ich auf den PN5180 ruckelt der gesamte Track…
Das Verhalten ist auf beiden PCBs, die ich hier habe identisch.

sollte ich vielleicht mal der D32 Pro durch einen Neuen ersetzen?

Ich hatte doch damals zwei geschickt, oder? Also ich glaube nicht, dass es das Problem fixt, aber testen kannst es ja mal. Schau auf jeden Fall, dass alle Lötpunkte sauber gelötet sind.
Zur Not schickst es halt wieder zu mir und ich schaue mal, ob ich den Fehler finde. Andere SD-Karte könntest zur Not mal testen.

also… nun habe ich den zweiten D32 pro und auch eine nagelneue SD Karte wieder bei beiden Mainboards verwendet. Leider genau das identische Verhalten, wie oben beschrieben:

  • ist PN5180 konfiguriert ruckelt es ohne Ende ganz egal, ob dieser real in Hardware angesteckt ist oder nicht
  • konfiguriere ich den RC522 ruckelt es kurz am Anfang jedes Liedes und danach läuft es fließend
  • wenn ich alle RFID Reader auskommentiere und die MP3 direkt über das Web UI starte ist das Verhalten identisch zum RC522

Ich bin nun wirklich mit meinem Latein am Ende?!?

Poste mal deine Configs und zeige Bilder, damit man die Lötpunkte sieht.

Hi, ich hätte Interesse an diesem Board zusammen mit dem „D32 pro FePo“ und zwar gleich 3x das ganze. Hatte mich bereits im FePo Thread für diesen gemeldet würde das aber auch gerne zusammen nehmen sofern machbar. Danke schon mal im voraus und beste Grüße.

Wo kann ich so ein Teil kaufen ?

Habe eine PN geschrieben.

Ab der neuen rev2.2 ist es nun auch möglich, mittels der Lötbrücke JP6 zu konfigurieren, ob der 3.3 V-Pin auf dem externen I2C-Konnektor auch im Deepsleep mit 3.3 V versorgt wird oder ob er abgeschaltet wird. Bislang wurde es immer abgeschaltet.

Hintergrund für diese Anpassung ist: Der Port-Expander hängt an I2C und wird dauerhaft mit 3.3 V versorgt. Hat man nun ein externes I2C-Device am I2C-Bus und schaltet dieses ab, so „zieht es den I2C-Bus runter“ und das führt dazu, dass der Port-Expander nicht richtig arbeitet. Dementsprechend kann der ESP32 nicht aus dem Deepsleep aufgeweckt werden. Dem könnte man (getestet habe ich es nicht) wohl auch mit Koppelwiderständen auf dem I2C-Bus begegnen, aber ich habe mich jetzt erstmal für die einfachere Variante entschieden.

1 „Gefällt mir“

Guten Morgen! Ich würd mich auch für so einen PCB interessieren.
Im Forum hab ich schon einige Male gelesen, dass du (@biologist) auch immer wieder einige fertige auf Lager hast, könnte ich da eins erweben?

Schreibe dir eine PN.

Für diejenigen, die es interessiert: Oben im ersten Post habe ich jetzt endlich auch mal den Schaltplan verlinkt.

1 „Gefällt mir“

kleine Idee von mir: Wie wäre es die „Default“ Brücken und WiderstandsKonfig in kursiv auf die LP zu drucken (plus Text kursiv = Default) dann ist das löten noch einfacher :smiley:

Ich weiß gar nicht so genau, ob man in KiCad auck kursiv einstellen kann. Aber gut, man könnte es auch mit einem (*) lösen.
Wobei das mit den Default-Einstellungen gar nicht so einfach ist. Also mit JP5 zB stellt man ja ein, ob der Mosfet per GPIO32 oder per Port-Expander angesteuert wird. Per Default steht im Configfile 32, aber mein persönlicher Default ist 115 (Port-Expander). Weil kann halt das Gleiche und dann hat man noch einen GPIO frei.
Defacto ist es aber eh so, dass 70 bis 80% der Leute, die die Platine bei mir ordern, alles komplett gelötet haben möchten. Das war so von mir eigentlich nicht gedacht, aber so läuft es halt :rofl:.

Aber ja: Die Idee ist nicht schlecht. Kann ich mal berücksichtigen.

Mich hat ein Benutzer vorhin darauf aufmerksam gemacht, dass mit einem FePo-Develboard und der ESPuino-mini (alles inkl. rev2.3) der Reset-Taster nicht funktioniert, wenn der Akku angeschlossen ist. Und leider muss ich zugeben, dass mir hier ein Design-Bug unterlaufen ist, der zuvor offenbar niemand aufgefallen ist :woman_shrugging:.

Hintergrund:

Auf den Develboards, die sich für diese Platine eignen (Lolin D32, Lolin D32 pro, E32 Lipo und D32 pro FePo), gibt es einen Anschluss „EN“ und weiteren für „Reset“.

EN: Wirkt auf den Festspannungsregler (LDO). Zieht man EN auf GND, dann wird der LDO ausgeschaltet und damit auch der ESP32.
RESET: Wirkt direkt auf den ESP32 - ebenfalls mittels GND.

Bestandsaufnahme:

  • Der auf dem ESPuino-mini aufgelötete Taster und auch der JST-Anschluss für Reset wirken auf EN.
  • Der auf dem Develboard selbst aufgelötete mini-Taster wirkt auf RESET. Dieser funktioniert auch immer ohne Probleme.

Problem:

Das FePo-Develboard besitzt zwar auch einen LDO, jedoch wird dieser von der Akkuspannung umgangen. Das habe ich extra so gemacht, damit die eh schon passende Akkuspannung durch den LDO nicht „unsinnigerweise“ kleiner wird. Normalerweise eine feine Sache, jedoch fällt mir das hier auf die Füße, weil damit hat das Reset-Auslösen keine Wirkung mehr, wenn es über EN erfolgt und zudem ein Akku angeschlossen ist. Denn: Der LDO liefert dann zwar keine Spannung mehr, jedoch kommt sie dann eben ersatzweise vom Akku. Grrr.
Bei sämtlichen Develboards, die mit LiPo-Akkus arbeiten, gibt es hier kein Problem, da beide Spannungen (USB und Akku) immer durch den LDO gehen.

Was jetzt?

Tja, sau blöd :frowning:. Großes Sorry an dieser Stelle!
Ich werde ein Update der Platine machen und bei JLC bestellen. Alle diejenigen, die mini+FePo verwenden und zudem den Reset-Taster nutzen möchten, können sich bei mir zwecks Austausch melden. Ihr müsst mir dann eure mini-Platinen zurückschicken, ich löte die Teile auf die neue Platine um und schicke euch die Sachen zurück. Das wird aber erst Anfang November (frühestens) klappen.

Kann man das auch anders fixen?

a) Es müsste gehen, wenn man die Leiterbahn zwischen dem Reset-Taster und EN unterbricht und zudem vom Reset-Taster eine Drahtbrücke zu RESET lötet. Ein einfaches Brücken von EN und RESET geht NICHT, da EN mit bis zu 5 V arbeitet und RESET nur mit 3.3 V. Und auf RESET will man keine 5 V haben, weil das den ESP32 „himmelt“.

b) Einfacher geht es, wenn man nur nur einen externen Resetknopf nutzen möchte - also NICHT den, der auf der ESPuino-mini aufgelötet ist. Also eben so einen, wie man ihn per JST-Konnektor extern anschließen kann. Da kann man die Drähte einfach hinten auf der ESPuino-mini an RESET und GND anlöten und alles läuft wie gewünscht.

Update 14.11.2022:
Die neue Revision ist inzwischen eingetroffen und arbeitet auch bei FePo wie geplant.