diff --git a/Makefile b/Makefile
index 3d7e910ef731c963b9ecdc94dabfbdc99a8151f8..c2b71d716b0ee59e571c6cfbda37dac6ec39787f 100755
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,7 @@ TARGET_FILES+=src/scheduler.c
 TARGET_FILES+=src/stm32f1xx_hal_msp.c
 TARGET_FILES+=src/gpio.c
 TARGET_FILES+=src/adc_dma.c
+TARGET_FILES+=src/thresholds.c
 TARGET_PROCESSOR=STM32F103CB
 
 HAL_PATH=$(STM32_HAL_PATH)/f1
diff --git a/include/ir_feet_conf.h b/include/ir_feet_conf.h
index 80e834b9ee6f35e4beef770a1f05867d6117ce6c..05893eb9857e8b3fa95e2e556c9332dd31bb992c 100644
--- a/include/ir_feet_conf.h
+++ b/include/ir_feet_conf.h
@@ -8,6 +8,10 @@
 /* ADC registers base address */
 #define RAM_ADC_DMA_BASE_ADDRESS        ((unsigned short int)0x0020)
 
+/* threshold registers */
+#define EEPROM_THRESHOLDS_BASE_ADDRESS1 ((unsigned short int)0x0006)
+#define EEPROM_THRESHOLDS_BASE_ADDRESS2 ((unsigned short int)0x0011)
+
 #define EEPROM_NUM_VAR                  32
 
 #define DEFAULT_DEVICE_MODEL            0x000c
@@ -17,4 +21,16 @@
 #define DEFAULT_RETURN_DELAY            0x00
 #define DEFAULT_RETURN_LEVEL            0x02
 
+#define DEFAULT_DOWN_LEFT_MIDDLE_THRES    0x0C00
+#define DEFAULT_DOWN_LEFT_REAR_THRES      0x0C00
+#define DEFAULT_DOWN_ANALOG_THRES         0x0C00
+#define DEFAULT_DOWN_LEFT_FRONT_THRES     0x0C00
+#define DEFAULT_DOWN_RIGHT_REAR_THRES     0x0C00
+#define DEFAULT_DOWN_RIGHT_MIDDLE_THRES   0x0C00
+#define DEFAULT_DOWN_RIGHT_FRONT_THRES    0x0C00
+#define DEFAULT_FRONT_LEFT_THRES          0x0C00
+#define DEFAULT_FRONT_RIGHT_THRES         0x0C00
+#define DEFAULT_FRONT_ANALOG_THRES        0x0C00
+
+
 #endif
