got everything working at 1.5Mbaud (woohoo!!)
diff --git a/bbb_cape/src/bbb/uart_reader_main.cc b/bbb_cape/src/bbb/uart_reader_main.cc
index 475d354..e3f4f9d 100644
--- a/bbb_cape/src/bbb/uart_reader_main.cc
+++ b/bbb_cape/src/bbb/uart_reader_main.cc
@@ -23,8 +23,7 @@
   reset_pin.MakeOutput();
 #endif
 
-  //::bbb::UartReader receiver(3000000);
-  ::bbb::UartReader receiver(30000);
+  ::bbb::UartReader receiver(1500000);
 
   Time last_packet_time = Time::Now();
   while (true) {
diff --git a/bbb_cape/src/cape/cows.c b/bbb_cape/src/cape/cows.c
index bad2b30..cdabaac 100644
--- a/bbb_cape/src/cape/cows.c
+++ b/bbb_cape/src/cape/cows.c
@@ -42,7 +42,7 @@
 
   while (source_index < ((source_length - 1) / 4) + 1) {
     code = source[source_index];
-    if (source_index + code > source_length && code != 1) {
+    if (source_index + code > source_length / 4 && code != 1) {
       return 0;
     }
 
diff --git a/bbb_cape/src/cape/fill_packet.c b/bbb_cape/src/cape/fill_packet.c
index 4ff5b38..32e59a3 100644
--- a/bbb_cape/src/cape/fill_packet.c
+++ b/bbb_cape/src/cape/fill_packet.c
@@ -89,7 +89,6 @@
   led_set(LED_ERR, 0);
   //gyro_init();
 
-  //uart_common_configure(3000000);
-  uart_common_configure(30000);
+  uart_common_configure(1500000);
   uart_dma_configure(DATA_STRUCT_SEND_SIZE, buffer1, buffer2);
 }
diff --git a/bbb_cape/src/cape/uart_common.c b/bbb_cape/src/cape/uart_common.c
index 7b05102..3b8cd9a 100644
--- a/bbb_cape/src/cape/uart_common.c
+++ b/bbb_cape/src/cape/uart_common.c
@@ -11,7 +11,7 @@
 void uart_common_configure(int baud) {
   gpio_setup_alt(GPIOA, 9, 7);
   gpio_setup_alt(GPIOA, 10, 7);
-  //GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR9;  // we want to go FAST!
+  GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR9;  // we want to go FAST!
   RCC->APB2ENR |= RCC_APB2ENR_UARTEN;
 
   // baud = 60MHz / kMultiplier * (whole_part + fraction / kMultiplier))
diff --git a/bbb_cape/src/flasher/stm32_flasher.cc b/bbb_cape/src/flasher/stm32_flasher.cc
index 35d95a7..ddddb1b 100644
--- a/bbb_cape/src/flasher/stm32_flasher.cc
+++ b/bbb_cape/src/flasher/stm32_flasher.cc
@@ -28,7 +28,9 @@
   }
   ::std::string target = argv[1];
 
-  ::std::string device = "/dev/ttyUSB0";
+  //::std::string device = "/dev/ttyUSB0";
+  // TODO(brians): Figure out an intelligent way to set the device to use.
+  ::std::string device = "/dev/ttyO1";
   serial_baud_t baud_rate = SERIAL_BAUD_57600;
 
   ::std::string filename =