Kopfhörerplatine basierend auf MS6324 und TDA1308 bzw. LM4808M

Update:

Inzwischen (Ende Januar 2024) sieht die Kopfhörerplatine wie folgt aus. Als Konnektor zur mini4L kommt ein JST PH 6fach zum Einsatz. Die THT-Kondensatoren der ursprünglichen Version sind SMD-Kondensatoren gewichen und ein drittes Befestigungsloch ist dazu gekommen. Die Platine in grün hat zudem vier anstelle von zwei Layern. Weiterhin habe ich den TDA1308 durch den LM4808 ersetzt, da dies bei JLCPCB einfacher zu bekommen ist.

Das hier ist der direkte Vorgänger - davon sind viele im Umlauf. Funktioniert wunderbar, aber war für mich aufwändiger zu fertigen:

Einleitung

Als ich die Kopfhörerplatine für den UDA1334 konzipiert habe, hatte ich nicht im Blick, dass dieser DAC bereits seit längerem abgekündigt war. Die UDA1334-Kopfhörerplatine funktioniert an für sich super, jedoch kann der UDA1334 auch diverse Dinge, die wir nicht benötigen. Unter anderem deswegen, jedoch auch generell, ist er relativ aufwändig zu beschalten, was die Platine unnötig teuer und groß macht.

Daher habe ich bereits vor längerer Zeit den MOSA MS6324G bestellt. Dessen Beschaltung ist deutlich einfacher. Das Ergebnis ist, dass ich die Kopfhörerplatine auf 32,4 x 35 mm verkleinern konnte. Und da der MS6324 sich im SOP8-Gehäuse befindet, ist er auch einfacher (und damit schneller) zu löten als der UDA1334 (TSSOP16).

Bilder (alte Revisionen - nicht mehr verfügbar!)

Im Vergleich zur Platine mit UDA1334 dann so:

Und hier mal alles zusammen: Ein ESPuino-miniD32(pro) mit eingestecktem Lolin D32 pro und angeschlossener Kopfhörerplatine:

STEP-File:
Headphone_PCB_MS6234.step (243,8 KB)

2 „Gefällt mir“

So, die ersten Exemplare sind fertig:

Sind weniger Teile drauf, als bei der UDA1334-Platine. Daher, und auch weil es einfacher zu löten ist, kriege ich vier statt drei Platinen davon in einer Stunde gelötet. Zudem kosten weniger Teile halt auch weniger Geld.
Stückpreis (fertig gelötet + getestet) inkl. IDC-Anschlussleitung: 11eur. Für Selbstlöter 3eur weniger. Für Letztgenannte gibt es natürlich eine Anleitung dazu.

First come first serve. Habe erstmal nur Teile für die fünf gezeigten Exemplare hier, neue Teile habe ich jedoch bestellt. Die nächste Charge wird unverändert sein - Verbesserungen waren keine notwendig.

2 „Gefällt mir“

Schaltet die Platine eigentlich auch sich selbst ab, wenn kein Kopfhörer eingesteckt ist? Anders gefragt, was verbraucht die ganze Schaltung denn an Strom? Wenn ich bei mir die alte Kopfhörerplatine einstecke steigt der Stromverbrauch um ca 25mA. Allerdings kann das bei mir auch an etwas anderem liegen.
Wenn nicht, wäre das vielleicht eine Idee für die nächste Version :slight_smile:.

Ich habe mal einen Blick auf das USB-Multimeter geworfen und der Strombedarf des ESPuino schwankt doch ziemlich. Also ist schwer abzuschätzen, aber ich würde es mal so auf 10 mA taxieren.
Der MS6324 hat leider keinen Enable-Pin, insofern arbeitet der immer. Das kannst du auch nicht einfach ausschalten. Wenn du vcc wegnimnst im Betrieb, dann zieht der garantiert den i2s-Bus runter, weil er sich den Strom dann von dort holt. Würdest du, was echt aufwändig wäre, das Ding allpolig abkoppeln, dann müsstest du das Zuschalten abpuffern, damit es keinen Spannungseinbruch gibt. Ich habe schon oft die Kopfhörerplatine im laufenden Betrieb erst angesteckt und das klappt oft genug nicht (Neustart ESP32).

Die Messung ist bei mir vom MAX17055 abgelesen, der kann ja den Mittelwert von ein paar Sekunden nehmen :sunglasses:. Ist auch nicht abwegig dass die alte Platine mit anderen Decodern mehr verbraucht.

Aber Schade dass das scheinbar nicht so einfach geht, ich dachte tatsächlich man könnte Vcc wegschalten und das klappt (vielleicht ausprobieren was passiert). Aber naja, war ja auch nur eine Idee :slight_smile:.

PS: laut Datenblatt verbraucht der MS6324 2-3mA. Der PCM5102a verbraucht auf den ersten Blick wesentlich mehr. Aber den TDA1308 könnte man eventuell deaktivieren. Also wenn man möchte :smiley:

PPS: Hat eigentlich schon mal jemand darüber nachgedacht nur einen I2S-Dekoder zu verwenden? Also statt Max98357a nur ein Verstärker. Dann müsste man nur zwischen Kopfhörer und Lautsprecher wechseln. Dekodiert werden muss ja ohnehin das gleiche.

Klar habe ich darüber nachgedacht. Man könnte zB den MS6324 als DAC nehmen und ns4150 (oder MAX98306) als Amp für Lautsprecher bzw. TDA1308 als Amp für Kopfhörer.
Der Punkt ist halt, dass man MAX98357a einfach kriegt auf Breakout-Boards und dass ich weiß, dass das ordentlich funktioniert.

1 „Gefällt mir“

Ja , ich . MS6324 , TDA1308 und NS4150 . Kompatibel mit meinen Wrover-Board und Lolin D32 Pro

1 „Gefällt mir“

sowas kann man verhindern mit Widerständen in Serie zu den „Bus“ Leitungen, also

(Out ESP) ---- 47 Ohm ---- (IN Verstärker)

Gibt’s da Empfehlungen zu? Also hinsichtlich der Größe des Widerstands.

desto schneller die Signale desto kleiner der Widerstand als Richtung…

22 - 47 Ohm sind gute Anfangswerte zum Testen.

Möglichst groß damit wenig Strom wenn „aus“ ist fliesst, möglichst klein damit die „schnelle“ Signale noch durchkommen (nicht zu „rund“ werden) :smiley:

Wenn ich ehrlich bin habe ich da so meine Bedenken, dass das unterm Strich wirklich groß was spart. Aber wenn ich irgendwann mal Langeweile habe, dann probiere ich das mal aus :slight_smile:.
Danke für den Hinweis.

Gibt es eine Möglichkeit, diesen 3.5-Anschluss anzuschließen, um Audio von einer anderen Quelle abzuspielen?

Nein. Das ist ein Ausgang und kein Eingang. Von einer anderen Quellen kannst du nur per Bluetooth auf ESPuino streamen.

1 „Gefällt mir“

verstanden, danke!

Ich habe die Platine Version Januar 2024, da knackt es deutlich im Kopfhörer beim Ein/Aus schalten, gibt es ein Mod um das zu vermeiden?

Mit Lautsprechern ist kein „knacksen“ wahrzunehmen.

Nein. Der verwendete DAC hat leider keinen Pin, über den man ihn ausschalten kann. Sonst könnte man das vor dem Ausschalten tun.
Ist jetzt aber auch nicht arg laut das Knacken.

1 „Gefällt mir“