diff --git a/docs/documentation.md b/docs/documentation.md
new file mode 100644
index 0000000..205a7ac
--- /dev/null
+++ b/docs/documentation.md
@@ -0,0 +1,72 @@
+# FT8 Receiver Documentation
+#### By Ryan Wans for Orbit Group 2022
+--- 
+## Table of Contents
+1. Introduction
+1.1. Introduction to FT8
+1.2. Architecture Overview
+1.3. Toolchain / Technology
+2. PDK Characterization
+3. Architecture Refinement
+4. Circuit Design and Simulation
+5. Layout and Verification
+6. Tapeout
+7. Sources
+
+## 1. Introduction
+### 1.1 &nbsp;&nbsp; Introduction to FT8
+FT8 is digital communication protocol used in amateur radio bands, most prominently from 7 to 70 MHz. It's use is rising in popularity due to its reliability in weak-signal conditions, low bandwidth, and simplicity. A minimum amount of hardware is needed to get an FT8 transceiver working, and this makes it appealing to application such as military and maritime usage. 
+
+### 1.2 &nbsp;&nbsp; Architecture Overview
+FT8 relies on a primarily digitally-driven architecture due to it's modulation scheme; 8-GFSK. However, due to its robust technical specification, a strong analog front-end is needed for successful operation. 
+
+[image of frontend]
+[caption]
+
+blahblah finish this
+
+### 1.3 &nbsp;&nbsp; Toolchain / Technology
+blah
+
+## 2. PDK Characterization
+Proper characterization of the PDK devices is paramount for accurate circuit design in future steps. Once values such as $g_m$ and $V_{TH}$ are obtained, processes like gm/Id design can be utilized to derive circuit topologies and values. 
+
+### Characterization of `nfet_01v8`
+
+#### 1. Sweep of $V_{GS}$
+[image of circuit]
+Start by placing a `sky130_fd_pr__nfet_01v8` device with the default parameter values into a new schematic in Xschem. Attach a voltage source V1 to the gate and another V2 to the drain. Ensure that the bulk and source are grounded. Also ensure that V2 or $V_{DS}$ is held at $V_{DD}/2$ or 0.9V. Create a new code block and run a dc sweep of V1.
+```spice 
+.control
+	dc V1 0 3 0.01
+.endc
+.saveall
+```
+Once the simulation has finished, run `plot -i(v2)` to view the drain current vs. $V_{GS}$ graph. This graph helps to give us the transconductance $g_m$ of the MOSFET, which indicates how efficiently the device can convert a voltage to a current. To derive this value from the simulation, you can either run the command `print @m.xm1.msky130_fd_pr__nfet_01v8[gm]` or use the typical analytical expression:
+```math
+$$g_{m} = \frac{\partial{I_D}}{\partial{}V_{GS}} = \mu_{n}C_{OX}\frac{W}{L}(V_{GS}-V_{TH}) = \frac{2I_D}{V_{GS}-V_{TH}} \tag*{(1)}$$
+```
+To find the threshold voltage $V_{TH}$ of the device, you can simply run the same command as above for the parameter: `print @m.xm1.msky130_fd_pr__nfet_01v8[vth]`
+
+#### 2. Sweep of $V_{DS}$
+[image of circuit]
+Using the same circuit as before, sweep V2 instead of V1 at varying V1 values. This aids in finding the saturation point for a given $V_{GS}$ and the behavior of $I_D$ beyond $V_{DSAT}$. The code for this may look like this:
+```spice
+.control
+	alter @V1[value] = 0.7 % start at Vth
+	dc V2 0 5 0.01
+	plot -i(v2)
+	alter @V1[value] = 1   % step to new Vgs value
+	...                    % continue changing Vgs
+	alter @V1[value] = 3
+	dc V2 0 5 0.01
+	plot -i(v2)
+.endc
+.saveall
+```
+For a given DC sweep, one can obtain the $V_{DSAT}$ value by running `print @m.xm1.msky130_fd_pr__nfet_01v8[vdsat]`. Or, use the expression $V_{DSAT}=V_{GS}-V_{TH}$. Now that the key values of the device have been extracted, one can now determine some other Figures of Merit, such as on resistance:
+$$R_{on}=[\mu_{n}C_{OX}\frac{W}{L}(V_{GS}-V_{TH})]^{-1} \tag*{(2)}$$
+And to determine the behavior of drain current past saturation:
+$$\int_0^LI_D\mathrm dx=\mu_{n}C_{OX}\int_0^{V_{GS}-V_{TH}}[V_{GS}-V_{TH}-V(x)]\mathrm dV\tag*{(3)}$$
+
+$$\therefore I_D=\frac{1}{2}\mu_nC_{OX}\frac{W}{L}(V_{GS}-V_{TH})^2(1+\lambda V_{DS}) \ \ \ \ \mathrm{for} \ V_{DS}>V_{DSAT} \tag*{(4)}$$
