TTGO-Koala Esp32

Last Updated on 22. Juni 2021 by sfambach

Board Esp32-Wrover-B incl. 4 MB Flash. Es besitzt einen USB Typ C Anschluss und eine JST Steckverbindung (1,5mm) für einen 3,7V Lipo, ein paar bunte LEDs und das wars.

Fakten

Das Board hat natürlich alle Fähigkeiten eines ESP32 wie SPI, I²C, PWM, … . Ich habe hier mal ein paar „Kern“-Kompetenzen aufgelistet.

BeschreibungWert
ESPESP32 Wrover-B
Flash4MB
PSRam8MB
Kristall40MHz
Ladestrom [mA]500
Firmware (Laut Hersteller)MicroPython
Verbrauch Gemessen am USB U[V] / I[mA]5,14 / 28
Beteriebsspannung [V]3.3
USB AnschlussType C
Arbeitstemperatur [°C]-40 bis 85
Batterieanschluss JST-PH 2.0 2 Pins
TastenReset
LedRot/Grün/Blau
Nach aussen geführte Pins20
AD Pins16
Touch Pins10
Gewicht [g]7,8
Größe Hersteller l/b/h [mm]78 / 27 / ?
Größe Gemessen l/b/h [mm]73,36 / 25,82 / 6,96
Steckbrett KompatibelJa
T-Koala – Kernkompetenzen des Boards
BeschreibungPin
LED Grün5
LED Rot Power/
LED Blau (AN = Lädt)/
Ladestand (Noch nicht ganz sicher) *25
I²C SDA/SCL21/22
Nicht nutzbar wegen PSRam16/17
T-Koala – Wichtig Pins

* Zum Pin 25, dieser scheint über einen Spannungsteiler mit den Lade-IC verbunden zu sein. Die Werte die ich bekomme, sind allerdings nicht brauchbar. Wenn jemand mehr Informationen oder eine bessere Idee hat, bitte einen Kommentar da lassen.

