diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 74c03eb..e6fd7d7 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -8,12 +8,12 @@
 //User specified version info of THIS file to display in [Pronterface, etc] terminal window during startup.
 //Implementation of an idea by Prof Braino to inform user that any changes made
 //to THIS file by the user have been successfully uploaded into firmware.
-#define STRING_VERSION_CONFIG_H "2012-02-25" //Personal revision number for changes to THIS file.
-#define STRING_CONFIG_H_AUTHOR "erik" //Who made the changes.
+#define STRING_VERSION_CONFIG_H "28/02/2012" //Personal revision number for changes to THIS file.
+#define STRING_CONFIG_H_AUTHOR "Setar" //Who made the changes.
 
 // This determines the communication speed of the printer
-#define BAUDRATE 250000
-//#define BAUDRATE 115200
+//#define BAUDRATE 250000
+#define BAUDRATE 115200
 
 //// The following define selects which electronics board you have. Please choose the one that matches your setup
 // Gen7 custom (Alfons3 Version) = 10 "https://github.com/Alfons3/Generation_7_Electronics"
@@ -29,7 +29,7 @@
 // Ultimaker = 7
 // Teensylu = 8
 // Gen3+ =9
-#define MOTHERBOARD 7
+#define MOTHERBOARD 33
 
 //===========================================================================
 //=============================Thermal Settings  ============================
@@ -47,10 +47,10 @@
 // 6 is EPCOS 100k
 // 7 is 100k Honeywell thermistor 135-104LAG-J01
 
-#define TEMP_SENSOR_0 -1
+#define TEMP_SENSOR_0 1
 #define TEMP_SENSOR_1 0
 #define TEMP_SENSOR_2 0
-#define TEMP_SENSOR_BED 0
+#define TEMP_SENSOR_BED 4
 
 // Actual temperature must be close to target for this long before M109 returns success
 #define TEMP_RESIDENCY_TIME 10 // (seconds)
@@ -84,11 +84,15 @@
   #define K1 0.95 //smoothing factor withing the PID
   #define PID_dT 0.128 //sampling period of the PID
 
+    #define  DEFAULT_Kp 30
+    #define  DEFAULT_Ki 1.71  
+    #define  DEFAULT_Kd 131.25 
+    
 // If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it
 // Ultimaker
-    #define  DEFAULT_Kp  22.2
-    #define  DEFAULT_Ki (1.25*PID_dT)  
-    #define  DEFAULT_Kd (99/PID_dT)  
+//    #define  DEFAULT_Kp  22.2
+//    #define  DEFAULT_Ki (1.25*PID_dT)  
+//    #define  DEFAULT_Kd (99/PID_dT)  
 
 // Makergear
 //    #define  DEFAULT_Kp 7.0
@@ -115,9 +119,9 @@
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
 
 // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
-const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. 
-const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. 
-const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. 
+const bool X_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. 
+const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. 
+const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. 
 
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 #define X_ENABLE_ON 0
@@ -132,7 +136,7 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
 #define DISABLE_E false // For all extruders
 
 #define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
-#define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
+#define INVERT_Y_DIR true    // for Mendel set to true, for Orca set to false
 #define INVERT_Z_DIR true     // for Mendel set to false, for Orca set to true
 #define INVERT_E0_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false
 #define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
@@ -141,14 +145,14 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
 // ENDSTOP SETTINGS:
 // Sets direction of endstops when homing; 1=MAX, -1=MIN
 #define X_HOME_DIR -1
-#define Y_HOME_DIR -1
+#define Y_HOME_DIR 1
 #define Z_HOME_DIR -1
 
 #define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS.
 #define max_software_endstops true  //If true, axis won't move to coordinates greater than the defined lengths below.
-#define X_MAX_LENGTH 205
-#define Y_MAX_LENGTH 205
-#define Z_MAX_LENGTH 200
+#define X_MAX_LENGTH 175
+#define Y_MAX_LENGTH 195
+#define Z_MAX_LENGTH 90
// The position of the homing switches. Use MAX_LENGTH * -0.5 if the center should be 0, 0, 0
 #define X_HOME_POS 0
@@ -161,9 +165,9 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
 
 // default settings 
 
-#define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200*8/3,760*1.1}                    // default steps per unit for ultimaker 
-#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 45}    // (mm/sec)    
-#define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {64.335,64.6464,200*16/1.25,603}  //579.5                  // steps per unit 
+#define DEFAULT_MAX_FEEDRATE          {300, 300, 5, 45}    // (mm/sec)    
+#define DEFAULT_MAX_ACCELERATION      {4000,4000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot
 
 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves 
 #define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for r retracts
@@ -182,14 +186,14 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
 // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).  
 // M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
 //define this to enable eeprom support
-//#define EEPROM_SETTINGS
+#define EEPROM_SETTINGS
 //to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
 // please keep turned on if you can.
-//#define EEPROM_CHITCHAT
+#define EEPROM_CHITCHAT
 
 //LCD and SD support
 //#define ULTRA_LCD  //general lcd support, also 16x2
-//#define SDSUPPORT // Enable SD Card Support in Hardware Console
+#define SDSUPPORT // Enable SD Card Support in Hardware Console
 
 //#define ULTIPANEL
 #ifdef ULTIPANEL
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index 38e9409..eb793bd 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -42,7 +42,7 @@
 // you exit the value by any M109 without F*
 // Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
 // on an ultimaker, some initial testing worked with M109 S215 T260 F0.1 in the start.gcode
