Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

ESP32-C3 mit LuatOS System

Posted on 5. August 20224. März 2025 by Stefan Draeger

In diesem Beitrag möchte ich dir den ESP32-C3 mit LuatOS System vorstellen und zeigen, wie du diesen Mikrocontroller programmierst.

ESP32-C3 mit LuatOS System
ESP32-C3 mit LuatOS System

Einen Mikrocontroller mit ESP32-C3 Chip habe ich dir bereits im Beitrag Mikrocontroller ESP32 C3 mit LCD-Display vorgestellt.

  • Bezug des ESP32-C3 mit LuatOS System
    • Lieferumfang
  • ESP32-C3 Chip
  • Was ist LuatOS?
  • Einrichtung der Entwicklungsumgebung Visual Studio Code
  • Quellen
  • Flashen des Mikrocontrollers
    • Download des Flash-Files für den
  • Programmieren der Ausgabe „Hello World!“

Bezug des ESP32-C3 mit LuatOS System

Den mir vorliegenden Mikrocontroller habe ich auf aliexpress.com für wenige Euro gefunden und für sehr interessant befunden. Es gab im gleichen Shop zusätzlich auch ein LCD-Display, welches man auf diesen stecken kann, dieses habe ich gleich mitbestellt.

Artikel "ESP32 Entwicklung Bord ESP32 C3 LCD CORE" im Shop Aliexpress.com
Artikel „ESP32 Entwicklung Bord ESP32 C3 LCD CORE“ im Shop Aliexpress.com

Lieferumfang

Zum Lieferumfang des Mikrocontrollers und des LCD-Displays gehörte jeweils 2 Stiftleisten und Buchsenleisten.

Was mich doch recht störte war, dass jede einzelne Stift- / Buchsenleiste einzeln eingepackt war. Diese Ressourcenverschwendung ist bezeichnend für Shops mit Sitz im asiatischen Raum.

ESP32-C3 mit LuatOS System verpackt
ESP32-C3 mit LuatOS System verpackt
Air101 LCD-Display verpackt
Air101 LCD-Display verpackt

ESP32-C3 Chip

Auf dem hier verwendeten Mikrocontroller ist der recht neue ESP32-C3 in der Version 342021 verbaut.

ESP32-C3 Chip auf dem Mikrocontroller
ESP32-C3 Chip auf dem Mikrocontroller

Was ist LuatOS?

Kommen wir zunächst zur Frage: „Was ist LuatOS?“. LuatOS ist ein Embedded Script Running Framework, welches die Entwicklungseffizienz erhöhen soll. Dieses System ist für IoT-Geräte optimiert, welche einen geringen Speicherbedarf haben.

Einrichtung der Entwicklungsumgebung Visual Studio Code

Das LuatOS System wird in Visual Studio Code programmiert, wo du eine zusätzliche Erweiterung für dieses System installieren kannst.

Installieren der Erweiterung "LuatOS" in Visual Studio Code
Installieren der Erweiterung „LuatOS“ in Visual Studio Code

Wenn dieses installiert wurde, dann muss noch die Datei „settings.json“ für den aktuellen Workspace auf nachfolgenden Code angepasst werden.

Diese erreichst du über „Datei“ > „Einstellungen“ > „Einstellungen“ oder einfacher über die Tastenkombination „Strg + ,“.

öffnen der Einstellungen in Visual Studio Code
öffnen der Einstellungen in Visual Studio Code

Wenn der Reiter „Einstellungen“ geöffnet ist, findest du oben recht das Symbol „Einstellungen öffnen (JSON)“ (siehe Bild).

öffnen der Datei "settings.json"
Öffnen der Datei „settings.json“
{
   "editor.fontFamily": "Consolas, 'Microsoft Yahei UI Light','Courier New', monospace",
   "editor.renderLineHighlight": "all",
   "editor.emptySelectionClipboard": false,
   "files.autoGuessEncoding": true,
   "editor.bracketPairColorization.enabled": true,
   "editor.guides.bracketPairs":"active",
   "luahelper.base.showOnline": false, 
}

Quellen

Für die nachfolgenden Kapitel habe ich mich aus diversen Quellen bedient, zum einen aus der offiziellen Dokumentation und auch aus dem russischen YouTube Video.

Da ich aber weder russisch noch Chinesisch sprechen / lesen kann habe ich mich mit dem Google Translator und der Seite deepl.com bedient. Des Weiteren waren die Bilder auch schon recht aufschlussreich.

Flashen des Mikrocontrollers

Für den Upload des Codes benötigen wir ein zusätzliches Tool, welches unter https://cdndownload.openluat.com/Luat_tool_src/last_release/Luatools_v2.exe heruntergeladen werden kann.

Mein Browser & Antivirus hatte zunächst die Verbindung abgelehnt, was ich manuell bestätigen musste.

Wenn die EXE-Datei heruntergeladen und mit deinem doppelklick gestartet wurde, wird man mit einem Dialog darauf hingewiesen, dass Updates vorliegen. Diese installiere ich zunächst.

installieren der Updates in Luatools
Installieren der Updates in Luatools

Download des Flash-Files für den

Damit wir mit dem Mikrocontroller kommunizieren können, müssen wir zunächst einige Einstellungen treffen.

  • zum einen muss die Checkbox (1) markiert werden,
  • der korrekte COM Port (2) muss gewählt werden, und
  • die Baudrate muss auf 921600 (3) eingestellt werden

Wenn diese Einstellungen getroffen wurden, kann die Schaltfläche „Open Serial Port“ betätigt werden und die kleine graue Lampe sollte sich grün verfärben (4). Im seriellen Output sollte man nun zeitgleich die Meldung „[Zeitstempel] hi, LuatOS“ finden.

