diff --git a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h
index 28e7bc1..c48c2c1 100644
--- a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h
+++ b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h
@@ -33,8 +33,6 @@
 
 #include <stdint.h>
 
-extern int printf(const char *, ...);
-
 extern void UART_Configure( uint32_t dwBaudrate, uint32_t dwMasterClock ) ;
 extern void UART_PutChar( uint8_t uc ) ;
 extern uint32_t UART_GetChar( void ) ;
diff --git a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c
index 9fb7a4a..1c4cbd9 100644
--- a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c
+++ b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c
@@ -63,32 +63,6 @@
 /** Is Console Initialized. */
 static uint8_t _ucIsConsoleInitialized=0 ;
 
-extern void UART_PutString(const char *str, int len) {
-    int i;
-    for (i=0; i<len; i++) {
-        UART_PutChar(*str++);
-    }
-}
-
-extern int printf(const char *fmt, ...) 
-{
-    char *cmdp;
-    size_t ret = 0;
-
-    va_list va;
-    va_start(va, fmt);
-    ret = vasprintf(&cmdp, fmt, va);
-    va_end(va);
-
-    if (ret == strlen(cmdp)) {
-        UART_PutString(cmdp, strlen(cmdp));
-        free(cmdp);
-    } else {
-        return -1;
-    }
-    return ret;
-}
-
 /**
  * \brief Configures an USART peripheral with the specified parameters.
  *
