diff --git a/arch/avr/src/at91uc3/at91uc3_internal.h b/arch/avr/src/at91uc3/at91uc3_internal.h
index bede4717fe54e23545aca1879b95e245df7553fd..45d523aedce1491ef9330efca99c814d48100485 100755
--- a/arch/avr/src/at91uc3/at91uc3_internal.h
+++ b/arch/avr/src/at91uc3/at91uc3_internal.h
@@ -92,6 +92,8 @@
  */
 
 #define GPIO_VALUE                 (1 << 10) /* Bit 10: Output value */
+#define GPIO_HIGH                  GPIO_VALUE
+#define GPIO_LOW                   (0)
 
 /* Input/Ouptut (Valid only if GPIO_ENABLE)
  * .... ..O. .... ....
diff --git a/configs/avr32dev1/include/board.h b/configs/avr32dev1/include/board.h
index 7931e352530aad318eb24c91ddd05813640a41ef..2ef9532f0f34274e8c46c4598a2068e8434b8a38 100755
--- a/configs/avr32dev1/include/board.h
+++ b/configs/avr32dev1/include/board.h
@@ -74,15 +74,18 @@
 #define PINMUX_USART1_TXD    PINMUX_USART1_TXD_1
 
 /* LED definitions ******************************************************************/
-
-#define LED_STARTED          0
-#define LED_HEAPALLOCATE     1
-#define LED_IRQSENABLED      2
-#define LED_STACKCREATED     3
-#define LED_INIRQ            4
-#define LED_SIGNAL           5
-#define LED_ASSERTION        6
-#define LED_PANIC            7
+/* The AVR32DEV1 board has 3 LEDs, two of which can be controlled through GPIO pins */
+
+                                /*    ON        OFF    */
+								/* LED1 LED2 LED1 LED2 */
+#define LED_STARTED          0  /* OFF  OFF  OFF  OFF  */
+#define LED_HEAPALLOCATE     0  /* OFF  OFF  OFF  OFF  */
+#define LED_IRQSENABLED      0  /* OFF  OFF  OFF  OFF  */
+#define LED_STACKCREATED     1  /* ON   OFF  OFF  OFF  */
+#define LED_INIRQ            2  /* ON   ON   ON   OFF  */
+#define LED_SIGNAL           2  /* ON   ON   ON   OFF  */
+#define LED_ASSERTION        2  /* ON   ON   ON   OFF  */
+#define LED_PANIC            2  /* ON   ON   ON   OFF  */
 
 /************************************************************************************
  * Public Types
diff --git a/configs/avr32dev1/src/avr32dev1_internal.h b/configs/avr32dev1/src/avr32dev1_internal.h
index 0388c01b86a616d5e72271b890da9a8a81cefe62..9a673ae0c441fe103256da3d75ae11b40cd7268d 100755
--- a/configs/avr32dev1/src/avr32dev1_internal.h
+++ b/configs/avr32dev1/src/avr32dev1_internal.h
@@ -49,6 +49,27 @@
  ************************************************************************************/
 
 /* AVRDEV1 GPIO Pin Definitions *****************************************************/
+/* LEDs
+ * 
+ * The AVR32DEV1 board has 3 LEDs, two of which can be controlled through GPIO pins.
+ *
+ * PIN 13  PA7  LED1
+ * PIN 14  PA8  LED2
+ */
+
+#define PINMUX_GPIO_LED1 (GPIO_ENABLE | GPIO_OUTPUT | GPIO_LOW | GPIO_PORTA | 7)
+#define PINMUX_GPIO_LED2 (GPIO_ENABLE | GPIO_OUTPUT | GPIO_LOW | GPIO_PORTA | 8)
+
+/* KEYs
+ *
+ * The AVR32DEV1 board has 3 KEYs, two of which can be sensed through GPIO pins.
+ *
+ * PIN 24  PB2  KEY1
+ * PIN 25  PB3  KEY2
+ */
+
+#define PINMUX_GPIO_KEY1 (GPIO_ENABLE | GPIO_INPUT | GPIO_PORTB | 2)
+#define PINMUX_GPIO_KEY2 (GPIO_ENABLE | GPIO_INPUT | GPIO_PORTB | 3)
 
 /************************************************************************************
  * Public Types
diff --git a/configs/avr32dev1/src/up_leds.c b/configs/avr32dev1/src/up_leds.c
index 5118ccde651f4c570ba09c027a95f32899a96686..ba29aeeb675528befc57a741eb044841f5e23289 100755
--- a/configs/avr32dev1/src/up_leds.c
+++ b/configs/avr32dev1/src/up_leds.c
@@ -105,7 +105,8 @@
 
 void up_ledinitialize(void)
 {
-# warning "Not implemented"
+  at91uc3_configgpio(PINMUX_GPIO_LED1);
+  at91uc3_configgpio(PINMUX_GPIO_LED2);
 }
 
 /****************************************************************************
@@ -114,7 +115,8 @@ void up_ledinitialize(void)
 
 void up_ledon(int led)
 {
-# warning "Not implemented"
+  at91uc3_gpiowrite(PINMUX_GPIO_LED1, (led != 0));
+  at91uc3_gpiowrite(PINMUX_GPIO_LED2, (led == 2));
 }
 
 /****************************************************************************
@@ -123,6 +125,7 @@ void up_ledon(int led)
 
 void up_ledoff(int led)
 {
-# warning "Not implemented"
+  at91uc3_gpiowrite(PINMUX_GPIO_LED1, (led == 2));
+  at91uc3_gpiowrite(PINMUX_GPIO_LED2, false);
 }
 #endif /* CONFIG_ARCH_LEDS */