diff --git a/include/thresholds.h b/include/thresholds.h
new file mode 100644
index 0000000000000000000000000000000000000000..7744b4093e55219220b2c446f428f85e6a0d731f
--- /dev/null
+++ b/include/thresholds.h
@@ -0,0 +1,10 @@
+#ifndef _THRESHOLDS_H
+#define _THRESHOLDS_H
+
+#include "stm32f1xx.h"
+#include "memory.h"
+
+uint8_t thres_init(TMemory *memory);
+void thres_check(void);
+
+#endif
diff --git a/include/thresholds_registers.h b/include/thresholds_registers.h
new file mode 100644
index 0000000000000000000000000000000000000000..f5b042d0e59ce3446988bc5c07bd8e5d7e64f133
--- /dev/null
+++ b/include/thresholds_registers.h
@@ -0,0 +1,62 @@
+#ifndef _THRESHOLDS_REGISTERS_H
+#define _THRESHOLDS_REGISTERS_H
+
+#include "ir_feet_conf.h"
+
+#ifndef EEPROM_THRESHOLDS_BASE_ADDRESS1
+  #define EEPROM_THRESHOLDS_BASE_ADDRESS1     ((unsigned short int)0x0000)
+#endif
+
+#ifndef EEPROM_THRESHOLDS_BASE_ADDRESS2
+  #define EEPROM_THRESHOLDS_BASE_ADDRESS2     ((unsigned short int)0x0000)
+#endif
+
+#define EEPROM_THRESHOLDS_LENGTH1             10
+
+#define EEPROM_THRESHOLDS_LENGTH2             10
+
+#define DOWN_LEFT_MIDDLE_THRES              EEPROM_THRESHOLDS_BASE_ADDRESS1
+#define DOWN_LEFT_REAR_THRES                (EEPROM_THRESHOLDS_BASE_ADDRESS1+2)
+#define DOWN_ANALOG_THRES                   (EEPROM_THRESHOLDS_BASE_ADDRESS1+4)
+#define DOWN_LEFT_FRONT_THRES               (EEPROM_THRESHOLDS_BASE_ADDRESS1+6)
+#define DOWN_RIGHT_REAR_THRES               (EEPROM_THRESHOLDS_BASE_ADDRESS1+8)
+#define DOWN_RIGHT_MIDDLE_THRES             (EEPROM_THRESHOLDS_BASE_ADDRESS2)
+#define DOWN_RIGHT_FRONT_THRES              (EEPROM_THRESHOLDS_BASE_ADDRESS2+2)
+#define FRONT_LEFT_THRES                    (EEPROM_THRESHOLDS_BASE_ADDRESS2+4)
+#define FRONT_RIGHT_THRES                   (EEPROM_THRESHOLDS_BASE_ADDRESS2+6)
+#define FRONT_ANALOG_THRES                  (EEPROM_THRESHOLDS_BASE_ADDRESS2+8)
+
+#ifndef DEFAULT_DOWN_LEFT_MIDDLE_THRES
+  #define DEFAULT_DOWN_LEFT_MIDDLE_THRES    0x0000
+#endif
+#ifndef DEFAULT_DOWN_LEFT_REAR_THRES
+  #define DEFAULT_DOWN_LEFT_REAR_THRES      0x0000
+#endif
+#ifndef DEFAULT_DOWN_ANALOG_THRES
+  #define DEFAULT_DOWN_ANALOG_THRES         0x0000
+#endif
+#ifndef DEFAULT_DOWN_LEFT_FRONT_THRES
+  #define DEFAULT_DOWN_LEFT_FRONT_THRES     0x0000
+#endif
+#ifndef DEFAULT_DOWN_RIGHT_REAR_THRES
+  #define DEFAULT_DOWN_RIGHT_REAR_THRES     0x0000
+#endif
+
+#ifndef DEFAULT_DOWN_RIGHT_MIDDLE_THRES
+  #define DEFAULT_DOWN_RIGHT_MIDDLE_THRES   0x0000
+#endif
+#ifndef DEFAULT_DOWN_RIGHT_FRONT_THRES
+  #define DEFAULT_DOWN_RIGHT_FRONT_THRES    0x0000
+#endif
+#ifndef DEFAULT_FRONT_LEFT_THRES
+  #define DEFAULT_FRONT_LEFT_THRES          0x0000
+#endif
+#ifndef DEFAULT_FRONT_RIGHT_THRES
+  #define DEFAULT_FRONT_RIGHT_THRES         0x0000
+#endif
+#ifndef DEFAULT_FRONT_ANALOG_THRES
+  #define DEFAULT_FRONT_ANALOG_THRES        0x0000
+#endif
+
+#endif
+
diff --git a/src/gpio.c b/src/gpio.c
index 784ec57917b6239bfffaad8b83fcd0f0a6618862..4b4d7d3a2f28bdde407f891da6123de6f186f2dd 100644
--- a/src/gpio.c
+++ b/src/gpio.c
@@ -1,19 +1,19 @@
 #include "gpio.h"
 
 #define DOWN_RIGHT_FRONT_GPIO_CLK                __GPIOB_CLK_ENABLE()
-#define DOWN_RIGHT_FRONT_PIN                     GPIO_PIN_8
+#define DOWN_RIGHT_FRONT_PIN                     GPIO_PIN_11
 #define DOWN_RIGHT_FRONT_GPIO_PORT               GPIOB
 
 #define DOWN_RIGHT_REAR_GPIO_CLK                 __GPIOB_CLK_ENABLE()
-#define DOWN_RIGHT_REAR_PIN                      GPIO_PIN_9
+#define DOWN_RIGHT_REAR_PIN                      GPIO_PIN_10
 #define DOWN_RIGHT_REAR_GPIO_PORT                GPIOB
 
 #define DOWN_LEFT_REAR_GPIO_CLK                  __GPIOB_CLK_ENABLE()
-#define DOWN_LEFT_REAR_PIN                       GPIO_PIN_7
+#define DOWN_LEFT_REAR_PIN                       GPIO_PIN_8
 #define DOWN_LEFT_REAR_GPIO_PORT                 GPIOB
 
 #define DOWN_LEFT_MIDDLE_GPIO_CLK                __GPIOB_CLK_ENABLE()