TTGO-Koala Pinout
(Quelle: https://github.com/LilyGO/T-Koala/blob/master/image/T-Koala2.jpg)
T-Koala Boardabmessungen (Quelle: http://www.lilygo.cn/)

Anwendungsbereiche

  • Beliebige DIY Projekte
  • Mobiler Einsatz dank LIPO Anschluss und Lade IC.
  • Prototyping auf Steckbrett möglich
  • Micropython fähig

Ansichten

Analyse

Mal Angeschlossen

Laut Hersteller soll dies ein Boad mit der letzten Mircopython Version sein.

T-Koala – Boardbeschreibun des Herstellers LiLyGo Quelle:http://www.lilygo.cn/prod_view.aspx?TypeId=50033&Id=1125&FId=t3:50033:3

In der Ausgabe hätte ich irgend einen Anhaltspunkt dafür erwartet, stattdessen sehe ich nur einen WiFi Scan. Dies scheint der WifiTest von Github zu sein.

TTGO Koala – Erster Anschluss an die Konsole.

Ich habe das Board dennoch mal an VSCode angeschlossen um zu sehen obs vielleicht ein Python Programm ist. Laut Geräte-Manager ist der Hersteller des USB „wch.cn“ diesen habe ich in meiner globale Konfigurationsdatei einetragen. Der USB Port ist 14 bei mir. Wie das funktioniert könnt ihr HIER lesen.

Eine Verbindung ist möglich aber immer noch kein Mircopython.

T-Koala – VS Code Console keine Pythonantwort

Auch wenn ich nicht all zu viel von Mircopython halte ist so ein Mircopython Board ohne Mircopython irgendwie albern. Somit habe ich Mircopython mal installiert. Wie dies funktioniert ist hier beschrieben.

Laut Datenblatt hat der ESP32-WROVER-B 4 MB SPI flash und zusätliche 8 MB PSRAM, ich habe die folgende Firmware gewählt:

esp32spiram-idf4-20200902-v1.13.bin

P.S. die Option DoNotChgBin verwenden, sonst klappts nicht.

Hardware unter der Lupe

Was mir als erstes auffällt der Schalter fehlt, dieser scheint mit einem 0 Ohm Wiederstand gebrückt zu sein (SMD Bauteil mit 000):

T-Koala – Fehlender Schalter

Als USB Chip ist ein CH340C dieser ist üblich für den USB-C Anschluss.

T-Koala – CH340C USB Treiber

Der Laderegler für den Lipo ist ein LTH7(B) (4045).

Lade-IC LTH7B

Sonst hat dieses Board aus meiner Sicht keine Besonderheiten

Programmierung

Bibliotheken

Mircopython

Eine neue Version von Micropython ist einfach aufgespielt, wie es funktioniert beschreibe ich unter folgenden Link.

Micropython auf ESP32 Installieren

Mit dem VS-Code und anderen kann dann der ESP mit Mircopython programmiert werden.

Wie VS-Code Eingerichtet wird beschreibe ich unter folgenden Linke.

VS Code MicroPython

C/C++ Arduino GUI

Für die Programierung mit C/C++ ist die jeweilige Umgebung mit dem Framework für den ESP32 zu versehen.

Für die Arduino Gui habe ich das unter folgenden Link beschieben.

ESP32 mit der Arduino Gui einrichten

Für VS-Code und PlatformIO habe ich den folgenden Link.

Platform IO

Testprogramm

Jede Gui bringt auch ihre eigenen Testprogramme mit, weshalb ich an dieser Stelle nicht viel dazu schreiben werde. Ich habe mein Board erst mit der Micropyhon Version von Blink ausporbiert, und dann noch eine Version des Mircopython Wifi Scanners aufgespielt. Beides war problemlos möglich und hat funktioniert. Hier die Links zu den Beispielen:

Blink Beispiel ZIP

Wifi Scan Beispiel ZIP

Probleme

Noch keine Bekannt

Sonstiges

3D Druck

Ein Gehäuse habe ich nicht gefunden, wer möchte kann sich einen kleinen Koala als accessoir zu seinem Board ausdrucken.

https://www.thingiverse.com/thing:4490084

Fazit

Kleines Board, passt auf ein Steckbrett auch wenn nur eine Pinreihe frei ist. Bei mir hat eines angefangen zu kokeln nachdem der Akku voll war, kann aber auch der Unordnung auf meinem Scheibtisch geschuldet sein, dass es hier zu einem Kurzschluss gab.

Verwandte Beiträge

Quellen

Meine Version vom Blink Beispiel

Meine Version vom Wifi Scan Beispiel

Simples Wifi Scan Beispiel

Weiterführenede Wifi Beispiel

Koala 3D Modell

Datenblatt LTH7B (4045)

Verwendete Micropython Firmware

Datenblatt Wrover-B

TTGO-Koala Github Quellen des Herstellers

3 Gedanken zu „TTGO-Koala Esp32

  1. Vielen Dank für die hilfreichen Informationen zum Board! Ich habe dies unter dem label dollartek erworben und bin immer noch über die Stromversorgung am grübeln – d.h. Stromversorgung des Boards über den 5V-PIN. Damit funktioniert mein Projekt jedoch nicht stabil, auch die 3.3V-Ausgänge scheinen dann nicht sonderlich stabil zu sein. Auf der „Issues“-Seite des github-repository habe ich einen hilfreichen Link zum Schaltbild des Boards gefunden: https://myosuploads3.banggood.com/products/20190611/20190611221357TTGO32TYPE-C.pdf – scheinbar kann der Ladestand des Akkus über GPIO35 abgefragt werden, während GPIO25 die Ausgangsspannung der 3.3V-Ausgangspins regelt. Aus dem Schaltplan verstehe ich die Stromversorgung folgendermaßen:
    USB-Eingang –„VBUS“–> Spannungsregulator (MOSFET+Zenerdioden, nur für Akku?) und Batterieladeschaltung –„5V“ (und „VBAT“) –> on/off-Schalter (unbestückt) –„+5V“–> stepdown DC/DC-Regulator –„+3V3“–> Spannungsstabiliserungskondensatoren (parallel) –„+3V3“–> IO25+MOSFET-Regelung –„VCC3V3“–> Ausgang 3.3V

    Somit ist weder der 5V-PIN ein vollwertiger Eingang (die Laderegelung für den Akku wird umgangen, sowie die Spannungsregulierung), noch der 3.3V-Ausgang „VCC3V“ ein unregulierter Ausgang – im Gegensatz zur 3.3-Volt-Spannungsversorgung des ESP32 ist der Ausgang über IO25 gesteuert, den ich in meinem Projekt bereits anderweitig verwende (externer DAC). Das erklärt dann wohl auch, warum bei meinem Projekt (squeezelite-ESP32) kein IR-Empfänger oder Display stabil an VCC3V3 stabil funktioniert… nun stehen wohl einige Lötarbeiten am Board an. Mein Fazit: Das Board ist aufgrund der schlechten Dokumentation nur bedingt für komplexere Projekte geeignet, für kleinere mit Micropython reicht es vermutlich.
    Gruß,
    Daniel

    1. Hallo Daniel,

      Danke für deinen detaillierten Beitrag. So richtig unter Last habe ich das Board nie genommen, hatte ein paar kleinere C Programme geflasht.
      Das mit dem GPIO35 habe ich auch gesehen, das Auslesen brachte bei mir aber keine verwendbaren Werte.
      Frage mich eh warum die Hersteller an der Spannungsversorgung und der Erfassung immer sparen. Den Schaltplan habe ich gleich mal geleakt ;).

      Gruß
      Stefan

      1. Hallo Stefan,
        inzwischen habe ich bei einem Board erfolgreich die 3.3V-Ausgänge vom GPIO25 getrennt – nun funktionieren alle externen Bauteile an den 3.3V-PINS zuverlässig, auch während der Nutzung von GPIO25.

        Hierzu habe ich R32 (not connected) überbrückt und R30 (1k) entfernt: R30 verbindet IO25 mit dem MOSFET, R32 verbindet den 3.3V-Ausgang des Spannungswandlers direkt mit den 3.3V-Ausgangs-PINs. R31 (0 Ohm) hat dann keine Funktion mehr und könnte zur Überbrückung von R32 verwendet werden, oder dort verbleiben.
        R32 und R30 liegen in der Mitte des Boards, ungefähr auf Höhe der PINs „BAT“ und „4“, R32 ist links und unbestückt, R30 direkt rechts daneben, beide unterhalb des MOSFETs. Direkt über dem MOSFET befindet sich R31 (zwischen MOSFET und den beiden gelben Bauteilen)..

        Da die SMD-Bauteile sehr klein sind (im Gegensatz zu meinem Lötkolben), ist die ganze Aktion etwas fummelig, und auch konnte ich R32 nicht durch eine Lötperle überbrücken, sondern musste eine Drahtbrücke verlöten.
        Nun werde ich noch die Buchse für die WLAN – Antenne nachrüsten – offensichtlich ist das DollaTek / TTGO T-Koala ESP32-Board nicht ganz optimal für mein Vorhaben, aber mit dem gut im Internet versteckten Schaltplan zumindest auf diesem Wege noch zu retten.

        Gruß
        Daniel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert