Forum: Mikrocontroller und Digitale Elektronik Vorstellung: Heltec HTIT-W8266 Board


von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Den folgenden Text habe ich von meiner eigenen Homepage kopiert.

Das HTIT-W8266 Board (alias WIFI Kit8) aus China ist dem NodeMCU Board 
sehr ähnlich. Es hat aber zusätzlich ein winzig kleines OLED Display mit 
128x32 Pixeln bzw. 4 Zeilen Text mit je 21 Zeichen. Weiterhin enthält 
das Board einen USB-UART Chip vom Typ CP2104.

Der Display Controller vom Typ SSD1306 ist über I²C mit dem ESP8266 
verbunden. Der 2 Megabyte große Flash Speicher wird mit 80MHz im QIO 
Modus angesprochen. Die Reset Methode zum Aktivieren des 
Firmware-Upgrade Modus entspricht dem NodeMCU Board:
1
DTR     RTS     /Reset  GPIO0
2
=============================
3
Aus     Aus     High    High
4
Ein     Ein     High    High
5
Aus     Ein     Low     High
6
Ein     Aus     High    Low

Alternativ kann man den Firmware-Upgrade Modus aktivieren, indem man 
beide Tasten drückt und dann den Reset-Taster zuerst loslässt.

Die aufgedruckten D-Nummern sind an das NodeMCU Projekt angelehnt. Ich 
empfehle allerdings, die Arduino Pin Nummern zu verwenden da sie den 
GPIO Nummern des Chips entsprechen und unabhängig vom eingestellten 
Board sind.

Achtung: Zur Zeit (Oktober 2017) verkaufen alle Händler das Modul mit 
lauter falschen Angaben: Anschlussplan, Spannungsversorgung, 
Speicherkapazität und USB-UART Chip-Nummer sind alle falsch.

Der angehängte Plan zeigt die richtigen Verbindungen zum Display in 
Klammern. Pinbelegung:
1
Oben   NodeMCU Pin   Arduino Pin   ESP Name   OLED Pin   Beschreibung
2
=========================================================================================================
3
1                                   GND                
4
2                                   5V                    Spannungsversorgung 5V.
5
3                                   3,3V                  Spannungsversorgung 3,3V.
6
4                                   GND                
7
5                                   /CTS                  Eingang zum USB-UART.
8
6                                   /DTR                  Ausgang vom USB-UART.
9
7       D1            5             GPIO5        SCL      I²C Takt zum Display. Hat 10k Pull-Up 
10
                                                          Widerstand.
11
8       D10           1             TxD (GPIO1)           Serielle Daten oder normaler I/O Pin, direkt 
12
                                                          mit USB-UART verbunden, flackert beim Start, 
13
                                                          darf beim Start  nicht auf Low gezogen werden.
14
9       D9            3             RxD (GPIO3)           Serielle Daten, direkt mit dem USB-UART 
15
                                                          verbunden, daher nicht als GPIO verwendbar.
16
10                                  /RESET                Hat 1,2k Pull-Up Widerstand und einen .
17
                                                          Taster nach GND.
18
11      D4            2             GPIO2                 Normaler I/O Pin, flackert beim Start, darf 
19
                                                          beim Start nicht auf Low gezogen werden.
20
12                                  CH_PD (EN)            Muss auf High liegen, damit der Chip arbeitet. 
21
                                                          Hat 10k Pull-Up Widerstand. Low=Power Down.
22
23
24
Unten  NodeMCU Pin    Arduino Pin  ESP Name   OLED Pin    Beschreibung
25
=========================================================================================================
26
1                                   GND                
27
2                                   5V                     Spannungsversorgung 5V.
28
3                                   3,3V                   Spannungsversorgung 3,3V.
29
4                                   GND                
30
5       D2             4            GPIO4         SDA      I²C Daten zum Display. Hat 10k Pull-Up 
31
                                                           Widerstand.
32
6       D3             0            GPIO0                  Low beim Start aktiviert Firmware-Upload, hat 
33
                                                           10k Pull-Up Widerstand und einen Taster nach 
34
                                                           GND, flackert beim Start.
35
7       D8             15           GPIO15                 Muss beim Start Low sein, hat 10k Pull-Down 
36
                                                           Widerstand, flackert beim Start.
37
8       D7             13           GPIO13 (MOSI)          Normaler I/O Pin oder SPI Daten.
38
9       D6             12           GPIO12 (MISO)          Normaler I/O Pin oder SPI Daten.
39
10      D5             14           GPIO14 (SCK)           Normaler I/O Pin oder SPI Takt.
40
11      D0             16           GPIO16        /RES     Setzt das Display zurück. Wenn mit /RESET 
41
                                                           verbunden, kann ein Timer den µC aus dem 
42
                                                           Deep-Sleep aufwecken.
43
12      A0             17           ADC                    Analoger Eingang für 0..3,3V weil mit 
44
                                                           Spannungsteiler 220k+100k Ohm.

Die Stromversorgung erfolgt wahlweise über USB, ein 3,3V Netzteil oder 
ein 5V Netzteil. Das Display nimmt zusätzlich zum ESP Chip ca. 30mA auf. 
Der Eingebaute Spannungsregler hat für eigene Erweiterungen maximal 
200mA Leistungsreserve. Da der 5V Anschluss direkt mit der USB Buchse 
verbunden ist, soll bei Nutzung von USB nicht gleichzeitig ein 5V 
Netzteil angeschlossen sein.

Der Batterieanschluss ist aus folgenden Gründen unbrauchbar:

  * Die minimale Ruhestromaufnahme im Deep Sleep oder auch Power-Down 
Modus mit ausgeschaltetem Display beträgt 7mA. Es gibt keinen 
Aus-Schalter.
  * Wenn die Batteriespannung unter 3,3V fällt, funktioniert das Modul 
schon nicht mehr (der ESP Chip bekommt dann weniger als 2,7V ab).
  * Wenn das Modul wegen Unterspannung ausfällt, erhöht sich die 
Stromaufnahme auf ca. 80mA. Ein Tiefentladeschutz ist nicht vorhanden.
  * Wenn der Akku geladen wird und gleichzeitig 200mA externe Last 
angeschlossen werden, überhitzt sich die Platine.

Die beiden Taster ziehen die Leitungen /RESET und GPIO0 direkt auf Low. 
Auch der USB-UART ist direkt mit den I/O Pins verbunden, deswegen kann 
man GPIO3 nicht extern nutzen.

Zur Programmierung empfehle ich entweder meine angehängte OLED Klasse 
oder die Libraries SSD1306 und GFX von Adafruit.

https://github.com/adafruit/Adafruit_SSD1306
https://github.com/adafruit/Adafruit-GFX-Library

Meine Notizen zum ESP8266 Chip: 
http://stefanfrings.de/esp8266/index.html

Ich möchte hiermit einen Erfahrungsaustausch starten. Kann jemand noch 
weitere nützliche Hinweise ergänzen?

von Lars R. (lrs)


Lesenswert?

...ich frage mich, warum es bei Ebay/Ali so etwas nicht fertig aufgebaut 
gibt mit:
a. größeres Display oder
b. E-Paper


Ist das Teil vom WPA2-Bug betroffen bzw bereits fixed?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> Ist das Teil vom WPA2-Bug betroffen bzw. bereits fixed?

Ich schätze, das hängt von der Firmware ab, die man drauf installiert. 
Genauer weiß ich es nicht. Spielt das bei so einem "Spielzeug" überhaupt 
eine Rolle?

von Lars R. (lrs)


Lesenswert?

Stefan U. schrieb:
>Spielt das bei so einem "Spielzeug" überhaupt
> eine Rolle?

Für mich ja. Für andere vielleicht nicht.

von Einer K. (Gast)


Lesenswert?

Stefan U. schrieb:
> Genauer weiß ich es nicht.

Ein kleinwenig kann ich dazu beitragen....

Soweit mir bekannt:
Das WPA Gedöns steckt in Libs, welche dazu gelinkt werden.
Liegen also nicht im Quellcode vor.

Man wird da also auf ein Toolchain Update warten müssen, falls das noch 
nicht erfolgt sein sollte.

Nachtrag:
KA, ob der ESP überhaupt betroffen ist...

von Stefan F. (Gast)


Lesenswert?

