diff --git a/README.md b/README.md
index f80e5f72d9b8e136acf870ca3523af7f7b26f869..a3fd3c82e8809713081ba01757d0ef7531d8b6bb 100644
--- a/README.md
+++ b/README.md
@@ -1,120 +1,87 @@
+## Beschreibung
+Treiber mit Beispielen für die Verwendung eines ESP32 Boards mit Kameramodul
 
-## CameraServer
-Das Beispiel *cameraserver.ino* streamt das Kamerabild mittels eines lokalen Webservers.
-Zum Verwenden des Skriptes muss das Netzwerk vorab angepasst werden
-Im Anschluss den Sketch auf den ESP32 One hochladen. Hierbei als Board "ESP32 DEV MODULE(esp32)" wählen.
+## Installation
+1. git Repository herunterladen
 
-### Erläuterung des Skripts
-Zunächst wird die erforderliche Bibliothek zum Interagieren mit der Kamera und Starten des Servers inkludiert.
 
-    #include "thk_EspCamDriver.h" // ESP32 Kamera
-    #include "thk_EspCamServer.h" // WIFI und HTTP-Server
+        git clone https://git-ce.rwth-aachen.de/thk_libs/microcontrollers/thk_espcamdriver.git
 
-Die Server-Bibliothek kann über das Git bezogenn werden.
 
-    https://git-ce.rwth-aachen.de/thk_libs/microcontrollers/thk_espcamserver
+    oder als Zip
 
-Im Anschluss wird das Netzwerk eingerichtet. Optional kann auch die Internetressource unbenannt werden. Diese wird beim Aufruf des Servers benötigt.
+    ![](git_img.png)
 
-    const char *ssid = "iPhone von Vladislav";
-    const char *password = "qqqqqqqq";
-    const char *uri = "/stream";
+2. Bibliothek ins lokale Arduino libraries Verzeichnis verschieben. \
+Unter Windows: `Dokumente/Arduino/libraries/` \
+(Falls als .zip heruntergeladen Bibliothek vorher entpacken)
 
-Die folgenden Objekte sind für den Datenaustausch mit der Kamera notwendig
+## Anwendung
+In der Arduino-IDE können die Beispiele unter Datei>Beispiele>espcamdriver geöffnet werden.
 
-    esp_image_t image;
-    camera_config_t cameraconfig; // Konfig
-    esp_err_t cameraerror;        // Fehler
+* cameraimage.ino \
+    Kamerabild auslesen und auf dem seriellen Monitor ausgeben.
 
-Um sowohl die Kamera als auch den Server möglichst kompakt für den Anwender nutzbar zu machen, sind zwei benutzerdefinierten Klassen vorhanden
+* cameraserver.ino \
+    Streamen des Kamerabildes per lokalem Netzwerk.
 
-    thk_EspCamDriver camera(&cameraconfig, &cameraerror, &image);
-    thk_EspCamServer server(ssid, password, uri);
+* UnitTest.ino \
+    Testfälle
 
-Spiegeln und Graustufe (Filter) bei Bedarf auch möglich
+### Erläuterung
 
-    camera.set_hmirror(1);
-    camera.set_vflip(1);
-    camera.set_grayscale(1);
+Für die Verwendung eines Kameramoduls am ESP32 ist die Pinbelegung notwendig.
+Diese sind in der seperaten Datei `camera_boards.h` hinterlegt. Gerne um neue Board erweitern!
 
-Anschließend kann in der Setup-Routine die Kamera initialisiert
+    espboard_t waveshare_esp32_one{
+        waveshare_esp32_one.cpin1 = 13,
+        waveshare_esp32_one.cpin2 = 14,
+        waveshare_esp32_one.pin_d0 = 34,
+        waveshare_esp32_one.pin_d1 = 13,
+        waveshare_esp32_one.pin_d2 = 14,
+        waveshare_esp32_one.pin_d3 = 35,
+        waveshare_esp32_one.pin_d4 = 39,
+        waveshare_esp32_one.pin_d5 = 38,
+        waveshare_esp32_one.pin_d6 = 37,
+        waveshare_esp32_one.pin_d7 = 36,
+        waveshare_esp32_one.pin_xclk = 4,
+        waveshare_esp32_one.pin_pclk = 25,
+        waveshare_esp32_one.pin_vsync = 5,
+        waveshare_esp32_one.pin_href = 27,
+        waveshare_esp32_one.pin_sscb_sda = 18,
+        waveshare_esp32_one.pin_sscb_scl = 23,
+        waveshare_esp32_one.pin_pwdn = -1,
+        waveshare_esp32_one.pin_reset = -1,
+        waveshare_esp32_one.xclk_freq_hz = 20000000,
+        waveshare_esp32_one.jpeg_quality = 12,
+        waveshare_esp32_one.fb_count = 1,
+        waveshare_esp32_one.ledc_channel = LEDC_CHANNEL_0,
+        waveshare_esp32_one.ledc_timer = LEDC_TIMER_0,
+        waveshare_esp32_one.frame_size = FRAMESIZE_96X96,
+        waveshare_esp32_one.pixel_format = PIXFORMAT_JPEG,
+        waveshare_esp32_one.grab_mode = CAMERA_GRAB_WHEN_EMPTY,
+        waveshare_esp32_one.fb_location = CAMERA_FB_IN_DRAM,
+        waveshare_esp32_one.im_width = 96,
+        waveshare_esp32_one.im_height = 96
+    };
 
