Bastelino ESP32-S2

Geschrieben von Andreas am 06. März 2021

../_images/pcb_preliminary.jpg

Entwicklungsmuster (falsche Gehäuseform beim Levelshifter bestellt)

Im Rahmen meiner DAB Radio Projekte brauchte ich ein „Mainboard“ was zu meinem kürzlich entwickelten DAB Shield passt. Zukünftig möchte auch WLAN verwenden und das Ganze sollte nicht mehr Strom als notwendig verbrauchen. Es gibt zwar einige WLAN taugliche Boards im Arduinoformat, aber diese haben oft lineare Spannungsregler. Zudem benötige ich für die SD-Karte auf meinem DAB Shield und den I2S sowieso noch ein paar weitere Signale per Steckverbinder. Daher lag es nahe, ein passendes Board selbst zu entwickeln.

Kurzbeschreibung

Kernstück der Schaltung ist ein ESP32-S2-WROOM [1] Modul auf Basis des ESP32-S2 Controllers. Dieser verfügt über einen 240 MHz Tensilica LX7 Prozessorkern sowie eine eingebaute WLAN-Hardware. Die Programmierung des ESP32-S2 erfolgt über einen WCH552G Mikrocontroller welcher auf sehr einfache und günstige Weise eine USB Schnittstelle bereitstellt. Neben der von den typischen ESP/ESP32 Modulen üblichen RS232 Funktionalität implementiert der WCH552G auch gleichzeitig noch eine JTAG Debugschnittstelle. Die Stromversorgung erfolgt über den USB Port und einen Schaltregler.

../_images/bastelino-esp32-s2_schematic.png

Entwicklungsmuster (falsche Gehäuseform beim Levelshifter bestellt)

Status

Ich habe eine erste Platine bestückt und die Firmware für den WCH552G im Groben fertig. Die Programierung des ESP32-S2 mittels der typischen esp-idf [2] Programme von Espressif funktioniert. Es hakt noch etwas beim JTAG, hier muss ich mir den recht frischen esp_usb_jtag Treiber des openocd-esp [3] nochmal genauer anschauen und mit meiner Implementierung abgleichen. Der Schaltung fehlt auch noch ein Pull-Up am ESP32-S2 EN Pin.

Die komplette Schaltung sowie die Firmware für der On-Board Programmer/Debug steht hier Bastelino ESP32-S2 [4] auf Gitlab zur Verfügung

Links

[1]https://www.espressif.com/en/products/modules
[2]https://github.com/espressif/esp-idf
[3]https://github.com/espressif/openocd-esp32
[4]https://gitlab.com/amesser-group/electronic-devices/bastelino-esp32-s2