Laut dieser (ttps://github.com/esp8266/Arduino/issues/3725) Seite ist 
der ESP8266 betroffen, es gibt auch schon einen Bugfix aber der ist noch 
nicht in das Arduino Framework eingeflossen.

von c-hater (Gast)


Lesenswert?

Stefan U. schrieb:
>> Ist das Teil vom WPA2-Bug betroffen bzw. bereits fixed?
>
> Spielt das bei so einem "Spielzeug" überhaupt
> eine Rolle?

Also so eine idiotische Frage hätte ich dir echt nicht zugetraut...

Gerade bei solchen Spielzeugen spielt das eine Rolle, denn da wird 
oberhalb des WLAN-Krams typisch nicht mit starker Verschlüsselung 
gearbeitet.

D.h.: mit dem KRACK-Angriff ist man schon "halb" im LAN. Das 
8266-Spielzeug selber ist natürlich relativ uninteressant. Allerdings 
auch nicht völlig uninteressant, man könnte zuerst immerhin versuchen, 
es soweit zu übernehmen, dass es sich als Angriffsbasis nutzen läßt. 
Wenn das gelingt, erlangt man typisch auch gleich Zugriff auf die 
WPA2-Passphrase. Damit braucht man kein KRACK mehr...

D.h.: man hat nicht nur einen Fuss im WLAN, der ziemlich unverdächtig 
ist, sondern darüber hinaus für den Fall, dass doch mal irgendjemandem 
etwas auffällt, die Möglichkeit weiter zu stochern, dann allerdings 
etwas auffälliger...

Aber wem fällt das schon wirklich auf? Leuten, die Fragen stellen, wie 
du das getan hast wohl eher nicht...

von Lars R. (lrs)


Lesenswert?

Stefan U. schrieb:
> Laut dieser (ttps://github.com/esp8266/Arduino/issues/3725) Seite ist
> der ESP8266 betroffen, es gibt auch schon einen Bugfix aber der ist noch
> nicht in das Arduino Framework eingeflossen.

Das ist schon mal gut. Danke.


Deine Seite schaut gut aus.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Eine Korrektur: Das Board hat 4M Byte Flash Speicher.

von Stefan F. (Gast)


Lesenswert?

Ich habe noch etwas blödes festgestellt:

Wenn ich meine Module in ein Steckbrett stecke, verschlechtert sich der 
WLAN Empfang rapide. Es bringt nichts, die WLAN Leiterschleife über das 
Steckbrett hinaus ragen zu lassen.

Was aber hilft, ist die Stiftleisten um etwa 1cm zu verlängern, um mehr 
Distanz zwischen Steckbrett und Modul zu schaffen.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe das jetzt mit mehreren sehr unterschiedlichen Breadboards, drei 
Modulen und drei unterschiedlichen Netzteilen ausprobiert. Der Effekt 
tritt immer auf und die Lösung mit den verlängerten Pins hilft immer.

Das Ganze hinterlässt bei mir aber kein gutes Gefühl.

An der kapazitiven Last durch die Steck-Kontakte kann es nicht liegen. 
Selbst wenn ich alle Pins mit 20cm Dupont Kabel zum Steckbrett verbinde 
und diese Kabel fest miteinander bündele, läuft das Modul noch stabil.

Ich hatte schon beim Auspacken gestaunt, dass die Bauteile um den ESP 
Chip herum relativ viel Abstand haben und die Antenne gut 2cm weit 
abgesetzt ist. Das kenne ich von anderen Modulen und aus dem Datenblatt 
des Chips anders.

Irgendwo ist wohl immer ein Haken, wenn die Chinesen etwas entwickeln.

Beitrag #5190672 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

> Setze die Platine doch mal so aus Steckbrett, dass die Antenne
> möglichst weit darüber weg ragt.

Hab ich gemacht, funktioniert kein bisschen besser.

> Es ist also kein von Chinesen erzeugtes Problem

Die Beeinflussung durch Metallteile sehe ich ja ein, aber dieses Board 
wird ausdrücklich zum Experimentieren auf Steckboards angeboten. Das 
muss dann auch funktionieren.

Aber da es so nur in unmittelbarer Nähe zum Access Point (2 Meter) 
funktioniert, halte ich es für einen Mangel.

Nachtrag: Gerade habe ich mal einen zusätzlichen Elko an GND/3,3V 
probiert. Bringt auch nichts. Hätte mich auch gewundert, denn selbst an 
drei kurz angebundenen NiMh Akkus* habe ich das Problem. Es wird wohl 
wirklich an ungünstigen Reflexionen liegen.

*) Ich habe drauf geachtet, dass sie nicht mehr als 3,6V liefern. Also 
nicht mehr ganz frische verwendet.

von Reiner R. (rrosin)


Lesenswert?

Ich habe seit kurzem auch ein paar dieser Module im Einsatz. Für den 
Preis sind die Teile wirklich in Ordnung. Zusammen mit ein oder zwei 
Tastern und ein paar Sensoren hat man schnell was zusammengebastelt, was 
seinen Status im Klartext auf dem Display anzeigen kann.

Hier ist noch ein Link zum Repository des Herstellers: 
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/

Da ist auch eine sehr minimalistische Library dabei, die außer 4 Zeilen 
Text mit 16 Zeichen pro Zeile nichts kann.



Was mich an diesem Modul besonders nervt, sind folgende zwei Dinge:

[1] Beim Programmieren mit der Arduino IDE geht jeder 3. oder 4. Versuch 
schief, da das Modul nicht in den Programmiermodus schaltet. Ich hab mit 
inzwischen angewöhnt, vorher die beiden Tasten manuell zu drücken.

[2] Das Modul startet beim Anlegen der Versorgungsspannung fast nie von 
alleine. Meistens braucht es einen Reset per Taster. Das ist natürlich 
für in der Garage oder sonstwo verbaute Module nicht unbedingt 
praxistauglich.

Ich vermute mal, dass beide Probleme zusammenhängen und man das mit ein 
paar Bauteilen an der Reset-Leitung beheben könnte. Hat jemand ähnliche 
Erfahrungen gemacht und vielleicht sogar schon eine Lösung?

Gruß Reiner

von Stefan F. (Gast)


Lesenswert?

> Das Modul startet beim Anlegen der Versorgungsspannung fast nie von
> alleine.

Hängt vom Netzteil ab. Ich habe den selben Effekt auch mit anderen ESP 
Modulen.
Da das Problem bei mir bisher nur mit einem Netzteil auftrat, habe ich 
nicht weiter nachgeforscht.

Man könnte ganz einfach mal einen 10µF Elko am Reset Pin versuchen.

von Thomas M. (tomas_m)


Lesenswert?

Ich habe ebenfalls dieses Board... das Display geht immer nach einer 
Weile aus.... wird ein HW defekt sein, oder ?

von Stefan F. (Gast)


Lesenswert?

Versuche mal mein Testprogramm 
http://stefanfrings.de/esp8266/WIFI-Kit-8-Test2.zip

Wenn du es in der Arduino IDE Compilierst, stelle den Flash Modus auf 
40Mhz QIO und die CPU Taktfrequenz auf 80Mhz (wir wollen ja nicht 
übertreiben).

Sollte das dann nicht stabil laufen, hast du einen Hardware defekt. 
Möglicherweise allerdings in der Stromversorgung. Im Zweifelsfall kann 
es nicht schaden, das Modul mal Probeweise mit 4 Akkus (4,8V) oder 
Einwegbatterien (6v) zu betreiben.

von Reiner R. (rrosin)


Lesenswert?

Thomas M. schrieb:
> Ich habe ebenfalls dieses Board... das Display geht immer nach einer
> Weile aus.... wird ein HW defekt sein, oder ?

Ich habe 8 dieser Module und keines hat diese Probleme, es muss also ein 
spezifisches Problem deines Moduls bzw. dessen Serie sein. Es könnte ein 
thermisches Problem sein, ich würde es mal mit Kältespray probieren.

Gruß Reiner

von Der Elch (Gast)


Lesenswert?

Hallo zusammen,

Hab das wifi kit8 von heltec.
Weiß jemand ob ich den Analogeingang oder den TX1 pin als output 
konfigurieren kann?

Falls ja, was wäre das dann für ein pin?
Hab es bislang leider erfolglos versucht :(


Danke und Gruß
Der Elch

von Stefan F. (Gast)


Lesenswert?

Der Elch schrieb:
> Hab das wifi kit8 von heltec.
> Weiß jemand ob ich den Analogeingang oder den TX1 pin als output
> konfigurieren kann?

Der Analogeingang ist ein Analogeingang Punkt.

Und Tx1 ist ein Ausgang, deswegen heißt er ja Tx (Transmit). Klar kannst 
du den als normalen I/O Pin nutzen. Aber bedenke, dass er bei Start der 
Firmware "flackert".

Warum fragst du überhaupt, das steht doch bereits im Eröffnungsbeitrag.

> was wäre das dann für ein pin?

Das wäre ein I/O Pin. Ich verstehe die Frage nicht.
Schau doch einfach auf meine Homepage, da steht alles: 
http://stefanfrings.de/esp8266/index.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.