diff --git a/INSTALL.md b/INSTALL.md
index 32eb05a76dddcf18868bf828188040d96d0bddeb..81fc15d859d4beafc2c2b7e8d8fb029a4fda6aa7 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,5 +1,39 @@
 Installation der Firmware
--------------------------
+=========================
+
+Die Firmware des Zeitwürfels kann entweder über *Arduino IDE* oder *ESP IDF* übersetzt und übertragen werden.
+
+
+Arduino IDE
+-----------
+
+*Arduino* erlaubt einen schnellen Einstieg, allerdings sind erweiterte (stromsparendere) Konfigurationsmöglichkeiten hier nicht möglich.
+
+### Vorbereitung
+
+  1. Aktuelle [Arduino IDE](https://www.arduino.cc/en/main/software) installieren
+  2. Unter Windows den (unsignierten) [FireBeetle ESP32 Treiber](https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/FireBeetle-ESP32.inf) installieren.
+  3. Arduino Umgebung für den FireBeetle ESP32 gemäß [DFRobot Wiki](https://wiki.dfrobot.com/FireBeetle_ESP32_IOT_Microcontroller(V3.0)__Supports_Wi-Fi_&_Bluetooth__SKU__DFR0478) hinzufügen:
+     * Unter *Datei* / *Voreinstellungen* als *Zusätzliche Boardverwalter-URLs* die Adresse `http://download.dfrobot.top/FireBeetle/package_esp32_index.json` eingeben und mittels *OK* bestätigen
+     * Unter *Werkzeuge* / *Board: ...* den *Boardverwalter...* öffnen, das automatische Update abwarten und dann den *FireBeetle-ESP32-Mainboard by DFRobot DFRDuino* in einer aktuellen Version (0.0.9) installieren
+
+
+### Verwendung
+
+  1. Die Arduino IDE starten und `firmware/sketch_timecube/sketch_timecube.ino` öffnen -- weitere Tabs mit den restlichen Dateien werden ebenfalls geladen
+  2. Unter *Werkzeuge* / *Board: ...* den *FireBeetle-ESP32* auswählen
+  3. Die Datei `config.h` anpassen, ggf. weitere Änderungen vornehmen
+  4. Mit *Überprüfen/Kompilieren* unter *Sketch* die getätigten Änderungen prüfen.
+  5. Den Zeitwürfel per USB mit dem PC verbinden und unter *Werkzeuge* / *Port* entsprechend auswählen (z.B. `/dev/ttyUSB0`)
+  6. Ebenfalls unter *Werkzeuge* den *Uploadspeed* auf `115200` stellen und ebenda *Serieller Monitor* starten
+  7. Unter *Sketch* / *Hochladen* das Übertragen der Firmware starten. Und warten.
+  8. Auf dem seriellen Monitor erscheint eine Ausgabe nach erfolgreichem Start.
+
+
+ESP IDF
+-------
+
+Das *Espressif IoT Development Framework* ist das offizielle Entwicklungsframework für den ESP32 und erlaubt (durch die Datei `sdkconfig`) eine erweiterte Konfiguration des zugrunde liegenden [FreeRTOS](https://www.freertos.org/)-Kernels, wie z.B. eine niedrigere Taktfrequenz.
 
 ### Voraussetzungen
 
@@ -11,6 +45,8 @@ Folgende Komponenten werden benötigt:
 
 ### Vorbereitung
 
+Die Konfiguration in der Datei `firmware/main/config.h` muss angepasst werden.
+
 Auf einem debianoiden Linux mit aktueller Version können die benötigten Komponenten wie folgt installiert werden:
 
     # Dieses Repo für Firmware rekursiv auschecken
@@ -37,9 +73,9 @@ Nach der Vorbereitung im `timecube`-Verzeichnis folgende Schritte ausführen:
     make
 
 
-### Flashen des Würfels
+### Flashen des Zeitwürfels
 
-Mittels `make flash` kann die Software dann auf den Würfel geflasht werden.
+Mittels `make flash` kann die Firmware dann auf den via USB verbundenen Würfel übertragen werden.
 Hat man mehr als einen ESP32 angeschlossen, dann kann/muss man mittel Umgebungsvariable `ESPPORT` angeben, welcher Chip geflasht werden soll:
 `ESPPORT=/dev/ttyUSB5 make flash`
 
diff --git a/README.md b/README.md
index 79c9d333f8546ec7edf1f42e5790c91ce90f4618..d9cab9a66e625321d26cc01133868a0e4e3f7e76 100644
--- a/README.md
+++ b/README.md
@@ -28,6 +28,22 @@ Anleitung
   * [Anleitung zum Bauen der Firmware für den Würfel](INSTALL.md)
 
 
+Lizenz
+------
+
+Der Zeitwürfel ist Freie Software: Sie können es unter den Bedingungen
+der GNU Affero General Public License, wie von der Free Software Foundation,
+Version 3 der Lizenz, weiter verteilen und/oder modifizieren.
+
+Der Zeitwürfel wird in der Hoffnung, dass es nützlich sein wird, aber
+OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
+Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
+Siehe die [GNU Affero General Public License](LICENSE) für weitere Details.
+
+Sie sollten eine Kopie der GNU Affero General Public License zusammen mit diesem
+Programm erhalten haben. Wenn nicht, siehe https://www.gnu.org/licenses/ .
+
+
 Grundüberlegungen
 -----------------
 
diff --git a/firmware/config.example.h b/firmware/main/config.h
similarity index 100%
rename from firmware/config.example.h
rename to firmware/main/config.h
diff --git a/firmware/main/timecube.cpp b/firmware/main/timecube.cpp
index 46d12ee48781a731331597b80098665e4373ddf1..c037951051fcb6203843faabac142875086f22d7 100644
--- a/firmware/main/timecube.cpp
+++ b/firmware/main/timecube.cpp
@@ -11,7 +11,7 @@
 #include <driver/rtc_io.h>
 #include <driver/adc.h>
 
-#include "../config.h"
+#include "config.h"
 #include "accelerometer.h"
 #include "timelog.h"
 
diff --git a/firmware/sketch_timecube/accelerometer.cpp b/firmware/sketch_timecube/accelerometer.cpp
new file mode 120000
index 0000000000000000000000000000000000000000..a10fea9079f94deaada05c6ad4975fe2b77c9266
--- /dev/null
+++ b/firmware/sketch_timecube/accelerometer.cpp
@@ -0,0 +1 @@
+../main/accelerometer.cpp
\ No newline at end of file
diff --git a/firmware/sketch_timecube/accelerometer.h b/firmware/sketch_timecube/accelerometer.h
new file mode 120000
index 0000000000000000000000000000000000000000..9e2c372da4bd63ccdd8d2368533755a546b4e4b1
--- /dev/null
+++ b/firmware/sketch_timecube/accelerometer.h
@@ -0,0 +1 @@
+../main/accelerometer.h
\ No newline at end of file
diff --git a/firmware/sketch_timecube/config.h b/firmware/sketch_timecube/config.h
new file mode 120000
index 0000000000000000000000000000000000000000..bb79bec40b174c69c4315f89ce59cda71513d497
--- /dev/null
+++ b/firmware/sketch_timecube/config.h
@@ -0,0 +1 @@
+../main/config.h
\ No newline at end of file
diff --git a/firmware/sketch_timecube/sketch_timecube.ino b/firmware/sketch_timecube/sketch_timecube.ino
new file mode 120000
index 0000000000000000000000000000000000000000..7cefa8ab5eabd841114817cf47405b1b67b2100b
--- /dev/null
+++ b/firmware/sketch_timecube/sketch_timecube.ino
@@ -0,0 +1 @@
+../main/timecube.cpp
\ No newline at end of file
diff --git a/firmware/sketch_timecube/timelog.h b/firmware/sketch_timecube/timelog.h
new file mode 120000
index 0000000000000000000000000000000000000000..7f09873fcdfd5bc5f0c19a042d1f2cecadb93d2b
--- /dev/null
+++ b/firmware/sketch_timecube/timelog.h
@@ -0,0 +1 @@
+../main/timelog.h
\ No newline at end of file