diff --git a/docs/images/software_architecture.png b/docs/images/software_architecture.png
new file mode 100644
index 000000000..107240f1d
Binary files /dev/null and b/docs/images/software_architecture.png differ
diff --git a/docs/images/software_architecture.svg b/docs/images/software_architecture.svg
new file mode 100644
index 000000000..8d1092b28
--- /dev/null
+++ b/docs/images/software_architecture.svg
@@ -0,0 +1,5490 @@
+
+
+
+
diff --git a/docs/index.rst b/docs/index.rst
index 8b07f7acb..75ed6eceb 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -57,7 +57,7 @@ Crazyswarm's academic origins
The Crazyswarm architecture, including some motivation for the design decisions, is described in
`our paper `_ [pdf].
-A talk at the `Aerial Swarms Workshop `_ at IROS 2019 includes a primer on how to use the Crazyswarm and a bibliography of papers using the Crazyswarm: `Slides `_ [pdf].
+A talk at the `BAM days 2021 `_ includes a primer on how to use the Crazyswarm and a bibliography of papers using the Crazyswarm: `Slides `__ [pdf], `Video `__ [youtube].
If you use our work in academic research, please cite us:
@@ -90,6 +90,7 @@ Contents
changelog
gettingstarted
installation
+ overview
configuration
tutorials/tutorials
howto/howto
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644
index 000000000..98992dcb0
--- /dev/null
+++ b/docs/overview.rst
@@ -0,0 +1,29 @@
+.. _overview:
+
+Overview
+========
+
+Crazyswarm has the following software architecture.
+
+ .. figure:: images/software_architecture.png
+ :align: center
+ :scale: 50%
+
+
+- **crazyflie_tools**
+ These are command line tools that can be used using `rosrun crazyflie_tools `. These tools include methods to list logging variables, parameters, and to reboot individual crazyflies.
+- **crazyswarm_server**
+ This application is the core of the Crazyswarm. It provides the ROS interface, communicates with the robots and the motion capture system.
+- **pycrazyswarm**
+ This is a simplified Python library to use the Crazyswarm. It has two backends: the physical backend (communicating with the crazyswarm_server) and the simulation backend. The simulator uses parts of the official firmware for software-in-the-loop simulation. For performance reasons, the simulation does not include the dynamics and rather visualizes the setpoints.
+- **Helper libraries**
+ We provide a unified interface for different motion capture systems (`libMotionCapture`), a way to track rigid bodies frame-by-frame even with unique marker configurations (`libObjectTracker`), and a library for the low-level communication with the Crazyflie robots (`crazyflie_cpp`).
+
+More Information
+----------------
+
+- Talk at the `BAM days 2021 `__
+ * `Slides `__ [pdf].
+ * `Video `__ [youtube].
+- Talk at the `Aerial Swarms Workshop `__ at IROS 2019
+ * `Slides `__ [pdf].