Where to plug in PT100 amp

Having a problem? Post it here and someone will be along shortly to help
Post Reply
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Where to plug in PT100 amp

Post by dsl158 »

I bought the PT100 along with the amplifer board. I was wondering where on the Rambo board I should plug it into.
http://wiki.e3d-online.com/wiki/E3D_PT1 ... umentation" onclick="window.open(this.href);return false;
Eric
Printmaster!
Posts: 726
Joined: Sat Aug 18, 2012 4:09 am
Location: Chula Vista, CA

Re: Where to plug in PT100 amp

Post by Eric »

http://reprap.org/wiki/Rambo

You'll find spare analog inputs, also power and ground, on the Analog Ext connector, which is next to the thermister inputs. It's probably not populated, so you'd need to solder your own header or connector onto the board.
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Eric wrote:http://reprap.org/wiki/Rambo

You'll find spare analog inputs, also power and ground, on the Analog Ext connector, which is next to the thermister inputs. It's probably not populated, so you'd need to solder your own header or connector onto the board.
So just plug in the 0v and the signal plug into the regular plug and the 5v into the connector next to it ?
Eric
Printmaster!
Posts: 726
Joined: Sat Aug 18, 2012 4:09 am
Location: Chula Vista, CA

Re: Where to plug in PT100 amp

Post by Eric »

No, everything you need is on the Analog Ext connector. Leave the thermistor inputs for actual thermistors.

Here's the pinout of that 8-pin connector: http://forum.seemecnc.com/viewtopic.php ... =25#p62909
Note that it's different depending on the version of the board.
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Eric wrote:No, everything you need is on the Analog Ext connector. Leave the thermistor inputs for actual thermistors.

Here's the pinout of that 8-pin connector: http://forum.seemecnc.com/viewtopic.php ... =25#p62909
Note that it's different depending on the version of the board.
What do you mean leave the therm connector for the therm? Im replacing the extruder thermistor with the thermocoupler
Eric
Printmaster!
Posts: 726
Joined: Sat Aug 18, 2012 4:09 am
Location: Chula Vista, CA

Re: Where to plug in PT100 amp

Post by Eric »

It's in the documentation you linked about the PT100:
It is important to understand that the PT100 amplifier is not a thermistor, and cannot just be plugged into the normal thermistor inputs of your electronics.

The PT100 board needs the 0v and 5v pins to be connected to a power source, the current requirements are very small, so you can just connect this to any 5v and 0v pins on your controller board. This provides power to the board so it can do it's amplifying thing.

The Signal output pin then needs to be connected to a spare analogue input pin on your electronics board. Look at your specific controller boards circuit diagram, and find a pin that is currently unused that begins with a capital 'A'. These are usually available on expansion or auxiliary headers, labelled AUX or EXP.
The available non-thermistor analog inputs are on the Analog Ext connector.

You'll then have to modify the firmware to look at the right input.
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Code: Select all

/*
    This file is part of Repetier-Firmware.

    Repetier-Firmware is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Repetier-Firmware is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Repetier-Firmware.  If not, see <http://www.gnu.org/licenses/>.

*/

#ifndef CONFIGURATION_H
#define CONFIGURATION_H

/**************** READ FIRST ************************

   This configuration file was created with the configuration tool. For that
   reason, it does not contain the same informations as the original Configuration.h file.
   It misses the comments and unused parts. Open this file file in the config tool
   to see and change the data. You can also upload it to newer/older versions. The system
   will silently add new options, so compilation continues to work.

   This file is optimized for version 0.92
   generator: http://www.repetier.com/firmware/v092/

   If you are in doubt which named functions use which pins on your board, please check the
   pins.h for the used name->pin assignments and your board documentation to verify it is
   as you expect.

*/

#define NUM_EXTRUDER 1
#define MOTHERBOARD 301
#include "pins.h"

// ################## EDIT THESE SETTINGS MANUALLY ################
//  Microstepping mod eof your RAMO board
#define MICROSTEP_MODES { 8,8,8,8,8 } // [1,2,4,8,16]
// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards)
#define MOTOR_CURRENT_PERCENT { 55,55,55,55,55 }

// ################ END MANUAL SETTINGS ##########################

#define FAN_PIN 8
#define FAN_BOARD_PIN -1

//#define EXTERNALSERIAL  use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer.
// Uncomment the following line if you are using arduino compatible firmware made for Arduino version earlier then 1.0
// If it is incompatible you will get compiler errors about write functions not beeing compatible!
//#define COMPAT_PRE1
#define BLUETOOTH_SERIAL  -1
#define BLUETOOTH_BAUD  115200
#define MIXING_EXTRUDER 0

#define DRIVE_SYSTEM 3
#define XAXIS_STEPS_PER_MM 80
#define YAXIS_STEPS_PER_MM 80
#define ZAXIS_STEPS_PER_MM 80
#define EXTRUDER_FAN_COOL_TEMP 50
#define PDM_FOR_EXTRUDER 1
#define PDM_FOR_COOLER 1
#define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
#define DECOUPLING_TEST_MIN_TEMP_RISE 1
#define KILL_IF_SENSOR_DEFECT 0
#define RETRACT_ON_PAUSE 2
#define PAUSE_START_COMMANDS ""
#define PAUSE_END_COMMANDS ""
#define EXT0_X_OFFSET 0
#define EXT0_Y_OFFSET 0
#define EXT0_Z_OFFSET 0
#define EXT0_STEPS_PER_MM 92.5
#define EXT0_TEMPSENSOR_TYPE 13
#define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
#define EXT0_HEATER_PIN HEATER_0_PIN
#define EXT0_STEP_PIN ORIG_E0_STEP_PIN
#define EXT0_DIR_PIN ORIG_E0_DIR_PIN
#define EXT0_INVERSE 1
#define EXT0_ENABLE_PIN E0_ENABLE_PIN
#define EXT0_ENABLE_ON 0
#define EXT0_MAX_FEEDRATE 50
#define EXT0_MAX_START_FEEDRATE 20
#define EXT0_MAX_ACCELERATION 5000
#define EXT0_HEAT_MANAGER 1
#define EXT0_WATCHPERIOD 1
#define EXT0_PID_INTEGRAL_DRIVE_MAX 230
#define EXT0_PID_INTEGRAL_DRIVE_MIN 40
#define EXT0_PID_PGAIN_OR_DEAD_TIME 31.36
#define EXT0_PID_I 2.18
#define EXT0_PID_D 112.9
#define EXT0_PID_MAX 255
#define EXT0_ADVANCE_K 0
#define EXT0_ADVANCE_L 0
#define EXT0_ADVANCE_BACKLASH_STEPS 0
#define EXT0_WAIT_RETRACT_TEMP 150
#define EXT0_WAIT_RETRACT_UNITS 0
#define EXT0_SELECT_COMMANDS ""
#define EXT0_DESELECT_COMMANDS ""
#define EXT0_EXTRUDER_COOLER_PIN 7
#define EXT0_EXTRUDER_COOLER_SPEED 255
#define EXT0_DECOUPLE_TEST_PERIOD 12000
#define EXT0_JAM_PIN -1
#define EXT0_JAM_PULLUP 0

#define FEATURE_RETRACTION 0
#define AUTORETRACT_ENABLED 0
#define RETRACTION_LENGTH 3
#define RETRACTION_LONG_LENGTH 13
#define RETRACTION_SPEED 40
#define RETRACTION_Z_LIFT 1
#define RETRACTION_UNDO_EXTRA_LENGTH 0
#define RETRACTION_UNDO_EXTRA_LONG_LENGTH 0
#define RETRACTION_UNDO_SPEED 20
#define FILAMENTCHANGE_X_POS 0
#define FILAMENTCHANGE_Y_POS 0
#define FILAMENTCHANGE_Z_ADD  1
#define FILAMENTCHANGE_REHOME 0
#define FILAMENTCHANGE_SHORTRETRACT 5
#define FILAMENTCHANGE_LONGRETRACT 50
#define JAM_STEPS 220
#define JAM_SLOWDOWN_STEPS 320
#define JAM_SLOWDOWN_TO 70
#define JAM_ERROR_STEPS 500
#define JAM_MIN_STEPS 10
#define JAM_ACTION 1

#define RETRACT_DURING_HEATUP true
#define PID_CONTROL_RANGE 20
#define SKIP_M109_IF_WITHIN 2
#define SCALE_PID_TO_MAX 0
#define TEMP_HYSTERESIS 0
#define EXTRUDE_MAXLENGTH 160
#define NUM_TEMPS_USERTHERMISTOR0 0
#define USER_THERMISTORTABLE0 {}
#define NUM_TEMPS_USERTHERMISTOR1 0
#define USER_THERMISTORTABLE1 {}
#define NUM_TEMPS_USERTHERMISTOR2 0
#define USER_THERMISTORTABLE2 {}
#define GENERIC_THERM_VREF 5
#define GENERIC_THERM_NUM_ENTRIES 33
#define HEATER_PWM_SPEED 0

// ############# Heated bed configuration ########################

#define HAVE_HEATED_BED 1
#define HEATED_BED_MAX_TEMP 120
#define SKIP_M190_IF_WITHIN 3
#define HEATED_BED_SENSOR_TYPE 8
#define HEATED_BED_SENSOR_PIN TEMP_1_PIN
#define HEATED_BED_HEATER_PIN HEATER_1_PIN
#define HEATED_BED_SET_INTERVAL 5000
#define HEATED_BED_HEAT_MANAGER 3
#define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
#define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
#define HEATED_BED_PID_PGAIN_OR_DEAD_TIME   196
#define HEATED_BED_PID_IGAIN   33
#define HEATED_BED_PID_DGAIN 290
#define HEATED_BED_PID_MAX 255
#define HEATED_BED_DECOUPLE_TEST_PERIOD 300000
#define MIN_EXTRUDER_TEMP 150
#define MAXTEMP 295
#define MIN_DEFECT_TEMPERATURE -10
#define MAX_DEFECT_TEMPERATURE 310

// ################ Endstop configuration #####################

#define ENDSTOP_PULLUP_X_MIN true
#define ENDSTOP_X_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_X false
#define ENDSTOP_PULLUP_Y_MIN true
#define ENDSTOP_Y_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Y false
#define ENDSTOP_PULLUP_Z_MIN true
#define ENDSTOP_Z_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Z false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_X_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_X true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_Y_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Y true
#define ENDSTOP_PULLUP_Z_MAX true
#define ENDSTOP_Z_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Z true
#define max_software_endstop_r true

#define min_software_endstop_x true
#define min_software_endstop_y true
#define min_software_endstop_z true
#define max_software_endstop_x false
#define max_software_endstop_y false
#define max_software_endstop_z false
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 2
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 1
#define ENDSTOP_Z_BACK_ON_HOME 1
#define ALWAYS_CHECK_ENDSTOPS 0

// ################# XYZ movements ###################

#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define DISABLE_X 0
#define DISABLE_Y 0
#define DISABLE_Z 0
#define DISABLE_E 0
#define INVERT_X_DIR 1
#define INVERT_Y_DIR 0
#define INVERT_Z_DIR 1
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1
#define X_MAX_LENGTH 200
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 370
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define DISTORTION_CORRECTION 0
#define DISTORTION_CORRECTION_POINTS 5
#define DISTORTION_CORRECTION_R 130
#define DISTORTION_PERMANENT 1
#define DISTORTION_UPDATE_FREQUENCY 15
#define DISTORTION_START_DEGRADE 0.5
#define DISTORTION_END_HEIGHT 1
#define DISTORTION_EXTRAPOLATE_CORNERS 1

// ##########################################################################################
// ##                           Movement settings                                          ##
// ##########################################################################################

#define FEATURE_BABYSTEPPING 1
#define BABYSTEP_MULTIPLICATOR 1

#define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
#define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves
#define EXACT_DELTA_MOVES 1

// Delta settings
#define DELTA_DIAGONAL_ROD 269 // mm
#define DELTA_ALPHA_A 210
#define DELTA_ALPHA_B 330
#define DELTA_ALPHA_C 90
#define DELTA_RADIUS_CORRECTION_A 0
#define DELTA_RADIUS_CORRECTION_B 0
#define DELTA_RADIUS_CORRECTION_C 0
#define DELTA_DIAGONAL_CORRECTION_A 0
#define DELTA_DIAGONAL_CORRECTION_B 0
#define DELTA_DIAGONAL_CORRECTION_C 0
#define END_EFFECTOR_HORIZONTAL_OFFSET 0
#define CARRIAGE_HORIZONTAL_OFFSET 0
#define DELTA_MAX_RADIUS 150
#define ROD_RADIUS 130
#define PRINTER_RADIUS 130
#define DELTA_HOME_ON_POWER 0
#define STEP_COUNTER
#define DELTA_X_ENDSTOP_OFFSET_STEPS 0
#define DELTA_Y_ENDSTOP_OFFSET_STEPS 0
#define DELTA_Z_ENDSTOP_OFFSET_STEPS 0
#define DELTA_FLOOR_SAFETY_MARGIN_MM 15
//#define SOFTWARE_LEVELING

#define DELTASEGMENTS_PER_PRINTLINE 24
#define STEPPER_INACTIVE_TIME 360L
#define MAX_INACTIVE_TIME 0L
#define MAX_FEEDRATE_X 300
#define MAX_FEEDRATE_Y 300
#define MAX_FEEDRATE_Z 300
#define HOMING_FEEDRATE_X 120
#define HOMING_FEEDRATE_Y 120
#define HOMING_FEEDRATE_Z 120
#define HOMING_ORDER HOME_ORDER_XYZ
#define ZHOME_MIN_TEMPERATURE 0
#define ZHOME_HEAT_ALL 1
#define ZHOME_HEAT_HEIGHT 20
#define ZHOME_X_POS 999999
#define ZHOME_Y_POS 999999
#define ENABLE_BACKLASH_COMPENSATION 0
#define X_BACKLASH 0
#define Y_BACKLASH 0
#define Z_BACKLASH 0
#define RAMP_ACCELERATION 1
#define STEPPER_HIGH_DELAY 0
#define DIRECTION_DELAY 0
#define STEP_DOUBLER_FREQUENCY 12000
#define ALLOW_QUADSTEPPING 1
#define DOUBLE_STEP_DELAY 1 // time in microseconds
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1850
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1850
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 1850
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 3000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 3000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 3000
#define MAX_JERK 20
#define MAX_ZJERK 0.3
#define PRINTLINE_CACHE_SIZE 16
#define MOVE_CACHE_LOW 10
#define LOW_TICKS_PER_MOVE 250000
#define FEATURE_TWO_XSTEPPER 0
#define X2_STEP_PIN   ORIG_E1_STEP_PIN
#define X2_DIR_PIN    ORIG_E1_DIR_PIN
#define X2_ENABLE_PIN E1_ENABLE_PIN
#define FEATURE_TWO_YSTEPPER 0
#define Y2_STEP_PIN   ORIG_E1_STEP_PIN
#define Y2_DIR_PIN    ORIG_E1_DIR_PIN
#define Y2_ENABLE_PIN E1_ENABLE_PIN
#define FEATURE_TWO_ZSTEPPER 0
#define Z2_STEP_PIN   ORIG_E1_STEP_PIN
#define Z2_DIR_PIN    ORIG_E1_DIR_PIN
#define Z2_ENABLE_PIN E1_ENABLE_PIN
#define FEATURE_DITTO_PRINTING 0
#define USE_ADVANCE 0
#define ENABLE_QUADRATIC_ADVANCE 0


// ################# Misc. settings ##################

#define BAUDRATE 250000
#define ENABLE_POWER_ON_STARTUP 1
#define POWER_INVERTING 0
#define KILL_METHOD 1
#define ACK_WITH_LINENUMBER 1
#define WAITING_IDENTIFIER "wait"
#define ECHO_ON_EXECUTE 1
#define EEPROM_MODE 1
#define PS_ON_PIN ORIG_PS_ON_PIN

/* ======== Servos =======
Control the servos with
M340 P<servoId> S<pulseInUS>   / ServoID = 0..3  pulseInUs = 500..2500
Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware!
*/
#define FEATURE_SERVO 0
#define SERVO0_PIN 11
#define SERVO1_PIN -1
#define SERVO2_PIN -1
#define SERVO3_PIN -1
#define SERVO0_NEUTRAL_POS  -1
#define SERVO1_NEUTRAL_POS  -1
#define SERVO2_NEUTRAL_POS  -1
#define SERVO3_NEUTRAL_POS  -1
#define UI_SERVO_CONTROL 0
#define FAN_KICKSTART_TIME  200

        #define FEATURE_WATCHDOG 1

// #################### Z-Probing #####################

