MAKER KIT für ESP32 von Franzis

Das MAKER KIT für ESP32 von Franzis habe ich mir in der Weihnachtsaktion selber gekauft. Da ich jedoch über dieses Produkt berichte möchte ich trotzdem diesen Beitrag als Werbung kennzeichnen.

MAKER KIT für ESP32 von Franzis
MAKER KIT für ESP32 von Franzis

Bezug des MAKER KIT

Das MAKER KIT kannst du im offiziellen Onlineshop von Franzis für derzeit 79,95€ erwerben. Wie bereits erwähnt habe ich das KIT in der Weihnachtsaktion erworben (15.12.2020) und habe „nur“ 35€ bezahlt.

Lieferumfang

Zum Lieferumfang des MAKER KIT gehört neben dem ESP32 auch noch:

  • 1x 830er Breadboard,
  • 6x 220 Ohm Widerstand,
  • 2x 1kOhm Widerstand,
  • 2x 10kOhm Widerstand,
  • 2x 100kOhm Widerstand,
  • 3x LED rot,
  • 3x LED grün,
  • 3x LED gelb,
  • 2x LED weiß,
  • 1x DHT11 Sensor (Temperatur & rel. Luftfeuchtigkeit),
  • 1x analoger Temperatursensor Typ TMP36,
  • 1x Fototransistor Typ PT331C,
  • 1x 10kOhm Drehpotentiometer,
  • 1x 4fach 7 Segmentdisplay,
  • 15x Breadboardkabel männlich – weiblich,
  • 1x Micro-USB-Kabel,
  • 2x Stiftleiste, 12 polig,
  • 2 m Schaltdraht, rot, isoliert

Verpackung

Das gesamte MAKER KIT wird in einem festen Karton geliefert und die Bauteile sowie der ESP32 sind ordentlich verpackt so das während des Transports nix passieren kann. 

Verpackung der einzelnen Bauteile des MAKER KITs von Franzis
Verpackung der einzelnen Bauteile des MAKER KITs von Franzis

Das ist schon deutlich besser als wenn man etwas aus dem asiatischen Raum bestellt, denn dort wird meistens in kleinen, grauen Plastiktüten versendet und man kann froh sein, wenn etwas gepolstert ist.

Verpackung einer Sendung aus China
Verpackung einer Sendung aus China

technische Daten des NodeESP aus dem MAKER KIT

Der beigelegte Mikrocontroller vom Typ ESP32 hat einen Chip vom Typ ESP32-D0WDQ6.

ESP32-DQWDQ6
ESP32-DQWDQ6
MicrocontrollerESP32 (Typ ESP32-D0WDQ6)
CPUXtensa Dual Core 32-bit LX6
Taktfrequenz240 MHz (bis zu 600 DMIPS)
Speicher 
Flash Speicher4 MB
SRAM 520 kB
Schnittstellen 
WLAN802.11 b/g/n
Bluetoothv4.2 BR/EDR und Bluetooth Low Energy (BLE)
Ein-/Ausgänge 
GPIOs26
Analog Digital Converter (ADC)16x ADC Pins (12-bit, SAR ADC)
Digital Analog Converter (DAC)2x DAC Pins (8-bit)
Pulsweitenmodulation (PWM)16x PWM (bis zu 16-bit)
Touch10x kapazitive Touch Pins
Kommunikation4x SPI, 2x I²C, 3x UART, 2x I²SIR-Remote Controller, CAN-BUS 2.0, Ethernet MAC Interface
SonstigesHall Sensor, Temperatur Sensor*

Der Temperatursensor sitzt sehr nah am CPU und liefert daher nur sehr ungenaue Ergebnisse zu der Umgebungstemperatur.

Aufbau des NodeESP

Auf der Rückseite des NodeESP sind die Pins beschriftet.

Rückseite des ESP32 aus dem MAKER KIT
Rückseite des ESP32 aus dem MAKER KIT

Ich finde die Beschriftung sehr unglücklich platziert denn wenn man den Mikrocontroller auf ein Breadboard steckt kann man die Pinbelegung nicht mehr lesen. Andere ESP32 haben oben oder an der Seite die Beschriftung.

