diff --git a/quad/Makefile b/quad/Makefile
index ca04300af8cb6b1e97c8339b9e85fabd3a47b75e..d7e660d5292189ea4518b76079cdc2ac90893d33 100644
--- a/quad/Makefile
+++ b/quad/Makefile
@@ -18,16 +18,15 @@ libs:
 	$(MAKE) -C src/commands
 	$(MAKE) -C src/quad_app
 
-bins:
-	$(MAKE) -C src/virt_quad
+bins: libs
+	$(MAKE) -C src/virt_quad clean default
+	$(MAKE) -C src/gen_diagram clean default
 
 zybo:
 	bash scripts/build_zybo.sh
 
 # For creating an image of the control network.
-diagram:
-	$(MAKE) libs
-	$(MAKE) -C src/gen_diagram run
+diagram: bins
 	bash src/gen_diagram/create_png.sh
 
 boot: $(BOOT)
diff --git a/quad/src/gen_diagram/Makefile b/quad/src/gen_diagram/Makefile
index d0b152511bb15d8d9f4a10ba851b8c8152bb37a2..c9b2f683d2857f7435fdd615f8ba05334d49c9af 100644
--- a/quad/src/gen_diagram/Makefile
+++ b/quad/src/gen_diagram/Makefile
@@ -1,3 +1,5 @@
+# Running this make file directly will not re-link with quad_app, even if it has changed
+# You should run `make diagram` from the top-level quad folder
 TOP=../..
 
 NAME = gen_diagram
diff --git a/quad/src/gen_diagram/create_png.sh b/quad/src/gen_diagram/create_png.sh
index dae08313279d6dcc2c9f10d544f2308ace38d931..5c4a2939cf9eda23eb267bc95ca3e6818ce4e846 100755
--- a/quad/src/gen_diagram/create_png.sh
+++ b/quad/src/gen_diagram/create_png.sh
@@ -1,4 +1,6 @@
 #/bin/bash
 
-dot -Tpng "$(dirname $0)/network.dot" -o "$(dirname $0)/network.png"
+cd $(dirname $0)
+./../../bin/gen_diagram
+dot -Tpng network.dot -o network.png
 
diff --git a/quad/src/gen_diagram/network.dot b/quad/src/gen_diagram/network.dot
index b61a1bbf57d09f7e7f9e9c0610766487446e9067..862aace068984b2f3bddf264eb8873d092ef1a27 100644
--- a/quad/src/gen_diagram/network.dot
+++ b/quad/src/gen_diagram/network.dot
@@ -7,7 +7,7 @@ label="<f0>Roll PID  |<f1> --\>Cur point |<f2> --\>Setpoint |<f3> --\>dt |<f4> [
 "Ts_IMU" -> "Roll PID":f3 [label="Constant"]
 "Pitch PID"[shape=record
 label="<f0>Pitch PID  |<f1> --\>Cur point |<f2> --\>Setpoint |<f3> --\>dt |<f4> [Kp=15.000] |<f5> [Ki=0.000] |<f6> [Kd=0.200] |<f7> [alpha=0.000]"]
-"Pitch" -> "Pitch PID":f1 [label="Constant"]
+"Pitch trim add" -> "Pitch PID":f1 [label="Sum"]
 "RC Pitch" -> "Pitch PID":f2 [label="Constant"]
 "Ts_IMU" -> "Pitch PID":f3 [label="Constant"]
 "Yaw PID"[shape=record
@@ -65,6 +65,12 @@ label="<f0>Pitch  |<f1> [Constant=0.000]"]
 label="<f0>Roll  |<f1> [Constant=0.000]"]
 "Yaw"[shape=record
 label="<f0>Yaw  |<f1> [Constant=0.000]"]
+"Pitch trim"[shape=record
+label="<f0>Pitch trim  |<f1> [Constant=0.000]"]
+"Pitch trim add"[shape=record
+label="<f0>Pitch trim add  |<f1> --\>Summand 1 |<f2> --\>Summand 2"]
+"Pitch trim" -> "Pitch trim add":f1 [label="Constant"]
+"Pitch" -> "Pitch trim add":f2 [label="Constant"]
 "dTheta"[shape=record
 label="<f0>dTheta  |<f1> [Constant=0.000]"]
 "dPhi"[shape=record
@@ -72,13 +78,13 @@ label="<f0>dPhi  |<f1> [Constant=0.000]"]
 "dPsi"[shape=record
 label="<f0>dPsi  |<f1> [Constant=0.000]"]
 "P PWM Clamp"[shape=record
-label="<f0>P PWM Clamp  |<f1> --\>Bounds in |<f2> [Min=-20000.000] |<f3> [Max=20000.000]"]
+label="<f0>P PWM Clamp  |<f1> --\>Bounds in |<f2> [Min=-30000.000] |<f3> [Max=30000.000]"]
 "Pitch Rate PID" -> "P PWM Clamp":f1 [label="Correction"]
 "R PWM Clamp"[shape=record
-label="<f0>R PWM Clamp  |<f1> --\>Bounds in |<f2> [Min=-20000.000] |<f3> [Max=20000.000]"]
+label="<f0>R PWM Clamp  |<f1> --\>Bounds in |<f2> [Min=-30000.000] |<f3> [Max=30000.000]"]
 "Roll Rate PID" -> "R PWM Clamp":f1 [label="Correction"]
 "Y PWM Clamp"[shape=record
-label="<f0>Y PWM Clamp  |<f1> --\>Bounds in |<f2> [Min=-20000.000] |<f3> [Max=20000.000]"]
+label="<f0>Y PWM Clamp  |<f1> --\>Bounds in |<f2> [Min=-30000.000] |<f3> [Max=30000.000]"]
 "Yaw Rate PID" -> "Y PWM Clamp":f1 [label="Correction"]
 "VRPN X"[shape=record
 label="<f0>VRPN X  |<f1> [Constant=0.000]"]
diff --git a/quad/src/gen_diagram/network.png b/quad/src/gen_diagram/network.png
index ffd286cda1878bd5e2b9b585f5883ac57173025d..65999177c759abd9b73da5ee19f7b4fea3b766e4 100644
Binary files a/quad/src/gen_diagram/network.png and b/quad/src/gen_diagram/network.png differ