Wenn Du noch nie programmiert hast, ist der Einstieg über Arduino ein bisschen heavy ...
Du solltest schon ein bisschen Grundkenntnisse über algebraische Logik, Schleifen, konditionelle Vergleiche, Funktionen, Variablen, Konstanten, Operatoren etc. haben und gewillt sein, in die relativ komplexe Programmiersprache C bzw. C++ einzusteigen.
Um Dir eine Vosrtellung zu geben: Allein der Einstieg ist ein ein-semestriger Kurs à 2 1/2 Stunden an der ETH Zürich :
https://ethz.ch/services/de/it-services/katalog/support-weiterbildung/it-training/compicampus/details.6284o.html
Für Anfänger ist es einfacher, mit der Programmiersprache Python bzw. der entsprechenden grafischen Programmiersprache Flow/Blockly einzusteigen, die sich an die an der MIT entwickelten Programmungebung Scratch anlehnt.
Das Forum der Bastelgarage dient hier vor allem dem Ideenaustausch und bei Hard- bzw. Softwareproblemen weiterzuhelfen. Ein Programmierkurs würde den Rahmen sprengen. Aus diesem Zweck hat die Bastelgarage die Seite M5Stack.ch aufgeschaltet mit dem Ziel, dort Schritt für Schritt aufzuzeigen, wie man mit dem M5Stack eigene Projekte aufziehen kann und Programmierbeispiele zu bieten. Zur Zeit existiert eine Einführung in Flow/Blockly nur auf Englisch (Einrichten von UIFlow auf dem M5Stack):
https://docs.makerfactory.io/m5stack/core/quickstart/uiflow/
bzw. Einführung in die Programmierungmit Flow/Blockly:
http://m5edu.com/documentation/doc-sidebar-position/
Geplant ist, auf der Seite M5Stack.ch etwas entsprechendes auf Deutsch aufzuziehen.