#define HEATER_4_MINTEMP 5 Temperature sensors report abnormally low values when they fail or become disconnected. Your board’s pins file already specifies the recommended pins. Disable to change all LEDs at once. It is crucial to obtain accurate temperature measurements. #endif, //#define MINIMUM_STEPPER_POST_DIR_DELAY 650, //#define MINIMUM_STEPPER_PRE_DIR_DELAY 650, #define MINIMUM_STEPPER_PULSE 2 // (µs) The smallest stepper pulse allowed, #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller This option adds G10/G11 commands for automatic firmware-based retract/recover. #endif, #define BED_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor, #define BED_RESISTANCE_25C_OHMS 100000 // Resistance at 25C, #define BED_BETA 3950 // Beta value Only AUTO_BED_LEVELING_BILINEAR currently supports SCARA. #define TEMP_SENSOR_4 0 Choose your preferred language for the LCD controller here. Before probing, the X carriage moves to the far end and picks up the sled. This also works with auto bed leveling enabled and will be triggered only when the Z axis height is less than the defined value, otherwise the Z axis will not move. 40W heater instead of the usual 30W. Override this setting with M302 if needed. To indicate a Servo Z Probe (e.g., an endstop switch mounted on a rotating arm) just specify the servo index. The E motor also reverses direction for the second filament. Probing mutiple times yields better results. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing. To use TMC2130 stepper drivers in SPI mode connect your SPI2130 pins to the hardware SPI interface on your board and define the required CS pins in your pins_MYBOARD.h file. These options allow you to use extra E drivers to drive a second motor for X, Y, and/or Z axes. The multiplexer is automatically switched at tool-change. This option uses a 28 byte SRAM buffer and an alternative method to get parameter values so the G-code parser can run a little faster. In Configuration_adv.h : Set FAN_KICKSTART_TIME to a large value like 2000. This is useful to prevent the head crashing into bed mountings such as screws, bulldog clips, etc. One common application for a servo is a Z bed probe consisting of an endstop switch mounted on a rotating arm. Whenever an SD print completes the LCD Menu will open with the same file selected. #endif, #define HOTEND1_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor, #define HOTEND1_RESISTANCE_25C_OHMS 100000 // Resistance at 25C, #define HOTEND1_BETA 3950 // Beta value Supported languages include: See language.h for the latest list of supported languages and their international language codes. Marlin offers two levels of thermal protection: More thermal protection options are located in Configuration_adv.h. The slower homing speed for each axis is set by HOMING_BUMP_DIVISOR. #endif, #define MAX_CMD_SIZE 96 Temperature status LEDs that display the hotend and bed temperature. See #2046 - all the history is there. With this option simply connect the X2 stepper to the first unused E plug. The duration and frequency for the UI feedback sound. #define TEMP_RESIDENCY_TIME 10 // (seconds) Enables the use of Hephestos 2 24V heated bed. The “P” parameter controls the action applied to the Z axis: Adds the G12 command to perform a nozzle cleaning process. Axes moving the wrong direction can cause damage. RAMPS-based boards use SERVO3_PIN. { 1.0, 1500 }, \ With this option, the extruder motor won’t move if the hotend is below the specified temperature. #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X, //#define PROBING_MARGIN_LEFT PROBING_MARGIN, //#define PROBING_MARGIN_RIGHT PROBING_MARGIN, //#define PROBING_MARGIN_FRONT PROBING_MARGIN, //#define PROBING_MARGIN_BACK PROBING_MARGIN, // Number of subdivisions between probe points, #define UBL_MESH_INSET 1 // Mesh inset margin on print area Err: MAXTEMP: This error usually means that the temperature sensor wires are shorted together. The sub-options above specify the default values that will be applied for omitted parameters. #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }, //#define EXTERNAL_CLOSED_LOOP_CONTROLLER, #if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER), //#define CLOSED_LOOP_ENABLE_PIN -1, //#define CLOSED_LOOP_MOVE_COMPLETE_PIN -1, #define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions, #define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions, #define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many, #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE, #define DEFAULT_DUPLICATION_X_OFFSET 100 #endif, #define HOTEND5_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor, #define HOTEND5_RESISTANCE_25C_OHMS 100000 // Resistance at 25C, #define HOTEND5_BETA 3950 // Beta value #define Y_MAX_POS Y_BED_SIZE Under manual control with an idle machine, M106 will change the fan speed immediately. I have configured marlin to use Pin 4 for the part cooling fan, Pin 5 for the heatbreak fan, and pin 6 for the controller fan, all of which works fine. When PWM fans are set to low speed, they may need a higher-energy kickstart first to get moving. The first serial port (-1 or 0) will always be used by the Arduino bootloader regardless of this setting. See the Configuration_adv.h file for the full set of sub-options. #define DISABLE_INACTIVE_Z true Serial port -1 is the USB emulated serial port, if available. * Enable the G26 Mesh Validation Pattern tool. #define BED_MINTEMP 5, #define HEATER_0_MAXTEMP 285 #endif, #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds, #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius, #define WATCH_BED_TEMP_PERIOD 60 // Seconds, #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius Enable support for an RGB(W) LED connected to 5 V digital pins, or an RGB(W) Strip connected to MOSFETs controlled by digital pins. Most printers will use all three min plugs. Adjust the relavant settings to your specifications for use with SWITCHING_TOOLHEAD, PARKING_EXTRUDER or MAGNETIC_PARKING_EXTRUDER. #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle], // X and Y axis travel speed (mm/m) between probes, // Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2), #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z, // Feedrate (mm/m) for the "accurate" probe of each point, #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2), #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow If you have a speaker that can produce tones, enable it here. #endif, //#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR. #define EXTRUDE_MAXLENGTH 200, #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders Extruder auto fans turn on whenever their extruder temperatures go above EXTRUDER_AUTO_FAN_TEMPERATURE. This will most likely be a sub-section of the bed because probes are not usually able to reach every point that the nozzle can. All M207/M208/M209 settings are saved to EEPROM. If you get false positives for “Heating failed” increase WATCH_TEMP_PERIOD and/or decrease WATCH_TEMP_INCREASE. This offset is applied to the X2 motor after homing with G28. As long as the temperature reading is low, the hotend will continue to heat up indefinitely, leading to smoke, oozing, a ruined print, and possibly even fire. This is the “nominal” filament diameter as written on the filament spool (1.75, 2.85, 3.0). These options specify the inset, grid, and 3-point triangle to use for UBL. Lower volume fan. If multiple commands are needed, divide them with \n (the newline character). This option hides the SD card from the host PC. S255 provides 100% duty cycle; S128 produces 50%. #define CUSTOM_STATUS_SCREEN_IMAGE, //#define CUSTOM_MACHINE_NAME "3D Printer", //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000", #define DEFAULT_NOMINAL_FILAMENT_DIA 3.00, //#define E_MUX0_PIN 40 // Always Required, //#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs, //#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs, #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3], #define SWITCHING_EXTRUDER_E23_SERVO_NR 1, //#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second, #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo) #define THIS_IS_ENABLED // this switch is enabled, //#define THIS_IS_DISABLED // this switch is disabled, #define OPTION_VALUE 22 // this setting is "22", #define STRING_CONFIG_H_AUTHOR "(none, default config)", #define SHOW_BOOTSCREEN As part of the build process, the SanityCheck.h will print helpful error messages explaining what needs to be changed. #define DUMMY_THERMISTOR_999_VALUE 100, #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10. To unload filament using the LCD menu a generic ramming sequence will be exectued before the MMU2 will retract the filament. #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \ Delta robots convert the motion of three vertical carriages into XYZ motion in an “effector” attached to the carriages by six arms. The WATCHDOG_RESET_MANUAL option works around this by eschewing the hardware reset. The simplest way to do this is to define FAN1_PIN as one of the available PWM pins on your board. //#define WIFISUPPORT // Marlin embedded WiFi managenent, //#define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib), #if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT), //#define WEBSUPPORT // Start a webserver (which may include auto-discovery), //#define OTASUPPORT // Support over-the-air firmware updates, //#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host, //#include "Configuration_Secure.h" // External file with WiFi SSID / Password, // G-code to execute when MMU2 F.I.N.D.A. Disable all menus and only display the Status Screen with NO_LCD_MENUS, or just remove some extraneous menu items to recover space with SLIM_LCD_MENUS. If you’ve never configured and calibrated a 3D Printer before, here are some good resources: To get your core Configuration.h settings right you’ll need to know the following things about your printer: The core and default settings of Marlin live in the Configuration.h file. Cooling fans are needed on 3D printers to keep components cool and prevent failure. This document is based on Marlin 1.1.9 Note: For best results with Marlin 1.1.9, we recommend (#11576) using a fan PWM pin and the M106 command instead of M3 - M5. Junction Deviation determins the cornering speed. Marlin is configured using C++ compiler directives. 1 : MCU MOSI connected. #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255), //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup, //#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use, //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W, #if ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED), //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command, #define HOTEND0_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor, #define HOTEND0_RESISTANCE_25C_OHMS 100000 // Resistance at 25C, #define HOTEND0_BETA 3950 // Beta value