Einstellungen für die Kommunikation mit dem ESP32-C3 aus luatools
Einstellungen für die Kommunikation mit dem ESP32-C3 aus luatools

In meinem Fall verwende ich den Mikrocontroller ESP32-C3 und muss die Datei „luatools\resource\esp32c3_lua_lod\core_V0003\LuatOS-SoC_V0003_ESP32C3.soc“ auswählen.

Wenn die Datei ausgewählt wurde, kann die Schaltfläche „download“ betätigt werden. Der Download dauert mit knapp 50 Sekunden recht lange und in der Zeit sollte der Mikrocontroller nicht abgesteckt werden!

download der Firmware auf den ESP32-C3 mit luatools
download der Firmware auf den ESP32-C3 mit luatools

Programmieren der Ausgabe „Hello World!“

Starten wir mit einem kleinen Programm und programmieren, dass die Ausgabe „Hello World!“ auf der seriellen Schnittstelle ausgegeben wird.

Programm "Hello World!" in Visual Studio Code
Programm „Hello World!“ in Visual Studio Code

In Visual Studio Code erstellen wir eine neue Datei „main.lua“ und kopieren folgenden Code hinein. Die Datei muss den Dateinamen „main.lua“ tragen denn sonst wird diese nicht hochgeladen!

PROJECT = "helloWorld"
VERSION = "0.0.1"

sys = require"sys"

print("Hello World!")

sys.run()

Diese Datei müssen wir jetzt mit dem zuvor wendeten luatool auf den Mikrocontroller hochladen.

Im ersten Schritt klicken wir auf die Schaltfläche „Manage & Debug“ oben rechts im Tool Luatools.

Im neuen Dialog erzeugen wir uns zunächst ein neues Projekt mit der Schaltfläche „Create project“ (1), diesem müssen wir einen Namen vergeben (2) und dieses mit der Schaltfläche „OK“ (3) bestätigen.

Wenn das Projekt erstellt wurde, dann wird die Schaltfläche „Select the file“ (1) freigeben aus welcher wir die Firmware für den Mikrocontroller markieren (2) und diese über die Schaltfläche „Öffnen“ (3) wählen.

Nun muss die zuvor erzeugte Datei „main.lua“ gewählt werden, dazu klicken wir die Schaltfläche welche in der Grafik mit (1) markiert ist und navigieren in den Projektordner (2) und markieren die Datei (3) und betätigen dieses mit der Schaltfläche „Öffnen“ (4).

Im letzten Schritt betätigen wir die Schaltfläche „Download only script“ (1), nach dem erfolgreichen Download wird die Zeile „download successful“ in grün (2) angezeigt.

In meinem Fall musste ich einmal den Mikrocontroller über den Taster „RST“ neu starten und die es wurde die Zeile „Hello World!“ ausgegeben.

6 thoughts on “ESP32-C3 mit LuatOS System”

  1. Ernst sagt:
    7. August 2022 um 14:54 Uhr

    hallo, was sond die vor und nacteile von luatos zur arduino ide?

    Antworten
    1. Stefan Draeger sagt:
      7. August 2022 um 18:47 Uhr

      Hi,

      ich stecke in dem Thema „LuatOS“ noch nicht so tief drin, muss aber sagen, dass es sich recht intuitiv programmieren lässt. Aber das ist erst mein erster Eindruck.

      Es werden noch einige Beiträge dazu folgen und dann denke, ich kann ich auch ein Vergleich zwischen diesen beiden Systemen ziehen.

      Gruß,

      Stefan Draeger

      Antworten
  2. Jason2866 sagt:
    12. August 2022 um 22:21 Uhr

    Das Board ist für den Preis sehr solide! Tasmota läuft darauf auch auf Anhieb.
    Mit Tasmota kommt auch eine sehr moderne Script Sprache mit; „Berry“. Diese ist irgendwo zwischen LUA und microPython angesiedelt. Die Dokumentation von Berry ist auf Englisch. Tasmota kann ganz einfach über den Chrome Browser installiert werden. Also einfach das C3 Luatos Board anstecken und diese Website aufrufen
    https://tasmota.github.io/install/

    Antworten
  3. David sagt:
    31. August 2022 um 16:37 Uhr

    Hi, ich habe das Board in der Annahme eines gewöhnlichen esp devboards gekauft und wollte es mit der Arduino ide als espnow Fernbedienung programmieren, habe jedoch ständig eine Fehlermeldung im Serial monitor bekommen, nur so bin ich darauf aufmerksam geworden, das dieses Framework vorinstalliert ist, da ich nicht viel zu luatos und espnow gefunden habe, frage ich mich ob und wie es möglich wäre den esp auf die bisherige Art per Arduino ide zu programmieren, bzw wie ich ein anderes Framework flashen kann.
    LG
    David

    Antworten
    1. Stefan Draeger sagt:
      31. August 2022 um 16:41 Uhr

      Hi David,

      du benötigst dafür ein Flashfile also eine BIN-Datei für den ESP32, dieses findest du auf der Seite vom Chiphersteller Espressif.

      Gruß,

      Stefan

      Antworten
    2. Elmar Hoppach sagt:
      30. Januar 2023 um 21:21 Uhr

      Hallo,

      ich habe auch diesen Controller zur Hand und habe unter Arduino 2.0.3 das board programmiert, indem ich nach Installation der ESP tools das Board Adafruit QT Py ESP32-C3 ausgewählt habe. Dies verwendet die Pins 18 und 19. Die bestehende Applikation wird gelöscht, also sollte das Programmieren funktionieren, ich konnte jedoch die beiden LEDs noch nicht ansteuern.

      Viele Grüße, Elmar

      Antworten

Schreibe einen Kommentar Antworten abbrechen

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

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}