Aufbau des ESP32
Aufbau des ESP32

Pinout des NodeESP

Hier nun das Pin Layout des NodeESP.

Pinout des NodeESP
Pinout des NodeESP

Handbuch zum MAKER KIT für ESP32

Das Handbuch ist farblich bebildert und zeigt auf den ersten Seiten den Umfang des MAKER KITs sowie den Aufbau und den betrieb des beigelegten Mikrocontrollers.

MAKER KIT ESP32 - Handbuch
MAKER KIT ESP32 – Handbuch

Danach erfolgen gleich die ersten Beispiele wie die sehr klassische, blinkende und fadende (langsames auf und ableuchten) Leuchtdiode. Dabei wird auch das PWM Signal ausführlich erläutert. Es wird sehr gut auf jeden erdenklichen Anwendungsfall eingegangen und auch gezeigt wie man den NodeESP mit einer kleinen Webseite „bestückt“ und dort Sensorwerte anzeigen lassen kann.

Fazit zum Handbuch

Die Zielgruppe des Handbuches sind Anfänger welche noch wenig bis keine Erfahrungen mit der Programmierung von Mikrocontroller haben. Dabei wird wie ich finde sehr gut erläutert wie die Schaltung und der Quellcode aufgebaut ist bzw. wird.

Einrichten des Microcontrollers

Der Microcontroller verfügt über einen USB-Serial Converter vom Typ CH340G.

USB-Serial Converter CH340G
USB-Serial Converter CH340G

Nachdem der Mikrocontroller mit dem beigefügten Micro-USB-Kabel am Computer verbunden wurde, sollte Windows diesen selbstständig einrichten und im Geräte-Manager wie folgt anzeigen.

Geräte-Manager mit verbundenem Microcontroller mit CH340G Chip
Geräte-Manager mit verbundenem Microcontroller mit CH340G Chip

Einrichten der Arduino IDE für die Programmierung

Die wohl einfachste Entwicklungsumgebung zum Programmieren von Mikrocontroller ist die Arduino IDE. Dieses Tool bietet neben einem Bibliotheksverwalter (für das einfache hinzufügen von Bibliotheken für Sensoren & Aktoren) auch einen Boardmanager welcher dazu dient Treiber für Mikrocontroller aus einem Repository hinzuzufügen.

Für den ESP32 müssen wir jedoch ein solches Repository zusätzlich hinzufügen. Das liegt vielmehr daran das die Arduino IDE zunächst für die einfachen Arduino’s auslegt und Vorkonfiguriert ist.

Wir müssen also den Dialog „Voreinstellungen“ öffnen, entweder über die Tastenkombination Strg+Komma oder über das Hauptmenü Datei -> Voreinstellungen. Dort finden wir im unteren drittel das Feld „Zusätzliche Boardverwalter URLs“ wo wir die Adresse

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

einfügen.

Arduino IDE - Voreinstellungen, URL für ESP32
Arduino IDE – Voreinstellungen, URL für ESP32

installieren des Treibers für den ESP32

Wenn die zusätzliche Boardverwalter URL hinzugefügt wurde, kann nun der passende Treiber installiert werden. Dazu muss man über das Hauptmenü „Werkzeuge“ -> „Board“ -> „Boardverwalter…“ zum Boardverwalter navigieren.

In diesem Dialog suchen wir nach „esp32“ (1) und wählen an dem Eintrag die Schaltfläche „Installieren“ (2).

Boardverwalter - installieren ESP32 Treiber von espressif
Boardverwalter – installieren ESP32 Treiber von espressif

Der Download des Treibers (ca. 160MB) dauerte selbst mit einer 100Mbit Leitung sehr lange.

CRC Fehler  beim installieren

Es kann man vorkommen das beim Download bzw. bei der Installation ein Fehler auftritt.

CRC Fehler beim installieren des ESP32 Treibers
CRC Fehler beim installieren des ESP32 Treibers