-#define DOWN_LEFT_MIDDLE_PIN                     GPIO_PIN_11
+#define DOWN_LEFT_MIDDLE_PIN                     GPIO_PIN_9
 #define DOWN_LEFT_MIDDLE_GPIO_PORT               GPIOB
 
 #define DOWN_RIGHT_MIDDLE_GPIO_CLK               __GPIOB_CLK_ENABLE()
@@ -21,20 +21,20 @@
 #define DOWN_RIGHT_MIDDLE_GPIO_PORT              GPIOB
  
 #define DOWN_LEFT_FRONT_GPIO_CLK                 __GPIOB_CLK_ENABLE()
-#define DOWN_LEFT_FRONT_PIN                      GPIO_PIN_10
+#define DOWN_LEFT_FRONT_PIN                      GPIO_PIN_7
 #define DOWN_LEFT_FRONT_GPIO_PORT                GPIOB
 
-#define FRONT_LEFT_GPIO_CLK                      __GPIOC_CLK_ENABLE()
-#define FRONT_LEFT_PIN                           GPIO_PIN_15
-#define FRONT_LEFT_GPIO_PORT                     GPIOC
+#define FRONT_LEFT_GPIO_CLK                      __GPIOB_CLK_ENABLE()
+#define FRONT_LEFT_PIN                           GPIO_PIN_14
+#define FRONT_LEFT_GPIO_PORT                     GPIOB
 
 #define FRONT_RIGHT_GPIO_CLK                     __GPIOB_CLK_ENABLE()
-#define FRONT_RIGHT_PIN                          GPIO_PIN_14
+#define FRONT_RIGHT_PIN                          GPIO_PIN_13
 #define FRONT_RIGHT_GPIO_PORT                    GPIOB
 
-#define DOWN_ANALOG_GPIO_CLK                     __GPIOB_CLK_ENABLE()
-#define DOWN_ANALOG_PIN                          GPIO_PIN_13
-#define DOWN_ANALOG_GPIO_PORT                    GPIOB
+#define DOWN_ANALOG_GPIO_CLK                     __GPIOC_CLK_ENABLE()
+#define DOWN_ANALOG_PIN                          GPIO_PIN_15
+#define DOWN_ANALOG_GPIO_PORT                    GPIOC
 
 #define FRONT_ANALOG_GPIO_CLK                    __GPIOB_CLK_ENABLE()
 #define FRONT_ANALOG_PIN                         GPIO_PIN_12
diff --git a/src/main.c b/src/main.c
index d18bbe5b84868748545ba1622ea74f8b7e186385..fee7fa87176c8a59c52e0a0d813143bb1d613eeb 100755
--- a/src/main.c
+++ b/src/main.c
@@ -7,6 +7,7 @@
 #include "scheduler.h"
 #include "gpio.h"
 #include "adc_dma.h"
+#include "thresholds.h"
 
 TMemory ir_feet_memory;
 
@@ -30,6 +31,8 @@ int main(void)
   ir_feet_time_init();
   // initialize the dynamixel slave interface
   ir_feet_dyn_slave_init(&ir_feet_memory);
+  // initialize the thresholds module
+  thres_init(&ir_feet_memory);
   // initialize the Dynamixel RAM memory space
   ram_init(&ir_feet_memory);
 
@@ -37,6 +40,7 @@ int main(void)
 
   while(1)/* main function does not return */
   {
+    thres_check();
   }
 }
 
