diff --git a/code_conventions.h b/code_conventions.h
new file mode 100644
index 0000000000000000000000000000000000000000..5f4b4a01787dfb2f00a3a3267c318dc902e0080d
--- /dev/null
+++ b/code_conventions.h
@@ -0,0 +1,76 @@
+/*
+    Konventionen zur Namensgebung und Kommentierung im Quelltext
+    ============================================================
+    * Klassen werden groß geschrieben. Alle Anfangsbuchstaben innerhalb des Klassennamens werden groß geschrieben.
+    * Variablennamen werden klein geschrieben.
+    * Membervariablen werden klein geschrieben.
+    * Funktionen/Methoden haben die gleiche Groß- und Kleinschreibung, wie Variablen.
+    * Konstanten bestehen nur aus Großbuchstaben, Wörter in den Konstantennamen werden durch "_" getrennt.
+    * Funktionen/Methodennamen enthalten Verben, Klassennamen enthalten Substantive.
+    * Kommentare für Funktionen/Methoden, falls überhaupt nötig, enthalten:
+    -- Eine allgemeins Beschreibung der Funktion/Methode
+    -- Eine Beschreibung jedes einzelnen Parameters
+    -- Eine Beschreibung des Rückgabewertes
+    -- Der zulässige Wertebereich der Parameter und der Wertebereich des Rückgabewertes
+    -- Besonderheiten (z.B. geworfene Exceptions,...)
+    * Auch Klassen können Kommentare enthalten, in denen Allgemeines über die Klasse steht.
+    * Alle Bezeichner auf Englisch. Alle Kommentare auf Deutsch!
+    * Einrückung nach VS Code Autoformatieren
+    * Variablennamen haben sprechende Namen, die durchaus etwas länger sein können.
+
+    Konventionen zur Programmierung
+    ===============================
+    * In jede Headerdatei gehört : #ifndef.. #define.. #endif
+    * Jede Funktion/Methode soll nur eine Aufgabe übernehmen.
+    * Jede Funktion/Methode erhält die von ihr benötigten Daten per Parameter (am besten als Referenz)
+    -> damit werden die Funktionen/Methoden besser testbar
+    * Jede Funktion/Methode soll mit einem oder mehreren Unittests getestet werden, soweit das möglich ist.
+ */
+
+
+#ifndef CODE_CONVENTIONS_H
+#define CODE_CONVENTIONS_H
+
+#define KONST_TO_SHOW
+
+class ClassForDemonstration
+{
+private:
+    byte member_example_1;
+    byte memberExample2;
+
+public:
+    byte get_member_1() { return member_example_1; };
+    byte getMember2() { return memberExample2; };
+    void set_member_1(byte aValue) { member_example_1 = aValue; };
+    void setMember2(byte aValue) { memberExample2 = aValue; };
+};
+
+ClassForDemonstration demo_object;
+
+void setup()
+{
+    Serial.begin(115200);
+}
+
+void loop()
+{
+    fill_object(demo_object);
+    serial_out_object(Serial, demo_object);
+    Serial.println();
+}
+
+void fill_object(ClassForDemonstration &aObject)
+{
+    aObject.set_member_1(millis());
+    aObject.setMember2(millis());
+}
+
+void serial_out_object(Stream &aStream, ClassForDemonstration &aObject)
+{
+    aStream.print(aObject.get_member_1());
+    aStream.print("\t");
+    aStream.print(aObject.getMember2());
+}
+
+#endif
\ No newline at end of file