In meinem Fall hatte sich der Laptop während des Downloads in Stand-by geschaltet und ich denke das die Wiederaufnahme des Downloads nicht ganz reibungslos geklappt hat. 
Nachdem klicken auf die Schaltfläche „OK“ kann ein weiterer Versuch gestartet werden, indem man auf die Schaltfläche „Installieren“ klickt.

Auswahl des Microcontrollers in der Arduino IDE

Nachdem der Treiber für den ESP32 installiert wurde, muss nun das Board ausgewählt werden. In unserem Fall wählen wir „ESP32 DEV Module“ aus und setzen zusätzlich die „Upload Speed“ auf 115200.

Auswahl des ESP32 in der Arduino IDE
Auswahl des ESP32 in der Arduino IDE

Upload eines Sketches / Programmes

Wenn man ein Sketch / Programm auf den ESP32 spielen möchte, so muss man zusätzlich kurz die Taste „BOOT“ betätigen, wenn die Schrift „Connecting…“in der Konsole erscheint.

Upload eines Sketches auf den ESP32 von Franzis
Upload eines Sketches auf den ESP32 von Franzis

Auf dem Microcontroller sollte die RGB LED kurzzeitig von grün auf blau wechseln!

Danach sollte der Upload starten und wenn dieses abgeschlossen ist, der Microcontroller selbstständig neustarten.

Beispiele

Die nachfolgenden Beispiele stammen nicht aus dem Handbuch. Da es dem Hersteller gegenüber nicht Fair währe die Arbeit zu kopieren. Jedoch gibt es einige Klassiker, welche man einfach nicht anders darstellen kann, wie zbsp. das Blinken einer LED oder den betrieb eines DHT11 Sensors.

„Hello World!“ auf der seriellen Schnittstelle

Als erstes möchten wir ein einfaches „Hello World!“ auf der seriellen Schnittstelle ausgeben. Den Text können wir direkt in der Arduino IDE im seriellen Monitor ablesen.

//Diese Methode wird einmalig beim starten / neustarten ausgeführt.
void setup() {
  //begin der seriellen Kommunikation mit 9600baud
  Serial.begin(9600);
}

//Diese Methode wird dauerhaft ausgeführt solange der Microcontroller Strom hat.
void loop() {
  //ausgeben des Textes "Hello World!" auf der seriellen Schnittstelle
  Serial.println("Hello World!");
  //eine Pause von 750ms einlegen
  delay(750);
}
Beispiel "Hello World!" auf der seriellen Schnittstelle
Beispiel „Hello World!“ auf der seriellen Schnittstelle

RGB LED auf dem NodeESP steuern

Auf dem NodeESP ist eine RGB LED verbaut welche über die Pins 

  • 0 – blaue LED,
  • 2 – rote LED,
  • 4 – grüne LED

gesteuert werden kann.

byte redLed = 2;
byte greenLed = 4;
byte blueLed = 0;

void setup() {
  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(blueLed, OUTPUT);
}

void loop() {
  blinkLed(redLed);
  blinkLed(greenLed);
  blinkLed(blueLed);
}

void blinkLed(int ledPin){
  digitalWrite(ledPin,HIGH);
  delay(750);
  digitalWrite(ledPin,LOW);
  delay(750);
}

Es ergeben sich beim mischen von den drei Hauptfarben (rot, grün und blau) weitere Farben. Man kann also den fast vollen RGB Farbraum abdecken. Bei der verbauten RGB LED sind die einzelnen LEDs auf dem Chip dicht genug so das man wirklich eine Vermischung erkennen kann.

Bei den China RGB LEDs habe ich es teilweise erlebt das diese etwas weiter waren und somit ein Vermischen nicht wirklich erkennbar war und man mit einem Diffusor arbeiten musste.

LEDs

Dem MAKER KIT liegen ein paar Leuchtdioden (kurz LED) bei welche wir nun in verschiedenen Modi betreiben möchten. Dabei musst du jedoch aufpassen das die LEDs korrekt gepolt eingebaut werden. Leider sind die beigefügten LEDs flach welches es etwas schwieriger macht die Anode von der Kathode zu unterscheiden.

Bauteil: LED
Bauteil: LED

