Hauptmenü öffnen
Handelsübliches ESP8266-Modul mit Prozessor-Chip (links) und externen Flash-Speicher (rechts) für die Firmware. Im oberen Bildbereich die gedruckte WLAN-Antenne

Der ESP8266 ist ein kostengünstiger und mit geringem Leistungsbedarf ausgeführter 32-Bit-Mikrocontroller der chinesischen Firma espressif und ermöglicht durch seine offene Bauweise den Aufbau von WLAN-gesteuerten Aktuatoren und Sensoren. Als freie Entwicklungswerkzeuge stehen unter anderem die GNU Compiler Collection inkl. Toolchain zur Verfügung.[1]

Der 32-Bit-Prozessorkern vom Typ Xtensa LX106 von Tensilica arbeitet mit einem Systemtakt von 80 MHz – 160 MHz, hat 64 kB RAM als Befehlsspeicher und 96 kB RAM als Datenspeicher und einen internen Festwertspeicher (ROM) welcher einen unveränderlichen Bootloader beinhaltet. Als Besonderheit und aus Kostengründen weist der ESP8266 keinen internen nicht-flüchtigen und programmierbaren Flash-Speicher für die anwendungsspezifische Firmware auf. Die komplette Firmware ist in einen externen, seriellen Flash-Speicher abgelegt und wird zur Ausführung blockweise in den internen RAM-Speicher geladen und dort ausgeführt.[2] Als Peripherie steht unter anderem eine SPI-Schnittstelle und ein integriertes Wireless Local Area Network (WLAN nach IEEE 802.11 b/g/n) zur Verfügung.

Der Mikrocontroller ist auch zusammen mit einer Minimalbeschaltung aus Schwingquarz und Flash-Speicher in Form verschiedener Module zum direkten Einsatz erhältlich. Je nach Modul sind bis zu zwölf I/O-Ports, eine I²C-Schnittstelle, eine I²S-Schnittstelle, eine SPI-Schnittstelle, eine asynchrone serielle Schnittstelle (UART) und ein 10-Bit-Analog-Digital-Umsetzer herausgeführt. Alle I/Os werden mit 3,3 V betrieben.

Unterstützt werden momentan neben GCC und der direkten Programmierung in der Programmiersprache C unterschiedliche Firmware-Varianten:

  • Lua-basierte interaktive Programmierung unter der Bezeichnung NodeMCU.
  • Micropython (Python-basierte interaktive Programmierung)
  • Arduino-/C++-basierte Programmierung.[3]
  • AT-Command für die Nutzung als Seriell-zu-WLAN-Schnittstelle
  • ESP Easy zur Ansteuerung von Sensoren/Aktoren über WLAN
  • ESP Basic

NodeMCU-, Micropython-Firmware-Varianten unterstützen das interaktive Programmieren auf dem ESP8266. Dabei werden Programme im externen Flash-Speicher abgelegt und das komplizierte Speichermanagement wie das nötige blockweise Nachladen von externen Programmdaten in den internen RAM-Speicher durch entsprechende Softwarefunktionen vom Entwickler abstrahiert, was das Schreiben von Programmen für den ESP8266 erheblich erleichtert.

Als Nachfolger des ESP8266 entwickelte espressif den Mikrocontroller ESP32 mit einigen Verbesserungen wie beispielsweise Bluetooth und einem Hallsensor.[4]

Inhaltsverzeichnis

EigenschaftenBearbeiten

 
ESP-01 Drahtmodell
  • Prozessor: L106 32-bit RISC Mikroprozessorkern, basierend auf dem Tensilica Xtensa Diamond Standard 106Micro mit 80 MHz[5]
  • Memory:
    • 32 KiB Befehlsspeicher
    • 32 KiB Befehlsspeichercache
    • 80 KiB Benutzerdaten RAM
    • 16 KiB ETS Systemdaten RAM
  • Externer Quad-SPI Flashspeicher: bis zu 16 MiB werden unterstützt (512 KiB bis 4 MiB sind bereits angeschlossen)
  • IEEE 802.11 b/g/n Wi-Fi
  • 802.11n bis 72,2 Mb/s
  • 16 GPIO PINs
  • SPI
  • I²C (nur per Software implementiert)[6]
  • I²S Schnittstellen mit DMA (PINs mit GPIO geteilt)
  • UART auf einem dediziertem PIN, zusätzlich ein reiner Nur-Sende-UART, aktivierbar auf GPIO2
  • 10-bit ADC mit sukzessive Approximation
  • RTC auf GPIO16, hiermit kann per Brücke zu RST der Chip aus dem Deep Sleep aufgeweckt werden