#define Z_PROBE_Z_OFFSET 0
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 1
#define FEATURE_Z_PROBE 0
#define Z_PROBE_BED_DISTANCE 10
#define Z_PROBE_PIN ORIG_Z_MIN_PIN
#define Z_PROBE_PULLUP 1
#define Z_PROBE_ON_HIGH 0
#define Z_PROBE_X_OFFSET 0
#define Z_PROBE_Y_OFFSET 0
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 1
#define Z_PROBE_REPETITIONS 1
#define Z_PROBE_HEIGHT 0.4
#define Z_PROBE_START_SCRIPT "G28 \n G0 Z50 F6000"
#define Z_PROBE_FINISHED_SCRIPT "G0 Z200 X0 Y0"
#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 0
#define Z_PROBE_Y1 100
#define Z_PROBE_X2 86.6
#define Z_PROBE_Y2 -50
#define Z_PROBE_X3 -86.6
#define Z_PROBE_Y3 -50
#define FEATURE_AXISCOMP 0
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0
#define AXISCOMP_TANXZ 0

#ifndef SDSUPPORT  // Some boards have sd support on board. These define the values already in pins.h
#define SDSUPPORT 0
#define SDCARDDETECT -1
#define SDCARDDETECTINVERTED 0
#endif
#define SD_EXTENDED_DIR 1 /** Show extended directory including file length. Don't use this with Pronterface! */
#define SD_RUN_ON_STOP "G28"
#define SD_STOP_HEATER_AND_MOTORS_ON_STOP 1
#define ARC_SUPPORT 1
#define FEATURE_MEMORY_POSITION 1
#define FEATURE_CHECKSUM_FORCED 0
#define FEATURE_FAN_CONTROL 1
#define FEATURE_CONTROLLER 13
#define UI_LANGUAGE 0
#define UI_PRINTER_NAME "Rostock MAX"
#define UI_PRINTER_COMPANY "SeeMeCNC"
#define UI_PAGES_DURATION 4000
#define UI_ANIMATION 0
#define UI_SPEEDDEPENDENT_POSITIONING 0
#define UI_DISABLE_AUTO_PAGESWITCH 1
#define UI_AUTORETURN_TO_MENU_AFTER 30000
#define FEATURE_UI_KEYS 0
#define UI_ENCODER_SPEED 1
#define UI_REVERSE_ENCODER 0
#define UI_KEY_BOUNCETIME 10
#define UI_KEY_FIRST_REPEAT 500
#define UI_KEY_REDUCE_REPEAT 50
#define UI_KEY_MIN_REPEAT 50
#define FEATURE_BEEPER 1
#define CASE_LIGHTS_PIN -1
#define CASE_LIGHT_DEFAULT_ON 1
#define UI_START_SCREEN_DELAY 1000
#define UI_DYNAMIC_ENCODER_SPEED 0
        /**
Beeper sound definitions for short beeps during key actions
and longer beeps for important actions.
Parameter is delay in microseconds and the secons is the number of repetitions.
Values must be in range 1..255
*/
#define BEEPER_SHORT_SEQUENCE 2,2
#define BEEPER_LONG_SEQUENCE 8,8
#define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60
#define UI_SET_PRESET_EXTRUDER_TEMP_PLA   190
#define UI_SET_PRESET_HEATED_BED_TEMP_ABS 110
#define UI_SET_PRESET_EXTRUDER_TEMP_ABS   240
#define UI_SET_MIN_HEATED_BED_TEMP  30
#define UI_SET_MAX_HEATED_BED_TEMP 120
#define UI_SET_MIN_EXTRUDER_TEMP   170
#define UI_SET_MAX_EXTRUDER_TEMP   260
#define UI_SET_EXTRUDER_FEEDRATE 2
#define UI_SET_EXTRUDER_RETRACT_DISTANCE 3


#define NUM_MOTOR_DRIVERS 0



#endif

/* Below you will find the configuration string, that created this Configuration.h

========== Start configuration string ==========
{
    "editMode": 1,
    "processor": 0,
    "baudrate": 250000,
    "bluetoothSerial": -1,
    "bluetoothBaudrate": 115200,
    "xStepsPerMM": 80,
    "yStepsPerMM": 80,
    "zStepsPerMM": 80,
    "xInvert": "1",
    "xInvertEnable": 0,
    "eepromMode": 1,
    "yInvert": "0",
    "yInvertEnable": 0,
    "zInvert": "1",
    "zInvertEnable": 0,
    "extruder": [
        {
            "id": 0,
            "heatManager": 1,
            "pidDriveMin": 40,
            "pidDriveMax": 230,
            "pidMax": 255,
            "sensorType": 13,
            "sensorPin": "TEMP_0_PIN",
            "heaterPin": "HEATER_0_PIN",
            "maxFeedrate": 50,
            "startFeedrate": 20,
            "invert": "1",
            "invertEnable": "0",
            "acceleration": 5000,
            "watchPeriod": 1,
            "pidP": 31.36,
            "pidI": 2.18,
            "pidD": 112.9,
            "advanceK": 0,
            "advanceL": 0,
            "waitRetractTemp": 150,
            "waitRetractUnits": 0,
            "waitRetract": 0,
            "stepsPerMM": 92.5,
            "coolerPin": 7,
            "coolerSpeed": 255,
            "selectCommands": "",
            "deselectCommands": "",
            "xOffset": 0,
            "yOffset": 0,
            "zOffset": 0,
            "xOffsetSteps": 0,
            "yOffsetSteps": 0,
            "zOffsetSteps": 0,
            "stepper": {
                "name": "Extruder 0",
                "step": "ORIG_E0_STEP_PIN",
                "dir": "ORIG_E0_DIR_PIN",
                "enable": "E0_ENABLE_PIN"
            },
            "advanceBacklashSteps": 0,
            "decoupleTestPeriod": 12,
            "jamPin": -1,
            "jamPullup": "0"
        }
    ],
    "uiLanguage": 0,
    "uiController": 0,
    "xMinEndstop": 0,
    "yMinEndstop": 0,
    "zMinEndstop": 0,
    "xMaxEndstop": 2,
    "yMaxEndstop": 2,
    "zMaxEndstop": 2,
    "motherboard": 301,
    "driveSystem": 3,
    "xMaxSpeed": 300,
    "xHomingSpeed": 120,
    "xTravelAcceleration": 3000,
    "xPrintAcceleration": 1850,
    "yMaxSpeed": 300,
    "yHomingSpeed": 120,
    "yTravelAcceleration": 3000,
    "yPrintAcceleration": 1850,
    "zMaxSpeed": 300,
    "zHomingSpeed": 120,
    "zTravelAcceleration": 3000,
    "zPrintAcceleration": 1850,
    "xMotor": {
        "name": "X motor",
        "step": "ORIG_X_STEP_PIN",
        "dir": "ORIG_X_DIR_PIN",
        "enable": "ORIG_X_ENABLE_PIN"
    },
    "yMotor": {
        "name": "Y motor",
        "step": "ORIG_Y_STEP_PIN",
        "dir": "ORIG_Y_DIR_PIN",
        "enable": "ORIG_Y_ENABLE_PIN"
    },
    "zMotor": {
        "name": "Z motor",
        "step": "ORIG_Z_STEP_PIN",
        "dir": "ORIG_Z_DIR_PIN",
        "enable": "ORIG_Z_ENABLE_PIN"
    },
    "enableBacklash": "0",
    "backlashX": 0,
    "backlashY": 0,
    "backlashZ": 0,
    "stepperInactiveTime": 360,
    "maxInactiveTime": 0,
    "xMinPos": 0,
    "yMinPos": 0,
    "zMinPos": 0,
    "xLength": 200,
    "yLength": 200,
    "zLength": 370,
    "alwaysCheckEndstops": "0",
    "disableX": "0",
    "disableY": "0",
    "disableZ": "0",
    "disableE": "0",
    "xHomeDir": "-1",
    "yHomeDir": "-1",
    "zHomeDir": 1,
    "xEndstopBack": 1,
    "yEndstopBack": 1,
    "zEndstopBack": 1,
    "deltaSegmentsPerSecondPrint": 180,
    "deltaSegmentsPerSecondTravel": 70,
    "deltaDiagonalRod": 269,
    "deltaHorizontalRadius": 130,
    "deltaAlphaA": 210,
    "deltaAlphaB": 330,
    "deltaAlphaC": 90,
    "deltaDiagonalCorrA": 0,
    "deltaDiagonalCorrB": 0,
    "deltaDiagonalCorrC": 0,
    "deltaMaxRadius": 150,
    "deltaFloorSafetyMarginMM": 15,
    "deltaRadiusCorrA": 0,
    "deltaRadiusCorrB": 0,
    "deltaRadiusCorrC": 0,
    "deltaXOffsetSteps": 0,
    "deltaYOffsetSteps": 0,
    "deltaZOffsetSteps": 0,
    "deltaSegmentsPerLine": 24,
    "stepperHighDelay": 0,
    "directionDelay": 0,
    "stepDoublerFrequency": 12000,
    "allowQuadstepping": "1",
    "doubleStepDelay": 1,
    "maxJerk": 20,
    "maxZJerk": 0.3,
    "moveCacheSize": 16,
    "moveCacheLow": 10,
    "lowTicksPerMove": 250000,
    "enablePowerOnStartup": "1",
    "echoOnExecute": "1",
    "sendWaits": "1",
    "ackWithLineNumber": "1",
    "killMethod": 1,
    "useAdvance": "0",
    "useQuadraticAdvance": "0",
    "powerInverting": 0,
    "mirrorX": 0,
    "mirrorXMotor": {
        "name": "Extruder 1",
        "step": "ORIG_E1_STEP_PIN",
        "dir": "ORIG_E1_DIR_PIN",
        "enable": "E1_ENABLE_PIN"
    },
    "mirrorY": 0,
    "mirrorYMotor": {
        "name": "Extruder 1",
        "step": "ORIG_E1_STEP_PIN",
        "dir": "ORIG_E1_DIR_PIN",
        "enable": "E1_ENABLE_PIN"
    },
    "mirrorZ": 0,
    "mirrorZMotor": {
        "name": "Extruder 1",
        "step": "ORIG_E1_STEP_PIN",
        "dir": "ORIG_E1_DIR_PIN",
        "enable": "E1_ENABLE_PIN"
    },
    "dittoPrinting": "0",
    "featureServos": "0",
    "servo0Pin": 11,
    "servo1Pin": -1,
    "servo2Pin": -1,
    "servo3Pin": -1,
    "featureWatchdog": "1",
    "hasHeatedBed": "1",
    "enableZProbing": "0",
    "extrudeMaxLength": 160,
    "homeOrder": "HOME_ORDER_XYZ",
    "featureController": 13,
    "uiPrinterName": "Rostock MAX",
    "uiPrinterCompany": "SeeMeCNC",
    "uiPagesDuration": 4000,
    "uiAnimation": "0",
    "uiDisablePageswitch": "1",
    "uiAutoReturnAfter": 30000,
    "featureKeys": "0",
    "uiEncoderSpeed": 1,
    "uiReverseEncoder": "0",
    "uiKeyBouncetime": 10,
    "uiKeyFirstRepeat": 500,
    "uiKeyReduceRepeat": 50,
    "uiKeyMinRepeat": 50,
    "featureBeeper": "1",
    "uiPresetBedTempPLA": 60,
    "uiPresetBedABS": 110,
    "uiPresetExtruderPLA": 190,
    "uiPresetExtruderABS": 240,
    "uiMinHeatedBed": 30,
    "uiMaxHeatedBed": 120,
    "uiMinEtxruderTemp": 170,
    "uiMaxExtruderTemp": 260,
    "uiExtruderFeedrate": 2,
    "uiExtruderRetractDistance": 3,
    "uiSpeeddependentPositioning": "0",
    "maxBedTemperature": 120,
    "bedSensorType": 8,
    "bedSensorPin": "TEMP_1_PIN",
    "bedHeaterPin": "HEATER_1_PIN",
    "bedHeatManager": 3,
    "bedUpdateInterval": 5000,
    "bedPidDriveMin": 80,
    "bedPidDriveMax": 255,
    "bedPidP": 196,
    "bedPidI": 33,
    "bedPidD": 290,
    "bedPidMax": 255,
    "bedDecoupleTestPeriod": 300,
    "caseLightPin": -1,
    "caseLightDefaultOn": "1",
    "bedSkipIfWithin": 3,
    "gen1T0": 25,
    "gen1R0": 100000,
    "gen1Beta": 4036,
    "gen1MinTemp": -20,
    "gen1MaxTemp": 300,
    "gen1R1": 0,
    "gen1R2": 4700,
    "gen2T0": 25,
    "gen2R0": 100000,
    "gen2Beta": 4036,
    "gen2MinTemp": -20,
    "gen2MaxTemp": 300,
    "gen2R1": 0,
    "gen2R2": 4700,
    "gen3T0": 25,
    "gen3R0": 100000,
    "gen3Beta": 4036,
    "gen3MinTemp": -20,
    "gen3MaxTemp": 300,
    "gen3R1": 0,
    "gen3R2": 4700,
    "userTable0": {
        "r1": 0,
        "r2": 4700,
        "temps": []
    },
    "userTable1": {
        "r1": 0,
        "r2": 4700,
        "temps": []
    },
    "userTable2": {
        "r1": 0,
        "r2": 4700,
        "temps": []
    },
    "tempHysteresis": 0,
    "pidControlRange": 20,
    "skipM109Within": 2,
    "extruderFanCoolTemp": 50,
    "minTemp": 150,
    "maxTemp": 295,
    "minDefectTemp": -10,
    "maxDefectTemp": 310,
    "arcSupport": "1",
    "featureMemoryPositionWatchdog": "1",
    "forceChecksum": "0",
    "sdExtendedDir": "1",
    "featureFanControl": "1",
    "fanPin": 8,
    "scalePidToMax": 0,
    "zProbePin": "ORIG_Z_MIN_PIN",
    "zProbeBedDistance": 10,
    "zProbePullup": "1",
    "zProbeOnHigh": "0",
    "zProbeXOffset": 0,
    "zProbeYOffset": 0,
    "zProbeWaitBeforeTest": "0",
    "zProbeSpeed": 2,
    "zProbeXYSpeed": 150,
    "zProbeHeight": 0.4,
    "zProbeStartScript": "G28 \\n G0 Z50 F6000",
    "zProbeFinishedScript": "G0 Z200 X0 Y0",
    "featureAutolevel": "1",
    "zProbeX1": 0,
    "zProbeY1": 100,
    "zProbeX2": 86.6,
    "zProbeY2": -50,
    "zProbeX3": -86.6,
    "zProbeY3": -50,
    "zProbeSwitchingDistance": 1,
    "zProbeRepetitions": 1,
    "sdSupport": "0",
    "sdCardDetectPin": -1,
    "sdCardDetectInverted": "0",
    "uiStartScreenDelay": 1000,
    "xEndstopBackMove": 5,
    "yEndstopBackMove": 5,
    "zEndstopBackMove": 2,
    "xEndstopRetestFactor": 3,
    "yEndstopRetestFactor": 3,
    "zEndstopRetestFactor": 3,
    "xMinPin": "ORIG_X_MIN_PIN",
    "yMinPin": "ORIG_Y_MIN_PIN",
    "zMinPin": "ORIG_Z_MIN_PIN",
    "xMaxPin": "ORIG_X_MAX_PIN",
    "yMaxPin": "ORIG_Y_MAX_PIN",
    "zMaxPin": "ORIG_Z_MAX_PIN",
    "deltaHomeOnPower": "0",
    "fanBoardPin": -1,
    "heaterPWMSpeed": 0,
    "featureBabystepping": "1",
    "babystepMultiplicator": 1,
    "pdmForHeater": "1",
    "pdmForCooler": "1",
    "psOn": "ORIG_PS_ON_PIN",
    "mixingExtruder": "0",
    "decouplingTestMaxHoldVariance": 20,
    "decouplingTestMinTempRise": 1,
    "featureAxisComp": "0",
    "axisCompTanXY": 0,
    "axisCompTanXZ": 0,
    "axisCompTanYZ": 0,
    "retractOnPause": 2,
    "pauseStartCommands": "",
    "pauseEndCommands": "",
    "distortionCorrection": "0",
    "distortionCorrectionPoints": 5,
    "distortionCorrectionR": 130,
    "distortionPermanent": "1",
    "distortionUpdateFrequency": 15,
    "distortionStartDegrade": 0.5,
    "distortionEndDegrade": 1,
    "distortionExtrapolateCorners": "1",
    "sdRunOnStop": "G28",
    "sdStopHeaterMotorsOnStop": "1",
    "featureRetraction": "0",
    "autoretractEnabled": "0",
    "retractionLength": 3,
    "retractionLongLength": 13,
    "retractionSpeed": 40,
    "retractionZLift": 1,
    "retractionUndoExtraLength": 0,
    "retractionUndoExtraLongLength": 0,
    "retractionUndoSpeed": 20,
    "filamentChangeXPos": 0,
    "filamentChangeYPos": 0,
    "filamentChangeZAdd": 1,
    "filamentChangeRehome": 0,
    "filamentChangeShortRetract": 5,
    "filamentChangeLongRetract": 50,
    "fanKickstart": 200,
    "servo0StartPos": -1,
    "servo1StartPos": -1,
    "servo2StartPos": -1,
    "servo3StartPos": -1,
    "uiDynamicEncoderSpeed": "0",
    "uiServoControl": 0,
    "killIfSensorDefect": "0",
    "jamSteps": 220,
    "jamSlowdownSteps": 320,
    "jamSlowdownTo": 70,
    "jamErrorSteps": 500,
    "jamMinSteps": 10,
    "jamAction": 1,
    "primaryPort": 0,
    "numMotorDrivers": 0,
    "motorDrivers": [
        {
            "t": "None",
            "s": "",
            "invertEnable": "0",
            "invertDirection": "0",
            "stepsPerMM": 100,
            "speed": 10,
            "dirPin": -1,
            "stepPin": -1,
            "enablePin": -1
        },
        {
            "t": "None",
            "s": "",
            "invertEnable": "0",
            "invertDirection": "0",
            "stepsPerMM": 100,
            "speed": 10,
            "dirPin": -1,
            "stepPin": -1,
            "enablePin": -1
        },
        {
            "t": "None",
            "s": "",
            "invertEnable": "0",
            "invertDirection": "0",
            "stepsPerMM": 100,
            "speed": 10,
            "dirPin": -1,
            "stepPin": -1,
            "enablePin": -1
        },
        {
            "t": "None",
            "s": "",
            "invertEnable": "0",
            "invertDirection": "0",
            "stepsPerMM": 100,
            "speed": 10,
            "dirPin": -1,
            "stepPin": -1,
            "enablePin": -1
        },
        {
            "t": "None",
            "s": "",
            "invertEnable": "0",
            "invertDirection": "0",
            "stepsPerMM": 100,
            "speed": 10,
            "dirPin": -1,
            "stepPin": -1,
            "enablePin": -1
        },
        {
            "t": "None",
            "s": "",
            "invertEnable": "0",
            "invertDirection": "0",
            "stepsPerMM": 100,
            "speed": 10,
            "dirPin": -1,
            "stepPin": -1,
            "enablePin": -1
        }
    ],
    "manualConfig": "",
    "zHomeMinTemperature": 0,
    "zHomeXPos": 999999,
    "zHomeYPos": 999999,
    "zHomeHeatHeight": 20,
    "zHomeHeatAll": "1",
    "zProbeZOffsetMode": 0,
    "zProbeZOffset": 0,
    "uiBedCoating": "1",
    "maxHalfstepInterval": 1999,
    "hasMAX6675": false,
    "hasMAX31855": false,
    "hasGeneric1": false,
    "hasGeneric2": false,
    "hasGeneric3": false,
    "hasUser0": false,
    "hasUser1": false,
    "hasUser2": false,
    "numExtruder": 1,
    "version": 92.4,
    "primaryPortName": ""
}
========== End configuration string ==========

*/
Eric wrote:It's in the documentation you linked about the PT100:
It is important to understand that the PT100 amplifier is not a thermistor, and cannot just be plugged into the normal thermistor inputs of your electronics.