Wie auf dem Bild erkennbar, ist das Bein der Anode deutlich länger als das der Kathode. An einer runden LED gibt es zusätzlich eine abgeflachte Seite am Gehäuse welche zusätzlich die Kathode kennzeichnet, leider liegen dem Set lediglich flache LEDs bei daher muss man sich an die Beinchen orientieren.

Für den Aufbau der Schaltung stecke ich den Microcontroller auf das beigefügte 830 Pin Breadboard und nutze die Breadboardkabel sowie die beigefügten Steckerleisten.

Ich finde, man hätte hier auch 10 Stück 10cm Breadboardkabel, männlich-männlich dem KIT beifügen können. Diese gibt es zbsp. bei ebay.de für günstige 3,44€ inkl. Versandkosten.

Des Weiteren wird je LED ein Widerstand mit einer Größe von 220 Ohm benötigt. Dem MAKER KIT liegen diverse Widerstände bei, leider findet sich keine Widerstandstabelle bei so das man sich „irgendwie“ selber behelfen muss. Auf der Seite https://draeger-it.blog/widerstandsrechner/ findest du einen solchen Rechner wo du nur die Farben der Ringe eingeben musst um den Wert abzulesen.

blinken

byte led = 14;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  blinkLed(led);
}

void blinkLed(int ledPin){
  digitalWrite(ledPin,HIGH);
  delay(750);
  digitalWrite(ledPin,LOW);
  delay(750);
}

faden

Das faden quasi das langsame auf und ableuchten einer Leuchtdiode, ist mit dem NodeESP etwas anders zu programmieren. Denn wir müssen in diesem Fall das PWM Signal auf den Pin selber erstellen. Dazu rufen wir zunächst die Funktion „ledcSetup“ auf und geben dieser die Parameter für das PWM Signal mit des Weiteren den Channel auf welchem dieses Signal „laufen“ soll. Zum Schluss müssen wir mit der Funktion „ledcAttachPin“ den Pin der LED mit dem Channel verbinden.

Um nun ein PWM Signal auf die LED zu schalten müssen wir die Funktion „ledcWrite“ mit dem Channel sowie dem Wert zwischen 0 und 255 aufrufen.

byte led = 14;

const int PAUSE = 10;

int frequenz = 1000;
int channel = 0;
int resolution = 8;

void setup() {
  pinMode(led, OUTPUT);

  ledcSetup(channel, frequenz, resolution);
  ledcAttachPin(led, channel);
}

void loop() {
  fadeLed(led);
}

void fadeLed(int ledPin) {
  for (int i = 0; i < 255; i++) {
    ledcWrite(channel, i);
    delay(PAUSE);
  }

  for (int i = 255; i > 0; i--) {
    ledcWrite(channel, i);
    delay(PAUSE);
  }
}

Ich werde in den nächsten Beiträgen einige kleine Projekte / Beispiele mit dem NodeESP aufzeigen. 

Fazit

Das MAKER KIT für ESP32 von der Firma Franzis ist nicht gerade günstig aber man bekommt alles geboten was man braucht um gleich mit dem programmieren loszulegen. Wie bereits erwähnt würde ich noch ein paar 10cm Breadboardkabel männlich-männlich, beilegen aber das ist nur ein kleiner Makel. 

Viel wichtiger würde ich es finden dass, die Beschriftung der Pins auf der Vorderseite des NodeESP gedruckt sind. 

Ein Kommentar

  1. Zur Zeit experimentiere ich mit dem Maker Kit für ESP32 und alles funktioniert einwandfrei. Allerdings kostete es mich einige Zeit bis ich den richtigen Treiber für CH340G Chip gefunden und installiert habe. Die Installation hat nur auf Windows 10 geklappt. Mein MacBook Air unter dem OS Mojave (10.14.6) hat sich nach der Installation verabschiedet und musste neu aufgesetzt werden.

    Der Lehrgang ist gut aufgebaut, es lassen sich viele interessante Projekte realisieren. Allerdings ist das Handbuch zum Teil fehlerhaft. Die bis jetzt heruntergeladenen Sketches aber auch die selber entwickelten funktionieren alle.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.