diff --git a/firmware/include/adc.h b/firmware/include/adc.h
index 810d9a7f9c8e9c6123df1a65fd512df26a128c0b..8dda0ecd065c8c137183c18ee5f732839a0fef23 100644
--- a/firmware/include/adc.h
+++ b/firmware/include/adc.h
@@ -37,8 +37,8 @@ void setTempCallbackFunction(void *callback_function);
 void runADCConversion(void);
 
 /**
- * @brief Obtains the last temperature reading in milicelsius
- * @return int temperature in celsius degrees divided by 1000
+ * @brief Obtains the last temperature reading in celsius
+ * @return int temperature in celsius degrees
  *
  */
 int getTemperatureReading(void);
diff --git a/firmware/include/common.h b/firmware/include/common.h
index a5e5a35241b3431943a0b50f0d750e063d6c2ebd..01bf49af49a907979384dd32d18c0f14b5b4fc2f 100644
--- a/firmware/include/common.h
+++ b/firmware/include/common.h
@@ -12,5 +12,6 @@
 #define INCLUDE_COMMON_H_
 
 //#define DEBUG
+#define REF_VOLTAGE_DIV_BY_ADC_10BITS_RESOLUTION 1.17
 
 #endif /* INCLUDE_COMMON_H_ */
diff --git a/firmware/src/adc.c b/firmware/src/adc.c
index 436ad9c793fd5dfc590a699a8328fb4714b0f564..7c2d7bc64cd7c114001a98a2e900cf7e18eb6c13 100644
--- a/firmware/src/adc.c
+++ b/firmware/src/adc.c
@@ -1,4 +1,5 @@
 #include <msp.h>
+#include "common.h"
 #include "adc.h"
 #include "fifo_function_queue.h"
 
@@ -55,25 +56,28 @@ void runADCConversion(){
 
 int getTemperatureReading(){
     int  temp;
-    //Converts mVolts to miliCelsius using temperature sensor transfer function (no calibration)
+    float aux;
+    //Converts ADC Reading to mVolts (1.2 Volts set for reference voltage)
+    aux = (float)(adcval) * REF_VOLTAGE_DIV_BY_ADC_10BITS_RESOLUTION;
+
+    //Converts mVolts to celsius using temperature sensor transfer function (no calibration)
     //Using 10 bits resolution
-    temp = (((adcval - 686) * 512)/1024);
+    temp = (int)((aux - 686) * 0.512);
 
     return temp;
 }
 
 void ADC14_IRQHandler(void)
 {
-    addToFunctionQueue(temperature_ready_callback);
-
     //Reading to ADC14MEM clears the IFG
     adcval = ADC14->MEM[0];
     ADC14->CTL0 &= ~ADC14_CTL0_ENC;
     ADC14->CTL0 &= ~ADC14_CTL0_ON;
 
-    __low_power_mode_off_on_exit();
-
     //Disable ISRs
     ADC14 -> IER0 &= ~ADC14_IER0_IE0;
     NVIC_DisableIRQ(ADC14_IRQn);
+
+    addToFunctionQueue(temperature_ready_callback);
+    __low_power_mode_off_on_exit();
 }