The PT100 board needs the 0v and 5v pins to be connected to a power source, the current requirements are very small, so you can just connect this to any 5v and 0v pins on your controller board. This provides power to the board so it can do it's amplifying thing.

The Signal output pin then needs to be connected to a spare analogue input pin on your electronics board. Look at your specific controller boards circuit diagram, and find a pin that is currently unused that begins with a capital 'A'. These are usually available on expansion or auxiliary headers, labelled AUX or EXP.
The available non-thermistor analog inputs are on the Analog Ext connector.

You'll then have to modify the firmware to look at the right input.
that is my config where should I put it?
Eric
Printmaster!
Posts: 726
Joined: Sat Aug 18, 2012 4:09 am
Location: Chula Vista, CA

Re: Where to plug in PT100 amp

Post by Eric »

It's most properly changed in "pins.h", just like the PT100 documentation suggests. Find the Rambo section of the file, then change the number by TEMP_0_PIN to that of the new input.

If you insist on doing it in "configuration.h", the line you want is: #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
Replace TEMP_0_PIN with the raw input number.
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Code: Select all

#ifndef PINS_H
#define PINS_H

/*
The board assignment defines the capabilities of the motherboard and the used pins.
Each board definition follows the following scheme:

CPU_ARCH
  ARCH_AVR for AVR based boards
  ARCH_ARM for all arm based boards

STEPPER_CURRENT_CONTROL
  CURRENT_CONTROL_MANUAL  1  // mechanical poti, default if not defined
  CURRENT_CONTROL_DIGIPOT 2  // Use a digipot like RAMBO does
  CURRENT_CONTROL_LTC2600 3  // Use LTC2600 like Foltyn 3D Master
  CURRENT_CONTROL_ALLIGATOR 4  //Use External DAC like Alligator
*/

#define ARCH_AVR 1
#define ARCH_ARM 2

#define CURRENT_CONTROL_MANUAL  1  // mechanical poti, default if not defined
#define CURRENT_CONTROL_DIGIPOT 2  // Use a digipot like RAMBO does
#define CURRENT_CONTROL_LTC2600 3  // Use LTC2600 like Foltyn 3D Master
#define CURRENT_CONTROL_ALLIGATOR 4  //Use External DAC like Alligator
#define CURRENT_CONTROL_MCP4728 5  // Use an i2c DAC as a digipot like PrintrBoard Rev. F

/****************************************************************************************
* Arduino pin assignment
*
*                  ATMega168
*                   +-\/-+
*             PC6  1|    |28  PC5 (AI 5 / D19)
*       (D 0) PD0  2|    |27  PC4 (AI 4 / D18)
*       (D 1) PD1  3|    |26  PC3 (AI 3 / D17)
*       (D 2) PD2  4|    |25  PC2 (AI 2 / D16)
*  PWM+ (D 3) PD3  5|    |24  PC1 (AI 1 / D15)
*       (D 4) PD4  6|    |23  PC0 (AI 0 / D14)
*             VCC  7|    |22  GND
*             GND  8|    |21  AREF
*             PB6  9|    |20  AVCC
*             PB7 10|    |19  PB5 (D 13)
*  PWM+ (D 5) PD5 11|    |18  PB4 (D 12)
*  PWM+ (D 6) PD6 12|    |17  PB3 (D 11) PWM
*       (D 7) PD7 13|    |16  PB2 (D 10) PWM
*       (D 8) PB0 14|    |15  PB1 (D 9)  PWM
*                   +----+
****************************************************************************************/
#if MOTHERBOARD == 0
#define KNOWN_BOARD 1

#ifndef __AVR_ATmega168__
#error Oops!  Make sure you have 'Arduino Diecimila' selected from the boards menu.
#endif

#define ORIG_X_STEP_PIN          2
#define ORIG_X_DIR_PIN           3
#define ORIG_X_ENABLE_PIN       -1
#define ORIG_X_MIN_PIN           4
#define ORIG_X_MAX_PIN           9

#define ORIG_Y_STEP_PIN         10
#define ORIG_Y_DIR_PIN           7
#define ORIG_Y_ENABLE_PIN       -1
#define ORIG_Y_MIN_PIN           8
#define ORIG_Y_MAX_PIN          13

#define ORIG_Z_STEP_PIN         19
#define ORIG_Z_DIR_PIN          18
#define ORIG_Z_ENABLE_PIN        5
#define ORIG_Z_MIN_PIN          17
#define ORIG_Z_MAX_PIN          16

#define ORIG_E0_STEP_PIN         11
#define ORIG_E0_DIR_PIN          12
#define ORIG_E0_ENABLE_PIN       -1

#define SDPOWER          -1
#define SDSS          -1
#define LED_PIN            -1
#define ORIG_FAN_PIN            -1
#define ORIG_PS_ON_PIN          15

#define HEATER_0_PIN        6
#define TEMP_0_PIN          0    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!


#endif



/****************************************************************************************
* Sanguino/RepRap Motherboard with direct-drive extruders
*
*                        ATMega644P
*
*                        +---\/---+
*            (D 0) PB0  1|        |40  PA0 (AI 0 / D31)
*            (D 1) PB1  2|        |39  PA1 (AI 1 / D30)
*       INT2 (D 2) PB2  3|        |38  PA2 (AI 2 / D29)
*        PWM (D 3) PB3  4|        |37  PA3 (AI 3 / D28)
*        PWM (D 4) PB4  5|        |36  PA4 (AI 4 / D27)
*       MOSI (D 5) PB5  6|        |35  PA5 (AI 5 / D26)
*       MISO (D 6) PB6  7|        |34  PA6 (AI 6 / D25)
*        SCK (D 7) PB7  8|        |33  PA7 (AI 7 / D24)
*                  RST  9|        |32  AREF
*                  VCC 10|        |31  GND
*                  GND 11|        |30  AVCC
*                XTAL2 12|        |29  PC7 (D 23)
*                XTAL1 13|        |28  PC6 (D 22)
*       RX0 (D 8)  PD0 14|        |27  PC5 (D 21) TDI
*       TX0 (D 9)  PD1 15|        |26  PC4 (D 20) TDO
*  INT0 RX1 (D 10) PD2 16|        |25  PC3 (D 19) TMS
*  INT1 TX1 (D 11) PD3 17|        |24  PC2 (D 18) TCK
*       PWM (D 12) PD4 18|        |23  PC1 (D 17) SDA
*       PWM (D 13) PD5 19|        |22  PC0 (D 16) SCL
*       PWM (D 14) PD6 20|        |21  PD7 (D 15) PWM
*                        +--------+
*
****************************************************************************************/
#if MOTHERBOARD == 1
#define KNOWN_BOARD 1

#ifndef __AVR_ATmega644P__
#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN         15
#define ORIG_X_DIR_PIN          18
#define ORIG_X_ENABLE_PIN       19
#define ORIG_X_MIN_PIN          20
#define ORIG_X_MAX_PIN          21

#define ORIG_Y_STEP_PIN         23
#define ORIG_Y_DIR_PIN          22
#define ORIG_Y_ENABLE_PIN       19
#define ORIG_Y_MIN_PIN          25
#define ORIG_Y_MAX_PIN          26

#define ORIG_Z_STEP_PIN         29
#define ORIG_Z_DIR_PIN          30
#define ORIG_Z_ENABLE_PIN       31
#define ORIG_Z_MIN_PIN           2
#define ORIG_Z_MAX_PIN           1

#define ORIG_E0_STEP_PIN         12
#define ORIG_E0_DIR_PIN          16
#define ORIG_E0_ENABLE_PIN        3

#define SDPOWER          -1
#define SDSS          -1
#define LED_PIN             0
#define ORIG_FAN_PIN            -1
#define ORIG_PS_ON_PIN          -1

#define HEATER_0_PIN       14
#define TEMP_0_PIN          4 //D27   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#define HEATER_1_PIN   -1
#define TEMP_1_PIN     -1
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1

/*  Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31)  */

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS


#endif

#if MOTHERBOARD == 91
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284__)
#error Oops!  Make sure you have 'OMC with Atmega644 at 20 Mhz' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN         26
#define ORIG_X_DIR_PIN          25
#define ORIG_X_ENABLE_PIN       10
#define ORIG_X_MIN_PIN          0
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         28
#define ORIG_Y_DIR_PIN          27
#define ORIG_Y_ENABLE_PIN       10
#define ORIG_Y_MIN_PIN          1
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         23
#define ORIG_Z_DIR_PIN          22
#define ORIG_Z_ENABLE_PIN       10
#define ORIG_Z_MIN_PIN           2
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN        24
#define ORIG_E0_DIR_PIN         21
#define ORIG_E0_ENABLE_PIN      10

#define PROBE_PIN               13

#define SDPOWER                 -1
#define SDSS                    -1
#define LED_PIN                 -1
#define ORIG_FAN_PIN            14
#define ORIG_PS_ON_PIN          -1

#define ORIG_SDCARDDETECT 	    -1

#define HEATER_0_PIN             3
#define TEMP_0_PIN               0
#define HEATER_1_PIN             4
#define TEMP_1_PIN               1
#define HEATER_2_PIN            -1
#define TEMP_2_PIN               2

#define SCK_PIN          7
#define MISO_PIN         6
#define MOSI_PIN         5

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,

#endif

/****************************************************************************************
* RepRap Motherboard  ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---*******
*
****************************************************************************************/
#if MOTHERBOARD == 2
#define KNOWN_BOARD 1

#ifndef __AVR_ATmega644P__
#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN      15
#define ORIG_X_DIR_PIN       18
#define ORIG_X_ENABLE_PIN    19
#define ORIG_X_MIN_PIN       20
#define ORIG_X_MAX_PIN       21

#define ORIG_Y_STEP_PIN      23
#define ORIG_Y_DIR_PIN       22
#define ORIG_Y_ENABLE_PIN    24
#define ORIG_Y_MIN_PIN       25
#define ORIG_Y_MAX_PIN       26

#define ORIG_Z_STEP_PINN     27
#define ORIG_Z_DIR_PINN      28
#define ORIG_Z_ENABLE_PIN    29
#define ORIG_Z_MIN_PIN       30
#define ORIG_Z_MAX_PIN       31

#define ORIG_E0_STEP_PIN      17
#define ORIG_E0_DIR_PIN       16
#define ORIG_E0_ENABLE_PIN    -1

#define SDPOWER          -1
#define SDSS          4
#define LED_PIN          0

#define SD_CARD_WRITE    2
#define SD_CARD_DETECT   3
#define SD_CARD_SELECT   4

//our RS485 pins
#define TX_ENABLE_PIN	12
#define RX_ENABLE_PIN	13

//pin for controlling the PSU.
#define ORIG_PS_ON_PIN       14

#define ORIG_FAN_PIN         -1

#define HEATER_0_PIN    -1
#define TEMP_0_PIN      -1    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!


#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS


#endif

/****************************************************************************************
* Gen3 PLUS for RepRap Motherboard V1.2
*
****************************************************************************************/
#if MOTHERBOARD == 21
#define KNOWN_BOARD 1

#ifndef __AVR_ATmega644P__
#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN      15
#define ORIG_X_DIR_PIN       18
#define ORIG_X_ENABLE_PIN    19
#define ORIG_X_MIN_PIN       20
#define ORIG_X_MAX_PIN       -1

//y axis pins
#define ORIG_Y_STEP_PIN      23
#define ORIG_Y_DIR_PIN       22
#define ORIG_Y_ENABLE_PIN    24
#define ORIG_Y_MIN_PIN       25
#define ORIG_Y_MAX_PIN       -1

//z axis pins
#define ORIG_Z_STEP_PIN      27
#define ORIG_Z_DIR_PIN       28
#define ORIG_Z_ENABLE_PIN    29
#define ORIG_Z_MIN_PIN       30
#define ORIG_Z_MAX_PIN       -1

#define ORIG_E0_DIR_PIN       21
#define ORIG_E0_STEP_PIN  17
#define ORIG_E0_ENABLE_PIN  13

//heaters
#define HEATER_0_PIN  12    // hot end heater
#define HEATER_1_PIN   16    // heated bed heater
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1

//pin for debugging.
#define DEBUG_PIN        -1
//SD card pin
#define SDSS      4
#define SDPOWER          -1
#define ORIG_FAN_PIN          -1
#define TEMP_0_PIN        0
#define TEMP_1_PIN        5
#define LED_PIN          -1

//pin for controlling the PSU.
#define ORIG_PS_ON_PIN       14
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS
#endif
//----------end Gen3 PLUS for RepRap Motherboard V1.2--------------