-//#define AUTOTEMP
+#define AUTOTEMP
 #ifdef AUTOTEMP
   #define AUTOTEMP_OLDWEIGHT 0.98
 #endif
@@ -68,7 +68,7 @@
 // This defines the number of extruders
 #define EXTRUDERS 1
 
-#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
+//#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
 
@@ -76,7 +76,7 @@
 #define X_HOME_RETRACT_MM 5 
 #define Y_HOME_RETRACT_MM 5 
 #define Z_HOME_RETRACT_MM 1 
-//#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
+#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
 
 #define AXIS_RELATIVE_MODES {false, false, false, false}
 
@@ -142,13 +142,13 @@
 #endif // ADVANCE
 
 // A debugging feature to compare calculated vs performed steps, to see if steps are lost by the software.
-//#define DEBUG_STEPS
+#define DEBUG_STEPS
 
 // Arc interpretation settings:
 #define MM_PER_ARC_SEGMENT 1
 #define N_ARC_CORRECTION 25
 
-const int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
+const int dropsegments= 5; //everything with less than this number of steps will be ignored as move and joined with the next movement
 
 // If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
 // You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT 
diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
index e01d98a..0269576 100644
--- a/Marlin/Marlin.h
+++ b/Marlin/Marlin.h
@@ -62,6 +62,8 @@
 //#define MYPGM(s)  (__extension__({static char __c[] __attribute__((__progmem__)) = (s); &__c[0];}))  //This is the normal behaviour
 //#define MYPGM(s)  (__extension__({static prog_char __c[]  = (s); &__c[0];})) //this does not work but hides the warnings
 
+// Macro for getting current active extruder
+#define ACTIVE_EXTRUDER ((int)active_extruder)
 
 #define SERIAL_PROTOCOL(x) MYSERIAL.print(x);
 #define SERIAL_PROTOCOLPGM(x) serialprintPGM(MYPGM(x));
diff --git a/Marlin/thermistortables.h b/Marlin/thermistortables.h
index 3071a6b..5db7cff 100644
--- a/Marlin/thermistortables.h
+++ b/Marlin/thermistortables.h
@@ -132,26 +132,47 @@ const short temptable_3[][2] PROGMEM = {
 #endif
 #if (THERMISTORHEATER_0 == 4) || (THERMISTORHEATER_1 == 4) || (THERMISTORHEATER_2 == 4) || (THERMISTORBED == 4) //10k thermistor
 const short temptable_4[][2] PROGMEM = {
-   {1*OVERSAMPLENR, 430},
-   {54*OVERSAMPLENR, 137},
-   {107*OVERSAMPLENR, 107},
-   {160*OVERSAMPLENR, 91},
-   {213*OVERSAMPLENR, 80},
-   {266*OVERSAMPLENR, 71},
-   {319*OVERSAMPLENR, 64},
-   {372*OVERSAMPLENR, 57},
-   {425*OVERSAMPLENR, 51},
-   {478*OVERSAMPLENR, 46},
-   {531*OVERSAMPLENR, 41},
-   {584*OVERSAMPLENR, 35},
-   {637*OVERSAMPLENR, 30},
-   {690*OVERSAMPLENR, 25},
-   {743*OVERSAMPLENR, 20},
-   {796*OVERSAMPLENR, 14},
-   {849*OVERSAMPLENR, 7},
-   {902*OVERSAMPLENR, 0},
-   {955*OVERSAMPLENR, -11},
-   {1008*OVERSAMPLENR, -35}
+//   {1*OVERSAMPLENR, 430},
+//   {54*OVERSAMPLENR, 137},
+//   {107*OVERSAMPLENR, 107},
+//   {160*OVERSAMPLENR, 91},
+//   {213*OVERSAMPLENR, 80},
+//   {266*OVERSAMPLENR, 71},
+//   {319*OVERSAMPLENR, 64},
+//   {372*OVERSAMPLENR, 57},
+//   {425*OVERSAMPLENR, 51},
+//   {478*OVERSAMPLENR, 46},
+//   {531*OVERSAMPLENR, 41},
+//   {584*OVERSAMPLENR, 35},
+//   {637*OVERSAMPLENR, 30},
+//   {690*OVERSAMPLENR, 25},
+//   {743*OVERSAMPLENR, 20},
+//   {796*OVERSAMPLENR, 14},
+//   {849*OVERSAMPLENR, 7},
+//   {902*OVERSAMPLENR, 0},
+//   {955*OVERSAMPLENR, -11},
+//   {1008*OVERSAMPLENR, -35}
+
+   {1*OVERSAMPLENR, 452},
+   {54*OVERSAMPLENR, 146},
+   {107*OVERSAMPLENR, 118},
+   {160*OVERSAMPLENR, 102},
+   {213*OVERSAMPLENR, 91},
+   {266*OVERSAMPLENR, 82},
+   {319*OVERSAMPLENR, 75},
+   {372*OVERSAMPLENR, 66},
+   {425*OVERSAMPLENR, 62},
+   {478*OVERSAMPLENR, 55},
+   {531*OVERSAMPLENR, 52},
+   {584*OVERSAMPLENR, 46},
+   {637*OVERSAMPLENR, 37},
+   {690*OVERSAMPLENR, 32},
+   {743*OVERSAMPLENR, 27},
+   {796*OVERSAMPLENR, 21},
+   {849*OVERSAMPLENR, 14},
+   {902*OVERSAMPLENR, 7},
+   {955*OVERSAMPLENR, -3},
+   {1008*OVERSAMPLENR, -28}
 };
 #endif