ESP32, mehr als ein ESP 8266 Nachfolger

Es war nur eine Frage der Zeit, bis jemand den Ansatz des ESP8266 SoC und der Programmierung mit LUA (Siehe NodeMCU) auf eine neue Hardware umsetzt, die schneller, größer, stärker und robuster sein soll. Das Wettrüsten (Moores Law) scheint auch bei den kleinen SoC-Geräten im vollen Gange zu sein. Und so ist es nicht verwunderlich, dass in 2015 dann von der Firma MXCHIP mit dem EMW3165 ein "neuer" IoT-Baustein in den Markt geworfen wurde. Aber auch ESP hat mit dem ESP32 einen Nachfolger im Sortiment:

Es soll bald einen großen Bruder oder Nachfolger des beliebten ESP8266 geben. Preis ca. 3-5 US$
EspressIF ESP32 https://espressif.com/en/products/hardware/esp32/overview
Von allem etwas mehr und zzgl. Bluetooth
http://www.heise.de/make/meldung/Grosser-Bruder-Der-Mikrocontroller-Espressif-ESP32-vorab-ausprobiert-3258216.html

Technical Reference
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

ESP32 User Guide EN
https://www.espressif.com/sites/default/files/documentation/ESP32_ECO_V3_User_Guide__EN.pdf

Vergleich zum ESP8266

Vergleicht man die Datenblätter, dann sind die Unterschiede erst mal nicht so gewaltig. Aber in dem Marksegment ist Preis natürlich ein wichtiges Kriterium. Aber es sind die kleinen Verbesserungen wie z.B. 5V-Tauglichkeit, die an anderer Stelle schon wieder Geld und Zeit für gesonderte Pegelwandler einsparen können. Durch den Einsatz von LUA mit einem schnelleren Prozessor werden natürlich Dinge möglich, die mit dem ersten NodeMCU vielleicht schon an der Geschwindigkeit gescheitert sind.

Mittlerweile gib es schon ESP32 C1/2C/C3-Module mit mehr MHz, Flash etc. und native USB -Support
https://arduino-hannover.de/2021/12/09/die-esp32-evolution-s2-s3-c3/

Komponente ESP8266
ESP8266 SoC
ESP32
http://www.espressif.com/
products/hardware/esp32/overview
EMW3165
http://en.mxchip.com/
product/wifi_product/38
EMW3162
http://en.mxchip.com/
product/wifi_product/39
CPU

Tensilica LX3@80Mhz
64 kBytes Flash
64 kBytes instruction RAM
96 kBytes data RAM
Operation voltage:3.3V

240 MHz dual core Tensilica LX6 microcontroller
600 DMIPS
16 MB flash, memory-mapped to the CPU code space
520 KB SRAM
2.3V to 3.6V operating voltage
5 μA power consumption in deep sleep

Cortex-M4core@100MHz
2M bytes on-board SPI flash and 512K bytes on-chip flash
128K bytes RAM
Operation voltage:3.0V~3.6V

Cortex-M3 core@120MHz
1 M bytes on-chip flash
128K bytes RAM
Operation voltage:3.0V~3.6V

Anschlüsse

xx GPIO
1x UART