/****************************************************************************************
* Arduino Mega pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 33
#define KNOWN_BOARD 1
#define RAMPS_V_1_3
#elif MOTHERBOARD == 34
#define KNOWN_BOARD 1
#define RAMPS_V_1_3
#define AZTEEG_X3
#elif MOTHERBOARD == 35
#define KNOWN_BOARD 1
#define RAMPS_V_1_3
#define AZTEEG_X3_PRO
#endif
#if MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35
#define KNOWN_BOARD 1

//////////////////FIX THIS//////////////
#ifndef __AVR_ATmega1280__
#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#endif

// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
// #define RAMPS_V_1_3
// #define RAMPS_V_1_0

#ifdef RAMPS_V_1_3

#define ORIG_X_STEP_PIN         54
#define ORIG_X_DIR_PIN          55
#define ORIG_X_ENABLE_PIN       38
#define ORIG_X_MIN_PIN          3
#define ORIG_X_MAX_PIN          2

#define ORIG_Y_STEP_PIN         60
#define ORIG_Y_DIR_PIN          61
#define ORIG_Y_ENABLE_PIN       56
#define ORIG_Y_MIN_PIN          14
#define ORIG_Y_MAX_PIN          15

#define ORIG_Z_STEP_PIN         46
#define ORIG_Z_DIR_PIN          48
#define ORIG_Z_ENABLE_PIN       62
#define ORIG_Z_MIN_PIN          18
#define ORIG_Z_MAX_PIN          19

#define ORIG_E0_STEP_PIN         26
#define ORIG_E0_DIR_PIN          28
#define ORIG_E0_ENABLE_PIN       24

#define ORIG_E1_STEP_PIN         36
#define ORIG_E1_DIR_PIN          34
#define ORIG_E1_ENABLE_PIN       30

#define SDPOWER            -1
#define SDSS               53
#define ORIG_SDCARDDETECT 	    49

#define LED_PIN            13
#define ORIG_FAN_PIN            9
#define ORIG_PS_ON_PIN          12

#define HEATER_0_PIN       10
#define HEATER_1_PIN       8
#define HEATER_2_PIN       9
#define TEMP_0_PIN         13   // ANALOG NUMBERING
#define TEMP_1_PIN         14   // ANALOG NUMBERING
#define TEMP_2_PIN         15
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,


#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default

#define ORIG_X_STEP_PIN         26
#define ORIG_X_DIR_PIN          28
#define ORIG_X_ENABLE_PIN       24
#define ORIG_X_MIN_PIN           3
#define ORIG_X_MAX_PIN          -1    //2

#define ORIG_Y_STEP_PIN         38
#define ORIG_Y_DIR_PIN          40
#define ORIG_Y_ENABLE_PIN       36
#define ORIG_Y_MIN_PIN          16
#define ORIG_Y_MAX_PIN          -1    //17

#define ORIG_Z_STEP_PIN         44
#define ORIG_Z_DIR_PIN          46
#define ORIG_Z_ENABLE_PIN       42
#define ORIG_Z_MIN_PIN          18
#define ORIG_Z_MAX_PIN          -1    //19

#define ORIG_E0_STEP_PIN         32
#define ORIG_E0_DIR_PIN          34
#define ORIG_E0_ENABLE_PIN       30

#define SDPOWER            48
#define SDSS               53
#define LED_PIN            13
#define ORIG_PS_ON_PIN          -1
//#define SCL                21
//#define SDA                20

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS


#ifdef RAMPS_V_1_0 // RAMPS_V_1_0
#define HEATER_0_PIN     12    // RAMPS 1.0
#define HEATER_1_PIN     -1    // RAMPS 1.0
#define ORIG_FAN_PIN          11    // RAMPS 1.0

#else // RAMPS_V_1_1 or RAMPS_V_1_2
#define HEATER_0_PIN     10    // RAMPS 1.1
#define HEATER_1_PIN      8    // RAMPS 1.1
#define ORIG_FAN_PIN           9    // RAMPS 1.1
#endif

#define TEMP_0_PIN          2    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#define TEMP_1_PIN          1    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#endif

// SPI for Max6675 Thermocouple

// these pins are defined in the SD library if building with SD support
#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51
#define MAX6675_SS       53

#ifdef AZTEEG_X3
#define SDSUPPORT 1
#define SDCARDDETECTINVERTED 0
#define ORIG_SDCARDDETECT 49
#define ORIG_FAN_PIN           4
#define ORIG_FAN2_PIN          5
#define LIGHT_PIN         6
#define BEEPER_PIN        33  // Activate beeper on extension shield
#define BEEPER_TYPE        1

#define ORIG_E2_STEP_PIN         27  // Only available with X3 shield
#define ORIG_E2_DIR_PIN          29  // Only available with X3 shield
#define ORIG_E2_ENABLE_PIN       41  // Only available with X3 shield
#define ORIG_E3_STEP_PIN         23  // Only available with X3 shield
#define ORIG_E3_DIR_PIN          25  // Only available with X3 shield
#define ORIG_E3_ENABLE_PIN       40  // Only available with X3 shield
#define HEATER_3_PIN        17  // Only available with X3 shield
#define TEMP_3_PIN          12  // Only available with X3 shield
#define HEATER_4_PIN        16  // Only available with X3 shield
#define TEMP_4_PIN          5 //11  // Only available with X3 shield


#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS E3_STEP_PIN,E3_DIR_PIN,E3_ENABLE_PIN,

#endif

#ifdef AZTEEG_X3_PRO
#define SDSUPPORT true
#define SDCARDDETECTINVERTED false
#define ORIG_SDCARDDETECT 49
#define SDSS               53
#define ORIG_FAN_PIN           5
#define ORIG_FAN2_PIN          6
#define LIGHT_PIN         11
#define BEEPER_PIN        33  // Activate beeper on extension shield
#define BEEPER_TYPE        1

#define ORIG_E2_STEP_PIN         23
#define ORIG_E2_DIR_PIN          25
#define ORIG_E2_ENABLE_PIN       40
#define ORIG_E3_STEP_PIN         27
#define ORIG_E3_DIR_PIN          29
#define ORIG_E3_ENABLE_PIN       41
#define ORIG_E4_STEP_PIN         43
#define ORIG_E4_DIR_PIN          37
#define ORIG_E4_ENABLE_PIN       42
#define HEATER_0_PIN       10
#define HEATER_1_PIN       8  // bed
#define HEATER_2_PIN       9
#define HEATER_3_PIN       16
#define HEATER_4_PIN       17
#define HEATER_5_PIN       4
#define TEMP_0_PIN         13   // ANALOG NUMBERING
#define TEMP_1_PIN         14   // BED , ANALOG NUMBERING
#define TEMP_2_PIN         15
#define TEMP_3_PIN         12   // ANALOG NUMBERING
#define TEMP_4_PIN         11   // ANALOG NUMBERING
#define TEMP_5_PIN         10

#define TEMP_6_PIN         4   // Thermocouple 1
#define TEMP_7_PIN         5   // Thermocouple 2
#define THERMOCOUPLE_0_PIN         4   // Thermocouple 1
#define THERMOCOUPLE_1_PIN         5   // Thermocouple 2


#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,
#define E4_PINS ORIG_E4_STEP_PIN,ORIG_E4_DIR_PIN,ORIG_E4_ENABLE_PIN,

#endif

#endif

/****************************************************************************************
* Ultimaker Shield pin assignment v1.5.7
*
****************************************************************************************/
#if MOTHERBOARD == 37
#define ULTIMAKER_157
#define KNOWN_BOARD 1

#define ORIG_X_STEP_PIN 25
#define ORIG_X_DIR_PIN 23
#define ORIG_X_MIN_PIN 22
#define ORIG_X_MAX_PIN 24
#define ORIG_X_ENABLE_PIN 27

#define ORIG_Y_STEP_PIN 31
#define ORIG_Y_DIR_PIN 33
#define ORIG_Y_MIN_PIN 26
#define ORIG_Y_MAX_PIN 28
#define ORIG_Y_ENABLE_PIN 29

#define ORIG_Z_STEP_PIN 37
#define ORIG_Z_DIR_PIN 39
#define ORIG_Z_MIN_PIN 30
#define ORIG_Z_MAX_PIN 32
#define ORIG_Z_ENABLE_PIN 35

#define HEATER_1_PIN 4 // bed
#define TEMP_1_PIN 10

#define HEATER_0_PIN  2 //pwm
#define TEMP_0_PIN 8 //analog

#define HEATER_2_PIN 3
#define TEMP_2_PIN 9

#define HEATER_3_PIN -1
#define TEMP_3_PIN -1

#define ORIG_E0_STEP_PIN         43
#define ORIG_E0_DIR_PIN          45
#define ORIG_E0_ENABLE_PIN       41
#define E0_FAN_PIN           -1
//  #define EXT1_EXTRUDER_COOLER_PIN E0_FAN_PIN

#define ORIG_E1_STEP_PIN         49
#define ORIG_E1_DIR_PIN          47
#define ORIG_E1_ENABLE_PIN       48
#define E1_FAN_PIN           -1
//  #define EXT2_EXTRUDER_COOLER_PIN E1_FAN_PIN

#define LED_PIN            13
#define ORIG_FAN_PIN            7
#define ORIG_PS_ON_PIN          12
#define KILL_PIN           -1
#define SUICIDE_PIN        54  //PIN that has to be turned on right after start, to keep power flowing.

#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51
#define SDPOWER          -1
#define SDSS             53

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,

#endif

/****************************************************************************************
* RUMBA pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 80
#define KNOWN_BOARD 1

#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN         17
#define ORIG_X_DIR_PIN          16
#define ORIG_X_ENABLE_PIN       48
#define ORIG_X_MIN_PIN          37
#define ORIG_X_MAX_PIN          36   //Max endstops default to disabled "-1"

#define ORIG_Y_STEP_PIN         54
#define ORIG_Y_DIR_PIN          47
#define ORIG_Y_ENABLE_PIN       55
#define ORIG_Y_MIN_PIN          35
#define ORIG_Y_MAX_PIN          34

#define ORIG_Z_STEP_PIN         57
#define ORIG_Z_DIR_PIN          56
#define ORIG_Z_ENABLE_PIN       62
#define ORIG_Z_MIN_PIN          33
#define ORIG_Z_MAX_PIN          32

#define ORIG_E0_STEP_PIN         23
#define ORIG_E0_DIR_PIN          22
#define ORIG_E0_ENABLE_PIN       24

#define ORIG_E1_STEP_PIN        26
#define ORIG_E1_DIR_PIN         25
#define ORIG_E1_ENABLE_PIN      27

#define ORIG_E2_STEP_PIN        29
#define ORIG_E2_DIR_PIN         28
#define ORIG_E2_ENABLE_PIN      39

#define LED_PIN            13

#define ORIG_FAN_PIN            7
#define ORIG_FAN2_PIN     8 // (e.g. useful for electronics fan or light on/off) on PIN 8

#define ORIG_PS_ON_PIN          45

#define HEATER_0_PIN       2    // EXTRUDER 1
#define HEATER_2_PIN       3    // EXTRUDER 2
#define HEATER_3_PIN       6    // EXTRUDER 3
//optional FAN1 can be used as 4th heater output: #define HEATER_4_PIN       8    // EXTRUDER 4
#define HEATER_1_PIN       9    // BED

#define TEMP_0_PIN         15   // ANALOG NUMBERING
#define TEMP_2_PIN         14   // ANALOG NUMBERING
#define TEMP_3_PIN         13   // ANALOG NUMBERING
//optional for extruder 4 or chamber: #define TEMP_2_PIN         12   // ANALOG NUMBERING
#define TEMP_1_PIN       11   // ANALOG NUMBERING

#define SDPOWER            -1
#define SDSS               53
#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,

#endif //MOTHERBOARD==80

/****************************************************************************************
* Duemilanove w/ ATMega328P pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 4
#define KNOWN_BOARD 1

#ifndef __AVR_ATmega328P__
#error Oops!  Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN         19
#define ORIG_X_DIR_PIN          18
#define ORIG_X_ENABLE_PIN       -1
#define ORIG_X_MIN_PIN          17
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         10
#define ORIG_Y_DIR_PIN           7
#define ORIG_Y_ENABLE_PIN       -1
#define ORIG_Y_MIN_PIN           8
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         13
#define ORIG_Z_DIR_PIN           3
#define ORIG_Z_ENABLE_PIN        2
#define ORIG_Z_MIN_PIN           4
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         11
#define ORIG_E0_DIR_PIN          12
#define ORIG_E0_ENABLE_PIN       -1

#define SDPOWER          -1
#define SDSS          -1
#define LED_PIN            -1
#define ORIG_FAN_PIN             5
#define ORIG_PS_ON_PIN          -1

#define HEATER_0_PIN        6
#define TEMP_0_PIN          0    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS


#endif

/****************************************************************************************
* Gen6 pin assignment (5) and Gen6 deluxe assignment (51)
*
****************************************************************************************/
#if MOTHERBOARD == 5 || MOTHERBOARD == 51
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN      15
#define ORIG_X_DIR_PIN       18
#define ORIG_X_ENABLE_PIN    19
#define ORIG_X_MIN_PIN       20
#define ORIG_X_MAX_PIN       -1

//y axis pins
#define ORIG_Y_STEP_PIN      23
#define ORIG_Y_DIR_PIN       22
#define ORIG_Y_ENABLE_PIN    24
#define ORIG_Y_MIN_PIN       25
#define ORIG_Y_MAX_PIN       -1

//z axis pins
#define ORIG_Z_STEP_PIN      27
#define ORIG_Z_DIR_PIN       28
#define ORIG_Z_ENABLE_PIN    29
#define ORIG_Z_MIN_PIN       30
#define ORIG_Z_MAX_PIN       -1

//extruder pins
#define ORIG_E0_STEP_PIN      4     //Edited @ EJE Electronics 20100715
#define ORIG_E0_DIR_PIN       2     //Edited @ EJE Electronics 20100715
#define ORIG_E0_ENABLE_PIN    3     //Added @ EJE Electronics 20100715
#define TEMP_0_PIN      5     //changed @ rkoeppl 20110410
#define HEATER_0_PIN    14    //changed @ rkoeppl 20110410
#if MOTHERBOARD == 5
#define HEATER_1_PIN  -1    //changed @ rkoeppl 20110410
#define TEMP_1_PIN    -1    //changed @ rkoeppl 20110410
#else
#define HEATER_1_PIN   1    //changed @ rkoeppl 20110410
#define TEMP_1_PIN     0    //changed @ rkoeppl 20110410
#endif
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1


#define SDPOWER          -1
#define SDSS          16 // SCL pin of I2C header
#define LED_PIN         -1    //changed @ rkoeppl 20110410
#define ORIG_FAN_PIN         -1    //changed @ rkoeppl 20110410
#define ORIG_PS_ON_PIN       -1    //changed @ rkoeppl 20110410
//our pin for debugging.

#define DEBUG_PIN        0

//our RS485 pins
#define TX_ENABLE_PIN	12
#define RX_ENABLE_PIN	13
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS

#define SCK_PIN          7
#define MISO_PIN         6
#define MOSI_PIN         5

// #define SCL 16
// #define SDA 17

