diff --git a/README.md b/README.md
index 749bd59a04209dc6a3047b2a6f72933f348d640e..4fc6d9bc5deaae999ae4256fe9abdcb006aa32a2 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,60 @@
-# daisy-looper
+---
+software: daisyy-looper
+hardware: daisyy-hardware
+language: C++
+---
+# daisyy-looper
 
+![Photograph of the OLED-Screen on the daisyy](images/screen.jpg)
 
+*daisy-looper* is a software that can be installed on the [daisyy hardware](https://code.hfbk.net/sdiy/daisyy/daisyy-hardware) developed in the course *Synthesizer DIY* that took place during winter semester 2023/2024 at HFBK Hamburg.
+
+## Overview
+
+The looper allows you to record audio from the input and [overdub](https://en.wikipedia.org/wiki/Overdubbing) onto up to 5 different virtual "tapes" called *buffers*. The recorded sounds stored in each buffer will be displayed as a waveform and can be played back at different speeds (including reverse speed) or no speed at all.
+
+Just like with real tape the pitch of the played back sounds changes when the speed of the playhead changes. This can be used for interesting effects.
+
+
+
+## Interface
+
+![Mockup of the Daisy Looper Interface](images/interface.svg)  
+
+
+
+| Element        | Description                                                  |
+| -------------- | ------------------------------------------------------------ |
+| Loop Start     | Changes where the loop start position is within the current buffer |
+| Loop Length    | Changes the length of the loop                               |
+| Mix            | Mixes between incoming audio and the output of the looper<br>All the way to the left only the incoming (»dry«) audio is heard<br>All the way to the right only the looped (»wet«) audio is heard |
+| Speed          | Changes the speed of the playhead<br>With a centered knob the speed is 0% |
+| Input Gain     | Adjusts the level of the incoming audio before it gets converted to digital<br>The RGB-LED displays the incoming audio levels (red means it is clipping) |
+| Loop Volume*   | Adjusts the volume of the Loopers output                     |
+| Reverb Amount* | Mixes in a Reverb that affects both the incoming and the looped signal |
+| LFO Amount*    | Adjusts the Amount with which the LFO will affect the position of the playhead, this can lead to very mangled and experimental sounds |
+| Rec Menu       | Pressing and holding this button opens up the `REC MENU` where settings for the way things are recorded can be changed |
+| Play Menu      | Pressing and holding this button opens up the `PLAY MENU` where settings affecting the Playback can be changed |
+| FX Menu        | Pressing and holding this button opens up the `FX MENU` where certain aspects of the effects can be changed more in depth (e.g. Reverb Decay time, LFO-Waveform or Speed, etc.) |
+| REC Button     | Pressing this button records audio, overwriting/erasing sounds that are already there |
+| OVR Button     | Pressing this button overdubs audio, adding to sounds that are already there |
+| Buffer Menu    | Pressing and holding this button will let you change the currently active buffer, giving you a new, clean slate to record into |
+
+*Depending on the settings in the `FX MENU` this knob can have different functions
+
+## Menus
+
+### Play Menu
+
+![Illustration of the Options in the Play Menu](images/menu-play.jpg)  
+
+| What      | Options                           | Description                                                  |
+| --------- | --------------------------------- | ------------------------------------------------------------ |
+| Play Mode | Stop / <u>Loop</u> / Multi / MIDI | How the looper plays back audio:<br><b>Stop:</b> Don't play at all<br><b><u>Loop:</u></b> Play a loop with a single playhead (default)<br><b>Multi:</b> Play a loop with multiple playheads<br><b>MIDI:</b> Play only on incoming MIDI notes |
+| Mix Mode  | <u>Active</u> / Sum / Ring        | How the 5 available Buffers are mixed with each other<br><b><u>Active:</u></b> Only the currently active/visible buffer is heard (default)<br><b>Sum:</b> All buffers are heard, even if they are not visible<br><b>Ring:</b> All buffers are ring-modulated with the incoming audio (meaning only if *both* the input and our loop produce sounds we hear something) |
+| Restart   | -                                 | Press to jump the playhead back to the start of the loop     |
+| Slow Down | -                                 | Press and hold to start a vinyl-style slowdown               |
+| Reverse   | -                                 | Press and hold to reverse the playback                       |
 
-# What does the looper do?
 
-*daisy-looper* is a software that can be installed on the [daisyy hardware](/sdiy/daisyy/daisyy-hardware) developed in the course *Synthesizer DIY* that took place during winter semester 2023/2024 at HFBK Hamburg. The looper allows you to record audio present at the input and [overdub](https://en.wikipedia.org/wiki/Overdubbing) into up to 5 different virtual "tapes" called *buffers*. The recorded sounds stored in each buffer will be displayed as a waveform and can be played back at different speeds (including reverse speed). 
 
diff --git a/images/interface.svg b/images/interface.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cc2a94712adb20b5bf7bc18a0e6b904f4230ea78
--- /dev/null
+++ b/images/interface.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 555.59 262.2">
+  <defs>
+    <style>
+      .cls-1 {
+        letter-spacing: -.09em;
+      }
+
+      .cls-2 {
+        fill: none;
+      }
+
+      .cls-2, .cls-3 {
+        stroke: #1a171b;
+        stroke-miterlimit: 10;
+      }
+
+      .cls-4 {
+        letter-spacing: .03em;
+      }
+
+      .cls-5 {
+        letter-spacing: .05em;
+      }
+
+      .cls-6 {
+        letter-spacing: -.07em;
+      }
+
+      .cls-7 {
+        fill: #1a171b;
+        font-family: Inter-Regular, Inter;
+        font-size: 14px;
+      }
+
+      .cls-8 {
+        letter-spacing: -.03em;
+      }
+
+      .cls-9 {
+        letter-spacing: -.02em;
+      }
+
+      .cls-10 {
+        letter-spacing: -.03em;
+      }
+
+      .cls-3 {
+        fill: #fff;
+      }
+    </style>
+  </defs>
+  <rect class="cls-3" x="226.77" y="26.93" width="89.29" height="56.69"/>
+  <circle class="cls-3" cx="398.27" cy="36.85" r="17.01"/>
+  <polyline class="cls-2" points="395.43 19.84 395.43 32.6 401.1 32.6 401.1 19.84"/>
+  <text class="cls-7" transform="translate(419.53 41.36)"><tspan x="0" y="0">INPUT </tspan><tspan class="cls-9" x="46.44" y="0">G</tspan><tspan x="56.52" y="0">AIN</tspan></text>
+  <circle class="cls-3" cx="398.27" cy="97.32" r="17.01"/>
+  <polyline class="cls-2" points="395.43 80.31 395.43 93.07 401.1 93.07 401.1 80.31"/>
+  <text class="cls-7" transform="translate(419.53 101.84)"><tspan class="cls-10" x="0" y="0">L</tspan><tspan x="7.48" y="0">OOP </tspan><tspan class="cls-8" x="41.62" y="0">V</tspan><tspan x="50.61" y="0">OLUME*</tspan></text>
+  <circle class="cls-3" cx="398.27" cy="157.8" r="17.01"/>
+  <polyline class="cls-2" points="395.43 140.79 395.43 153.54 401.1 153.54 401.1 140.79"/>
+  <text class="cls-7" transform="translate(419.53 162.31)"><tspan x="0" y="0">REVERB AMOUN</tspan><tspan class="cls-8" x="110.97" y="0">T</tspan><tspan x="119.48" y="0">*</tspan></text>
+  <circle class="cls-3" cx="398.27" cy="218.27" r="17.01"/>
+  <polyline class="cls-2" points="395.43 201.26 395.43 214.02 401.1 214.02 401.1 201.26"/>
+  <text class="cls-7" transform="translate(419.53 222.78)"><tspan x="0" y="0">LFO AMOUN</tspan><tspan class="cls-8" x="84.5" y="0">T</tspan><tspan x="93.01" y="0">*</tspan></text>
+  <circle class="cls-3" cx="144.57" cy="36.85" r="17.01"/>
+  <polyline class="cls-2" points="141.73 19.84 141.73 32.6 147.4 32.6 147.4 19.84"/>
+  <text class="cls-7" transform="translate(37.56 41.36)"><tspan class="cls-10" x="0" y="0">L</tspan><tspan x="7.48" y="0">OOP S</tspan><tspan class="cls-1" x="50.55" y="0">T</tspan><tspan x="58.35" y="0">ART</tspan></text>
+  <circle class="cls-3" cx="144.57" cy="97.32" r="17.01"/>
+  <polyline class="cls-2" points="141.73 80.31 141.73 93.07 147.4 93.07 147.4 80.31"/>
+  <text class="cls-7" transform="translate(24.67 101.84)"><tspan class="cls-10" x="0" y="0">L</tspan><tspan x="7.48" y="0">OOP LEN</tspan><tspan class="cls-4" x="68.41" y="0">G</tspan><tspan x="79.29" y="0">TH</tspan></text>
+  <circle class="cls-3" cx="144.57" cy="157.8" r="17.01"/>
+  <polyline class="cls-2" points="141.73 140.79 141.73 153.54 147.4 153.54 147.4 140.79"/>
+  <text class="cls-7" transform="translate(97.85 162.31)"><tspan x="0" y="0">MIX</tspan></text>
+  <circle class="cls-3" cx="144.57" cy="218.27" r="17.01"/>
+  <polyline class="cls-2" points="141.73 201.26 141.73 214.02 147.4 214.02 147.4 201.26"/>
+  <text class="cls-7" transform="translate(78.68 222.78)"><tspan x="0" y="0">SPEED</tspan></text>
+  <circle class="cls-3" cx="358.58" cy="36.85" r="4.25"/>
+  <rect class="cls-3" x="187.09" y="178.58" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
+  <text class="cls-7" transform="translate(200.01 194.43)"><tspan x="0" y="0">REC</tspan></text>
+  <rect class="cls-3" x="243.78" y="178.58" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
+  <text class="cls-7" transform="translate(256.16 194.43)"><tspan class="cls-8" x="0" y="0">O</tspan><tspan x="10.18" y="0">VR</tspan></text>
+  <rect class="cls-3" x="301.89" y="178.58" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
+  <text class="cls-7" transform="translate(308.92 194.43)"><tspan x="0" y="0">BUF</tspan><tspan class="cls-8" x="27.7" y="0">F</tspan><tspan x="35.44" y="0">.</tspan><tspan x="-1.38" y="16.8">MENU</tspan></text>
+  <rect class="cls-3" x="187.09" y="121.89" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
+  <text class="cls-7" transform="translate(200.01 137.74)"><tspan x="0" y="0">REC</tspan><tspan x="-7.28" y="16.8">MENU</tspan></text>
+  <rect class="cls-3" x="243.78" y="121.89" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
+  <text class="cls-7" transform="translate(252.88 137.74)"><tspan x="0" y="0">P</tspan><tspan class="cls-5" x="8.89" y="0">L</tspan><tspan class="cls-6" x="17.4" y="0">A</tspan><tspan x="25.83" y="0">Y </tspan><tspan x="-3.46" y="16.8">MENU</tspan></text>
+  <rect class="cls-3" x="301.89" y="121.89" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
+  <text class="cls-7" transform="translate(319.96 137.74)"><tspan x="0" y="0">FX</tspan><tspan x="-12.43" y="16.8">MENU</tspan></text>
+</svg>
\ No newline at end of file
diff --git a/images/menu-play.jpg b/images/menu-play.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7a99ec10eb100cbaa1b6b776ff6b5f21455d37df
Binary files /dev/null and b/images/menu-play.jpg differ
diff --git a/images/screen.jpg b/images/screen.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f6db00f963db3bb11f7e7537022ef3688f27733b
Binary files /dev/null and b/images/screen.jpg differ