25.11.2021, 22:23
Bernhard hatte das ESP32 Audio Kit hier vorgestellt:
ESP32 Boards für Internetradio und Audioanwendungen
und ich hatte bemerkt dass ich auch welche bestellt habe und mich damit beschäftigen wolle.
Dass ich heute erste Erfolge damit vermelden kann verdanke ich vor allem einer Diskussion zwischen verschiedenen Programmierern (u.a. Wolle/Schreibfaul) und einem Entwickler/Distributor (?) aus ShenZhen.
hier nachzulesen:
Ai-Thinker-Open / ESP32-A1S-AudioKit
dabei klärten sich all meine Probleme für eine erste Tonausgabe. Das erste Problem ist dass der verwendete DAC, der nicht einsehbar unter der ESP32-Haube steckt, sich bei neueren boards bei gleicher Rev.Nr. 2.2 von einem AC101 auf einen ES8388 geändert hat und daher eine andere library benötigt. Dann gibt es bei den boards unterschiedliche pinouts. Und letztendlich gibt es auch noch einen Aktivierungs-Pin um die NF aus dem "deep sleep" zu holen.
hier beschreibe ich mal speziell meine boards, andere build-Nummern können abweichen!
[attachment=94396]
[attachment=94397]
[attachment=94398]
[attachment=94399]
meine boards tragen die Bezeichnung "ESP32 Audio Kit V2.2 / 3318" Wobei die 3318 leider nicht massgeblich für eine eindeutige Indentifizierung ist.
Hersteller des board ist AI Thinker. Die genaue Bezeichnung des ESP-Modules lautet "ESP32-A1S", wobei der Zusatz A1S nur aussagt dass ein per I2S angesteuerter DAC eingebaut ist, aber nicht welcher chip dafür verwendet wurde. In meinem Fall ein ES8388. Der ESP ist eine WROVER Ausführung, was bedeutet dass er mit 4 MB SPI RAM und 8 MB PSRAM ausgestattet ist. Das ist wichtig bei der Baustein-Definition in der Entwicklungsumgebung und bringt den Vorteil eines Puffers bei streaming-Anwendungen. Der chip ist weiterhin mit bluetooth und 2,4GHz-WLAN ausgestattet.
Hier das Pinout:
ausser der boot- und reset-Taste gibt es noch 6 weitere programmierbare Microtasten. Dabei ist es wichtig zu wissen dass diese mit Kondensatoren zur Entprellung versehen sind, was zu berücksichtigen ist wenn man die dazugehörigen gpio's zweckentfremden will.
Das board beinhaltet weiterhin 2 Mikrofone, einen line-out, einen line-in, 2 Stück Class D Audio Amplifier vom Typ NS4150, einen SD-card reader und eine Ladeschaltung für eine 3,7 Lithium Zelle. Ein 5fach Dip-Schalter ist zwar per Platinenaufdruck näher spezifiziert. Ladebuchse und UART-Buchse (beides Micro-USB) laden ein zum Verwechseln!
Die boards sind bei ebay unter dem Suchbegriff "Audio Kit ESP32 Audio Entwicklungs Platine" für unter 20 Euro/Stk. zu bekommen inkl. kostenlosem Versand aus China.
Software:
erste Versuche, um das board kennenzulernen, habe ich mit einem Sketch von Schreibfaul unter der Arduino IDE und deren seriellem Monitor erfolgreich durchgeführt. Schreibfaul gibt im Quellcode auch die links für die benötigten libraries an. Bzw. mein erster erfolgreicher Sketch ist ein example einer library. Hier zu finden:
schreibfaul1 / es8388
[attachment=94395]
es wird einfach nur ein webradio-stream abgespielt. Jetzt wo ich die hardware kenne will ich demnächst weitermachen mit dem Audio Development Framework (ESP-ADF) und der toolchain.
ESP32 Boards für Internetradio und Audioanwendungen
und ich hatte bemerkt dass ich auch welche bestellt habe und mich damit beschäftigen wolle.
Dass ich heute erste Erfolge damit vermelden kann verdanke ich vor allem einer Diskussion zwischen verschiedenen Programmierern (u.a. Wolle/Schreibfaul) und einem Entwickler/Distributor (?) aus ShenZhen.
hier nachzulesen:
Ai-Thinker-Open / ESP32-A1S-AudioKit
dabei klärten sich all meine Probleme für eine erste Tonausgabe. Das erste Problem ist dass der verwendete DAC, der nicht einsehbar unter der ESP32-Haube steckt, sich bei neueren boards bei gleicher Rev.Nr. 2.2 von einem AC101 auf einen ES8388 geändert hat und daher eine andere library benötigt. Dann gibt es bei den boards unterschiedliche pinouts. Und letztendlich gibt es auch noch einen Aktivierungs-Pin um die NF aus dem "deep sleep" zu holen.
hier beschreibe ich mal speziell meine boards, andere build-Nummern können abweichen!
[attachment=94396]
[attachment=94397]
[attachment=94398]
[attachment=94399]
meine boards tragen die Bezeichnung "ESP32 Audio Kit V2.2 / 3318" Wobei die 3318 leider nicht massgeblich für eine eindeutige Indentifizierung ist.
Hersteller des board ist AI Thinker. Die genaue Bezeichnung des ESP-Modules lautet "ESP32-A1S", wobei der Zusatz A1S nur aussagt dass ein per I2S angesteuerter DAC eingebaut ist, aber nicht welcher chip dafür verwendet wurde. In meinem Fall ein ES8388. Der ESP ist eine WROVER Ausführung, was bedeutet dass er mit 4 MB SPI RAM und 8 MB PSRAM ausgestattet ist. Das ist wichtig bei der Baustein-Definition in der Entwicklungsumgebung und bringt den Vorteil eines Puffers bei streaming-Anwendungen. Der chip ist weiterhin mit bluetooth und 2,4GHz-WLAN ausgestattet.
Hier das Pinout:
Code:
#define SD_CS 21
// GPIOs for SPI
#define SPI_MOSI 13
#define SPI_MISO 12
#define SPI_SCK 14
// I2S GPIOs
#define I2S_SDOUT 26
#define I2S_BCLK 5
#define I2S_LRCK 25
#define I2S_MCLK 0
// I2C GPIOs
#define IIC_CLK 23
#define IIC_DATA 18
// Amplifier enable
#define GPIO_PA_EN 21
ausser der boot- und reset-Taste gibt es noch 6 weitere programmierbare Microtasten. Dabei ist es wichtig zu wissen dass diese mit Kondensatoren zur Entprellung versehen sind, was zu berücksichtigen ist wenn man die dazugehörigen gpio's zweckentfremden will.
Das board beinhaltet weiterhin 2 Mikrofone, einen line-out, einen line-in, 2 Stück Class D Audio Amplifier vom Typ NS4150, einen SD-card reader und eine Ladeschaltung für eine 3,7 Lithium Zelle. Ein 5fach Dip-Schalter ist zwar per Platinenaufdruck näher spezifiziert. Ladebuchse und UART-Buchse (beides Micro-USB) laden ein zum Verwechseln!
Die boards sind bei ebay unter dem Suchbegriff "Audio Kit ESP32 Audio Entwicklungs Platine" für unter 20 Euro/Stk. zu bekommen inkl. kostenlosem Versand aus China.
Software:
erste Versuche, um das board kennenzulernen, habe ich mit einem Sketch von Schreibfaul unter der Arduino IDE und deren seriellem Monitor erfolgreich durchgeführt. Schreibfaul gibt im Quellcode auch die links für die benötigten libraries an. Bzw. mein erster erfolgreicher Sketch ist ein example einer library. Hier zu finden:
schreibfaul1 / es8388
[attachment=94395]
es wird einfach nur ein webradio-stream abgespielt. Jetzt wo ich die hardware kenne will ich demnächst weitermachen mit dem Audio Development Framework (ESP-ADF) und der toolchain.