got everything working at 1.5Mbaud (woohoo!!)
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))