Skip to content

Technik Blog

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

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

ATOM Lite von M5Stack

Posted on 21. Dezember 20208. März 2024 by Stefan Draeger

In diesem Beitrag möchte ich dir den kleinen ESP32 Microcontroller vom Typ „ATOM Lite“ von M5Stack vorstellen.

M5Stack - Atom Lite
M5Stack – Atom Lite
M5Stack - Atom Lite
M5Stack - Atom Lite
M5Stack - Atom Lite

In dem Beitrag M5StickC – Ein ESP32 Zwerg mit nützlichen onboard Funktionen in einem coolen Gehäuse habe ich bereits einen Mikrocontroller von der Firma M5Stack vorgestellt und in den nachfolgenden Beiträgen beschrieben.

  • Ausgeben der Temperaturwerte des DS18B20 Sensors auf dem M5StickC
  • eine digitale Wasserwaage mit dem M5StickC

  • Bezug
  • technische Daten des ATOM Lite von M5Stack
  • Pinout des ATOM Lite
  • Erster Betrieb am USB Port
  • einrichten in der Arduino IDE
  • einbinden in das lokale WiFi Netzwerk
  • Beispielprogramm – einfacher Zähler mit dem Taster und Ausgabe auf der Webseite
    • Video
  • Fazit zum ATOM Lite von M5Stack

Bezug

Den kleinen ATOM Lite habe ich über aliexpress.com für knapp 8 € inkl. Versandkosten erstanden, du findest diesen Zwerg aber auch bei ebay.de dort jedoch zu einem Preis von min. 10€ zzgl. Versandkosten*.

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!

Der ATOM Lite wird in einer kleinen Plastikbox geliefert, welche auf der Rückseite die technischen Daten aufgedruckt hat.

M5Stack - ATOM Lite verpackt
M5Stack – ATOM Lite verpackt
technische Daten des M5Stack - ATOM Lite
technische Daten des M5Stack – ATOM Lite

technische Daten des ATOM Lite von M5Stack

  • Betriebsspannung: 5V mit max. 500mA
  • Umgebungstemperatur: 0°C .. 40°C
  • CPU: ESP32-PICO mit 240 MHz dual core
  • Flash Speicher: 4 MB
  • Schnittstellen:
    • USB-Typ-C,
    • WiFi,
    • Bluetooth Low Energy (BLE),
    • IR Diode,
    • Grove,
    • Taster
  • Abmaße (LxBxH): 24 mm x 24 mm x 10 mm

Der ATOM und ATOM Lite sind die einzigen beiden Mikrocontroller, welche keine interne LiPo Batterie besitzen und somit extern mit Strom versorgt werden müssen. Du findest jedoch auf ebay.de bzw. auf aliexpress.com ein passendes Batteriepack, welches einfach an die USB-Typ-C Schnittstelle angeschlossen wird und zusätzlich die Grove Schnittstelle durchschleift.

M5Stack Atom tailbat Mobile Power Source 190mAh
M5Stack Atom tailbat Mobile Power Source 190mAh

Pinout des ATOM Lite

Wie bereits erwähnt verfügt der ATOM Lite über einen Taster sowie über eine Grove Schnittstelle und auf der Rückseite über 2 Pinleisten im Rastermaß von 2,54 mm zum Zugriff auf digitale Pins und die Spannungsversorgung.

Rückseite des Microcontrollers M5Stack ATOM Lite
Rückseite des Microcontrollers M5Stack ATOM Lite

Erster Betrieb am USB Port

Wenn man den Mikrocontroller das erste mal über USB mit Strom versorgt, dann kann man über den großen Taster auf der Oberfläche zwischen verschiedenen RGB Farben zu wechseln.

Da der ATOM Lite über WiFi und einer Grove Schnittstelle verfügt kann man weitere Sensoren anschließen und recht einfach diese Daten veröffentlichen, aber dazu später mehr.

einrichten in der Arduino IDE

Damit du den Microcontroller ATOM Lite in der Arduino IDE programmieren kannst musst du die Adresse

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

in den zusätzlichen Boardverwalter URLs hinzufügen sowie den passenden Treiber im Boardverwalter zu installieren.

M5Stack - Treiberpaket im Boardverwalter der Arduino IDE
M5Stack – Treiberpaket im Boardverwalter der Arduino IDE

einbinden in das lokale WiFi Netzwerk

Zunächst möchte ich zeigen, wie du den kleinen Mikrocontroller in dein lokales WiFi Netzwerk einbinden kannst. Dazu benötigst du zunächst von deinem Netzwerk die SSID sowie das Passwort.

#include <WiFi.h>
#include <WiFiClient.h>
#include <WebServer.h>

const char* ssid = "abc";
const char* password = "def";

WebServer server(80);
IPAddress apIP(192, 168, 178, 1);

void setup(){
  Serial.begin(9600);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED){
    delay(500);
    Serial.print(".");
  }
  
  Serial.println("");
  Serial.print("IP Addresse: ");
  Serial.println(WiFi.localIP());
  server.on("/", handleStartpage);
  server.onNotFound(handlePageNotFound);
  server.begin();
  Serial.println("HTTP Server gestartet");
}

void handleStartpage(){
  String page = "";
  page += "<!DOCTYPE html>";
  page += "<html>";
  page += "<head><title>Hello from ESP32</title></head>";
  page += "<body>";
  page += "<h1>Hello World!</h1>";
  page += "</body>";
  page += "</html>";
  server.send(200, "text/html", page);
}

