ESP32 Audio Kit (ESP32-A1S)

So, nachdem ich das Board ja jetzt lange quasi ignoriert habe, obwohl es in meiner Schublade liegt, habe ich es heute mal rausgekramt und getestet. In der ersten Iteration war ich zu faul, einen RFID-Reader anzuschließen. Dabei fiel mir auf, dass man ESPuino nicht kompilieren kann, wenn keine der drei RFID-Optionen (RC522-SPI, RC522-I2C, PN5180) gesetzt wurden. Das habe ich nun angepasst.

Das habe ich mal getestet und kam (für mich) zu dem Schluss, dass die Lautstärke für den Lautsprecher ok ist, jedoch für den Kopfhörer viel zu leise. Daher habe ich ac.SetVolumeHeadphone(80) gesetzt. Damit passt das für mich.

Mein Cfg-File für das Audiokit stammt noch aus einer Zeit, als ich mit SDMMC noch nichts gemacht habe. Ich habe das jetzt auf SDMMC geändert, weil was Anderes keinen Sinn macht. Den Button des Drehencoders habe ich jetzt erstmal auf 99 gesetzt, weil der vorher auf einem SDMMC-GPIO lag.

Gemäß dieses Bildes (Quelle: @Wolle weiter oben in einem Beitrag) müssten die GPIOs 0, 13,12, 21, 22, 19, 23, 18 und 5 noch verwendbar sein. Dazu habe ich spontan die Idee, vielleicht eine Breakout-Platine mit Port-Expander zu entwickeln, so dass man Buttons über diesen anbinden kann.

21: I2C-Data
22: I2C-CLK
0: PE-Interrupt
23: Drehencoder DT
18: Drehencoder CLK
19: Neopixel

Ich stelle mir diese Breakout-Platine so vor, dass man einen 14poligen (2x7) Dupont-Konnektor hat (nicht verpolungssicher!), den man auf dem Audiokit und auch auf dem Breakout-Board einsteckt. Auf dem Breakout-Board gibt es dann:

  • Port-Expander
  • 5x JST PH 2fach für max. fünf Buttons
  • 1x JST PH 2fach für RST-Button
  • 1x JST PH 2fach Drehencoder-Anschluss
  • 2x JST PH 4fach für RFID-Reader (I2C) und Reserve
  • 1x JST PH 3fach für Neopixel
  • Breakout für freie GPIOs und 3.3 V + GND

Was haltet ihr davon?
Einziges Problem ist, dass auf der rechten Seite bis auf GPIO 0 keiner RTC-fähig ist. Der muss aber RTC-fähig sein, denn sonst kann man da nix aufwecken aus dem Deepsleep. Ob das mit GPIO 0 geht, muss man testen. Könnte problematisch sein. Tja, ansonsten muss man aus dem linken GPIO-Block auch noch einen Konnektor setzen auf das Breakout-Board.