Audio-Box mit ESP32, VS1053/SD, RC522: Verdrahtungsfragen

Ich bin dabei, auf Basis von @Henrik 's Nuclear Football eine eigene ESP32 Box zu bauen, die (wenn erstmal Alles läuft) auch ein Wakeup-Light und eine Akku-Stromversorgung erhalten soll.
Bisher Benutzte Komponenten:

Was ist jetzt offen:

Jetzt versuche ich, die Schaltung zusammenzustellen, aber das ist für einen Einsteiger nicht ganz einfach. Hier meine Fragen:

RC522: Die pinout.h gibt nur eine RST (also auf 2 RST) und CS (auf 8 SCA?) an. 3 GND, 5 MISO, 6 MOSI kann ich mir herleiten, hinter 7 SCK vermute ich den SPI_CLK. Aber es gibt am RC522 noch 1 SDA (=DCS?) und 4 IRQ - Bleiben die offen? Wo kommen 5V oder 3,3 V ran?

VS1053: Die pinout.h gibt CS, DS, DREQ und ENABLE an, zusätzlich gibt es eine SDCARD_CS. An meinem VS1053 kann ich zuordnen: Pins 1 5V, 2 GND (Ground), 4 MISO, und 10 DREQ. 5 SI (zwischen MISO und SCK) steht vermutlich für SPI_MOSI, 6 SCK wohl wieder SPI_CLK. Aber 3 CS, 7 XCS, 8 XRESET und 9 XDCS kann ich nicht zuordnen. Müssen die XCS/XDCS an CS/DCS am ESP, und die CS an den SDCARD_CS? Über @Tolipwen 's Schaltplan gibt es offenbar einen X RESET, aber ich weiß nicht, ob @Henrik 's Software den nutzt.

Ansonsten: +3,3V, GND, SPI_MISO, SPI_MOSI und SPI_CLK müssen offenbar an alle Chips verzweigt werden (außer VS1053 = 5V). Der VS1053 hat nur eine 3,5er Klinkenbuchse für Speaker, ich würde die einfach über einen Stecker anschließen. Alle Buttons müssen offenbar einerseits an GND und andererseits parallel an den Button-Pin am ESP32 und über 10 kOhm an 3,3 V (als Pullup). Gibt es sonst noch Widerstände, die beachtet werden müssen? Die 3 Kondensatoren am VS1053 in @Tolipwen 's Plan sind wohl auch nicht zum Spaß da…? Gegen Einstreuungen? Ich nutze erstmal keinen LED-Ring, und mir ist klar: Eine spätere RGB-LED braucht dann noch entsprechend berechnete Vorwiderstände.

Ich würde @Henrik 's pinout ändern, damit GPIOs entsprechend meines VS1053 möglichst für Buchsengehäuse gruppiert sind - Muss ich dabei etwas beachten, oder können die alle für Alles hier verwendet werden? Die intern genutzten Pins kenne ich, die würde ich natürlich vermeiden.

Ich würde Euch gern eine Planung über Fritzing zur Veranschaulichung anhängen - Aber ich finde keinen passenden VS1053 (Die haben alle mind. 2 Steckerleisten mit der vierfachen Anzahl an Pins…) und habe als Einsteiger keine Ahnung, wie ich eigene Bauteile mit vertretbarer Lernkurve anlege. Bei @Tolipwen habe ich einen Gesamt-Schaltplan gefunden, aber der passt nicht ganz zu @Henrik 's Version. In der wiederum finde ich aber nur die pinout.h, die nur spezielle ESP32-Pins abbildet, keinen vollständigen Verdrahtungsplan.

Hallo @matthi. Ich glaube du bringst hier gerade etwas durcheinander. Ich habe weder einen Verdrahtungsplan hochgeladen noch verwende ich Kondensatoren in meiner Schaltung.
Ich habe ein PCB entworfen und kann das Verdrahtungsschema hochladen. Allerdings beruht das Layout auf einem anderen ESP32 Board (ESP32 Devkit v1).

@Tolipwen: Danke, das hatte ich dann falsch eingeordnet, und es erklärt natürlich meine Verwirrung. Andererseits hat mir das auch so etwas zum Verständnis geholfen. Ich denke, mein Hauptproblem ist, dass ich die ganzen Kürzel nicht richtig funktionell zuordnen kann und noch sehr „nachbaue“ (wobei mir meine Pin-Beschriftungen nicht helfen, offenbar bedeuten viele dasgleiche…).

