diff --git a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.h b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.h
index 9e30ddb024b0f247fdac100f71a5e15e965a4845..aef58b58e95c1c5ae08e0ea18a35b2ddb8138241 100644
--- a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.h
+++ b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.h
@@ -64,5 +64,6 @@ struct SystemDriver create_zybo_system();
 
 int test_zybo_i2c();
 int test_zybo_mio7_led_and_system();
+int test_zybo_pwm_inputs();
 
 #endif
diff --git a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c
index 7ec8c2ed5f2fc071ae9cf4fb2f9d3879371ba0b9..4cf1ae4d8cf1844b3f24fec38e8d6aff249f5289 100644
--- a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c
+++ b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c
@@ -70,4 +70,33 @@ int test_zybo_i2c() {
   return 0;
 }
 
+/**
+ * Test for the PWMInputDriver.
+ *
+ * Instructions:
+ * 1) Connect the quad Zybo board to computer using USB.
+ * 2) Move jump on Zybo board to use JTAG instead of SD.
+ * 3) Turn on Zybo board and turn on Spektrum handheld controller.
+ *   - Verify receiver on quad pairs with controller (orange LED should turn on)
+ * 3) Place breakpoint somewhere in the while loop of this function.
+ * 4) Set the RUN_TESTS macro in main.c
+ * 5) Uncomment only this test in main.c
+ * 6) Debug main.
+ * 7) Observe the values of pwm_inputs in debugger chaning as you use the
+ *    Spektrum RC controller.
+ */
+int test_zybo_pwm_inputs() {
+  struct PWMInputDriver pwm_inputs = create_zybo_pwm_inputs();
+  pwm_inputs.reset(&pwm_inputs);
+
+  unsigned long pwms[6];
+  while (1) {
+    int i;
+    for (i = 0; i < 6; i += 1) {
+      pwm_inputs.read(&pwm_inputs, i, &pwms[i]);
+    }
+    int temp = 0;
+  }
+}
+
 
diff --git a/quad/xsdk_workspace/modular_quad_pid/src/main.c b/quad/xsdk_workspace/modular_quad_pid/src/main.c
index c62e717ed23e50ad696da047d3de139fb2da920e..b0b7ccf45778a8c70cce6a5475419e04e6ee951c 100644
--- a/quad/xsdk_workspace/modular_quad_pid/src/main.c
+++ b/quad/xsdk_workspace/modular_quad_pid/src/main.c
@@ -14,6 +14,7 @@ int setup_hardware(hardware_t *hardware) {
   hardware->global_timer = create_zybo_global_timer();
   hardware->axi_timer = create_zybo_axi_timer();
   hardware->mio7_led = create_zybo_mio7_led();
+  hardware->sys = create_zybo_system();
   return 0;
 }
 
@@ -23,9 +24,9 @@ int main()
   init_platform();
 
 #ifdef RUN_TESTS
-  test_zybo_mio7_led_and_system();
+  //test_zybo_mio7_led_and_system();
   //test_zybo_i2c();
-  //test_zybo_pwm_inputs();
+  test_zybo_pwm_inputs();
   //test_zybo_pwm_outputs();
   //test_zybo_uart();
   //test_zybo_axi_timer();