#endif
/****************************************************************************************
* Sanguinololu pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 62
#define SANGUINOLOLU_V_1_2
#endif
#if MOTHERBOARD == 65
#define AZTEEG_X1
#define SANGUINOLOLU_V_1_2
#endif

#if MOTHERBOARD == 6 || MOTHERBOARD == 62 || MOTHERBOARD == 65
#define KNOWN_BOARD 1
//#ifndef __AVR_ATmega644P__
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN         15
#define ORIG_X_DIR_PIN          21
#define ORIG_X_MIN_PIN          18
#define ORIG_X_MAX_PIN           -2

#define ORIG_Y_STEP_PIN         22
#define ORIG_Y_DIR_PIN          23
#define ORIG_Y_MIN_PIN          19
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         3
#define ORIG_Z_DIR_PIN          2
#define ORIG_Z_MIN_PIN          20
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         1
#define ORIG_E0_DIR_PIN          0

#define LED_PIN            -1

#define ORIG_FAN_PIN            -1

#define ORIG_PS_ON_PIN          -1

#define HEATER_0_PIN       13 // (extruder)

#ifdef SANGUINOLOLU_V_1_2

#define HEATER_1_PIN       12 // (bed)
#define ORIG_X_ENABLE_PIN       14
#define ORIG_Y_ENABLE_PIN       14
#define ORIG_Z_ENABLE_PIN       26
#define ORIG_E0_ENABLE_PIN       14

#else

#define HEATER_1_PIN       14  // (bed)
#define ORIG_X_ENABLE_PIN       -1
#define ORIG_Y_ENABLE_PIN       -1
#define ORIG_Z_ENABLE_PIN       -1
#define ORIG_E0_ENABLE_PIN       -1

#endif

#define TEMP_0_PIN          7   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
#define TEMP_1_PIN          6   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
#define SDPOWER          -1
#define SDSS          31
#define SCK_PIN          7
#define MISO_PIN         6
#define MOSI_PIN         5
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1

#ifdef AZTEEG_X1
#define ORIG_FAN_PIN            4
#endif

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS
#define E2_PINS

#ifndef KNOWN_BOARD
#error Unknown MOTHERBOARD value in configuration.h
#endif

#endif

/****************************************************************************************
* Melzi pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 63
#define KNOWN_BOARD 1
#ifndef __AVR_ATmega644P__
#ifndef __AVR_ATmega1284P__
//#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
#endif

#define ORIG_X_STEP_PIN         15
#define ORIG_X_DIR_PIN          21
#define ORIG_X_MIN_PIN          18
#define ORIG_X_MAX_PIN           -2

#define ORIG_Y_STEP_PIN         22
#define ORIG_Y_DIR_PIN          23
#define ORIG_Y_MIN_PIN          19
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         3
#define ORIG_Z_DIR_PIN          2
#define ORIG_Z_MIN_PIN          20
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         1
#define ORIG_E0_DIR_PIN          0
#define ORIG_E0_ENABLE_PIN      14

#define PROBE_PIN          -1    //29 on Melzi1284p A2

#define LED_PIN            27

#define ORIG_FAN_PIN            4

#define ORIG_PS_ON_PIN          -1

#define HEATER_0_PIN       13 // (extruder)
#define HEATER_2_PIN       -1
#ifdef REPRAPPRO_HUXLEY
#define HEATER_1_PIN     10 // bed (change to 10 for gate pin of MOSFET on heated bed)
#else
#define HEATER_1_PIN     12
#endif
#define ORIG_X_ENABLE_PIN       14
#define ORIG_Y_ENABLE_PIN       14
#define ORIG_Z_ENABLE_PIN       26

#define TEMP_0_PIN          7   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
#define TEMP_1_PIN          6   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
#define TEMP_2_PIN         -1
#define SDPOWER            -1
#define SDSS               31 // 31 http://reprap.org/wiki/Melzi#Melzi_Arduino_Pin_Numbers says 31, schamtic show pin 37 = PA0 which is arduino pin 31!
#define SCK_PIN          7
#define MISO_PIN         6
#define MOSI_PIN         5
#define SDSUPPORT 1  // sd card reader on board
#define ORIG_SDCARDDETECT -1

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS

#endif

/****************************************************************************************
* Gen7 1.1 and above pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 7
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error Oops!  Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN      19
#define ORIG_X_DIR_PIN       18
#define ORIG_X_ENABLE_PIN    24
#define ORIG_X_MIN_PIN       7
#define ORIG_X_MAX_PIN       6

//y axis pins
#define ORIG_Y_STEP_PIN      23
#define ORIG_Y_DIR_PIN       22
#define ORIG_Y_ENABLE_PIN    24
#define ORIG_Y_MIN_PIN       5
#define ORIG_Y_MAX_PIN       2

//z axis pins
#define ORIG_Z_STEP_PIN      26
#define ORIG_Z_DIR_PIN       25
#define ORIG_Z_ENABLE_PIN    24
#define ORIG_Z_MIN_PIN       1
#define ORIG_Z_MAX_PIN       0

//extruder pins
#define ORIG_E0_STEP_PIN      28
#define ORIG_E0_DIR_PIN       27
#define ORIG_E0_ENABLE_PIN    24
#define TEMP_0_PIN      1
#define TEMP_1_PIN      2
#define HEATER_0_PIN    4
#define HEATER_1_PIN    3
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1


#define SDPOWER          -1
#define SDSS          -1 // SCL pin of I2C header
#define LED_PIN         -1

#define ORIG_FAN_PIN         31
#define ORIG_PS_ON_PIN       15
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS

//our pin for debugging.

#define DEBUG_PIN        0

//our RS485 pins
#define TX_ENABLE_PIN	12
#define RX_ENABLE_PIN	13

#define SCK_PIN          7
#define SDSSORIG         4
#define MISO_PIN         6
#define MOSI_PIN         5

#endif
/****************************************************************************************
* Gen7 1.4.1 pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 71
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error Oops!  Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN      29
#define ORIG_X_DIR_PIN       28
#define ORIG_X_ENABLE_PIN    25
#define ORIG_X_MIN_PIN       0
#define ORIG_X_MAX_PIN       -1

//y axis pins
#define ORIG_Y_STEP_PIN      27
#define ORIG_Y_DIR_PIN       26
#define ORIG_Y_ENABLE_PIN    25
#define ORIG_Y_MIN_PIN       1
#define ORIG_Y_MAX_PIN       -1

//z axis pins
#define ORIG_Z_STEP_PIN      23
#define ORIG_Z_DIR_PIN       22
#define ORIG_Z_ENABLE_PIN    25
#define ORIG_Z_MIN_PIN       2
#define ORIG_Z_MAX_PIN       -1

//extruder pins
#define ORIG_E0_STEP_PIN      19
#define ORIG_E0_DIR_PIN       18
#define ORIG_E0_ENABLE_PIN    25
#define TEMP_0_PIN      1
#define TEMP_1_PIN      0
#define HEATER_0_PIN    4
#define HEATER_1_PIN    3
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1


#define SDPOWER          -1
#define SDSS            -1
#define LED_PIN         -1

#define ORIG_FAN_PIN         -1
#define ORIG_PS_ON_PIN       15
//our pin for debugging.

#define DEBUG_PIN        0

//our RS485 pins
#define TX_ENABLE_PIN	12
#define RX_ENABLE_PIN	13

#define SDPOWER          -1
#define SDSS          -1
#define SDSSORIG         4  // Needs to set this to output to enable SPI even if other SS is used!

#define SCK_PIN          7
#define MISO_PIN         6
#define MOSI_PIN         5
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS
#endif

/****************************************************************************************
* Sethi 3D_1 Extruder
*
****************************************************************************************/
#if MOTHERBOARD == 72
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error Oops!  Make sure you have 'Sethi' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN      19
#define ORIG_X_DIR_PIN       18
#define ORIG_X_ENABLE_PIN    24
#define ORIG_X_MIN_PIN       2
#define ORIG_X_MAX_PIN       6

//y axis pins
#define ORIG_Y_STEP_PIN      23
#define ORIG_Y_DIR_PIN       22
#define ORIG_Y_ENABLE_PIN    24
#define ORIG_Y_MIN_PIN       0
#define ORIG_Y_MAX_PIN       2

//z axis pins
#define ORIG_Z_STEP_PIN      26
#define ORIG_Z_DIR_PIN       25
#define ORIG_Z_ENABLE_PIN    24
#define ORIG_Z_MIN_PIN       1
#define ORIG_Z_MAX_PIN       0

//extruder pins
#define ORIG_E0_STEP_PIN      28
#define ORIG_E0_DIR_PIN       27
#define ORIG_E0_ENABLE_PIN    24
#define TEMP_0_PIN      1
#define TEMP_1_PIN      2
#define HEATER_0_PIN    4
#define HEATER_1_PIN    3


#define SDPOWER          -1
#define SDSS          -1 // SCL pin of I2C header
#define LED_PIN         -1

#define ORIG_FAN_PIN         31
#define ORIG_PS_ON_PIN       15
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS

//our pin for debugging.

#define DEBUG_PIN        0

//our RS485 pins
#define TX_ENABLE_PIN	12
#define RX_ENABLE_PIN	13

#define SCK_PIN          7
#define SDSSORIG         4
#define MISO_PIN         6
#define MOSI_PIN         5

#endif

/****************************************************************************************
    OpenHardware.co.za FrontPrint Controller 1.0
****************************************************************************************/
#if MOTHERBOARD == 73
#define KNOWN_BOARD 1

#if !defined(AVR_ATmega644P) && !defined(AVR_ATmega644) && !defined(AVR_ATmega1284P)
#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN 29
#define ORIG_X_DIR_PIN 28
#define ORIG_X_ENABLE_PIN 25
#define ORIG_X_MIN_PIN 0
#define ORIG_X_MAX_PIN -1

//y axis pins
#define ORIG_Y_STEP_PIN 27
#define ORIG_Y_DIR_PIN 26
#define ORIG_Y_ENABLE_PIN 25
#define ORIG_Y_MIN_PIN 1
#define ORIG_Y_MAX_PIN -1

//z axis pins
#define ORIG_Z_STEP_PIN 23
#define ORIG_Z_DIR_PIN 22
#define ORIG_Z_ENABLE_PIN 25
#define ORIG_Z_MIN_PIN 2
#define ORIG_Z_MAX_PIN -1

//First extruder pins
#define ORIG_E0_STEP_PIN 19
#define ORIG_E0_DIR_PIN 18
#define ORIG_E0_ENABLE_PIN 25
#define TEMP_0_PIN 1
#define HEATER_0_PIN 4

//Second Extruder pins
#define ORIG_E1_STEP_PIN 20
#define ORIG_E1_DIR_PIN 18
#define ORIG_E1_ENABLE_PIN 25

#define TEMP_2_PIN 7
#define HEATER_2_PIN 13

//Heated Bed Pins
#define HEATER_1_PIN 3
#define TEMP_1_PIN 0

//SD Card Pins
#define SDPOWER -1
#define SDSS 14
#define SCK_PIN 7
#define MISO_PIN 6
#define MOSI_PIN 5

#define ORIG_FAN_PIN 21 //FAN and ATX Power Supply Control Pins
#define ORIG_PS_ON_PIN 15

#define LED_PIN -1
#define SDSUPPORT 1  // sd card reader on board
#define ORIG_SDCARDDETECT -1

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#endif

/****************************************************************************************
* Teensylu 0.7 pin assingments (ATMEGA90USB)
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
****************************************************************************************/
#if MOTHERBOARD == 8
#define KNOWN_BOARD 1

#define ORIG_X_STEP_PIN         28
#define ORIG_X_DIR_PIN          29
#define ORIG_X_ENABLE_PIN       19
#define ORIG_X_MIN_PIN          25
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         30
#define ORIG_Y_DIR_PIN          31
#define ORIG_Y_ENABLE_PIN       20 //26
#define ORIG_Y_MIN_PIN          26 // 20
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         32
#define ORIG_Z_DIR_PIN          33
#define ORIG_Z_ENABLE_PIN       17
#define ORIG_Z_MIN_PIN          27
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         34
#define ORIG_E0_DIR_PIN          35
#define ORIG_E0_ENABLE_PIN       13

#define TEMP_0_PIN          7 // Extruder - ANALOG PIN NUMBER!
#define TEMP_1_PIN          6 // Bed - ANALOG PIN NUMBER!
#define HEATER_0_PIN       15 // Extruder
#define HEATER_1_PIN       14 // bed
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1

#define SDPOWER            -1
#define SDSS                20
#define LED_PIN            -1

#define ORIG_FAN_PIN            16 // Fan
#define ORIG_PS_ON_PIN          -1

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS

#if !SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN          21
#define MISO_PIN         23
#define MOSI_PIN         22
#endif

#endif

/****************************************************************************************
* Unique One rev. A pin assingments (ATMEGA90USB)
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
****************************************************************************************/
#if MOTHERBOARD == 88
#define KNOWN_BOARD 1

#define ORIG_X_STEP_PIN         28
#define ORIG_X_DIR_PIN          29
#define ORIG_X_ENABLE_PIN       19
#define ORIG_X_MIN_PIN          25
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         30
#define ORIG_Y_DIR_PIN          31
#define ORIG_Y_ENABLE_PIN       18
#define ORIG_Y_MIN_PIN          26
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         32
#define ORIG_Z_DIR_PIN          33
#define ORIG_Z_ENABLE_PIN       17
#define ORIG_Z_MIN_PIN          27
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         34
#define ORIG_E0_DIR_PIN          35
#define ORIG_E0_ENABLE_PIN       12
#define HEATER_0_PIN         8 // Extruder
#define TEMP_0_PIN           5 // Extruder - ANALOG PIN NUMBER!

#define ORIG_E1_STEP_PIN         14
#define ORIG_E1_DIR_PIN          13
#define ORIG_E1_ENABLE_PIN       11
#define HEATER_2_PIN         9 // Extruder
#define TEMP_2_PIN           6 // Extruder - ANALOG PIN NUMBER!

#define HEATER_1_PIN       10 // bed
#define TEMP_1_PIN          7 // Bed - ANALOG PIN NUMBER!

#define SDPOWER            -1
#define SDSS                20
#define LED_PIN            -1

#define ORIG_FAN_PIN            16 // Fan
#define ORIG_PS_ON_PIN          -1

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,

#if !SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN          21
#define MISO_PIN         23
#define MOSI_PIN         22
#endif

#endif

/****************************************************************************************
* Printrboard Rev. F pin assingments (ATMEGA90USB1286)
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
* See http://reprap.org/wiki/Printrboard for more info
*
* Rev. F uses an MCP4728 DAC to generate the Reference Voltage used to determine the
* Stepper Driver's maximum current.
*
* On PrintrBoard, with Sense Resistors = 0.11 Ohms, and 2 Amps maximum current rating,
* the Maximum VRef to send is calculated as:
*
*   2.00 Amps Maximum Output * (8 * 0.11 Ohms) = 1.76 Maximum VRef from MCP4728.
*
****************************************************************************************/
#if MOTHERBOARD == 92
#define KNOWN_BOARD 1

// Definition for current control
#define STEPPER_CURRENT_CONTROL   CURRENT_CONTROL_MCP4728

#define MCP4728_I2C_ADDRESS	0x60 << 1 // Base Address (0x60); Pre-Shifted Left 1 bit for Repetier HAL.
#define MCP4728_GENERALCALL_ADDRESS  0x00 // General Call Address. Weird, but OK...
#define MCP4728_CMD_MULTI_WRITE   0B01000000 // Writes DAC Settings, Does not update EEPROM.
#define MCP4728_CMD_SEQ_WRITE     0B01010000 // Writes DAC Settings, also persists to EEPROM.
#define MCP4728_CMD_GC_UPDATE     0B00001000 // General Call Update - Update all DAC Outputs (Only way to update DAC Outputs on PrintrBoard Rev F because they tied /LDAC to VDD.
#define MCP4728_CMD_GC_RESET      0B00000110 // General Call Reset
#define MCP4728_VREF 		1 // From DataSheet. We will use MCP4728's internal 2.048V as Vref
#define MCP4728_GAIN		0 // From DataSheet. Use 1x Gain Multiplier (0V - 2.048V);
#define MCP4728_NUM_CHANNELS    4 // Duh. Specified here in case there's a beefier chip used on some other board someday.
#define MCP4728_STEPPER_ORDER 	{3,2,1,0} // PrintrBoard wired 'em up backwards. SMH.  X, Y, Z, E
#define MCP4728_VOUT_MAX	3520 // 1.76 Volts * 2000. See DataSheets for the math. Value should be between 0-4095

#define ORIG_X_STEP_PIN         28
#define ORIG_X_DIR_PIN          29
#define ORIG_X_ENABLE_PIN       19
#define ORIG_X_MIN_PIN          47
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         30
#define ORIG_Y_DIR_PIN          31
#define ORIG_Y_ENABLE_PIN       18
#define ORIG_Y_MIN_PIN          24 // (Was Pin 20 on Rev B-E); Don't use this if you want to use SD card. Use 37 and put the endstop in the e-stop slot!!!
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         32
#define ORIG_Z_DIR_PIN          33
#define ORIG_Z_ENABLE_PIN       17
#define ORIG_Z_MIN_PIN          36
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         34
#define ORIG_E0_DIR_PIN          35
#define ORIG_E0_ENABLE_PIN       13
#define TEMP_0_PIN          1 // Extruder - ANALOG PIN NUMBER!
#define TEMP_1_PIN          0 // Bed - ANALOG PIN NUMBER!
#define HEATER_0_PIN       15 // Extruder
#define HEATER_1_PIN       14 // bed
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1

#define SDPOWER            -1
#define SDSS               20 // (Was Pin 26 on Rev. B-E);  old value 2
#define LED_PIN            -1

#define ORIG_FAN_PIN            16 // Fan
#define ORIG_PS_ON_PIN          -1

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS
#if !SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN          21
#define MISO_PIN         23
#define MOSI_PIN         22
#endif

#endif


/****************************************************************************************
* Printrboard Rev. B pin assingments (ATMEGA90USB1286)
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
* See http://reprap.org/wiki/Printrboard for more info
****************************************************************************************/
#if MOTHERBOARD == 9
#define KNOWN_BOARD 1

#define ORIG_X_STEP_PIN         28
#define ORIG_X_DIR_PIN          29
#define ORIG_X_ENABLE_PIN       19
#define ORIG_X_MIN_PIN          47
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         30
#define ORIG_Y_DIR_PIN          31
#define ORIG_Y_ENABLE_PIN       18
#define ORIG_Y_MIN_PIN           20 // Don't use this if you want to use SD card. Use 37 and put the endstop in the e-stop slot!!!
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         32
#define ORIG_Z_DIR_PIN          33
#define ORIG_Z_ENABLE_PIN       17
#define ORIG_Z_MIN_PIN          36
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         34
#define ORIG_E0_DIR_PIN          35
#define ORIG_E0_ENABLE_PIN       13
#define TEMP_0_PIN          1 // Extruder - ANALOG PIN NUMBER!
#define TEMP_1_PIN          0 // Bed - ANALOG PIN NUMBER!
#define HEATER_0_PIN       15 // Extruder
#define HEATER_1_PIN       14 // bed
#define HEATER_2_PIN   -1
#define TEMP_2_PIN     -1

#define SDPOWER            -1
#define SDSS                26 // old value 2
#define LED_PIN            -1

#define ORIG_FAN_PIN            16 // Fan
#define ORIG_PS_ON_PIN          -1

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS
#if !SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN          21
#define MISO_PIN         23
#define MOSI_PIN         22
#endif

#endif

