@ -31,10 +31,12 @@ Here are some standard links for getting your machine calibrated:
//===========================================================================
//===========================================================================
//============================= SCARA Printer ===============================
//============================= SCARA Printer ===============================
//===========================================================================
//===========================================================================
// For a Delt a printer replace the configuration files with the files in the
// For a Scar a printer replace the configuration files with the files in the
// example_configurations/SCARA directory.
// example_configurations/SCARA directory.
//
//
// @section info
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// build by the user have been successfully uploaded into firmware.
// build by the user have been successfully uploaded into firmware.
@ -45,12 +47,16 @@ Here are some standard links for getting your machine calibrated:
# define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1
# define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1
//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2
//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2
// @section machine
// SERIAL_PORT selects which serial port should be used for communication with the host.
// SERIAL_PORT selects which serial port should be used for communication with the host.
// This allows the connection of wireless adapters (for instance) to non-default port pins.
// This allows the connection of wireless adapters (for instance) to non-default port pins.
// Serial port 0 is still used by the Arduino bootloader regardless of this setting.
// Serial port 0 is still used by the Arduino bootloader regardless of this setting.
// :[0,1,2,3,4,5,6,7]
# define SERIAL_PORT 0
# define SERIAL_PORT 0
// This determines the communication speed of the printer
// This determines the communication speed of the printer
// :[2400,9600,19200,38400,57600,115200,250000]
# define BAUDRATE 250000
# define BAUDRATE 250000
// This enables the serial port associated to the Bluetooth interface
// This enables the serial port associated to the Bluetooth interface
@ -71,17 +77,27 @@ Here are some standard links for getting your machine calibrated:
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
// This defines the number of extruders
// This defines the number of extruders
// :[1,2,3,4]
# define EXTRUDERS 1
# define EXTRUDERS 1
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
//#define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
//#define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
//// The following define selects which power supply you have. Please choose the one that matches your setup
//// The following define selects which power supply you have. Please choose the one that matches your setup
// 1 = ATX
// 1 = ATX
// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
// :{1:'ATX',2:'X-Box 360'}
# define POWER_SUPPLY 1
# define POWER_SUPPLY 1
// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
// #define PS_DEFAULT_OFF
// #define PS_DEFAULT_OFF
// @section temperature
//===========================================================================
//===========================================================================
//============================= Thermal Settings ============================
//============================= Thermal Settings ============================
//===========================================================================
//===========================================================================
@ -245,7 +261,7 @@ Here are some standard links for getting your machine calibrated:
// #define DEFAULT_bedKi 1.41
// #define DEFAULT_bedKi 1.41
// #define DEFAULT_bedKd 1675.16
// #define DEFAULT_bedKd 1675.16
//Vellemann K8200 PCB heatbed with standard PCU - calculated with PID Autotune and tested
//Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested
//from pidautotune
//from pidautotune
# define DEFAULT_bedKp 341.88
# define DEFAULT_bedKp 341.88
# define DEFAULT_bedKi 25.32
# define DEFAULT_bedKi 25.32
@ -254,6 +270,7 @@ Here are some standard links for getting your machine calibrated:
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
# endif // PIDTEMPBED
# endif // PIDTEMPBED
// @section extruder
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by
//can be software-disabled for whatever purposes by
@ -308,12 +325,16 @@ your extruder heater takes 2 minutes to hit the target on heating.
//============================= Mechanical Settings =========================
//============================= Mechanical Settings =========================
//===========================================================================
//===========================================================================
// @section machine
// Uncomment this option to enable CoreXY kinematics
// Uncomment this option to enable CoreXY kinematics
// #define COREXY
// #define COREXY
// Enable this option for Toshiba steppers
// Enable this option for Toshiba steppers
// #define CONFIG_STEPPERS_TOSHIBA
// #define CONFIG_STEPPERS_TOSHIBA
// @section homing
// coarse Endstop Settings
// coarse Endstop Settings
# define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
# define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
@ -325,6 +346,7 @@ your extruder heater takes 2 minutes to hit the target on heating.
# define ENDSTOPPULLUP_XMIN
# define ENDSTOPPULLUP_XMIN
# define ENDSTOPPULLUP_YMIN
# define ENDSTOPPULLUP_YMIN
# define ENDSTOPPULLUP_ZMIN
# define ENDSTOPPULLUP_ZMIN
// #define ENDSTOPPULLUP_ZPROBE
# endif
# endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
@ -338,7 +360,15 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# define DISABLE_MAX_ENDSTOPS
# define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
// @section machine
// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
// this has no effect.
//#define DISABLE_Z_PROBE_ENDSTOP
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{0:'Low',1:'High'}
# define X_ENABLE_ON 0
# define X_ENABLE_ON 0
# define Y_ENABLE_ON 0
# define Y_ENABLE_ON 0
# define Z_ENABLE_ON 0
# define Z_ENABLE_ON 0
@ -348,20 +378,32 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# define DISABLE_X false
# define DISABLE_X false
# define DISABLE_Y false
# define DISABLE_Y false
# define DISABLE_Z true
# define DISABLE_Z true
// @section extruder
# define DISABLE_E false // For all extruders
# define DISABLE_E false // For all extruders
# define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
# define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
// @section machine
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
# define INVERT_X_DIR false
# define INVERT_X_DIR false
# define INVERT_Y_DIR false
# define INVERT_Y_DIR false
# define INVERT_Z_DIR false
# define INVERT_Z_DIR false
# define INVERT_E0_DIR true
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
# define INVERT_E0_DIR true // K8200: true for geared default extruder!
# define INVERT_E1_DIR true
# define INVERT_E1_DIR true
# define INVERT_E2_DIR true
# define INVERT_E2_DIR true
# define INVERT_E3_DIR true
# define INVERT_E3_DIR true
// @section homing
// ENDSTOP SETTINGS:
// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
# define X_HOME_DIR -1
# define X_HOME_DIR -1
# define Y_HOME_DIR -1
# define Y_HOME_DIR -1
# define Z_HOME_DIR -1
# define Z_HOME_DIR -1
@ -369,6 +411,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
# define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
# define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.
# define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.
// @section machine
// Travel limits after homing (units are in mm)
// Travel limits after homing (units are in mm)
# define X_MIN_POS 0
# define X_MIN_POS 0
# define Y_MIN_POS 0
# define Y_MIN_POS 0
@ -388,14 +432,14 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
//#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
//===========================================================================
//===========================================================================
//============================ Manual Bed Leveling ==========================
//============================ Mesh Bed Leveling == ==========================
//===========================================================================
//===========================================================================
// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling
// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling
// #define MESH_BED_LEVELING // Enable mesh bed leveling
// #define MESH_BED_LEVELING // Enable mesh bed leveling
# ifdef MANUAL_BED_LEVELING
# ifdef MANUAL_BED_LEVELING
# define MBL_Z_STEP 0.025
# define MBL_Z_STEP 0.025 // Step size while manually probing Z axis
# endif // MANUAL_BED_LEVELING
# endif // MANUAL_BED_LEVELING
# ifdef MESH_BED_LEVELING
# ifdef MESH_BED_LEVELING
@ -412,6 +456,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
//============================= Bed Auto Leveling ===========================
//============================= Bed Auto Leveling ===========================
//===========================================================================
//===========================================================================
// @section bedlevel
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
# define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
# define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
@ -520,6 +566,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# endif // ENABLE_AUTO_BED_LEVELING
# endif // ENABLE_AUTO_BED_LEVELING
// @section homing
// The position of the homing switches
// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
@ -533,6 +581,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
# endif
# endif
// @section movement
/**
/**
* MOVEMENT SETTINGS
* MOVEMENT SETTINGS
*/
*/
@ -549,13 +599,6 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration in mm/s^2 for retracts
# define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration in mm/s^2 for retracts
# define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
# define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
# define DEFAULT_XYJERK 20.0 // (mm/sec)
# define DEFAULT_XYJERK 20.0 // (mm/sec)
# define DEFAULT_ZJERK 0.4 // (mm/sec)
# define DEFAULT_ZJERK 0.4 // (mm/sec)
@ -566,6 +609,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
//============================= Additional Features ===========================
//============================= Additional Features ===========================
//=============================================================================
//=============================================================================
// @section more
// Custom M code points
// Custom M code points
# define CUSTOM_M_CODES
# define CUSTOM_M_CODES
# ifdef CUSTOM_M_CODES
# ifdef CUSTOM_M_CODES
@ -576,6 +621,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# endif
# endif
# endif
# endif
// @section extras
// EEPROM
// EEPROM
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
@ -590,26 +636,30 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# define EEPROM_CHITCHAT // please keep turned on if you can.
# define EEPROM_CHITCHAT // please keep turned on if you can.
# endif
# endif
// @section temperature
// Preheat Constants
// Preheat Constants
# define PLA_PREHEAT_HOTEND_TEMP 190
# define PLA_PREHEAT_HOTEND_TEMP 190
# define PLA_PREHEAT_HPB_TEMP 50
# define PLA_PREHEAT_HPB_TEMP 50 // K8200: set back to 70 if you have an upgraded heatbed power supply
# define PLA_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255
# define PLA_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255
# define ABS_PREHEAT_HOTEND_TEMP 240
# define ABS_PREHEAT_HOTEND_TEMP 240
# define ABS_PREHEAT_HPB_TEMP 60
# define ABS_PREHEAT_HPB_TEMP 60 // K8200: set back to 110 if you have an upgraded heatbed power supply
# define ABS_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255
# define ABS_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255
//==============================LCD and SD support=============================
//==============================LCD and SD support=============================
// @section lcd
// Define your display language below. Replace (en) with your language code and uncomment.
// Define your display language below. Replace (en) with your language code and uncomment.
// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, test
// See also language.h
// See also language.h
//# define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
# define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
// Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display.
// Choose ONE of these 3 charsets. This has to match your hardware. Ignored for full graphic display.
// To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset.
// To find out what type you have - compile with (test) - upload - click to get the menu. You'll see two typical lines from the upper half of the charset.
// See also documentation/LCDLanguageFont.md
// See also documentation/LCDLanguageFont.md
# define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
# define DISPLAY_CHARSET_HD44780_JAPAN // K8200: for Display VM8201 // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
@ -620,7 +670,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication
//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication
//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
# define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
# define ULTIMAKERCONTROLLER // K8200: for Display VM8201 // as available from the Ultimaker online store.
//#define ULTIPANEL //the UltiPanel as on Thingiverse
//#define ULTIPANEL //the UltiPanel as on Thingiverse
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
@ -683,6 +733,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
//#define SAV_3DLCD
//#define SAV_3DLCD
// @section extras
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
//#define FAST_PWM_FAN
//#define FAST_PWM_FAN
@ -706,7 +758,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
// Data from: http://www.doc-diy.net/photo/rc-1_hacked/
// Data from: http://www.doc-diy.net/photo/rc-1_hacked/
// #define PHOTOGRAPH_PIN 23
// #define PHOTOGRAPH_PIN 23
// SF send wrong arc g-codes when using Arc Point as fillet procedure
// Skein Forge sends the wrong arc g-codes when using Arc Point as fillet procedure
//#define SF_ARC_FIX
//#define SF_ARC_FIX
// Support for the BariCUDA Paste Extruder.
// Support for the BariCUDA Paste Extruder.
@ -760,7 +812,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
# define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)
# define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)
//defines used in the code
//defines used in the code
# define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
# define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec.
//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec.
//#define FILAMENT_LCD_DISPLAY
//#define FILAMENT_LCD_DISPLAY