Pinbelegung des ESP-01Bearbeiten

 
ESP-01 Modul Pinbelegung

Die Pins, die beim normalen ESP-01-Modul nach außen geführt wurden, sind sehr eingeschränkt:

  1. VCC, Spannung (+3,3 V bis 3,6 V)
  2. GND, Masse (0 V)
  3. RX, Datenpin Empfang X
  4. TX, Datenpin Senden X
  5. CH_PD, Chip power-down, Chip enable, active high
  6. RST, Reset
  7. GPIO 0
  8. GPIO 2

Da beim ESP-01 der GPIO16 nicht nach außen geführt wurde, unterstützt dieser zunächst kein Deep Sleep. Dieser kann durch selbstanbringen (löten) eines Pinout direkt am Chip realisiert werden.

Espressif ModuleBearbeiten

Espressif selbst hat u. a. folgende ESP8266-basierte Module veröffentlicht:

Name Pins Raster Formfaktor LEDs Antenne Geschirmt Abmessungen (mm) Kommentar
ESP-WROOM-02[7] 18 (davon 9 GPIO) 1,5 mm 2×9 gezahnt   Nein PCB   Ja 18 × 20 FCC ID 2AC7Z-ESPWROOM02.
ESP-WROOM-02D[8] 18 1,5 mm 2×9 gezahnt   Nein PCB   Ja 18 × 20 FCC ID 2AC7Z-ESPWROOM02D. Überarbeiteter ESP-WROOM-02, kompatibel mit 150-mil und 208-mil Flashspeichern.
ESP-WROOM-02U[8] 18 1,5 mm 2×9 gezahnt   Nein U.FL-Sockel   Ja 18 × 20 Unterscheidet sich vom ESP-WROOM-02D darin, dass ein U.FL-Sockel vorhanden ist.
ESP-WROOM-S2[9] 20 1,5 mm 2×10 gezahnt   Nein PCB   Ja 16 × 23 FCC ID 2AC7Z-ESPWROOMS2.

Ai-Thinker-ModuleBearbeiten

 
Ai-Thinker ESP8266 Module (ESP-12F, schwarz), welche auf Leiterplatten (weiß) aufgelötet sind.

Die untenstehende Tabelle zeigt die erste ESP8266-Modul-Serie des Drittherstellers Ai-Thinker, welches auch die weitverbreitetste ist.[10]

Die Angaben zu den Speichergrößen in der Spalte "Bemerkungen" gelten für alle darunter folgenden Module. Die Bezeichnung ist immer "ESP-xx". Um die Module zu betreiben werden weitere Komponenten benötigt, insbesondere eine Spannungsquelle (3,3V – 3,6V) und einen seriellen TTL-zu-USB-Adapter (auch USB-zu-UART-Brücke genannt), welcher zum Programmieren (Flashen) benötigt wird. Projektentwickler und Anfänger können zum testen und probieren auch ein NodeMCU-Board verwenden, welches bereits eine USB-zu-UART-Brücke und einen 5V zu 3,3V Pegelwandler beinhaltet und somit schneller und einfacher verwendet werden kann.