/****************************************************************************************
* 3D Master pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 12
#define KNOWN_BOARD 1

#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif

// Definition for current control
#define STEPPER_CURRENT_CONTROL  CURRENT_CONTROL_LTC2600
#define LTC2600_CHANNELS {0x30,0x31,0x32,0x33,0x34}
#define LTC2600_NUM_CHANNELS 5
#define	LTC2600_CS_PIN		   92	// PIND.4, 47, DA_CS
#define LTC2600_SCK_PIN		   93	// PIND.5, 48, DA_SCK
#define LTC2600_SDI_PIN		   94	// PIND.6, 49, DA_SDI

// On board beeper, so define values already here
#define BEEPER_PIN 23
#define BEEPER_TYPE 1
#define SDSUPPORT 1  // sd card reader on board
#define ORIG_SDCARDDETECT -1

// digital pin mappings
#define ORIG_X_STEP_PIN         54	// PINF.0, 97, STP_DRV1
#define ORIG_X_DIR_PIN          55	// PINF.1, 96, DIR_DRV1
#define ORIG_X_ENABLE_PIN       38	// PIND.7, 50, ENA_DRV1
#define ORIG_X_MIN_PIN           3	// PINE.5,  7, OPTO1
#define ORIG_X_MAX_PIN          -1   // PINJ.0, 63, OPTO4 (would be "15", -1 = disabled)

#define ORIG_Y_STEP_PIN         60	// PINF.6, 91, STP_DRV2
#define ORIG_Y_DIR_PIN          61	// PINF.7, 90, DIR_DRV2
#define ORIG_Y_ENABLE_PIN       56	// PINF.2, 95, ENA_DRV2
#define ORIG_Y_MIN_PIN           2	// PINE.4,  6, OPTO2
#define ORIG_Y_MAX_PIN          -1   // PIND.3, 46, OPTO5 (would be "18", -1 = disabled

#define ORIG_Z_STEP_PIN         46	// PINL.3, 38, STP_DRV3
#define ORIG_Z_DIR_PIN          48	// PINL.1, 36, DIR_DRV3
#define ORIG_Z_ENABLE_PIN       62	// PINK.0, 89, ENA_DRV3
#define ORIG_Z_MIN_PIN          14	// PINJ.1, 64, OPTO3
#define ORIG_Z_MAX_PIN          -1   // PIND.2, 45, OPTO6 (would be "19", -1 = disabled)

#define ORIG_E0_STEP_PIN         26	// PINA.4, 74, STP_DRV4
#define ORIG_E0_DIR_PIN          28	// PINA.6, 72, DIR_DRV4
#define ORIG_E0_ENABLE_PIN       24	// PINA.2, 76 ENA_DRV4

#define ORIG_E1_STEP_PIN       36	// PINC.1, 54, STP_DRV5
#define ORIG_E1_DIR_PIN        34	// PINC.3, 56, DIR_DRV5
#define ORIG_E1_ENABLE_PIN     30	// PINC.7, 60, ENA_DRV5

#define SDPOWER            -1
#define SDSS               53	// PINB.0, 19, SS
#define LED_PIN            13	// PINB.7, 26, LED13
#define ORIG_FAN_PIN            25	// OUT1 PINA.3, 75, OUT1
#define FAN_BOARD_PIN      27   // OUT2
#define ORIG_PS_ON_PIN          -1

#define HEATER_0_PIN       10	// PINB.4, 23, HZ1
#define HEATER_1_PIN        9	// PINH.6, 18, HZ2
#define HEATER_2_PIN	    8	// PINH.5, 17, HZ3

// analog pin mappings
#define TEMP_0_PIN         13   // PINK.5, 84, TH1
#define TEMP_1_PIN         14   // PINK.6, 83, TH2
#define TEMP_2_PIN         15   // PINK.7, 82, TH3

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,

// these pins are defined in the SD library if building with SD support
#define SCK_PIN          52	// PINB.1, 20, SCK
#define MISO_PIN         50	// PINB.3, 22, MISO
#define MOSI_PIN         51	// PINB.2, 21, MOSI
#define MAX6675_SS       53	// PINB.0, 19, SS

#endif // MOTHERBOARD == 12


/****************************************************************************************
* MegaTronics
*
****************************************************************************************/
#if MOTHERBOARD == 70
#define KNOWN_BOARD 1

//////////////////FIX THIS//////////////

#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif




#define ORIG_X_STEP_PIN         26
#define ORIG_X_DIR_PIN          28
#define ORIG_X_ENABLE_PIN       24
#define ORIG_X_MIN_PIN          41
#define ORIG_X_MAX_PIN          37   //2 //Max endstops default to disabled "-1", set to commented value to enable.

#define ORIG_Y_STEP_PIN         60 // A6
#define ORIG_Y_DIR_PIN          61 // A7
#define ORIG_Y_ENABLE_PIN       22
#define ORIG_Y_MIN_PIN          14
#define ORIG_Y_MAX_PIN          15   //15

#define ORIG_Z_STEP_PIN         54 // A0
#define ORIG_Z_DIR_PIN          55 // A1
#define ORIG_Z_ENABLE_PIN       56 // A2
#define ORIG_Z_MIN_PIN          18
#define ORIG_Z_MAX_PIN          19

#define ORIG_E0_STEP_PIN         31
#define ORIG_E0_DIR_PIN          32
#define ORIG_E0_ENABLE_PIN       38

#define ORIG_E1_STEP_PIN        34
#define ORIG_E1_DIR_PIN         36
#define ORIG_E1_ENABLE_PIN      30

#define SDPOWER            -1
#define SDSS               53
#define LED_PIN            13


#define ORIG_FAN_PIN            7 // IO pin. Buffer needed
#define ORIG_PS_ON_PIN          12

#define HEATER_0_PIN       9    // EXTRUDER 1
#define HEATER_1_PIN       8    // EXTRUDER 2 (FAN On Sprinter)
#define HEATER_2_PIN       10   // Heated bed

#define THERMOCOUPLE_0_PIN 8
#define TEMP_3_PIN         8   // Thermocouple 0 ANALOG NUMBERING
#define TEMP_0_PIN         13   // ANALOG NUMBERING
#define TEMP_1_PIN         15   // ANALOG NUMBERING
#define TEMP_2_PIN         -1   // ANALOG NUMBERING
#define HEATER_BED_PIN     10   // BED
#define TEMP_BED_PIN       14   // ANALOG NUMBERING

#define BEEPER_PIN 33			// Beeper on AUX-4
#define BEEPER_TYPE 1
#define SDSUPPORT 1  // sd card reader on board
#define ORIG_SDCARDDETECT -1


#ifdef ULTRA_LCD

#ifdef NEWPANEL
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29

//buttons are directly attached using AUX-2
#define BTN_EN1 37
#define BTN_EN2 35
#define BTN_ENC 43  //the click

#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0

#endif
#endif //ULTRA_LCD

#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS

#endif

/****************************************************************************************
* FELIXprinters
*
****************************************************************************************/
#if MOTHERBOARD == 101
#define KNOWN_BOARD 1


//////////////////FIX THIS//////////////
#ifndef __AVR_ATmega1280__
#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#endif

#define ORIG_X_STEP_PIN         54
#define ORIG_X_DIR_PIN          55
#define ORIG_X_ENABLE_PIN       38
#define ORIG_X_MIN_PIN          3
#define ORIG_X_MAX_PIN          -1

#define ORIG_Y_STEP_PIN         60
#define ORIG_Y_DIR_PIN          61
#define ORIG_Y_ENABLE_PIN       56
#define ORIG_Y_MIN_PIN          14
#define ORIG_Y_MAX_PIN          -1

#define ORIG_Z_STEP_PIN         46
#define ORIG_Z_DIR_PIN          48
#define ORIG_Z_ENABLE_PIN       62
#define ORIG_Z_MIN_PIN          18
#define ORIG_Z_MAX_PIN          -1

#define ORIG_E0_STEP_PIN         26
#define ORIG_E0_DIR_PIN          28
#define ORIG_E0_ENABLE_PIN       24

#define ORIG_E1_STEP_PIN         36
#define ORIG_E1_DIR_PIN          34
#define ORIG_E1_ENABLE_PIN       30



#define LED_PIN            13
#define ORIG_FAN_PIN            9
#define ORIG_PS_ON_PIN          12
#define KILL_PIN           -1

#define HEATER_0_PIN       10
#define HEATER_1_PIN       8 //BED
#define HEATER_2_PIN       7

#define TEMP_0_PIN         13   // ANALOG NUMBERING
#define TEMP_1_PIN         14   // BED,ANALOG NUMBERING
#define TEMP_2_PIN         15

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,

#define SDPOWER            1
#define SDSS               53
#define ORIG_SDCARDDETECT 	   6
#define SDSUPPORT 1            // already defined in config.h
#define SDCARDDETECTINVERTED 1 // already defined in config.h

// these pins are defined in the SD library if building with SD support
#define SCK_PIN          52	// PINB.1, 20, SCK
#define MISO_PIN         50	// PINB.3, 22, MISO
#define MOSI_PIN         51	// PINB.2, 21, MOSI
#define MAX6675_SS       -1//53	// PINB.0, 19, SS

#define BEEPER_PIN        -1  // Activate beeper on extension shield
#define BEEPER_TYPE        1

#endif//MOTHERBOARD == 101


/****************************************************************************************
* MegaTronics v2.0
*
****************************************************************************************/
#if MOTHERBOARD == 701
#define KNOWN_BOARD 1


#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif


#define ORIG_X_STEP_PIN         26
#define ORIG_X_DIR_PIN          27
#define ORIG_X_ENABLE_PIN       25
#define ORIG_X_MIN_PIN          37
#define ORIG_X_MAX_PIN          40   //2 //Max endstops default to disabled "-1", set to commented value to enable.

#define ORIG_Y_STEP_PIN         4 // A6
#define ORIG_Y_DIR_PIN          54 // A0
#define ORIG_Y_ENABLE_PIN       5
#define ORIG_Y_MIN_PIN          41
#define ORIG_Y_MAX_PIN          38   //15

#define ORIG_Z_STEP_PIN         56 // A2
#define ORIG_Z_DIR_PIN          60 // A6
#define ORIG_Z_ENABLE_PIN       55 // A1
#define ORIG_Z_MIN_PIN          18
#define ORIG_Z_MAX_PIN          19

#define ORIG_E0_STEP_PIN         35
#define ORIG_E0_DIR_PIN          36
#define ORIG_E0_ENABLE_PIN       34

#define ORIG_E1_STEP_PIN         29
#define ORIG_E1_DIR_PIN          39
#define ORIG_E1_ENABLE_PIN       28

#define ORIG_E2_STEP_PIN         23
#define ORIG_E2_DIR_PIN          24
#define ORIG_E2_ENABLE_PIN       22

#define ORIG_SDCARDDETECT -1		// Ramps does not use this port
#define SDPOWER            -1
#define SDSS               53

#define LED_PIN            13


#define ORIG_FAN_PIN            7
#define ORIG_FAN2_PIN           6
#define ORIG_PS_ON_PIN          12

#define HEATER_0_PIN       9    // EXTRUDER 1
#define HEATER_2_PIN       8    // Heated bed
#define HEATER_1_PIN       10   // EXTRUDER 2

#define TEMP_0_PIN         13   // Thermistor 0 ANALOG NUMBERING
#define TEMP_2_PIN         15   // Thermistor 1 ANALOG NUMBERING
#define TEMP_1_PIN         14   // Thermistor 2 for heated bed ANALOG NUMBERING
#define TEMP_3_PIN         8    // Thermocouple 0
#define TEMP_4_PIN         4    // Thermocouple 1
#define THERMOCOUPLE_0_PIN 8
#define THERMOCOUPLE_0_PIN 4

#define BEEPER_PIN 64			// Beeper on AUX-4

#define LCD_PINS_RS 14
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 30
#define LCD_PINS_D5 31
#define LCD_PINS_D6 32
#define LCD_PINS_D7 33


//buttons are directly attached using AUX-2
#define BTN_EN1 59
#define BTN_EN2 64
#define BTN_ENC 43  //the click

#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0

#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,

#endif

/****************************************************************************************
* Minitronics v1.0
*
****************************************************************************************/
#if MOTHERBOARD == 702
#define KNOWN_BOARD 1


#ifndef __AVR_ATmega1281__
#error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu.
#endif

#define LARGE_FLASH true

#define ORIG_X_STEP_PIN 48
#define ORIG_X_DIR_PIN 47
#define ORIG_X_ENABLE_PIN 49
#define ORIG_X_MIN_PIN 5
#define ORIG_X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.

#define ORIG_Y_STEP_PIN 39 // A6
#define ORIG_Y_DIR_PIN 40 // A0
#define ORIG_Y_ENABLE_PIN 38
#define ORIG_Y_MIN_PIN 2
#define ORIG_Y_MAX_PIN -1 //15

#define ORIG_Z_STEP_PIN 42 // A2
#define ORIG_Z_DIR_PIN 43 // A6
#define ORIG_Z_ENABLE_PIN 41 // A1
#define ORIG_Z_MIN_PIN 6
#define ORIG_Z_MAX_PIN -1

#define ORIG_E0_STEP_PIN 45
#define ORIG_E0_DIR_PIN 44
#define ORIG_E0_ENABLE_PIN 27

#define ORIG_E1_STEP_PIN 36
#define ORIG_E1_DIR_PIN 35
#define ORIG_E1_ENABLE_PIN 37

#define ORIG_E2_STEP_PIN -1
#define ORIG_E2_DIR_PIN -1
#define ORIG_E2_ENABLE_PIN -1

#define SDPOWER -1
#define SDSS 16
#define SCK_PIN 10
#define MISO_PIN 12
#define MOSI_PIN 11
#define LED_PIN 46

#define ORIG_FAN_PIN 9
#define ORIG_FAN2_PIN -1
#define ORIG_PS_ON_PIN -1
#define KILL_PIN -1

#define HEATER_0_PIN 7 // EXTRUDER 1
#define HEATER_1_PIN 3 // BED
#define HEATER_2_PIN 8 // EXTRUDER 2
#define HEATER_3_PIN -1


#define TEMP_0_PIN 7 // ANALOG NUMBERING
#define TEMP_1_PIN 6 // BED SENSOR ANALOG NUMBERING
#define TEMP_2_PIN 6 // ANALOG NUMBERING
#define TEMP_3_PIN -1 // ANALOG NUMBERING


#define BEEPER_PIN -1

#define ORIG_SDCARDDETECT -1 // Megatronics does not use this port
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS

#endif


/****************************************************************************************
* MegaTronics v3.0
*
****************************************************************************************/
#if MOTHERBOARD == 703
#define KNOWN_BOARD 1


#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif


#define ORIG_X_STEP_PIN 58
#define ORIG_X_DIR_PIN 57
#define ORIG_X_ENABLE_PIN 59
#define ORIG_X_MIN_PIN 37
#define ORIG_X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable.

#define ORIG_Y_STEP_PIN 5 // A6
#define ORIG_Y_DIR_PIN 17 // A0
#define ORIG_Y_ENABLE_PIN 4
#define ORIG_Y_MIN_PIN 41
#define ORIG_Y_MAX_PIN 38 //15

#define ORIG_Z_STEP_PIN 16 // A2
#define ORIG_Z_DIR_PIN 11 // A6
#define ORIG_Z_ENABLE_PIN 3 // A1
#define ORIG_Z_MIN_PIN 18
#define ORIG_Z_MAX_PIN 19

#define ORIG_E0_STEP_PIN 28
#define ORIG_E0_DIR_PIN 27
#define ORIG_E0_ENABLE_PIN 29

#define ORIG_E1_STEP_PIN 25
#define ORIG_E1_DIR_PIN 24
#define ORIG_E1_ENABLE_PIN 26

#define ORIG_E2_STEP_PIN 22
#define ORIG_E2_DIR_PIN 60
#define ORIG_E2_ENABLE_PIN 23

#define ORIG_SDCARDDETECT -1	 // Ramps does not use this port
#define SDPOWER -1
#define SDSS 53

#define LED_PIN 13

#define ORIG_FAN_PIN 6
#define ORIG_FAN2_PIN 7

#define ORIG_PS_ON_PIN 12
//#define KILL_PIN -1

#define HEATER_0_PIN 2 // EXTRUDER 0 - changed 10-9-2015
#define HEATER_2_PIN 9 // EXTRUDER 1 - changed 10-9-2015
#define HEATER_3_PIN 8 // EXTRUDER 2 - changed 10-9-2015
#define HEATER_1_PIN 10 // heater bed

/*
Temperature sensors
ANALOG NUMBERING!

Thermistors
T0=15
T1=14
T2=13
T3=12

Thermocouple
S0=11
S1=10
S2(ext)=8
S3(ext)=9
*/

#define TEMP_0_PIN 15 // Extruder 1
#define TEMP_2_PIN 14 // Extruder 2
#define TEMP_3_PIN 13 // Extruder 3
#define TEMP_1_PIN 12 // Heated bed

#define THERMOCOUPLE_0_PIN 11
#define THERMOCOUPLE_1_PIN 10
#define THERMOCOUPLE_2_PIN 8
#define THERMOCOUPLE_3_PIN 9

#define BEEPER_PIN 61	 // Beeper on AUX-4
#define SDSUPPORT true // sd card reader on board

// #define UI_DISPLAY_RS_PIN 32
// #define UI_DISPLAY_ENABLE_PIN 31
// #define UI_DISPLAY_D4_PIN 14
// #define UI_DISPLAY_D5_PIN 30
// #define UI_DISPLAY_D6_PIN 39
// #define UI_DISPLAY_D7_PIN 15


//buttons are directly attached using AUX-2
////encoder A 59
////encoder B 64
////encoder click 33 //the click

#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,


#endif


#if MOTHERBOARD == 301
#define KNOWN_BOARD
/*****************************************************************
* RAMBo Pin Assignments
******************************************************************/

#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif

#define ORIG_X_STEP_PIN     37
#define ORIG_X_DIR_PIN      48
#define ORIG_X_MIN_PIN      12
#define ORIG_X_MAX_PIN      24
#define ORIG_X_ENABLE_PIN   29
#define X_MS1_PIN      40
#define X_MS2_PIN      41

