diff --git a/bbb_cape/src/cape/Makefile b/bbb_cape/src/cape/Makefile
index 101552a..244d160 100644
--- a/bbb_cape/src/cape/Makefile
+++ b/bbb_cape/src/cape/Makefile
@@ -32,12 +32,13 @@
 OBJECTS_main := main \
 	uart_common \
 	uart_dma \
+	uart \
 	fill_packet \
 	cows \
 
 OBJECTS_bootloader := bootloader \
 	uart_common \
-	uart \
+	uart_byte \
 
 OUTPUTS := main bootloader
 
diff --git a/bbb_cape/src/cape/fill_packet.c b/bbb_cape/src/cape/fill_packet.c
index fe0bb2c..e8516a9 100644
--- a/bbb_cape/src/cape/fill_packet.c
+++ b/bbb_cape/src/cape/fill_packet.c
@@ -5,6 +5,7 @@
 #include <STM32F2XX.h>
 
 #include "cape/uart_dma.h"
+#include "cape/uart_common.h"
 #include "cape/cows.h"
 
 static uint8_t buffer1[DATA_STRUCT_SEND_SIZE] __attribute__((aligned(4)));
@@ -39,5 +40,6 @@
 void fill_packet_start(void) {
   RCC->AHB1ENR |= RCC_AHB1ENR_CRCEN;
 
-  uart_dma_configure(3000000, DATA_STRUCT_SEND_SIZE, buffer1, buffer2);
+  uart_common_configure(3000000);
+  uart_dma_configure(DATA_STRUCT_SEND_SIZE, buffer1, buffer2);
 }
diff --git a/bbb_cape/src/cape/peripherial_usage.notes b/bbb_cape/src/cape/peripherial_usage.notes
index ee5c0a8..5f361f7 100644
--- a/bbb_cape/src/cape/peripherial_usage.notes
+++ b/bbb_cape/src/cape/peripherial_usage.notes
@@ -5,12 +5,15 @@
 with choosing things like timers.
 
 [BBB communication]
-USART1
-uart.[ch]
+uart_common
+  USART1
+uart
   USART1_IRQ:3
-uart_dma.[ch]
+uart_dma
   DMA2.7:2
   DMA2.7_IRQ:6
+uart_byte
+  TIM7
 
 [gyro communication]
 SPI3
@@ -19,10 +22,10 @@
 SPI2
 
 [encoders]
-encoder.c
+encoder
   TIM1,TIM2,TIM3,TIM4,TIM5,TIM8
 
 [sensor packet sending]
-fill_packet.c
+fill_packet
   TIM6
   CRC
diff --git a/bbb_cape/src/cape/uart.c b/bbb_cape/src/cape/uart.c
index 45fa744..63620ab 100644
--- a/bbb_cape/src/cape/uart.c
+++ b/bbb_cape/src/cape/uart.c
@@ -43,8 +43,7 @@
   }
 }
 