Name Pins Raster Formfaktor LEDs Antenne Geschirmt Abmessungen (mm) Bemerkungen
ESP-01 6 0.1 in 2×4 DIL   Ja PCB   Nein 14.3 × 24.8 512 KiB-Version und blaues PCB markenlos. 1 MiB Flash, AI-Cloud und schwarzes PCB von AI-Thinker.
ESP-01S 6 0.1 in 2×4 DIL   Ja PCB   Nein 14.4 × 24.7 1 MiB Flash
ESP-01M 16 1,6 mm 2×9 Platinenstecker   Nein PCB   Ja 18.0 × 18.0 Nutzt den ESP8285 (1 MiB Speicher).
ESP-02 6 0.1 in 2×4 gezahnt   Nein U.FL-Sockel   Nein 14.2 × 14.2
ESP-03 10 2 mm 2×7 gezahnt   Nein Keramik   Nein 17.3 × 12.1
ESP-04 10 2 mm 2×4 gezahnt   Nein keine   Nein 14.7 × 12.1
ESP-05 3 0.1 in 1×5 SIL   Nein U.FL-Sockel   Nein 14.2 × 14.2
ESP-06 11 various 4×3 dice   Nein keine   Ja 14.2 × 14.7 Nicht von der FCC zugelassen.
ESP-07 14 2 mm 2×8 Lötpunkte   Ja Keramik + U.FL-Sockel   Ja 20.0 × 16.0 Nicht von der FCC zugelassen.
ESP-07S 14 2 mm 2×8 Lötpunkte   Nein U.FL-Sockel   Ja 17.0 × 16.0 Von der FCC und CE zugelassen.
ESP-08 10 2 mm 2×7 gezahnt   Nein keine   Ja 17.0 × 16.0 Nicht von der FCC zugelassen.
ESP-09 10 various 4×3 dice   Nein keine   Nein 10.0 × 10.0
ESP-10 3 2 mm 1×5 gezahnt   Nein keine   Nein 14.2 × 10.0
ESP-11 6 1,27 mm 1×8 Lötpunkte   Nein Keramik   Nein 17.3 × 12.1
ESP-12 14 2 mm 2×8 gezahnt   Ja PCB   Ja 24.0 × 16.0 Von der FCC und CE zugelassen.[11]
ESP-12E 20 2 mm 2×8 gezahnt   Ja PCB   Ja 24.0 × 16.0 4 MiB flash.
ESP-12F 20 2 mm 2×8 gezahnt   Ja PCB   Ja 24.0 × 16.0 Von der FCC und CE zugelassen. Verbesserte Antennenleistung.
ESP-12S 14 2 mm 2×8 gezahnt   Ja PCB   Ja 24.0 × 16.0 Von der FCC zugelassen.[12]
ESP-13 16 1,5 mm 2×9 gezahnt   Nein PCB   Ja W18.0 × L20.0
ESP-14 22 2 mm 2×8 gezahnt +6   Nein PCB   Ja 24.3 × 16.2

LiteraturBearbeiten

  • Erik Bartmann: Das ESP8266-Praxisbuch: Mit NodeMCU und ESPlorer, Elektor-Verlag, November 2016, ISBN 978-3895763212 (deutsch)
  • Neil Kolban: Kolban's Book on the ESP32 & ESP8266, Leanpub

WeblinksBearbeiten

EinzelnachweiseBearbeiten

  1. esp8266 GCC Toolchain. Abgerufen am 24. Mai 2018.
  2. Paul Sokolovsky: Getting the most out of ESP8266 (englisch)
  3. How to Install the ESP8266 Board in Arduino IDE. Abgerufen am 25. Mai 2018.
  4. ESP32 Overview | Espressif Systems. Abgerufen am 25. Juli 2017.
  5. Die CPU- und Flashspeicher-Geschwindigkeiten können bei einigen Modulen durch Overclocking bei verdoppelt werden. Die CPU kann mit 160 MHz betrieben werden, der Flashspeicher kann von 40 MHz auf 80 MHz erhöht werden. Der Erfolg hängt vom jeweiligen Chip ab und von der Kühlung.
  6. Espressif ESP8266 Developer Zone Discussion Forum: Does ESP8266 actually have hardware I2C?. Espressif Systems, User: ESP_Faye. 20. Januar 2016. Abgerufen am 16. Oktober 2018.
  7. Espressif ESP-WROOM-02. Espressif Systems. Abgerufen am 29. Juli 2015.
  8. a b ESP-WROOM-02D/ESP-WROOM-02U Datasheet. Espressif Systems. Abgerufen am 25. November 2017.
  9. ESP-WROOM-S2 Datasheet. Espressif Systems. Abgerufen am 8. Oktober 2017.
  10. ESP8266 module family. ESP8266 Community Wiki. Abgerufen am 16. Oktober 2018.
  11. FCC ID 2ADUIESP-12 WIFI Module by Shenzhen Anxinke technology co., LTD. FCC. December 30, 2014. Abgerufen am 24. Juni 2015.
  12. FCC ID 2AHMRESP12S WIFI MODULE by Shenzhen Ai-Thinker Technology co., LTD. FCC. August 4, 2016. Abgerufen am 17. Juli 2017.