1x ADC 10Bot (nur ESP-07 & ESP-12 Boards

SPI/I2C etc. per Software über GPIO

Ultra-low noise analog amplifier
Hall sensor
10x capacitive touch interfaces
32 kHz crystal oscillator

3 x UARTs, including hardware flow control

3 x SPI

2 x I2S

12 x ADC input channels

2 x DAC

2 x I2C

PWM/timer input/output available on every GPIO pin

OpenOCD debug interface with 32 kB TRAX buffer

SDIO master/slave 50 MHz

Supports external SPI flash up to 16 MB

SD-card interface support

22 GPIOs
2 x UARTs,including hardware flow control
1 x SPI/I2S
8 x ADC 12bit input channels



1 x I2C
PWM/Timer input/output available on every GPIO pin
SWD debug interface

32 x GPIOs
2 x UARTs,including hardware flow control
1 x SPI/I2S
8 x ADC 12bit input channels
2 DAC output channel
1 x USB OTG
2 x CAN
1 x I2C
PWM/Timer input/output available on every GPIO pin
SWD debug interface

WiFi

802.11 b/g/n
Wi-Fi Direct (P2P), Soft-AP

WEP, WPA/WPA2 PSK/Enterprise

Hardware accelerated encryption: AES/SHA2/Elliptical Curve Cryptography/RSA-4096

802.11b, 802.11g, 802.11n (single stream) on channel 1-14@ 2.4GHz
WEP, WPA/WPA2 PSK/Enterprise
Transmit power:16.5dBm@11b,14.5dBm@11g,13.5dBm@11n
Min receiver sensitivity: -87 dBm
Max data rate:11Mbps@11b,54Mbps@11g,72Mbps@11n HT20
Wi-Fi modes:Station, Soft AP and Wi-Fi direct
Hardware encryption: WEP, WPA/WPA2
On-board PCB antenna/ IPEX connector for external antenna

802.11b, 802.11g, 802.11n (single stream) on channel 1-14@ 2.4GHz
WEP, WPA/WPA2 PSK/Enterprise
Transmit power:18.5dBm@11b,15.5dBm@11g,14.5dBm@11n
Min receiver sensitivity: -96 dBm
Max data rate:11Mbps@11b,54Mbps@11g,72Mbps@11n HT20
Wi-Fi modes:Station, Soft AP and Wi-Fi direct
Hardware encryption: WEP, WPA/WPA2
On-board chip antenna/ IPEX connector for external antenna

Bluetooth

Nein

Integrated dual mode Bluetooth (classic and BLE)

 

 

Die Spezifikation bezieht sich natürlich auf den Chip. Wenn diese auf Bausteinen eingesetzt wird, dann können Sie nicht sicher sein, dass auch alle GPIO-Pins herausgeführt werden. Das gilt insbesondere für den EMW3162, der 32 GPIOs hat.

ESP32 Technical Reference Manual
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Pin Liste
https://www.espressif.com/sites/default/files/documentation/ESP8266_Pin_List_0.xls 

Programmieren

Der ESP32 kann wie der ESP8266 programmiert werden. Da er aber auch deutlich leistungsfähiger ist, gibt es auch andere Ansätze.

ArduinoIDE

OpenHPI: Wie programmiere ich meinen ersten Mini-Computer?
https://open.hpi.de/courses/mikrocontroller2019?locale=de
ESP32 per Ardublockly als Schüler programmieren

Sie können den ES32 auch über die Arduino Plattform programmieren. Sie müssen nur über "Additional Boardmanagers" folgende URL addieren.

ESP32 + Arduino
https://www.youtube.com/playlist?list=PLzvRQMJ9HDiQ3OIuBWCEW6yE0S0LUWhGU

How to Multitask with FreeRTOS (ESP32 + Arduino series)
https://www.youtube.com/watch?v=WQGAs9MwXno

https://dl.espressif.com/dl/package_esp32_index.json

Mehrere URLs für verschiedene Boards können Sie durch Komma getrennt addieren, z.B. habe ich so mein ATmel85, ESP32 und ESP8266 eingebunden

http://digistump.com/package_digistump_index.json, http://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

ExpressIF IDF

Ein anderer Weg ist natürlich weiterhin die direkte Entwicklung mit dem ExpresIF IDF auf Basis von freertos, wofür ExpressIT mittlerweile eine nette Integration in Visual Studio Code bereitstellt

Quick User Guide for the ESP-IDF VS Code Extension
https://www.youtube.com/watch?v=Lc6ausiKvQM

Python

Der ESP32 kann aber auch als Hardware in Verbindung mit MicroPython oder CircuitPython genutzt werden.

Hier wird dann die Firmware auf den ESP32 programmiert und quasi interaktiv mit Python entwickelt.

Bluetooth (BLE)

Die eingebaute Bluetooth -Schnittstelle eignet sich natürlich für allerleit Bastelarbeiten.

M5Stack

ExpressIF hat mittlerweile mit dem Chip ein komplettes Bausatz-System veröffentlicht. Es gibt natürlich auch andere (günstigere) Fertigbausteine verschiedener Hersteller. Allerdings dann meist ohne Gehäuse oder Display oder nur minimale Displays. Der M5Stack ist aber von Hause aus für viele Bastelprojekte sehr interessant, obwohl er mit 30-50€, je nach Quelle, schon etwas teurer ist-

Der kleine Würfel hat auf der Oberseite ein farbiges 2"-LCD-Display und drei Tasten. Über USB-C oder Batterie wird das System versorgt um über einige Schnittstellen (WLAN, BluetoothLE, I2C) und per Busstecker erweiterbare Boards zu kommunizieren. Quasi ohne Löten können 433MHz, 866 MHz, LoRA und viele andere Optionen addiert werden.

Vielleicht bauen Sie sich schnell mal eine "Internet Auslastungs-Anzeige" für ihre Fritz!box, ein Meetingraum-Display o.a.

ESP32 mit Ethernet

Wenn Sie den ESP32 nicht nur per WLAN sondern auch per LAN, optional sogar per PoE, anbinden wollen, gibt es auch einige Interessante Boards. Ein Hersteller ist die Firma Olimex in Tschechien ohne die Probleme chinesischer Lieferketten und auch einige andere Boards könnten sie in die Auswahl einbeziehen.

Bild Beschreibung

ExpressIF ESP32-Ethernet-Kit

Musterboard von ExpressIF mit Ethernet und optionalen PoE Board

Leider konnte ich nicht noch keinen Lieferanten oder Preis ausfindig machen

ESP32-PoE (18€)

ESP32-POE IOT DEVELOPMENT BOARD WITH 100MB ETHERNET, POWER OVER ETHERNET, WIFI, BLE, PROGRAMMER

ESP32-EVB  (22€)


als EVB-EA auch mit externer Antenne

Mit zwei Relais und einem Ethernet-Port (10/100MBit) ohne PoE ist dies durchaus interessant, wenn die WLAN-Funktion des ESP32 nicht genutzt werden soll.

MOD-POE-V2 10€

Das ist zwar kein ESP32 sondern "nur" ein Adapter, um PoE von einem LAN-Kabel zur Versorgung eines nachgeschalteten Systems auszuleiten. Für 10€ ist das sehr günstig. Quasi eine Vampir-Klemme auf PoE-Leitungen zum "Stromklau"

Verwechseln Sie dieses Gerät nicht mit einem Serial/SPI/I2C auf LAN-Adapter, die es natürlich auch gibt.

Yellobyte YB-ESP32-S3-ETH

Yellobyte YB-ESP32-S3-ETH - DevBoard w. ESP32-S3, Ethernet, Wi-Fi, 8MB Flash/PSRAM, 2xUSB

WESP32

WESP32
https://wesp32.com/, ca. 60US$

Beachten Sie bitte, dass diese Boards keinen USB-Anschluss haben und daher zur Programmierung ein USB/Seriell-Adapter erforderlich ist. Der UEXT-Port auf dem Board ist eine einfache Möglichkeit die wichtigsten Ports zu erreichen, z.B. auch RxD, TxD, GND und Vcc zur Programmierung.

ESP32 auf der Hutschiene

Auch da gibt es mittlerweile entsprechende Angebote. Der Preis ist natürlich nicht mit dem nackten ESP32 zu vergleichen, da hier auch noch das Gehäuse, ein Netzteil, die Anschlussklemmen etc. zu berücksichtigen sind. Ohne Display ist man bei ca. 64US$. Versand nach Deutschland ist möglich.

Die Domain gehört zu Sri Lanka und eine Postadresse ist auf der Webseite nicht zu finden. Wie es mit elektrischen Eigenschaften, d.h. Isolierung, Überspannungschutz, CE-Zeichen aussieht ist mir nicht bekannt.

Industrial ESP32 PLC NORVI IIOT Features : Industrial Arduino ESP32 : IIOT with ESP32
https://www.youtube.com/watch?v=NVzUWdYsrF4

ESP32 Mini

Es gibt noch eine Unmenge anderer Module, die Maker und Firmen um den ESP32 entwickelt haben. Die Liste hier kann endlos verlängert werden.

Aber ein Board ist etwas teurer, aber einige Zeit das "kleinste" Board. Es ist aber nicht nur ein ESP32, sondern enthält eine Lade-Logik für LiPo-Akku und getrennte Strompfade für 5V und 3,3V, so dass beim Akku-Betrieb der Energieverbrauch minimal ist. Eine besondere und eine DeepSleep-Logic, reduziert den Energiebedarf weiter.

Interessanterweise kostet das Modul mit 22€ zwar mehr aber auf Nachbauten bei Aliexpress waren deutlich teurer. Mittlerweile gibt es aber z.B. von M5Stack auch einen M5Stamp, der ebenfalls sehr klein ist aber nicht die ausgefuchsten Energiesparmodule hat.

Spiele mit ESPPlay und ESPlay Micro

Durch die gegenüber dem ES8266 höhere Performance und die Verfügbarkeit passender Boards gibt es sogar die ersten Spiele für den ESP32.

ESPlay Micro: Open Source ESP32 Game Console
https://www.youtube.com/watch?v=NfbxcjU85Ac

Die Hardware kann natürlich auch für andere Projekte verwendet werden.

ESP32 Flappy Bird game -tutorial and code
https://www.youtube.com/watch?v=BzjRDpANjaQ
Ein anderer Versuch "Flappy" auf dem ESP32 mit LCD-Display zu spielen.

Projekte und Links

Immer mehr Projekte nutzen den ESP32 und nicht mehr den früheren ESP8266.

Programmieren

Auch den ESP32 kann man native programmieren und natürlich auch mit der klassischen Arduino IDE. Aber auch Visual Studio Code ist mittlerweile ein ganz passabler Editor

BitBastelei #310 - VSCode und PlatformIO statt Arduino IDE
https://www.youtube.com/watch?v=Yb-HOBynJdc

Weitere Links