diff --git a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c
index b5595e418f24a85953b50aa254c3cc4eda2d3837..3d1b6e19c626b3e0b4428afe4bd8db5a7e0c1d00 100644
--- a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c
+++ b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c
@@ -3,7 +3,7 @@
 #define THROTTLE_PULSE_WIDTH_LOW 100000 // 1us
 #define THROTTLE_PULSE_WIDTH_HIGH 200000 // 2us
 #define PERIOD_WIDTH 222222 // 100000000 ns / 450
-#define PULSE_WIDTH_ADDR_OFFSET 4
+#define PULSE_WIDTH_ADDR_OFFSET 1
 
 struct PWMOutputDriverState {
   int *outputs[4];
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 ca3583935249c2a96655e454a8d29999ad0182cf..0bff80a1f520b1b92967448b2539ad08e6004783 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
@@ -95,7 +95,7 @@ int test_zybo_pwm_inputs() {
     for (i = 0; i < 6; i += 1) {
       pwm_inputs.read(&pwm_inputs, i, &pwms[i]);
     }
-    int temp = 0;
+    continue;
   }
 }
 
@@ -117,18 +117,22 @@ int test_zybo_pwm_inputs() {
 int test_zybo_pwm_outputs() {
   struct PWMOutputDriver pwm_outputs = create_zybo_pwm_outputs();
   pwm_outputs.reset(&pwm_outputs);
+  struct SystemDriver sys = create_zybo_system();
+  sys.reset(&sys);
 
   unsigned long pwms[4];
-  pwms[0] = 1000;
-  pwms[1] = 1000;
-  pwms[2] = 1000;
-  pwms[3] = 1000;
+  pwms[0] = 100000;
+  pwms[1] = 100000;
+  pwms[2] = 100000;
+  pwms[3] = 100000;
+  int n = 0;
   while (1) {
     int i;
     for (i = 0; i < 4; i += 1) {
-      pwm_outputs.write(&pwm_outputs, i, pwms[i]);
+      pwm_outputs.write(&pwm_outputs, i, pwms[i] + n++);
+      sys.sleep(&sys, 50);
     }
-    int temp = 0;
+    continue;
   }
 }