#define ORIG_Y_STEP_PIN     36
#define ORIG_Y_DIR_PIN      49
#define ORIG_Y_MIN_PIN      11
#define ORIG_Y_MAX_PIN      23
#define ORIG_Y_ENABLE_PIN   28
#define Y_MS1_PIN      69
#define Y_MS2_PIN      39

#define ORIG_Z_STEP_PIN     35
#define ORIG_Z_DIR_PIN      47
#define ORIG_Z_MIN_PIN      10
#define ORIG_Z_MAX_PIN      30
#define ORIG_Z_ENABLE_PIN   27
#define Z_MS1_PIN      68
#define Z_MS2_PIN      67

#define HEATER_0_PIN   9
#define TEMP_0_PIN     0

#define HEATER_1_PIN   3
#define TEMP_1_PIN     2

#define HEATER_2_PIN   7
#define TEMP_2_PIN     1

#define TEMP_3_PIN     7

#define ORIG_E0_STEP_PIN    34
#define ORIG_E0_DIR_PIN     43
#define ORIG_E0_ENABLE_PIN  26
#define E0_MS1_PIN     65
#define E0_MS2_PIN     66

#define ORIG_E1_STEP_PIN    33
#define ORIG_E1_DIR_PIN     42
#define ORIG_E1_ENABLE_PIN  25
#define E1_MS1_PIN     63
#define E1_MS2_PIN     64

#define DIGIPOTSS_PIN  38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping

#define SDPOWER        -1
#define SDSS           53
#define LED_PIN        13
#define ORIG_FAN_PIN        8
#define ORIG_FAN2_PIN    6
#define ORIG_FAN3_PIN    2
#define ORIG_PS_ON_PIN      4
#define SUICIDE_PIN    -1  //PIN that has to be turned on right after start, to keep power flowing.

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,E0_MS1_PIN,E0_MS2_PIN,
#define E1_PINS

#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51
#define MAX6675_SS       53
#define STEPPER_CURRENT_CONTROL CURRENT_CONTROL_DIGIPOT

#endif


/***************************************************************************************
*PiBot for Repetier pins assignment
*illustration :
* PiBot for Repetier V1.0-1.3       =314
* PiBot for Repetier V1.4-1.6       =315
* PiBot Controller Rev2.0           =316
***************************************************************************************/

#if MOTHERBOARD == 316
#define MOTHERBOARD 314
#define PiBot_V_2_0 true
#define PiBot_HD_VERSION "Rev2.0"
#ifndef Thermistor_Solution
#define Thermistor_Solution   0
#endif
///////////////********define for temperature senser chip  connection
///**** temperature sensor port in Rev 2.0 for max6675
// #define MAX6675_TEMP_Senser false   ///*** canceled hardware integration
///**** Temperature sensor port in Rev 2.0 for AD595
#define AD595_TEMP_Senser false    /////*** you can input at port 59 60 61 ///Analoge Pin 8  9 10
#endif

#if MOTHERBOARD == 315
#define MOTHERBOARD 314
#define PiBot_V_1_6 true
#define PiBot_HD_VERSION "Rev1.6"
#endif

#if MOTHERBOARD == 314
#define KNOWN_BOARD 1
#define PiBot true
///////////////////////***************
#if PiBot_V_1_4==true || PiBot_V_1_6==true || PiBot_V_2_0==true
#define PiBot_V_1_0 false
#else
#define PiBot_V_1_0 true
#define PiBot_HD_VERSION "Rev1.0"
#endif

#ifndef PiBotSemitec
#define PiBotSemitec false    //****for semitec NTC 100K  b=4230(test value) default b=4267
#endif

#ifndef PI_PRUSA_I3
#define PI_PRUSA_I3 false
#endif

#ifndef PiBotMachine
#define PiBotMachine false  ////****if use for pibot 3D printer uncomment this line.
#endif

#if PI_PRUSA_I3==true
#define PiBotMachine true  ////****if use for pibot 3D printer uncomment this line.
#endif

/////////////////*********** ////define in AVR public files, when you finish the chip select.
#ifndef __AVR_ATmega1280__
#ifndef __AVR_ATmega2560__
#error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#endif

#if PiBot_V_1_0
#define ORIG_X_STEP_PIN         54
#define ORIG_X_DIR_PIN          55
#define ORIG_X_ENABLE_PIN       38
#define ORIG_X_MIN_PIN          3
#define ORIG_X_MAX_PIN          2

#define ORIG_Y_STEP_PIN         60
#define ORIG_Y_DIR_PIN          61
#define ORIG_Y_ENABLE_PIN       56
#define ORIG_Y_MIN_PIN          14
#define ORIG_Y_MAX_PIN          15

#define ORIG_Z_STEP_PIN         46
#define ORIG_Z_DIR_PIN          48
#define ORIG_Z_ENABLE_PIN       62
#define ORIG_Z_MIN_PIN          18
#define ORIG_Z_MAX_PIN          19

#define ORIG_E0_STEP_PIN         26
#define ORIG_E0_DIR_PIN          28
#define ORIG_E0_ENABLE_PIN       24

#define ORIG_E1_STEP_PIN         36
#define ORIG_E1_DIR_PIN          34
#define ORIG_E1_ENABLE_PIN       30

#define SDPOWER            -1
#define ORIG_SDCARDDETECT 	    49

#define LED_PIN            13
#define ORIG_FAN_PIN       7        ////*****fan
#define ORIG_PS_ON_PIN     12
#define KILL_PIN           -1

#define HEATER_0_PIN       8    ////**** Extuder1
#define HEATER_1_PIN       10    ////***Bed
#define HEATER_2_PIN       9   ////***Extuder2
#define TEMP_0_PIN         13   // ANALOG NUMBERING   ////***Extuder1
#define TEMP_1_PIN         15   // ANALOG NUMBERING   ////***Bed
#define TEMP_2_PIN         14   // ANALOG NUMBERING   ////***Extuder2

////***ISP for TFcard
#define SDSS             53
#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#endif     ///////****** end PiBot for Repetier V1.0


#if PiBot_V_1_4==true || PiBot_V_1_6==true
#define ORIG_X_STEP_PIN         4
#define ORIG_X_DIR_PIN          17
#define ORIG_X_ENABLE_PIN       16
#define ORIG_X_MIN_PIN          37
#define ORIG_X_MAX_PIN          34

#define ORIG_Y_STEP_PIN         56
#define ORIG_Y_DIR_PIN          55
#define ORIG_Y_ENABLE_PIN       54
#define ORIG_Y_MIN_PIN          36
#define ORIG_Y_MAX_PIN          33

#define ORIG_Z_STEP_PIN         59
#define ORIG_Z_DIR_PIN          58
#define ORIG_Z_ENABLE_PIN       57
#define ORIG_Z_MIN_PIN          35
#define ORIG_Z_MAX_PIN          32

#define ORIG_E0_STEP_PIN         24
#define ORIG_E0_DIR_PIN          23
#define ORIG_E0_ENABLE_PIN       22

#define ORIG_E1_STEP_PIN         27
#define ORIG_E1_DIR_PIN          26
#define ORIG_E1_ENABLE_PIN       25

//uncomment when use 3rd extruder
#define ORIG_E2_STEP_PIN        15
#define ORIG_E2_DIR_PIN          14
#define ORIG_E2_ENABLE_PIN       39

//uncomment when use 4th extruder
#define ORIG_E3_STEP_PIN         41
#define ORIG_E3_DIR_PIN          38
#define ORIG_E3_ENABLE_PIN       13

#define SDPOWER            -1
#define ORIG_SDCARDDETECT 	   10

#define LED_PIN            30
#define ORIG_FAN_PIN       7        ////*****fan
//uncomment when the 2nd fan used - works only without heated bed!
#define ORIG_FAN2_PIN      2
#define PS_ON_PIN          40
#define KILL_PIN           -1

#define HEATER_0_PIN       3    ////**** Extuder1
#define HEATER_1_PIN       12   ////*** Bed
#define HEATER_2_PIN       6    ////*** Extuder2
//uncomment when the 3rd extruder used
#define HEATER_3_PIN       9    ////*** Extuder3
//uncomment when the 4th extruder used
#define HEATER_4_PIN       11   ////*** Extuder4

#define TEMP_0_PIN         14   // ANALOG NUMBERING   ////***Extuder1
#define TEMP_1_PIN         15   // ANALOG NUMBERING   ////***Bed
#define TEMP_2_PIN         13   // ANALOG NUMBERING   ////***Extuder2
//uncomment when 3 extruder used
#define TEMP_3_PIN         12   // ANALOG NUMBERING   ////***Extuder3
//uncomment when 4 extruder used
#define TEMP_4_PIN         11   // ANALOG NUMBERING   ////***Extuder4

/////////////////////*********************************************
#define PiBot_Z_PROBE_PIN  64   /////****PiBot use this pin as Z-Probing pin
//////////////////////////////////////////************************

////***ISP for TFcard
#define SDSS             53
#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,

#endif     ///////****** end PiBot for Repetier V1.4 or V1.6


#if PiBot_V_2_0==true
#define ORIG_X_STEP_PIN         24
#define ORIG_X_DIR_PIN          23
#define ORIG_X_ENABLE_PIN       22
#define ORIG_X_MIN_PIN          62
#define ORIG_X_MAX_PIN          63

#define ORIG_Y_STEP_PIN         27
#define ORIG_Y_DIR_PIN          26
#define ORIG_Y_ENABLE_PIN       25
#define ORIG_Y_MIN_PIN          64
#define ORIG_Y_MAX_PIN          65

#define ORIG_Z_STEP_PIN         15
#define ORIG_Z_DIR_PIN          14
#define ORIG_Z_ENABLE_PIN       39
#define ORIG_Z_MIN_PIN          66
#define ORIG_Z_MAX_PIN          67

#define ORIG_E0_STEP_PIN        32
#define ORIG_E0_DIR_PIN         31
#define ORIG_E0_ENABLE_PIN      30

#define ORIG_E1_STEP_PIN        35
#define ORIG_E1_DIR_PIN         34
#define ORIG_E1_ENABLE_PIN      33

/////////////////////*********************************************
#define PiBot_Z_PROBE_PIN  68   /////**** PiBot use this pin as Z-Probing pin

#define LED_PIN            -1

#define ORIG_FAN_PIN        6     ////***** PWM6 fan1
#define ORIG_FAN2_PIN       7     ////***** PWM7 fan2

#define ORIG_PS_ON_PIN          17    /////*****have hardware in PiBot HDV2.0
#define KILL_PIN           -1

#define HEATER_0_PIN       5     ////*** PWM5 Extuder1
#define HEATER_1_PIN       4     ////*** PWM4 Bed
#define HEATER_2_PIN       2     ////*** PWM2 Extuder2
#define HEATER_3_PIN       -1    /////***for Pibot   ////*** PWM Extuder3
#define HEATER_4_PIN       -1    /////***for Pibot   ////*** PWM Extuder4

#if Thermistor_Solution==0       ///*** 000    0 2 4
#define TEMP_0_PIN         2     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         0     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         4     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==1       ///*** 001  1 2 4
#define TEMP_0_PIN         2     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         1     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         4     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==2       ///*** 010  0 3 4
#define TEMP_0_PIN         3     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         0     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         4     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==3       ///*** 011  1 3 4
#define TEMP_0_PIN         3     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         1     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         4     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==4       ///*** 100  0 2 5
#define TEMP_0_PIN         2     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         0     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         5     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==5       ///*** 101 1 2 5
#define TEMP_0_PIN         2     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         1     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         5     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==6       ///*** 110  0 3 5
#define TEMP_0_PIN         3     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         0     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         5     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if Thermistor_Solution==7       ///*** 111  1 3 5
#define TEMP_0_PIN         3     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         1     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         5     // ANALOG NUMBERING   ////*** Extuder2
#endif
#if !defined(TEMP_0_PIN) || !defined(TEMP_1_PIN) || !defined(TEMP_2_PIN) ||!defined(Thermistor_Solution)
#define TEMP_0_PIN         2     // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         0     // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         4     // ANALOG NUMBERING   ////*** Extuder2
#endif

//////*************ad595 temp senser
#if AD595_TEMP_Senser==true
#define TEMP_0_PIN         8    // ANALOG NUMBERING   ////*** Extuder1
#define TEMP_1_PIN         9    // ANALOG NUMBERING   ////*** Bed
#define TEMP_2_PIN         10   // ANALOG NUMBERING   ////*** Extuder2
#endif

////////////////////*******max6675 ISP port   temp->ISP-ENABLE
/////********these enable pins have been isolated by capacitor
/*#if MAX6675_TEMP_Senser==true
#define TEMP_0_PIN         14   // ANALOG NUMBERING   ////***Extuder1
#define TEMP_1_PIN         15   // ANALOG NUMBERING   ////***Bed
#define TEMP_2_PIN         13   // ANALOG NUMBERING   ////***Extuder2
//uncomment when 3 extruder used
#define TEMP_3_PIN         12   // ANALOG NUMBERING   ////***Extuder3
#endif*/

///////*********ISP for TFcard
#define SDPOWER           -1
#define ORIG_SDCARDDETECT 	  40
#define SDSS              53
#define SCK_PIN           52
#define MISO_PIN          50
#define MOSI_PIN          51

#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,

#endif  /////***end PiBot Controller Rev 2.0

#endif   ///////******end  PiBot for Repetier

/****************************************************************************************
* Sanguish Beta pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 501
#define KNOWN_BOARD

#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error Oops! Make sure you have 'Your MCU/Bootloader' selected from the 'Tools -> Boards' menu.
#endif

//x axis pins
#define ORIG_X_STEP_PIN 28
#define ORIG_X_DIR_PIN 27
#define ORIG_X_ENABLE_PIN 29
#define ORIG_X_MIN_PIN 2
#define ORIG_X_MAX_PIN -1

//y axis pins
#define ORIG_Y_STEP_PIN 25
#define ORIG_Y_DIR_PIN 24
#define ORIG_Y_ENABLE_PIN 26
#define ORIG_Y_MIN_PIN 5
#define ORIG_Y_MAX_PIN -1

//z axis pins
#define ORIG_Z_STEP_PIN 22
#define ORIG_Z_DIR_PIN 21
#define ORIG_Z_ENABLE_PIN 23
#define ORIG_Z_MIN_PIN 1
#define ORIG_Z_MAX_PIN -1

//extruder pins
#define ORIG_E0_STEP_PIN 19
#define ORIG_E0_DIR_PIN 18
#define ORIG_E0_ENABLE_PIN 20
#define TEMP_0_PIN 1
#define TEMP_1_PIN 0
#define HEATER_0_PIN 3
#define HEATER_1_PIN 4


#define SDPOWER -1
#define SDSS -1
#define LED_PIN -1

#define ORIG_FAN_PIN -1
#define ORIG_PS_ON_PIN 0
//our pin for debugging.

#define DEBUG_PIN -1

//our RS485 pins
#define TX_ENABLE_PIN	12
#define RX_ENABLE_PIN	13

#define SDPOWER -1
#define SDSS -1

#define SCK_PIN 7
#define MISO_PIN 6
#define MOSI_PIN 5
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS
#endif


#if MOTHERBOARD == 999
#define KNOWN_BOARD
#include "userpins.h"
#endif



#ifndef CPU_ARCH  // Set default architecture
#define CPU_ARCH ARCH_AVR
#endif

#ifndef SDSSORIG
#define SDSSORIG -1
#endif

#ifndef STEPPER_CURRENT_CONTROL // Set default stepper current control if not set yet.
#define STEPPER_CURRENT_CONTROL  CURRENT_CONTROL_MANUAL
#endif

#ifndef FAN_BOARD_PIN
#define FAN_BOARD_PIN -1
#endif

#if NUM_EXTRUDER==1
#undef E1_PINS
#define E1_PINS
#endif

#if NUM_EXTRUDER<3
#undef E2_PINS
#define E2_PINS
#endif

#ifndef HEATER_PINS_INVERTED
#define HEATER_PINS_INVERTED 0
#endif

// Original pin assignmats to be used in configuration tool
#define X_STEP_PIN ORIG_X_STEP_PIN
#define X_DIR_PIN ORIG_X_DIR_PIN
#define X_ENABLE_PIN ORIG_X_ENABLE_PIN
#define X_MIN_PIN ORIG_X_MIN_PIN
#define X_MAX_PIN ORIG_X_MAX_PIN

#define Y_STEP_PIN ORIG_Y_STEP_PIN
#define Y_DIR_PIN ORIG_Y_DIR_PIN
#define Y_ENABLE_PIN ORIG_Y_ENABLE_PIN
#define Y_MIN_PIN ORIG_Y_MIN_PIN
#define Y_MAX_PIN ORIG_Y_MAX_PIN

#define Z_STEP_PIN ORIG_Z_STEP_PIN
#define Z_DIR_PIN ORIG_Z_DIR_PIN
#define Z_ENABLE_PIN ORIG_Z_ENABLE_PIN
#define Z_MIN_PIN ORIG_Z_MIN_PIN
#define Z_MAX_PIN ORIG_Z_MAX_PIN

#define E0_STEP_PIN ORIG_E0_STEP_PIN
#define E0_DIR_PIN ORIG_E0_DIR_PIN
#define E0_ENABLE_PIN ORIG_E0_ENABLE_PIN

#define E1_STEP_PIN ORIG_E1_STEP_PIN
#define E1_DIR_PIN ORIG_E1_DIR_PIN
#define E1_ENABLE_PIN ORIG_E1_ENABLE_PIN

#define E2_STEP_PIN ORIG_E2_STEP_PIN
#define E2_DIR_PIN ORIG_E2_DIR_PIN
#define E2_ENABLE_PIN ORIG_E2_ENABLE_PIN

#define E3_STEP_PIN ORIG_E3_STEP_PIN
#define E3_DIR_PIN ORIG_E3_DIR_PIN
#define E3_ENABLE_PIN ORIG_E3_ENABLE_PIN

#define E4_STEP_PIN ORIG_E4_STEP_PIN
#define E4_DIR_PIN ORIG_E4_DIR_PIN
#define E4_ENABLE_PIN ORIG_E4_ENABLE_PIN

#define E5_STEP_PIN ORIG_E5_STEP_PIN
#define E5_DIR_PIN ORIG_E5_DIR_PIN
#define E5_ENABLE_PIN ORIG_E5_ENABLE_PIN

#define FAN_PIN ORIG_FAN_PIN
#define FAN2_PIN ORIG_FAN2_PIN
#define PS_ON_PIN ORIG_PS_ON_PIN

#ifndef ORIG_SDCARDDETECT
#define ORIG_SDCARDDETECT -1
#endif
#define SDCARDDETECT ORIG_SDCARDDETECT

#define SENSITIVE_PINS {0, 1, ORIG_X_STEP_PIN, ORIG_X_DIR_PIN, ORIG_X_ENABLE_PIN, ORIG_X_MIN_PIN, ORIG_X_MAX_PIN, \
        ORIG_Y_STEP_PIN, ORIG_Y_DIR_PIN, ORIG_Y_ENABLE_PIN, ORIG_Y_MIN_PIN, ORIG_Y_MAX_PIN, ORIG_Z_STEP_PIN,\
        ORIG_Z_DIR_PIN, ORIG_Z_ENABLE_PIN, ORIG_Z_MIN_PIN, ORIG_Z_MAX_PIN, LED_PIN, ORIG_PS_ON_PIN, \
        HEATER_0_PIN, HEATER_1_PIN, /*ORIG_FAN_PIN,*/ E0_PINS E1_PINS E2_PINS TEMP_0_PIN, TEMP_1_PIN,SDSS }
