In diesem Beitrag möchte ich dir den kleinen Mikrocontroller ESP-01M (ESP8285) vorstellen.
Ich habe dir bereits einige Mikrocontroller mit WiFi-Schnittstelle vorgestellt, daher möchte ich dir diesen nicht vorenthalten und stelle ihn dir nun hier vor.
Bezug des ESP-01M
Den mir vorliegenden ESP-01M habe ich über aliexpress.com für knapp 2 € zzgl. Versandkosten erstanden. Du findest diesen aber auch auf ebay.de für etwas mehr als 3 €* jedoch ohne Adapterplatine.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Lieferumfang
Der kleine Mikrocontroller wird in einer antistatischen Tüte geliefert und enthält neben dem ESP-01M auch eine Adapterplatine und Stiftleisten.
Technische Daten des Mikrocontroller ESP-01M (ESP8285)
Taktgeschwindigkeit | 160 MHz |
SPI Flash | 1 MB |
WiFi | IEEE802.11 b/g/n |
Schnittstellen | UART, GPIO, ADC, I²C, PWM |
digitale Ein/Ausgänge | 11 |
Betriebsspannung | 3V – 3,6V |
max. Stromaufnahme | 300mA |
Betriebstemperatur | -20 °C – 85 °C |
Umgebung | -40 °C – 90 °C, <90 % rel. Luftfeuchtigkeit |
Größe (L x B x H) | 18 mm x 18 mm x 2,8 mm |
Stromaufnahme
Hier nun die Werte für die Stromaufnahme, welche der Hersteller in seinen technischen Daten benennt.
dauerhafter Transfer | 71 mA |
maximaler Wert | 300 mA |
Modem Sleep | 20 mA |
Light Sleep | 2 mA |
Deep Sleep | 0,02 mA |
Aufbau des Mikrocontrollers
Bevor ich in die Programmierung des Mikrocontrollers einsteige, löte ich zunächst die Adapterplatine an den Mikrocontroller.
An der Adapterplatine und am Mikrocontroller selber ist jeweils der GND Pin extra markiert, dieses gibt einen Hinweis wie der Mikrocontroller eingesetzt werden muss.
Die Stiftleisten löte ich mithilfe eines 170 Pin Breadboards an. Dieses Vorgehen hat den Vorteil, dass die Stiftleisten im korrekten Winkel angelötet werden können und das ganze nicht wegrutschen kann.
Pinout des Mikrocontrollers ESP-01M (ESP8285)
Auf der Rückseite des Mikrocontrollers ist die Pinbelegung aufgedruckt.
Hier nun das Pinout des Mikrocontrollers:
Pinbelegung
Nr. | Pin Name | Beschreibung |
---|---|---|
1 | GND | GND |
2 | VDD | Versorgungsspannung, 3.0V bis 3.6V |
3 | TX0 | UART0_TXD, GPIO1 |
4 | RX0 | UART_RDX, GPIO3 |
5 | IO13 | GPIO13, HSPI_MOSI, UART0_CTS |
6 | IO15 | GPIO15, MTDO, HSPICS, UART0_RTS |
7 | IO2 | GPIO2, UART1_TXD |
8 | IO0 | GPIO0, HSPI_MISO, I2SI_DATA |
9 | EN | Chip Enabled Pin, |
10 | IO4 | GPIO4 |
11 | IO9 | GPIO9 |
12 | IO10 | GPIO10 |
13 | IO5 | GPIO5, IR_R |
14 | IO12 | GPIO12, HSPI_MISO |
15 | IO14 | GPIO14, HSPI_CLK |
16 | ADC | AD Wandler, Eingangsspannung 0 bis max. 1V, Wertebereich 0 bis 1024 |
17 | IO16 | verbunden mit dem RST Pin, dient zum erwecken aus dem Deep Sleep |
18 | RST | Reset Pin |
Vom Hersteller bekommst du unter dem Link https://docs.ai-thinker.com/_media/esp8266/docs/esp-01m_product_specification_en.pdf die offizielle Dokumentation zu diesem Mikrocontroller.
Anschluss eines FTDI Modules an den ESP-01M
Für die Programmierung des Mikrocontrollers benötigen wir zusätzlich ein FTDI Modul.
Da der Mikrocontroller eine Betriebsspannung von maximal 3,6 V hat, müssen wir darauf achten, dass diese Spannung auch maximal am VCC des FTDI anliegt. Hier gibt es die beiden oben gezeigten Module, wobei bei dem größeren Modul die Spannung über den Jumper gesetzt werden kann.
Für den Anschluss eines FTDI Modules benötigst du lediglich 4 Breadboardkabel.
Troubleshooting
In meinem Fall war die Adapterplatine fehlerhaft und die Pins TX & RX wurden nicht richtig verbunden, d.h. ich konnte keine Verbindung aufbauen, somit musste ich zwei Breadboardkabel direkt an die Pins löten.
Programmieren des ESP-01M
Damit man ein Programm auf den ESP-01M hochladen kann, muss man zunächst die nachfolgenden Einstellungen treffen.
Zunächst wollen wir nur ein kleines Programm hochladen, um zu testen, ob die Kommunikation funktioniert.
void setup() { Serial.begin(9600); } void loop() { Serial.println("Test"); delay(500); }
Am Anfang des Uploads wird der Mikrocontroller mit nachfolgenden Eigenschaften erkannt:
esptool.py v3.0
Serial port COM25
Connecting....
Chip is ESP8285
Features: WiFi, Embedded Flash
Crystal is 26MHz
MAC: 50:02:91:3c:77:a6
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 2MB