diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..57f75d47c32ca3d3a0dd6c23d4b46383a5e853a3
--- /dev/null
+++ b/README.md
@@ -0,0 +1,58 @@
+XP-el Mikroprocessorprogrammeringskurs (MPPK)
+=============================================
+
+# Introduction
+
+Embedded systems are everywhere.
+
+Use-cases ranges from heavy industry to tiny sensors in your everyday life.
+
+# Hardware
+
+## ARM
+
+While your laptop/stationary computer most likely runs some `x86_64` CPU architecture,
+odds are your mobile phone is powered by an ARM processor.
+The ARM family of Reduced Instruction Set Computing (RISC) architectures is one of the most prevalent processor architectures.
+
+For more information: https://en.wikipedia.org/wiki/ARM_architecture
+
+## Registers, IO
+
+A typical way to access and interface with the hardware connected to your microcontroller is by accessing various registers, which is memory regions mapped to some hardware.
+
+# Software
+
+In order to instruct the hardware some sort of software is required.
+
+Software is the instructions for the ARM-processor, telling it which registers and what memory to modify.
+
+## Compiler
+
+## Toolchain
+
+### Git
+
+### Cargo-binutils
+
+```
+rustup component add llvm-tools-preview
+```
+
+### GDB / LLDB
+
+## Rust
+
+Installation
+
+https://rustup.rs/
+
+# Bare-metal programming
+
+## OpenOCD
+
+## ST-link
+
+## Blackmagic probe
+
+## GDB / LLDB Debugger