#endif
Eric wrote:It's most properly changed in "pins.h", just like the PT100 documentation suggests. Find the Rambo section of the file, then change the number by TEMP_0_PIN to that of the new input.

If you insist on doing it in "configuration.h", the line you want is: #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
Replace TEMP_0_PIN with the raw input number.
Xenocrates
ULTIMATE 3D JEDI
Posts: 1561
Joined: Wed Sep 23, 2015 2:55 pm

Re: Where to plug in PT100 amp

Post by Xenocrates »

If you plug it into a normal Thermistor jack, it will read the wrong temperature. ~430 degrees error for me. I have mine sitting in the top deck, with the old thermistor leads carrying the signal, and a 5V line from the power supply routed externally up the side of the machine to power it, and the thermistor connectors at the base connected to A-EXT 2 and A-EXT 3. It seems to work pretty well. You may wish to get 1 pin female crimp connectors if you go this route, and bridge the signal from the thermistor connector with them, as it will not fit while connected to A_EXT 2, which is the signal ground, in the 4x2 layout, with the stock thermistor connector. this also makes it really easy to figure out how to plug it in, as you can just set a pin in the EXT, and plug around until you get a temperature, and if it's a few hundred degrees off, I find swapping the signal and ground pins around usually fixes that.
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router

Sic Transit Gloria Mundi
01-10011-11111100001
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Xenocrates wrote:If you plug it into a normal Thermistor jack, it will read the wrong temperature. ~430 degrees error for me. I have mine sitting in the top deck, with the old thermistor leads carrying the signal, and a 5V line from the power supply routed externally up the side of the machine to power it, and the thermistor connectors at the base connected to A-EXT 2 and A-EXT 3. It seems to work pretty well. You may wish to get 1 pin female crimp connectors if you go this route, and bridge the signal from the thermistor connector with them, as it will not fit while connected to A_EXT 2, which is the signal ground, in the 4x2 layout, with the stock thermistor connector. this also makes it really easy to figure out how to plug it in, as you can just set a pin in the EXT, and plug around until you get a temperature, and if it's a few hundred degrees off, I find swapping the signal and ground pins around usually fixes that.
So you just plugged it into the regular thermistor pins and had a wire providing 5v from the power supply?
http://forum.seemecnc.com/download/file ... &mode=view" onclick="window.open(this.href);return false;
Can you draw where you plugged it in?
Also could you send your pins.h
Xenocrates
ULTIMATE 3D JEDI
Posts: 1561
Joined: Wed Sep 23, 2015 2:55 pm

Re: Where to plug in PT100 amp

Post by Xenocrates »

I connected through the regular thermistor wires (since all of the stuff that goes through the top deck already goes through screw terminals it was the easiest way to do it), and connected to (IIRC), the ground and A6 on the analog EXT. Plugging it into the regular thermistor jack, which I tried since I'm lazy, did not work and showed a large error.
Spoiler:
#if MOTHERBOARD == 301
#define KNOWN_BOARD
/*****************************************************************
* RAMBo Pin Assignments
******************************************************************/

#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif

#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_MIN_PIN 12
#define X_MAX_PIN 24
#define X_ENABLE_PIN 29
#define X_MS1_PIN 40
#define X_MS2_PIN 41

#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN 23
#define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39

#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_MIN_PIN 10
#define Z_MAX_PIN 30
#define Z_ENABLE_PIN 27
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67

#define HEATER_BED_PIN 3
#define TEMP_BED_PIN 2

#define HEATER_0_PIN 9
#define TEMP_0_PIN 6 //This was 0

#define HEATER_1_PIN 7
#define TEMP_1_PIN 3

#define HEATER_2_PIN -1
#define TEMP_2_PIN -1

#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66

#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64


#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping

#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13
#define FAN_PIN 8
#define PS_ON_PIN 4
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
That is the rambo section of my pins.h, which should be all you need. I'll go take a picture of where the pins actually connect later. My printer lives out in a barn that I am not eager to go out to early in the morning. BTW, what firmware are you planning to run this with, and where do you plan to put your amplifier? I have mine in the top deck in a little housing that sits just between the pieces of the spool support, where I can easily swap the hotends over. I also made use of a 3 pin computer fan cable to provide it's power, signal, ETC, since it fits perfectly and gives me a cleaner package. If you plan on using marlin, that's cool, I was tempted but couldn't figure out if there was actual good delta support in it, since the wiki said TODO, and the projects involving it were rather out of date. If you're using repetier, you may need the sensor table for it as well. In which case, I have a table, which I am not sure is entirely accurate, but as the initial temperature are accurate, and it is converted from the marlin table, which should also be accurate, I imagine that it should be fairly close.
Spoiler:
#define NUM_TEMPS_USERTHERMISTOR1 48
#define USER_THERMISTORTABLE1 {\
{227*4,1*8},{236*4,10*8},{245*4,20*8},{253*4,30*8},{262*4,40*8},{270*4,50*8},{279*4,60*8},{287*4,70*8},{295*4,80*8},{304*4,90*8},{312*4,100*8},{320*4,110*8},{329*4,120*8},\
{337*4,130*8},{345*4,140*8},{353*4,150*8},{361*4,160*8},{369*4,170*8},{377*4,180*8},{385*4,190*8},{393*4,200*8},{401*4,210*8},{409*4,220*8},{417*4,230*8},{424*4,240*8},\
{432*4,250*8},{440*4,260*8},{447*4,270*8},{455*4,280*8},{463*4,290*8},{470*4,300*8},{478*4,310*8},{485*4,320*8},{493*4,330*8},{500*4,340*8},{507*4,350*8},{515*4,360*8},\
{522*4,370*8},{529*4,380*8},{537*4,390*8},{544*4,400*8},{614*4,500*8},{681*4,600*8},{744*4,700*8},{805*4,800*8},{862*4,900*8},{917*4,1000*8},{968*4,1100*8} }
I make no guarantees about any of this stuff, it is simply what has worked for me thus far. Let me know how it goes for you, and take some piccies of what you end up printing for me, I love seeing what other people are doing.
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router

Sic Transit Gloria Mundi
01-10011-11111100001
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Xenocrates wrote:I connected through the regular thermistor wires (since all of the stuff that goes through the top deck already goes through screw terminals it was the easiest way to do it), and connected to (IIRC), the ground and A6 on the analog EXT. Plugging it into the regular thermistor jack, which I tried since I'm lazy, did not work and showed a large error.
Spoiler:
#if MOTHERBOARD == 301
#define KNOWN_BOARD
/*****************************************************************
* RAMBo Pin Assignments
******************************************************************/

#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif

#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_MIN_PIN 12
#define X_MAX_PIN 24
#define X_ENABLE_PIN 29
#define X_MS1_PIN 40
#define X_MS2_PIN 41

#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN 23
#define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39

#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_MIN_PIN 10
#define Z_MAX_PIN 30
#define Z_ENABLE_PIN 27
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67

#define HEATER_BED_PIN 3
#define TEMP_BED_PIN 2

#define HEATER_0_PIN 9
#define TEMP_0_PIN 6 //This was 0

#define HEATER_1_PIN 7
#define TEMP_1_PIN 3

#define HEATER_2_PIN -1
#define TEMP_2_PIN -1

#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66

#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64


#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping

#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13
#define FAN_PIN 8
#define PS_ON_PIN 4
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
That is the rambo section of my pins.h, which should be all you need. I'll go take a picture of where the pins actually connect later. My printer lives out in a barn that I am not eager to go out to early in the morning. BTW, what firmware are you planning to run this with, and where do you plan to put your amplifier? I have mine in the top deck in a little housing that sits just between the pieces of the spool support, where I can easily swap the hotends over. I also made use of a 3 pin computer fan cable to provide it's power, signal, ETC, since it fits perfectly and gives me a cleaner package. If you plan on using marlin, that's cool, I was tempted but couldn't figure out if there was actual good delta support in it, since the wiki said TODO, and the projects involving it were rather out of date. If you're using repetier, you may need the sensor table for it as well. In which case, I have a table, which I am not sure is entirely accurate, but as the initial temperature are accurate, and it is converted from the marlin table, which should also be accurate, I imagine that it should be fairly close.
Spoiler:
#define NUM_TEMPS_USERTHERMISTOR1 48
#define USER_THERMISTORTABLE1 {\
{227*4,1*8},{236*4,10*8},{245*4,20*8},{253*4,30*8},{262*4,40*8},{270*4,50*8},{279*4,60*8},{287*4,70*8},{295*4,80*8},{304*4,90*8},{312*4,100*8},{320*4,110*8},{329*4,120*8},\
{337*4,130*8},{345*4,140*8},{353*4,150*8},{361*4,160*8},{369*4,170*8},{377*4,180*8},{385*4,190*8},{393*4,200*8},{401*4,210*8},{409*4,220*8},{417*4,230*8},{424*4,240*8},\
{432*4,250*8},{440*4,260*8},{447*4,270*8},{455*4,280*8},{463*4,290*8},{470*4,300*8},{478*4,310*8},{485*4,320*8},{493*4,330*8},{500*4,340*8},{507*4,350*8},{515*4,360*8},\
{522*4,370*8},{529*4,380*8},{537*4,390*8},{544*4,400*8},{614*4,500*8},{681*4,600*8},{744*4,700*8},{805*4,800*8},{862*4,900*8},{917*4,1000*8},{968*4,1100*8} }
I make no guarantees about any of this stuff, it is simply what has worked for me thus far. Let me know how it goes for you, and take some piccies of what you end up printing for me, I love seeing what other people are doing.
im using .92.4 Because it now supports thermocouples
Xenocrates
ULTIMATE 3D JEDI
Posts: 1561
Joined: Wed Sep 23, 2015 2:55 pm

Re: Where to plug in PT100 amp

Post by Xenocrates »

fair enough. I went to go port my configs through the online tool, but I was lazy and found it easier to just convert the marlin tables to Repetier compatible, because that was easier to do programmatically. Also, I didn't notice the support for it, and am slightly lost as yet with how to do the configs from scratch. I'm much more comfortable with that. Also, the fact it was labeled as in development and not seen as stable did not reassure me, and while I plan to make the change over, I will likely do it later. I'm a bit lost on the software side, since the rambo is my first Arduino, and I don't have a lot of practice with other microcontrollers, so I prefer to stay with the most stable software I can find.
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router

Sic Transit Gloria Mundi
01-10011-11111100001
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Xenocrates wrote:fair enough. I went to go port my configs through the online tool, but I was lazy and found it easier to just convert the marlin tables to Repetier compatible, because that was easier to do programmatically. Also, I didn't notice the support for it, and am slightly lost as yet with how to do the configs from scratch. I'm much more comfortable with that. Also, the fact it was labeled as in development and not seen as stable did not reassure me, and while I plan to make the change over, I will likely do it later. I'm a bit lost on the software side, since the rambo is my first Arduino, and I don't have a lot of practice with other microcontrollers, so I prefer to stay with the most stable software I can find.
Any updates?
Xenocrates
ULTIMATE 3D JEDI
Posts: 1561
Joined: Wed Sep 23, 2015 2:55 pm

Re: Where to plug in PT100 amp

Post by Xenocrates »

dsl158 wrote:
Xenocrates wrote:fair enough. I went to go port my configs through the online tool, but I was lazy and found it easier to just convert the marlin tables to Repetier compatible, because that was easier to do programmatically. Also, I didn't notice the support for it, and am slightly lost as yet with how to do the configs from scratch. I'm much more comfortable with that. Also, the fact it was labeled as in development and not seen as stable did not reassure me, and while I plan to make the change over, I will likely do it later. I'm a bit lost on the software side, since the rambo is my first Arduino, and I don't have a lot of practice with other microcontrollers, so I prefer to stay with the most stable software I can find.
Any updates?
Yeah, my rambo failed due to a bum reset switch, so I swapped over to a Duet, and it worked fine. I never did update to the newest version of it.
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router

Sic Transit Gloria Mundi
01-10011-11111100001
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Xenocrates wrote:
dsl158 wrote:
Xenocrates wrote:fair enough. I went to go port my configs through the online tool, but I was lazy and found it easier to just convert the marlin tables to Repetier compatible, because that was easier to do programmatically. Also, I didn't notice the support for it, and am slightly lost as yet with how to do the configs from scratch. I'm much more comfortable with that. Also, the fact it was labeled as in development and not seen as stable did not reassure me, and while I plan to make the change over, I will likely do it later. I'm a bit lost on the software side, since the rambo is my first Arduino, and I don't have a lot of practice with other microcontrollers, so I prefer to stay with the most stable software I can find.
Any updates?
Yeah, my rambo failed due to a bum reset switch, so I swapped over to a Duet, and it worked fine. I never did update to the newest version of it.
damn
Xenocrates
ULTIMATE 3D JEDI
Posts: 1561
Joined: Wed Sep 23, 2015 2:55 pm

Re: Where to plug in PT100 amp

Post by Xenocrates »

dsl158 wrote:
Xenocrates wrote:
dsl158 wrote: Any updates?
Yeah, my rambo failed due to a bum reset switch, so I swapped over to a Duet, and it worked fine. I never did update to the newest version of it.
damn
I have gotten the Rambo working again, but with a Duet in the printer, there isn't a reason to really play with it other than my own curiosity. Admittedly, I can now easily take pictures since the Rambo and PT100 amplifier aren't in use anymore, and getting the Duet set up makes me more confident in configuring the Repetier firmware. However, I've been somewhat lacking in time due to classes, especially with the additional research projects I've been doing for the 3D printing curriculum my college is setting up. I may have time after the end of the semester however.
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router

Sic Transit Gloria Mundi
01-10011-11111100001
dsl158
Printmaster!
Posts: 145
Joined: Thu Jun 18, 2015 6:53 pm

Re: Where to plug in PT100 amp

Post by dsl158 »

Xenocrates wrote:
dsl158 wrote:
Xenocrates wrote:
Yeah, my rambo failed due to a bum reset switch, so I swapped over to a Duet, and it worked fine. I never did update to the newest version of it.
damn
I have gotten the Rambo working again, but with a Duet in the printer, there isn't a reason to really play with it other than my own curiosity. Admittedly, I can now easily take pictures since the Rambo and PT100 amplifier aren't in use anymore, and getting the Duet set up makes me more confident in configuring the Repetier firmware. However, I've been somewhat lacking in time due to classes, especially with the additional research projects I've been doing for the 3D printing curriculum my college is setting up. I may have time after the end of the semester however.
No rush
Post Reply

Return to “Troubleshooting”