Die SPI Basisleitungen S(L)CK, MOSI/MISO verstehe ich dank Wikipedia inzwischen. Soweit ich es nach einer Forensuche verstehe sind SDO=TX=MISO und SDI=RX=MOSI? Und CS (Chip select) und SS (Slave Select) auch dasgleiche wie SDA und ENABLE (STE - Slave Transmit Enable)…?

Dann vermute ich, dass am VS1053 der CS für die SDCARD_CS steht, und XCS und XDCS an den externen ESP-CS bzw. -DCS müssen. IRQ kann ich noch nicht einordnen (Interrupt, OK, aber mit welcher GPIO-Funktion verbunden?), aber vielleicht braucht es den ja auch gar nicht. RESET scheint auch erstmal nicht zwingend zu sein.

Wenn das halbwegs passt (?) und ich so keine Rauchzeichen über den Platinen erzeuge, würde ich mich dann mal damit probieren. Falls Alles klappt und ich das mit dem Fritzing-Part für VS1053 lösen kann, würde ich mal (irgendwann…) einen Plan er- und einstellen… Vielleicht erleichtert das Anderen ja den Aufbau mit ESP32.

Hier erstmal die Verdrahtung ich hoffe das hilft beim Verständnis.

Edit: es gibt den VS1053 doppelt, weil ich das Board für zwei unterschiedliche Bauformen gleichzeitig nutzen möchte. Und das Ganze bezieht sich natürlich auf meine pinout.h (weicht leicht von @Henrik ab)

Super. Mein Schaltplan existiert nur in meine Kopf und in Form meines Lochraster Prototypens :slight_smile:
Aus Neugier: 1k als pull down kommt mir recht klein vor. Hat das einen Grund?

Oh und aus Neugier²: kannst du mal ein Foto von deinem PCB posten?

Zzz…man kann hier echt nix mal einfach so hochladen. Da wir echt jedes ToDo sofort gesehen! :grin: 1k war der Standard für Widerstände und ich wollte nachmessen was ich verbaut habe und das ist derzeit 3,3k (was halt in der Grabbeliste auffindbar war, die 10k sind Mangelware bei mir).
Ich poste das PCB heute oder morgen. Aufgrund meines jetzt finalen Prototypens haben sich noch Anforderungen an zusätzliche Pins zwecks optionaler Erweiterungen ergeben (Verstärker mit Reset z.B.)

@Henrik
Aber wo du gerade schon mitliest. Du schickst deine Peripherie doch schon per Reset schlafen, richtig? Ziehst du dafür im Setup einen GPIO „high“ ( bei mir wäre das im Bild die 27) oder hast du das anders gelöst? Das habe ich bei meinem Prototypen nämlich noch nicht umgesetzt.

Ja, soweit ich mich erinnere habe ich das genau so gemacht. Ich habe den VS und den 522 schlafen gelegt, der Verstärker hat auch einen Pin, aber bei dem hat es nicht geklappt.

@Henrik
Mein PCB ist jetzt in Produktion. Dummerweise ist mir kurz nach dem Bestellen aufgefallen, dass ich den ESP nochmal gedreht habe und jetzt das USB-Kabel (nur beim Flashen) wahrscheinlich mit Kabeln des RC522 um Platz konkurriert…naja wird wahrscheinlich nicht der einzige Fehler sein.

1 Like

Wo bestellst du deine Platinen? Sieht preislich interessant aus.

Das ist jlcpcb.com. Ist praktischerweise direkt an den online PCB Designer easyeda.com angebunden.

1 Like

Danke. Die Anfertigung ist ja Mega günstig.

Naja die nehmen sich eigentlich alle kaum was. Früher hab ich elecrow benutzt und pcbway gibt’s auch noch. Haben alle recht ähnliche Preise.

Ich kenne nur die Preise von Ringler und MultiCB, da zahlt man min. 60€ für eine Euro Platine 2 lagig.

Da sind 10$ für 5Stk. 10x10cm Platinen ein Mega Preis, da werde ich mir auch mein eigenes Board bestellen.