diff --git a/src/serial.rs b/src/serial.rs
index 61fec94edd1fdaf568e4422be794ae6307dfafb7..e72ec830527d771241528a17bfe1361260f0d645 100644
--- a/src/serial.rs
+++ b/src/serial.rs
@@ -11,8 +11,9 @@ use core::marker::PhantomData;
 
 use hal::serial;
 use nb;
-use stm32f4x::USART2;
+use stm32f4x::{USART1, USART2, USART6};
 
+// usart2
 use gpio::gpioa::{PA2, PA3};
 // use gpio::gpiob::{PB10, PB11, PB6, PB7};
 // use gpio::gpioc::{PC10, PC11, PC4, PC5};
@@ -114,7 +115,7 @@ macro_rules! hal {
                     TX: TxPin<$USARTX>,
                     RX: RxPin<$USARTX>,
                 {
-                    // enable or reset $USARTX
+                    // enable and reset $USARTX
                     apb.enr().modify(|_, w| w.$usartXen().set_bit());
                     apb.rstr().modify(|_, w| w.$usartXrst().set_bit());
                     apb.rstr().modify(|_, w| w.$usartXrst().clear_bit());
@@ -242,12 +243,8 @@ macro_rules! hal {
     }
 }
 
-// hal! {
-//     USART1: (usart1, APB2, usart1en, usart1rst, pclk2),
-//     USART2: (usart2, APB1, usart2en, usart2rst, pclk1),
-//     USART3: (usart3, APB1, usart3en, usart3rst, pclk1),
-// }
-
 hal! {
+    USART1: (usart1, APB2, usart1en, usart1rst, pclk2),
     USART2: (usart2, APB1, usart2en, uart2rst, pclk1),
+    USART6: (usart6, APB2, usart6en, usart6rst, pclk2),
 }