diff --git a/Documentation/epicardium.rst b/Documentation/epicardium/intro.rst
similarity index 83%
rename from Documentation/epicardium.rst
rename to Documentation/epicardium/intro.rst
index c852c41542059a149f138fa914bfa68b921bd85f..c42e89ef270ed802d086a8c3d538eb4bd67b8a8a 100644
--- a/Documentation/epicardium.rst
+++ b/Documentation/epicardium/intro.rst
@@ -1,9 +1,9 @@
-Epicardium
-==========
+Epicardium Intro
+================
 
-Epicardium is the main firmware.  It runs on core0 and is based on FreeRTOS.
-Epicardium provides an API to a payload running on the other core which exposes
-most functionality.  This section of the docs details this "Epicardium API".
+Epicardium is the main component of the firmware.  It runs on core0 and is
+based on FreeRTOS.  Epicardium provides an API to a payload running on the
+other core which exposes most functionality.
 
 The API functions follow the kernel convention of either returning a boolean if
 the function is a predicate or returning a success integer (with negative
@@ -33,8 +33,3 @@ values denoting errors) if it is an action or imperative command.  To quote:
       for success or -EBUSY for failure.  In the same way, ``PCI device present`` is
       a predicate, and the pci_dev_present() function returns 1 if it succeeds in
       finding a matching device or 0 if it doesn't.
-
-.. toctree::
-   :maxdepth: 1
-
-   epicardium/api
diff --git a/Documentation/index.rst b/Documentation/index.rst
index a4715997a83251eb7ab2beaea51ff74a2d3f65be..8a8d9ea2577c89596a79d7ce12dedfb6e4a4b5a6 100644
--- a/Documentation/index.rst
+++ b/Documentation/index.rst
@@ -12,7 +12,15 @@ The design roughly looks like this:
 
 .. toctree::
    :maxdepth: 2
-   :caption: Contents
+   :caption: Epicardium
 
-   epicardium
-   pycardium
+   epicardium/intro
+   epicardium/api
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Pycardium
+
+   pycardium/intro
+   pycardium/color
+   pycardium/leds
diff --git a/Documentation/pycardium.rst b/Documentation/pycardium.rst
deleted file mode 100644
index c51f7d9de3c733cea1767b4c8df8dc86bd34f4b7..0000000000000000000000000000000000000000
--- a/Documentation/pycardium.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Pycardium
-=========
-
-Pycardium is a core1 payload based on MicroPython.  It can interface with
-card10 using the Epicardium API, which is wrapped in a bunch of python modules.
-These modules are documented in this section.
-
-.. toctree::
-   :maxdepth: 1
-   :caption: Modules:
-
-   pycardium/color
-   pycardium/leds
diff --git a/Documentation/pycardium/intro.rst b/Documentation/pycardium/intro.rst
new file mode 100644
index 0000000000000000000000000000000000000000..503b07bd43debbd7bcf140741eef127c372cec9c
--- /dev/null
+++ b/Documentation/pycardium/intro.rst
@@ -0,0 +1,5 @@
+Pycardium Intro
+===============
+
+Pycardium is a core1 payload based on MicroPython.  It can interface with
+card10 using the Epicardium API, which is wrapped in a bunch of python modules.