-void uart_configure(int baud) {
-  uart_common_configure(baud);
+void uart_configure(void) {
   NVIC_SetPriority(USART1_IRQn, 3);
   NVIC_EnableIRQ(USART1_IRQn);
 }
diff --git a/bbb_cape/src/cape/uart.h b/bbb_cape/src/cape/uart.h
index 7ed24f4..fd43c99 100644
--- a/bbb_cape/src/cape/uart.h
+++ b/bbb_cape/src/cape/uart.h
@@ -6,8 +6,8 @@
 // This file deals with USART1. It sends bytes from a buffer or receives bytes
 // into a buffer and then calls a callback function.
 
-// See uart_common_configure in uart_common.h for details.
-void uart_configure(int baud);
+// uart_common_configure must be called before this.
+void uart_configure(void);
 
 // Callbacks to be implemented by the user.
 // Implemented as weak symbols that do nothing by default.
diff --git a/bbb_cape/src/cape/uart_byte.c b/bbb_cape/src/cape/uart_byte.c
new file mode 100644
index 0000000..76297e3
--- /dev/null
+++ b/bbb_cape/src/cape/uart_byte.c
@@ -0,0 +1,31 @@
+#include "cape/uart_byte.h"
+#include "cape/uart_common_private.h"
+
+#include <STM32F2XX.h>
+
+#define TIMEOUT_TIM TIM7
+
+void uart_byte_configure(void) {
+  TIMEOUT_TIM->CR1 = TIM_CR1_UDIS;
+}
+
+int uart_byte_receive(uint16_t timeout_count, uint16_t timeout_divider) {
+  TIMEOUT_TIM->PSC = timeout_divider;
+  TIMEOUT_TIM->EGR = TIM_EGR_UG;
+  TIMEOUT_TIM->CR1 |= TIM_CR1_CEN;
+
+  while ((UART->SR & USART_SR_RXNE) == 0) {
+    if (TIMEOUT_TIM->CNT >= timeout_count) {
+      TIMEOUT_TIM->CR1 &= ~TIM_CR1_CEN;
+      return -1;
+    }
+  }
+
+  TIMEOUT_TIM->CR1 &= ~TIM_CR1_CEN;
+  return UART->DR;
+}
+
+void uart_byte_send(uint8_t value) {
+  while ((UART->SR & USART_SR_TXE) == 0) {}
+  UART->DR = value;
+}
diff --git a/bbb_cape/src/cape/uart_byte.h b/bbb_cape/src/cape/uart_byte.h
new file mode 100644
index 0000000..7aa7f43
--- /dev/null
+++ b/bbb_cape/src/cape/uart_byte.h
@@ -0,0 +1,17 @@
+#ifndef CAPE_UART_BYTE_H_
+#define CAPE_UART_BYTE_H_
+
+#include <stdint.h>
+
+// uart_common_configure must be called before this.
+void uart_byte_configure(void);
+
+// Spins until 1 byte is received or some amount of time. The timeout is
+// timeout_count*timeout_divider/30MHz.
+// The result is <0 for timeout or the received byte.
+int uart_byte_receive(uint16_t timeout_count, uint16_t timeout_divider);
+
+// Spins until 1 byte can be written out.
+void uart_byte_send(uint8_t value);
+
+#endif  // CAPE_UART_BYTE_H_
diff --git a/bbb_cape/src/cape/uart_dma.c b/bbb_cape/src/cape/uart_dma.c
index 4b2ec45..4d4da1c 100644
--- a/bbb_cape/src/cape/uart_dma.c
+++ b/bbb_cape/src/cape/uart_dma.c
@@ -37,10 +37,7 @@
   }
 }
 
-void uart_dma_configure(int baud, int bytes,
-                        uint8_t *buffer1_in, uint8_t *buffer2_in) {
-  uart_common_configure(baud);
-
+void uart_dma_configure(int bytes, uint8_t *buffer1_in, uint8_t *buffer2_in) {
   buffer1 = buffer1_in;
   buffer2 = buffer2_in;
   uart_dma_callback(buffer1);
diff --git a/bbb_cape/src/cape/uart_dma.h b/bbb_cape/src/cape/uart_dma.h
index 83e7637..cc68eed 100644
--- a/bbb_cape/src/cape/uart_dma.h
+++ b/bbb_cape/src/cape/uart_dma.h
@@ -12,10 +12,9 @@
 // new_buffer is the buffer that should be filled out to be written next.
 void uart_dma_callback(uint8_t *new_buffer);
 
-// See uart_common_configure in uart_common.h for details about baud.
+// uart_common_configure must be called before this.
 // bytes is the size off buffer1 and buffer2.
 // Calls uart_dma_callback twice (for each buffer) to get started.
-void uart_dma_configure(int baud, int bytes,
-                        uint8_t *buffer1, uint8_t *buffer2);
+void uart_dma_configure(int bytes, uint8_t *buffer1, uint8_t *buffer2);
 
 #endif  // CAPE_UART_DMA_H_