void handlePageNotFound(){
  String page = "";
  page += "<!DOCTYPE html>";
  page += "<html>";
  page += "<head><title>Error HTTP 404</title></head>";
  page += "<body>";
  page += "<h1>Page not found!</h1>";
  page += "</body>";
  page += "</html>";
  server.send(404, "text/html", page);
}

void loop(void){
  server.handleClient();
}
M5Stack ATOM Lite einfaches WiFi SketchHerunterladen

In dem seriellen Monitor der Arduino IDE wird die IP-Adresse des ATOM ausgegeben, diese müssen wir uns kopieren und in den Browser einfügen. Es sollte dann eine Begrüßung vom Mikrocontroller erscheinen.

Ausgabe des einfachen WiFi Sketches für den M5Stack ATOM Lite
Ausgabe des einfachen WiFi Sketches für den M5Stack ATOM Lite

Sollte nun eine andere Seite eingegeben werden so wird dieses mit einer Fehlermeldung quittiert.

HTTP4040 Fehlermeldung vom ATOM Lite
HTTP4040 Fehlermeldung vom ATOM Lite

Die Begrüßungsseite sowie die Seite für die Fehlermeldung sind noch einfach gehalten, im nächsten Abschnitt möchte ich dir nun ein kleines Programm aufzeigen wie du einen einfachen Zähler mithilfe des Tasters aufbaust.

Beispielprogramm – einfacher Zähler mit dem Taster und Ausgabe auf der Webseite

In dem nachfolgenden Beispielprogramm möchte ich dir zeigen, wie du den Taster nutzen kannst, um einen Zähler auf einer Webseite hochzuzählen. Da die Server – Client Kommunikation nur in eine Richtung funktioniert, müssen wir die Seite in einem Intervall x aktualisieren. Andernfalls müsste man ein Framework für das Polling verwenden und dieses wäre etwas aufwändiger und würde den Rahmen des Beispiels sprengen.

Zunächst die HTML-Seite welche ausgeliefert werden soll:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> 
        <title>Zähler mit dem ATOM Lite</title>
    </head>
    <style>
        span .zahl{font-weight:bold;}
    </style>
    <body>
        <span>Du hast <span class='zahl'>4</span> mal auf den Taster geklickt!</span>
    </body>
</html>

Da die Seite in einem Intervall aktualisieren möchten, fügen wir einen Meta Tag in den HEAD Bereich der HTML-Seite ein welcher einen redirect auf die eigene Seite macht.

<meta http-equiv="refresh" content="2" >

Damit wir bequem auf den Button zugreifen und somit das Event für das hinaufzählen (incrementieren) unseres Zählers verwenden können, bediene ich mich dem Beispiel vom GitHub Repository m5stack / M5Atom wo das Basic Beispiel mit dem Farbwechsel abgelegt wurde.

#include <WiFi.h>
#include <WiFiClient.h>
#include <WebServer.h>

#include "M5Atom.h"

const char* ssid = "abc";
const char* password = "def";

WebServer server(80);
IPAddress apIP(192, 168, 178, 1);

int btnCounter = 0;

void setup() {
  M5.begin(true, false, true);
  delay(20);

  Serial.begin(9600);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.print("IP Addresse: ");
  Serial.println(WiFi.localIP());
  server.on("/", handleStartpage);
  server.onNotFound(handlePageNotFound);
  server.begin();
  Serial.println("HTTP Server gestartet");
}

void handleStartpage() {
  String page = "";
  page += "<!DOCTYPE html>";
  page += "<html>";
  page += " <head>";
  page += "   <meta charset='utf-8'>";
  page += "   <meta http-equiv='refresh' content='2'>";
  page += "   <title>Zähler mit dem ATOM Lite</title>";
  page += " </head>";
  page += " <style>";
  page += "   span .zahl{font-weight:bold;}";
  page += " </style>";
  page += " <body>";
  page += "   <span>Du hast <span class='zahl'>" + String(btnCounter, DEC) + "</span> mal auf den Taster geklickt!</span>";
  page += " </body>";
  page += "</html>";
  server.send(200, "text/html", page);
}

void handlePageNotFound() {
  String page = "";
  page += "<!DOCTYPE html>";
  page += "<html>";
  page += "<head><title>Error HTTP 404</title></head>";
  page += "<body>";
  page += "<h1>Page not found!</h1>";
  page += "</body>";
  page += "</html>";
  server.send(404, "text/html", page);
}

void loop(void) {
  server.handleClient();

  if (M5.Btn.wasPressed()) {
    btnCounter++;
    Serial.println(btnCounter);
  }
  delay(50);
  M5.update();
}
M5Stack ATOM Lite – Webseite mit CounterHerunterladen

Video

Fazit zum ATOM Lite von M5Stack

Der ATOM Lite von M5Stack ist ein feiner kleiner Microcontroller welcher einem normalen ESP32 in nichts nach gesteht. Auch wenn dieser über etwas weniger Pins verfügt hat dieser durch die aktuelle USB Typ C Schnittstelle und vor allem durch die Grove Schnittstelle den Vorteil das man Sensoren & Aktoren an diesen einfach anschließen kann.

Leider verfügt der Zwerg über keine interne Batterie wie der M5StickC oder die Timer Camera X.

M5Stack - Atom Lite
M5Stack – Atom Lite
M5Stack - Timer Camera X
M5Stack – Timer Camera X
Microcontroller M5StickC
Microcontroller M5StickC

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}