Forum: Mikrocontroller und Digitale Elektronik ESP12E, GPIO9 und 10


von Andreas B. (bitverdreher)


Lesenswert?

Hi,
bevor ich jetzt selbst einen ESP12E auseinanderlöte (Metalldeckel :-( ), 
wollte ich mal in die Runde fragen, ob jemand mal versucht hat die GPIO9 
und 10 zu verwenden.
Diese beiden GPIOs werden ja für das Flash im QIO mode verwendet.
Aus der Arduino Umgebung habe ich erfolglos versucht, das ESP12E im QIO 
mode zu flashen. Das kann jetzt 2 Gründe haben: Flash an GPIO 9 und 10 
nicht angeschlossen oder das Flash kann kein QIO.
Die Infos, die ich im Netz dazu finde, sind nicht eindeutig.
Gibt es verschiedene Versionen des ESP12E mit und ohne Anschluß des 
Flashs an GPIO9/10?
Hat jemand den ESP12E mal umgelötet? Geht das überhaupt? (Flash im BGA 
oder SOT Gehäuse?)

Gruß
Andreas

Edit: Noch eine Frage: Kennt jemand den Unterschied zu ESP12E und 
ESP12F?

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Andreas B. schrieb:
> Edit: Noch eine Frage: Kennt jemand den Unterschied zu ESP12E und
> ESP12F?

Taobao sagt: 
ESP8266-12F是ESP8266-12的增强版,完善外围电路,四层板板工艺,增强阻抗匹配,信号输出更佳,无论是稳定性还是抗干扰能力,PCB 
天线经过专业实验室测试,完美匹配,,都得到了大幅度的提升!对于之前选择ESP-12的用户,即使已经做出产品也没关系,增强版完全兼容之前固件,引脚 
在ESP-12的基础上又新增六个IO口、SPI口引出,开发更加便捷,应用更加广泛!

Google meint dazu: ESP8266-12F ist eine erweiterte Version ESP8266-12, 
zur Verbesserung der peripheren Schaltung, 
Vier-Platten-Board-Technologie, eine Impedanzanpassung zu verbessern, 
die Signalausgabe ist besser, ob es stabil ist oder 
Anti-Jamming-Fähigkeit, PCB-Antenne durch professionelle Testlabor, ein 
perfektes Spiel, haben sich stark verbessert! Für Anwender, bevor das 
ESP-12, es spielt keine Rolle, auch wenn das Produkt hergestellt wurde 
ausgewählt, verbesserte Version ist mit früheren Firmware kompatibel, 
hat der Stift die ESP-12 auf der Basis von sechs IO-Ports, SPI Mund 
führt hinzugefügt, entwickeln bequemer Anwendung umfangreicher!

: Bearbeitet durch User
von Andreas B. (bitverdreher)


Lesenswert?

Hi,
wenn man dieses Google gestotter so übersetzt heißt das im wesentlichen: 
Die HF Eigenschaften wurden verbessert.

Trotzdem: Danke!
Andreas

von Einer K. (Gast)


Lesenswert?

Andreas B. schrieb:
> Das kann jetzt 2 Gründe haben: Flash an GPIO 9 und 10
> nicht angeschlossen oder das Flash kann kein QIO.

Ich würde auf einen Defekt tippen.
Alle ESP, welche mir bisher unter gekommen sind konnten QIO

Die Chips haben alle interne Kennungen, aus denen Hersteller und Type 
hervorgeht.
(soweit mir bekannt)
Das Datenblatt gibt dann gerne weitere Auskunft.

Bei einem ESP8266-01 habe ich die beiden Pins mal frei geschaufelt.
Das nervt.
Was ich noch mache, ist die -01 auf 4MByte auf pumpen, damit sie OTA 
Update können.

von Andreas B. (bitverdreher)


Lesenswert?

Arduino F. schrieb:
> Andreas B. schrieb:
>> Das kann jetzt 2 Gründe haben: Flash an GPIO 9 und 10
>> nicht angeschlossen oder das Flash kann kein QIO.
>
> Ich würde auf einen Defekt tippen.
> Alle ESP, welche mir bisher unter gekommen sind konnten QIO
>
Das hätte ich jetzt auch gedacht.

> Die Chips haben alle interne Kennungen, aus denen Hersteller und Type
> hervorgeht.
> (soweit mir bekannt)
> Das Datenblatt gibt dann gerne weitere Auskunft.

Wie liest Du die Kennung des Flashs aus?

> Bei einem ESP8266-01 habe ich die beiden Pins mal frei geschaufelt.
> Das nervt.
> Was ich noch mache, ist die -01 auf 4MByte auf pumpen, damit sie OTA
> Update können.

Das auflöten eines größeren Flashs habe ich früher auch mal gemacht. Das 
lohnt sich aber nicht wirklich. Da kaufe ich lieber gleich den ESP12. Da 
habe ich dann auch gleich (fast) alle GPIOs rausgeführt.

Gruß
Andreas

von Einer K. (Gast)


Lesenswert?

Andreas B. schrieb:
> Wie liest Du die Kennung des Flashs aus?
1
void setup() {
2
  Serial.begin(115200);
3
  //Serial.println(ESP.getChipId());
4
  Serial.println(ESP.getFlashChipId());
5
  Serial.println(ESP.getFlashChipSize());
6
}
Das ist alles, was man bekommen kann.
1
    switch(chipId) {
2
3
        // GigaDevice
4
        case 0x1740C8: // GD25Q64B
5
            return (8_MB);
6
        case 0x1640C8: // GD25Q32B
7
            return (4_MB);
8
        case 0x1540C8: // GD25Q16B
9
            return (2_MB);
10
        case 0x1440C8: // GD25Q80
11
            return (1_MB);
12
        case 0x1340C8: // GD25Q40
13
            return (512_kB);
14
        case 0x1240C8: // GD25Q20
15
            return (256_kB);
16
        case 0x1140C8: // GD25Q10
17
            return (128_kB);
18
        case 0x1040C8: // GD25Q12
19
            return (64_kB);
20
21
        // Winbond
22
        case 0x1640EF: // W25Q32
23
            return (4_MB);
24
        case 0x1540EF: // W25Q16
25
            return (2_MB);
26
        case 0x1440EF: // W25Q80
27
            return (1_MB);
28
        case 0x1340EF: // W25Q40
29
            return (512_kB);
30
31
        // BergMicro
32
        case 0x1640E0: // BG25Q32
33
            return (4_MB);
34
        case 0x1540E0: // BG25Q16
35
            return (2_MB);
36
        case 0x1440E0: // BG25Q80
37
            return (1_MB);
38
        case 0x1340E0: // BG25Q40
39
            return (512_kB);

von Andreas B. (bitverdreher)


Lesenswert?

Super, Danke! Das hat geklappt. Es ist ein BQ25Q32. Der sollte aber 
eigentlich Quad IO machen.
Ich glaube ich werde doch mal versuchen, den Deckel abzubekommen und mir 
das Layout anzuschauen.

Gruß
Andreas

von Kolja L. (kolja82)


Lesenswert?

Foto bitte

von Andreas B. (bitverdreher)


Angehängte Dateien:

Lesenswert?

Kolja L. schrieb:
> Foto bitte

aber bitte sehr.

Da das Flash sich wider Erwarten doch in einem basterfreundlichem SOP 
Gehäuse befindet, habe ich dann auch gleich die Datenleitungen 2+3 (/WP 
+ /HOLD) abgeklemmt und an Vcc gelegt. Das Flash ist übrigens ein 
BY25Q32A von Boya Microelectronic (nie davor gehört).
D9 und D10 lassen sich jetzt wunderbar verwenden. Der ESP und das Flash 
laufen mit High speed (160 und 80MHz).
Muß mal schauen, ob ich den Deckel ohne Kurzschluß wieder drauf bekomme. 
Für den Moment lasse ich es erst einmal.

Gruß
Andreas

von Einer K. (Gast)


Lesenswert?

Andreas B. schrieb:
> Das lohnt sich aber nicht wirklich

Ob sich das lohnt....
Wie auch immer, es stabilisiert die "Sattelfestigkeit" beim basteln.

von Andreas B. (bitverdreher)


Lesenswert?

Arduino F. schrieb:
> Andreas B. schrieb:
>> Das lohnt sich aber nicht wirklich
>
> Ob sich das lohnt....
> Wie auch immer, es stabilisiert die "Sattelfestigkeit" beim basteln.

Das tut das aufpimpen des ESP12E aber auch und man hat mehr davon. ;-)

von Andreas B. (bitverdreher)


Lesenswert?

Hi,
noch ein kleiner Nachtrag:
Der Deckel ist mittlerweile wieder drauf. War eigentlich nicht 
schwierig. Man muß mit der Heißluft nur senkrecht von oben drauf, dann 
bewegt sich nichts.

Wem das nicht genügt, kann auch GPIO 1 und 3 verwenden, wenn man die 
serielle Schnittstelle ausknipst.
In der Arduino Umgebung: Serial.begin(115200,SERIAL_8N1,SERIAL_TX_ONLY);
und den Debug Modus nicht verwenden. Dann lassen sich beide GPIOs 
wunderbar als Ausgänge verwenden. Als Eingänge habe ich es noch nicht 
versucht.

Somit hat der Kleine jetzt 13 verwendbare GPIOs und den ADC.
Das sollte doch erst einmal für eine Weile reichen.
(Falls nicht, der ESP32 liegt schon bei mir auf dem Tisch :-) )

Gruß
Andreas

von Kolja L. (kolja82)


Lesenswert?

Andreas B. schrieb:
> Kolja L. schrieb:
>> Foto bitte
>
> aber bitte sehr.

Danke!

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.