diff --git a/src/thresholds.c b/src/thresholds.c
new file mode 100755
index 0000000000000000000000000000000000000000..de27f8db1113da78cf78c23dc3cc063d4c7bd69b
--- /dev/null
+++ b/src/thresholds.c
@@ -0,0 +1,256 @@
+#include "thresholds.h"
+#include "thresholds_registers.h"
+#include "scheduler.h"
+#include "adc_dma.h"
+#include "gpio.h"
+#include "ram.h"
+
+uint16_t thres_eeprom_data[] __attribute__ ((section (".eeprom")))={DEFAULT_DOWN_LEFT_MIDDLE_THRES&0xFF,DOWN_LEFT_MIDDLE_THRES,
+                                                                    (DEFAULT_DOWN_LEFT_MIDDLE_THRES>>8)&0xFF,DOWN_LEFT_MIDDLE_THRES+1,
+                                                                    DEFAULT_DOWN_LEFT_REAR_THRES&0xFF,DOWN_LEFT_REAR_THRES,
+                                                                    (DEFAULT_DOWN_LEFT_REAR_THRES>>8)&0xFF,DOWN_LEFT_REAR_THRES+1,
+                                                                    DEFAULT_DOWN_ANALOG_THRES&0xFF,DOWN_ANALOG_THRES,
+                                                                    (DEFAULT_DOWN_ANALOG_THRES>>8)&0xFF,DOWN_ANALOG_THRES+1,
+                                                                    DEFAULT_DOWN_LEFT_FRONT_THRES&0xFF,DOWN_LEFT_FRONT_THRES,
+                                                                    (DEFAULT_DOWN_LEFT_FRONT_THRES>>8)&0xFF,DOWN_LEFT_FRONT_THRES+1,
+                                                                    DEFAULT_DOWN_RIGHT_REAR_THRES&0xFF,DOWN_RIGHT_REAR_THRES,
+                                                                    (DEFAULT_DOWN_RIGHT_REAR_THRES>>8)&0xFF,DOWN_RIGHT_REAR_THRES+1,
+                                                                    DEFAULT_DOWN_RIGHT_MIDDLE_THRES&0xFF,DOWN_RIGHT_MIDDLE_THRES,
+                                                                    (DEFAULT_DOWN_RIGHT_MIDDLE_THRES>>8)&0xFF,DOWN_RIGHT_MIDDLE_THRES+1,
+                                                                    DEFAULT_DOWN_RIGHT_FRONT_THRES&0xFF,DOWN_RIGHT_FRONT_THRES,
+                                                                    (DEFAULT_DOWN_RIGHT_FRONT_THRES>>8)&0xFF,DOWN_RIGHT_FRONT_THRES+1,
+                                                                    DEFAULT_FRONT_LEFT_THRES&0xFF,FRONT_LEFT_THRES,
+                                                                    (DEFAULT_FRONT_LEFT_THRES>>8)&0xFF,FRONT_LEFT_THRES+1,
+                                                                    DEFAULT_FRONT_RIGHT_THRES&0xFF,FRONT_RIGHT_THRES,
+                                                                    (DEFAULT_FRONT_RIGHT_THRES>>8)&0xFF,FRONT_RIGHT_THRES+1,
+                                                                    DEFAULT_FRONT_ANALOG_THRES&0xFF,FRONT_ANALOG_THRES, 
+                                                                    (DEFAULT_FRONT_ANALOG_THRES>>8)&0xFF,FRONT_ANALOG_THRES+1}; 
+
+/* memory module */
+TMemModule thres_mem_module;
+uint16_t thresholds[10];
+
+// private functions
+void thres_write_cmd(unsigned short int address,unsigned short int length,unsigned char *data)
+{
+  uint8_t *data_ptr;
+
+  if(ram_in_window(DOWN_LEFT_MIDDLE_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[0];
+    if(ram_in_range(DOWN_LEFT_MIDDLE_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_LEFT_MIDDLE_THRES-address];
+      ram_data[DOWN_LEFT_MIDDLE_THRES]=data[DOWN_LEFT_MIDDLE_THRES-address];
+    }
+    if(ram_in_range(DOWN_LEFT_MIDDLE_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_LEFT_MIDDLE_THRES+1-address];
+      ram_data[DOWN_LEFT_MIDDLE_THRES+1]=data[DOWN_LEFT_MIDDLE_THRES+1-address];
+    }
+  }
+  if(ram_in_window(DOWN_LEFT_REAR_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[1];
+    if(ram_in_range(DOWN_LEFT_REAR_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_LEFT_REAR_THRES-address];
+      ram_data[DOWN_LEFT_REAR_THRES]=data[DOWN_LEFT_REAR_THRES-address];
+    }
+    if(ram_in_range(DOWN_LEFT_REAR_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_LEFT_REAR_THRES+1-address];
+      ram_data[DOWN_LEFT_REAR_THRES+1]=data[DOWN_LEFT_REAR_THRES+1-address];
+    }
+  }
+  if(ram_in_window(DOWN_ANALOG_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[2];
+    if(ram_in_range(DOWN_ANALOG_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_ANALOG_THRES-address];
+      ram_data[DOWN_ANALOG_THRES]=data[DOWN_ANALOG_THRES-address];
+    }
+    if(ram_in_range(DOWN_ANALOG_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_ANALOG_THRES+1-address];
+      ram_data[DOWN_ANALOG_THRES+1]=data[DOWN_ANALOG_THRES+1-address];
+    }
+  }
+  if(ram_in_window(DOWN_LEFT_FRONT_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[3];
+    if(ram_in_range(DOWN_LEFT_FRONT_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_LEFT_FRONT_THRES-address];
+      ram_data[DOWN_LEFT_FRONT_THRES]=data[DOWN_LEFT_FRONT_THRES-address];
+    }
+    if(ram_in_range(DOWN_LEFT_FRONT_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_LEFT_FRONT_THRES+1-address];
+      ram_data[DOWN_LEFT_FRONT_THRES+1]=data[DOWN_LEFT_FRONT_THRES+1-address];
+    }
+  }
+  if(ram_in_window(DOWN_RIGHT_REAR_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[4];
+    if(ram_in_range(DOWN_RIGHT_REAR_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_RIGHT_REAR_THRES-address];
+      ram_data[DOWN_RIGHT_REAR_THRES]=data[DOWN_RIGHT_REAR_THRES-address];
+    }
+    if(ram_in_range(DOWN_RIGHT_REAR_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_RIGHT_REAR_THRES+1-address];
+      ram_data[DOWN_RIGHT_REAR_THRES+1]=data[DOWN_RIGHT_REAR_THRES+1-address];
+    }
+  }
+  if(ram_in_window(DOWN_RIGHT_MIDDLE_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[5];
+    if(ram_in_range(DOWN_RIGHT_MIDDLE_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_RIGHT_MIDDLE_THRES-address];
+      ram_data[DOWN_RIGHT_MIDDLE_THRES]=data[DOWN_RIGHT_MIDDLE_THRES-address];
+    }
+    if(ram_in_range(DOWN_RIGHT_MIDDLE_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_RIGHT_MIDDLE_THRES+1-address];
+      ram_data[DOWN_RIGHT_MIDDLE_THRES+1]=data[DOWN_RIGHT_MIDDLE_THRES+1-address];
+    }
+  }
+  if(ram_in_window(DOWN_RIGHT_FRONT_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[6];
+    if(ram_in_range(DOWN_RIGHT_FRONT_THRES,address,length))
+    {
+      data_ptr[0]=data[DOWN_RIGHT_FRONT_THRES-address];
+      ram_data[DOWN_RIGHT_FRONT_THRES]=data[DOWN_RIGHT_FRONT_THRES-address];
+    }
+    if(ram_in_range(DOWN_RIGHT_FRONT_THRES+1,address,length))
+    {
+      data_ptr[1]=data[DOWN_RIGHT_FRONT_THRES+1-address];
+      ram_data[DOWN_RIGHT_FRONT_THRES+1]=data[DOWN_RIGHT_FRONT_THRES+1-address];
+    }
+  }
+  if(ram_in_window(FRONT_LEFT_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[7];
+    if(ram_in_range(FRONT_LEFT_THRES,address,length))
+    {
+      data_ptr[0]=data[FRONT_LEFT_THRES-address];
+      ram_data[FRONT_LEFT_THRES]=data[FRONT_LEFT_THRES-address];
+    }
+    if(ram_in_range(FRONT_LEFT_THRES+1,address,length))
+    {
+      data_ptr[1]=data[FRONT_LEFT_THRES+1-address];
+      ram_data[FRONT_LEFT_THRES+1]=data[FRONT_LEFT_THRES+1-address];
+    }
+  }
+  if(ram_in_window(FRONT_RIGHT_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[8];
+    if(ram_in_range(FRONT_RIGHT_THRES,address,length))
+    {
+      data_ptr[0]=data[FRONT_RIGHT_THRES-address];
+      ram_data[FRONT_RIGHT_THRES]=data[FRONT_RIGHT_THRES-address];
+    }
+    if(ram_in_range(FRONT_RIGHT_THRES+1,address,length))
+    {
+      data_ptr[1]=data[FRONT_RIGHT_THRES+1-address];
+      ram_data[FRONT_RIGHT_THRES+1]=data[FRONT_RIGHT_THRES+1-address];
+    }
+  }
+  if(ram_in_window(FRONT_ANALOG_THRES,2,address,length))
+  {
+    data_ptr=(uint8_t *)&thresholds[9];
+    if(ram_in_range(FRONT_ANALOG_THRES,address,length))
+    {
+      data_ptr[0]=data[FRONT_ANALOG_THRES-address];
+      ram_data[FRONT_ANALOG_THRES]=data[FRONT_ANALOG_THRES-address];
+    }
+    if(ram_in_range(FRONT_ANALOG_THRES+1,address,length))
+    {
+      data_ptr[1]=data[FRONT_ANALOG_THRES+1-address];
+      ram_data[FRONT_ANALOG_THRES+1]=data[FRONT_ANALOG_THRES+1-address];
+    }
+  }
+}
+
+void thres_read_cmd(unsigned short int address,unsigned short int length,unsigned char *data)
+{
+  ram_read_table(address,length,data);
+}
+
+// public functions
+uint8_t thres_init(TMemory *memory)
+{
+  /* initialize memory module */
+  mem_module_init(&thres_mem_module);
+  thres_mem_module.write_cmd=thres_write_cmd;
+  thres_mem_module.read_cmd=thres_read_cmd;
+  if(!mem_module_add_eeprom_segment(&thres_mem_module,EEPROM_THRESHOLDS_BASE_ADDRESS1,EEPROM_THRESHOLDS_LENGTH1))
+    return 0x00;
+  if(!mem_module_add_eeprom_segment(&thres_mem_module,EEPROM_THRESHOLDS_BASE_ADDRESS2,EEPROM_THRESHOLDS_LENGTH2))
+    return 0x00;
+  if(!mem_add_module(memory,&thres_mem_module))
+    return 0x00;
+
+  return 0x01;
+}
+
+void thres_check(void)
+{
+  uint16_t voltage;
+
+  voltage=adc_get_voltage(DOWN_LEFT_MIDDLE_CH);
+  if(voltage>thresholds[0])
+    gpio_set_led(DOWN_LEFT_MIDDLE);
+  else
+    gpio_clear_led(DOWN_LEFT_MIDDLE);
+  voltage=adc_get_voltage(DOWN_LEFT_REAR_CH);
+  if(voltage>thresholds[1])
+    gpio_set_led(DOWN_LEFT_REAR);
+  else
+    gpio_clear_led(DOWN_LEFT_REAR);
+  voltage=adc_get_voltage(DOWN_ANALOG_CH);
+  if(voltage>thresholds[2])
+    gpio_set_led(DOWN_ANALOG);
+  else
+    gpio_clear_led(DOWN_ANALOG);
+  voltage=adc_get_voltage(DOWN_LEFT_FRONT_CH);
+  if(voltage>thresholds[3])
+    gpio_set_led(DOWN_LEFT_FRONT);
+  else
+    gpio_clear_led(DOWN_LEFT_FRONT);
+  voltage=adc_get_voltage(DOWN_RIGHT_REAR_CH);
+  if(voltage>thresholds[4])
+    gpio_set_led(DOWN_RIGHT_REAR);
+  else
+    gpio_clear_led(DOWN_RIGHT_REAR);
+  voltage=adc_get_voltage(DOWN_RIGHT_MIDDLE_CH);
+  if(voltage>thresholds[5])
+    gpio_set_led(DOWN_RIGHT_MIDDLE);
+  else
+    gpio_clear_led(DOWN_RIGHT_MIDDLE);
+  voltage=adc_get_voltage(DOWN_RIGHT_FRONT_CH);
+  if(voltage>thresholds[6])
+    gpio_set_led(DOWN_RIGHT_FRONT);
+  else
+    gpio_clear_led(DOWN_RIGHT_FRONT);
+  voltage=adc_get_voltage(FRONT_LEFT_CH);
+  if(voltage>thresholds[7])
+    gpio_set_led(FRONT_LEFT);
+  else
+    gpio_clear_led(FRONT_LEFT);
+  voltage=adc_get_voltage(FRONT_RIGHT_CH);
+  if(voltage>thresholds[8])
+    gpio_set_led(FRONT_RIGHT);
+  else
+    gpio_clear_led(FRONT_RIGHT);
+  voltage=adc_get_voltage(FRONT_ANALOG_CH);
+  if(voltage>thresholds[9])
+    gpio_set_led(FRONT_ANALOG);
+  else
+    gpio_clear_led(FRONT_ANALOG);
+}