made it actually work on real hardware
diff --git a/bbb_cape/src/bbb/gpo.cc b/bbb_cape/src/bbb/gpo.cc
index f02ded3..d17abe7 100644
--- a/bbb_cape/src/bbb/gpo.cc
+++ b/bbb_cape/src/bbb/gpo.cc
@@ -3,6 +3,7 @@
 #include <stdio.h>
 #include <errno.h>
 #include <string.h>
+#include <unistd.h>
 
 #include "aos/common/logging/logging.h"
 
@@ -12,11 +13,13 @@
     : GpioPin(bank, pin, false, initial_value) {}
 
 void Gpo::Set(bool high) {
-  rewind(value_handle_);
-  if (fputc(high ? '1' : '0', value_handle_) < 0) {
+  // TODO(brians): Figure out why this breaks it.
+  //rewind(value_handle_);
+  if (fputc(high ? '1' : '0', value_handle_) == EOF) {
     LOG(FATAL, "fputc(%c, %p) for pin (%d,%d) failed with %d: %s\n",
         high ? '1': '0', value_handle_, bank_, pin_, errno, strerror(errno));
   }
+  sync();
 }
 
 }  // namespace bbb