-    camera.init();
-
-Und mit dem WiFi-Netzwerk verbunden werden
-
-    server.connect(); 
-
-Abschließend wird der Webserver gestartet. Dafür ist ein sogenannter Handler erforderlich. Dieser bildet die Antwort auf den Zugriff über HTTP. Hier kann neben dem Stream-Handler für das Kamerabild
-
-    server.start_webserver(&get_stream_handler);
-
-
-Das Kamerabild wird hier als Buffer gespeichert. Die Länge und der Inhalt (Pixel) können wie folgt ausgelesen werden
-
-  image.buf_len;
-  image->buf; // Buffer Kamerabild
-
----
-
-# thk_EspCamDriver
-
-Für die Verwendung eines Kameramoduls am ESP32 ist die genaue Pinbelegung notwendig.
-Diese sind in der seperaten Datei `camera_pins.h` hinterlegt. Gerne um neue Board erweitern!
-
-    #define CAMERA_PIN1 13
-    #define CAMERA_PIN2 14
 
-    #define D7_GPIO_NUM 36
-    #define D6_GPIO_NUM 37
-    #define D5_GPIO_NUM 38
-    #define D4_GPIO_NUM 39
-    #define D3_GPIO_NUM 35
-    #define D2_GPIO_NUM 14
-    #define D1_GPIO_NUM 13
-    #define D0_GPIO_NUM 34
-
-    #define XCLK_GPIO_NUM 4
-    #define PCLK_GPIO_NUM 25
-    #define VSYNC_GPIO_NUM 5
-    #define HREF_GPIO_NUM 27
-    #define SIOD_GPIO_NUM 18
-    #define SIOC_GPIO_NUM 23
-    #define PWDN_GPIO_NUM -1
-    #define RESET_GPIO_NUM -1
-    #define XCLK_HZ_FREQ 20000000
-    #define IMG_QUALITY 12
-    #define FRAMEBUFFER_COUNT 1
-
-    #define LED_CHANNEL LEDC_CHANNEL_0
-    #define LED_TIMER LEDC_TIMER_0
-
-    #define FRAMESIZE FRAMESIZE_240X240
-    #define IMAGE_WIDTH 240
-    #define IMAGE_HEIGHT 240
-
-    #define PIXELFORMAT PIXFORMAT_JPEG
-    #define GRABMODE CAMERA_GRAB_WHEN_EMPTY
-    #define FRAMEBUFFER_LOCATION CAMERA_FB_IN_DRAM
-
-
-Um die Bibliothek zu nutzen, muss zunächst das Modul im Kopf der Bibliothek (thk_EspCamDriver.h) definiert werden.
-
-    #define CAMERA_MODEL_WAVESHARE_ESP_ONE
-
-Im Anschluss kann im Arduino-Sketch (.ino Datei) die Bibliothek inkludiert werden
+Zunächst müssen im Arduino-Sketch (.ino Datei) die Bibliotheken inkludiert werden
 
     #include "thk_EspCamDriver.h"
+    #include "camera_boards.h"
 
-Anschließend die Kamera-Objekte (nach Espressiv) erzeugen
-
-    esp_image_t image;
-    camera_config_t cameraconfig; // Konfig
-    esp_err_t cameraerror;        // Fehler
+Anschließend das Kamera-Objekt (nach Espressiv) erzeugen
+    esp_image_t image;  // hier werden die Bilddaten gesichert
+    thk_EspCamDriver camera(waveshare_esp32_one,
+                            FRAMESIZE_96X96,
+                            PIXFORMAT_GRAYSCALE,
+                            &image);
 
-Und dem Konstruktor übergeben
+Falls notwendig kann das Bild gespiegelt werden
 
-    thk_EspCamDriver camera(&cameraconfig, &cameraerror, &image);
+    camera.set_hmirror(true);
+    camera.set_vflip(true);
 
 In der Setup()-Routine wird die Kamera initialisiert 
 
@@ -124,13 +91,12 @@ In der Loop()-Routine das Bild eingelesen,
 
     camera.take_picture(&image)
 
-und abschließend immer geschlossen (Speicher freigeben)
+und abschließend immer der Speicher freigeben
 
     camera.free_buffer(&image)
 
-Weitere Kamerainformationen
+Auf die Pixel des Bildes wird über den Bild-Buffer zugegriffen
 
-    image.width
-    image.height
     image.buf
-    image.buf_len
+    image.width
+    image.height
\ No newline at end of file
diff --git a/git_img.png b/git_img.png
new file mode 100644
index 0000000000000000000000000000000000000000..7605456752f4f99360f16301f57c730aa945e52b
Binary files /dev/null and b/git_img.png differ