Configurations VS Marlin

Compare Configurations vs Marlin and see what are their differences.

Configurations

Configurations for Marlin Firmware (by MarlinFirmware)

Marlin

Optimized firmware for RepRap 3D printers based on the Arduino platform. (by InsanityAutomation)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Configurations Marlin
231 107
1,936 441
1.8% -
9.1 0.0
2 days ago 7 days ago
C C++
GNU General Public License v3.0 only GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Configurations

Posts with mentions or reviews of Configurations. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-11.

Marlin

Posts with mentions or reviews of Marlin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-15.
  • My extruder servo is overheating and skips steps.
    4 projects | /r/ender3 | 15 Feb 2023
    23,24d22 < #error "Don't build with import-2.1.x configurations!" < #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version." 25a24,25 > #define CONFIG_EXAMPLES_DIR "Creality/Ender-3 Pro/CrealityV422" > 40c40 < #define CONFIGURATION_H_VERSION 02010300 --- > #define CONFIGURATION_H_VERSION 02010000 61a62,70 > //=========================================================================== > //========================== DELTA / SCARA / TPARA ========================== > //=========================================================================== > // > // Download configurations from the link above and customize for your machine. > // Examples are located in config/examples/delta, .../SCARA, and .../TPARA. > // > //=========================================================================== > 65c74 < #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. --- > #define STRING_CONFIG_H_AUTHOR "(Hidasi Máté)" // Who made the changes. 83c92 < //#define SHOW_CUSTOM_BOOTSCREEN --- > #define SHOW_CUSTOM_BOOTSCREEN 86c95 < //#define CUSTOM_STATUS_SCREEN_IMAGE --- > #define CUSTOM_STATUS_SCREEN_IMAGE 92c101 < #define MOTHERBOARD BOARD_RAMPS_14_EFB --- > #define MOTHERBOARD BOARD_CREALITY_V4 103c112 < #define SERIAL_PORT 0 --- > #define SERIAL_PORT 1 116,117c125 < #define BAUDRATE 250000 < --- > #define BAUDRATE 115200 125,126c133,134 < //#define SERIAL_PORT_2 -1 < //#define BAUDRATE_2 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE --- > #define SERIAL_PORT_2 3 > //#define BAUDRATE_2 250000 // Enable to override BAUDRATE 134c142 < //#define BAUDRATE_3 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE --- > //#define BAUDRATE_3 250000 // Enable to override BAUDRATE 140c148 < //#define CUSTOM_MACHINE_NAME "3D Printer" --- > #define CUSTOM_MACHINE_NAME "Máté's Ender 3 Pro" 146,147d153 < // @section stepper drivers < 156c162,163 < * Options: A4988, A5984, DRV8825, LV8729, TB6560, TB6600, TMC2100, --- > * Options: A4988, A5984, DRV8825, LV8729, L6470, L6474, POWERSTEP01, > * TB6560, TB6600, TMC2100, 161c168 < * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] --- > * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] 163,165c170,172 < #define X_DRIVER_TYPE A4988 < #define Y_DRIVER_TYPE A4988 < #define Z_DRIVER_TYPE A4988 --- > #define X_DRIVER_TYPE A4988 > #define Y_DRIVER_TYPE A4988 > #define Z_DRIVER_TYPE A4988 247,248d253 < // @section multi-material < 261d265 < * :["PRUSA_MMU1", "PRUSA_MMU2", "PRUSA_MMU2S", "EXTENDABLE_EMU_MMU2", "EXTENDABLE_EMU_MMU2S"] 281d284 < #define SWITCHING_NOZZLE_SERVO_DWELL 2500 // Dwell time to wait for servo to make physical move 398c401 < // @section psu control --- > // @section machine 501c504 < * 66 : 4.7MΩ Dyze Design / Trianglelab T-D500 500°C High Temperature Thermistor --- > * 66 : 4.7MΩ Dyze Design High Temperature Thermistor 523d525 < * 1022 : Pt1000 with 2.2kΩ pullup 549c551 < #define TEMP_SENSOR_BED 0 --- > #define TEMP_SENSOR_BED 1 561,572c563,566 < #if TEMP_SENSOR_IS_MAX_TC(0) < #define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000) < #define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000 < #endif < #if TEMP_SENSOR_IS_MAX_TC(1) < #define MAX31865_SENSOR_OHMS_1 100 < #define MAX31865_CALIBRATION_OHMS_1 430 < #endif < #if TEMP_SENSOR_IS_MAX_TC(2) < #define MAX31865_SENSOR_OHMS_2 100 < #define MAX31865_CALIBRATION_OHMS_2 430 < #endif --- > //#define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000) > //#define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000 > //#define MAX31865_SENSOR_OHMS_1 100 > //#define MAX31865_CALIBRATION_OHMS_1 430 574,578c568,570 < #if HAS_E_TEMP_SENSOR < #define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 < #define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer < #define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target < #endif --- > #define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 > #define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer > #define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target 580,584c572,574 < #if TEMP_SENSOR_BED < #define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 < #define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer < #define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target < #endif --- > #define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 > #define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer > #define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target 586,590c576,578 < #if TEMP_SENSOR_CHAMBER < #define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191 < #define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer < #define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target < #endif --- > #define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191 > #define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer > #define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target 610c598 < #define HEATER_0_MINTEMP 5 --- > #define HEATER_0_MINTEMP 0 618c606 < #define BED_MINTEMP 5 --- > #define BED_MINTEMP 0 632c620 < #define BED_MAXTEMP 150 --- > #define BED_MAXTEMP 120 649,650d636 < // @section hotend temp < 661,662c647 < //#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to toggle activation. < //#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders) --- > //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) 664a650 > // Ender 3 v2 668,670c654,656 < #define DEFAULT_Kp_LIST { 22.20, 22.20 } < #define DEFAULT_Ki_LIST { 1.08, 1.08 } < #define DEFAULT_Kd_LIST { 114.00, 114.00 } --- > #define DEFAULT_Kp_LIST { 28.72, 28.72 } > #define DEFAULT_Ki_LIST { 2.62, 2.62 } > #define DEFAULT_Kd_LIST { 78.81, 78.81 } 672,674c658,660 < #define DEFAULT_Kp 22.20 < #define DEFAULT_Ki 1.08 < #define DEFAULT_Kd 114.00 --- > #define DEFAULT_Kp 28.72 > #define DEFAULT_Ki 2.62 > #define DEFAULT_Kd 78.81 683,684c669 < * for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 T to autotune the model. < * @section mpctemp --- > * for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model. 737d721 < * @section bed temp 739c723 < //#define PIDTEMPBED --- > #define PIDTEMPBED 753c737 < //#define PID_BED_DEBUG // Print Bed PID debug data to the serial port. --- > //#define PID_BED_DEBUG // Sends debug data to the serial port. 757,759c741,743 < #define DEFAULT_bedKp 10.00 < #define DEFAULT_bedKi .023 < #define DEFAULT_bedKd 305.4 --- > #define DEFAULT_bedKp 462.10 > #define DEFAULT_bedKi 85.47 > #define DEFAULT_bedKd 624.59 781d764 < * @section chamber temp 796c779 < //#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port. --- > //#define PID_CHAMBER_DEBUG // Sends debug data to the serial port. 809a793 > //#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation. 819c803 < // @section safety --- > // @section extruder 829c813 < #define EXTRUDE_MINTEMP 170 --- > #define EXTRUDE_MINTEMP 180 836c820 < #define EXTRUDE_MAXLENGTH 200 --- > #define EXTRUDE_MAXLENGTH 1000 857c841 < #define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber --- > //#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber 883,885c867,868 < #define POLARGRAPH_MAX_BELT_LEN 1035.0 // (mm) Belt length at full extension. Override with M665 H. < #define DEFAULT_SEGMENTS_PER_SECOND 5 // Move segmentation based on duration < #define PEN_UP_DOWN_MENU // Add "Pen Up" and "Pen Down" to the MarlinUI menu --- > #define POLARGRAPH_MAX_BELT_LEN 1035.0 > #define POLAR_SEGMENTS_PER_SECOND 5 888,1081d870 < // @section delta < < // Enable for DELTA kinematics and configure below < //#define DELTA < #if ENABLED(DELTA) < < // Make delta curves from many straight lines (linear interpolation). < // This is a trade-off between visible corners (not enough segments) < // and processor overload (too many expensive sqrt calls). < #define DEFAULT_SEGMENTS_PER_SECOND 200 < < // After homing move down to a height where XY movement is unconstrained < //#define DELTA_HOME_TO_SAFE_ZONE < < // Delta calibration menu < // Add three-point calibration to the MarlinUI menu. < // See http://minow.blogspot.com/index.html#4918805519571907051 < //#define DELTA_CALIBRATION_MENU < < // G33 Delta Auto-Calibration. Enable EEPROM_SETTINGS to store results. < //#define DELTA_AUTO_CALIBRATION < < #if ENABLED(DELTA_AUTO_CALIBRATION) < // Default number of probe points : n*n (1 -> 7) < #define DELTA_CALIBRATION_DEFAULT_POINTS 4 < #endif < < #if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU) < // Step size for paper-test probing < #define PROBE_MANUALLY_STEP 0.05 // (mm) < #endif < < // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). < #define PRINTABLE_RADIUS 140.0 // (mm) < < // Maximum reachable area < #define DELTA_MAX_RADIUS 140.0 // (mm) < < // Center-to-center distance of the holes in the diagonal push rods. < #define DELTA_DIAGONAL_ROD 250.0 // (mm) < < // Distance between bed and nozzle Z home position < #define DELTA_HEIGHT 250.00 // (mm) Get this value from G33 auto calibrate < < #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // Get these values from G33 auto calibrate < < // Horizontal distance bridged by diagonal push rods when effector is centered. < #define DELTA_RADIUS 124.0 // (mm) Get this value from G33 auto calibrate < < // Trim adjustments for individual towers < // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0 < // measured in degrees anticlockwise looking from above the printer < #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // Get these values from G33 auto calibrate < < // Delta radius and diagonal rod adjustments (mm) < //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 } < //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 } < #endif < < // @section scara < < /** < * MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013. < * Implemented and slightly reworked by JCERNY in June, 2014. < * < * Mostly Printed SCARA is an open source design by Tyler Williams. See: < * https://www.thingiverse.com/thing:2487048 < * https://www.thingiverse.com/thing:1241491 < */ < //#define MORGAN_SCARA < //#define MP_SCARA < #if EITHER(MORGAN_SCARA, MP_SCARA) < // If movement is choppy try lowering this value < #define DEFAULT_SEGMENTS_PER_SECOND 200 < < // Length of inner and outer support arms. Measure arm lengths precisely. < #define SCARA_LINKAGE_1 150 // (mm) < #define SCARA_LINKAGE_2 150 // (mm) < < // SCARA tower offset (position of Tower relative to bed zero position) < // This needs to be reasonably accurate as it defines the printbed position in the SCARA space. < #define SCARA_OFFSET_X 100 // (mm) < #define SCARA_OFFSET_Y -56 // (mm) < < #if ENABLED(MORGAN_SCARA) < < //#define DEBUG_SCARA_KINEMATICS < #define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly < < // Radius around the center where the arm cannot reach < #define MIDDLE_DEAD_ZONE_R 0 // (mm) < < #define THETA_HOMING_OFFSET 0 // Calculated from Calibration Guide and M360 / M114. See http://reprap.harleystudio.co.za/?page_id=1073 < #define PSI_HOMING_OFFSET 0 // Calculated from Calibration Guide and M364 / M114. See http://reprap.harleystudio.co.za/?page_id=1073 < < #elif ENABLED(MP_SCARA) < < #define SCARA_OFFSET_THETA1 12 // degrees < #define SCARA_OFFSET_THETA2 131 // degrees < < #endif < < #endif < < // @section tpara < < // Enable for TPARA kinematics and configure below < //#define AXEL_TPARA < #if ENABLED(AXEL_TPARA) < #define DEBUG_TPARA_KINEMATICS < #define DEFAULT_SEGMENTS_PER_SECOND 200 < < // Length of inner and outer support arms. Measure arm lengths precisely. < #define TPARA_LINKAGE_1 120 // (mm) < #define TPARA_LINKAGE_2 120 // (mm) < < // SCARA tower offset (position of Tower relative to bed zero position) < // This needs to be reasonably accurate as it defines the printbed position in the SCARA space. < #define TPARA_OFFSET_X 0 // (mm) < #define TPARA_OFFSET_Y 0 // (mm) < #define TPARA_OFFSET_Z 0 // (mm) < < #define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly < < // Radius around the center where the arm cannot reach < #define MIDDLE_DEAD_ZONE_R 0 // (mm) < < // Calculated from Calibration Guide and M360 / M114. See http://reprap.harleystudio.co.za/?page_id=1073 < #define THETA_HOMING_OFFSET 0 < #define PSI_HOMING_OFFSET 0 < #endif < < // @section polar < < /** < * POLAR Kinematics < * developed by Kadir ilkimen for PolarBear CNC and babyBear < * https://github.com/kadirilkimen/Polar-Bear-Cnc-Machine < * https://github.com/kadirilkimen/babyBear-3D-printer < * < * A polar machine can have different configurations. < * This kinematics is only compatible with the following configuration: < * X : Independent linear < * Y or B : Polar < * Z : Independent linear < * < * For example, PolarBear has CoreXZ plus Polar Y or B. < * < * Motion problem for Polar axis near center / origin: < * < * 3D printing: < * Movements very close to the center of the polar axis take more time than others. < * This brief delay results in more material deposition due to the pressure in the nozzle. < * < * Current Kinematics and feedrate scaling deals with this by making the movement as fast < * as possible. It works for slow movements but doesn't work well with fast ones. A more < * complicated extrusion compensation must be implemented. < * < * Ideally, it should estimate that a long rotation near the center is ahead and will cause < * unwanted deposition. Therefore it can compensate the extrusion beforehand. < * < * Laser cutting: < * Same thing would be a problem for laser engraving too. As it spends time rotating at the < * center point, more likely it will burn more material than it should. Therefore similar < * compensation would be implemented for laser-cutting operations. < * < * Milling: < * This shouldn't be a problem for cutting/milling operations. < */ < //#define POLAR < #if ENABLED(POLAR) < #define DEFAULT_SEGMENTS_PER_SECOND 180 // If movement is choppy try lowering this value < #define PRINTABLE_RADIUS 82.0f // (mm) Maximum travel of X axis < < // Movements fall inside POLAR_FAST_RADIUS are assigned the highest possible feedrate < // to compensate unwanted deposition related to the near-origin motion problem. < #define POLAR_FAST_RADIUS 3.0f // (mm) < < // Radius which is unreachable by the tool. < // Needed if the tool is not perfectly aligned to the center of the polar axis. < #define POLAR_CENTER_OFFSET 0.0f // (mm) < < #define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly < #endif < < // @section machine < < // Articulated robot (arm). Joints are directly mapped to axes with no kinematics. < //#define ARTICULATED_ROBOT_ARM < < // For a hot wire cutter with parallel horizontal axes (X, I) where the heights of the two wire < // ends are controlled by parallel axes (Y, J). Joints are directly mapped to axes (no kinematics). < //#define FOAMCUTTER_XYUV < 1086c875 < // @section endstops --- > // @section homing 1183c972 < //#define ENDSTOP_INTERRUPTS_FEATURE --- > #define ENDSTOP_INTERRUPTS_FEATURE 1227c1016 < #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 } --- > #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } 1234c1023 < #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } --- > #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } 1247c1036 < #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } --- > #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 1000 } 1261,1262d1049 < * M204 I Angular Acceleration < * M204 J Angular Travel Acceleration 1264,1270c1051,1053 < #define DEFAULT_ACCELERATION 3000 // X, Y, Z ... and E acceleration for printing moves < #define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts < #define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z ... acceleration for travel (non printing) moves < #if ENABLED(AXIS4_ROTATES) < #define DEFAULT_ANGULAR_ACCELERATION 3000 // I, J, K acceleration for rotational-only printing moves < #define DEFAULT_ANGULAR_TRAVEL_ACCELERATION 3000 // I, J, K acceleration for rotational-only travel (non printing) moves < #endif --- > #define DEFAULT_ACCELERATION 500 // X, Y, Z and E acceleration for printing moves > #define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts > #define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves 1280c1063 < //#define CLASSIC_JERK --- > #define CLASSIC_JERK 1323c1106 < //#define S_CURVE_ACCELERATION --- > #define S_CURVE_ACCELERATION 1440,1460d1222 < /** < * Magnetically Mounted Probe < * For probes such as Euclid, Klicky, Klackender, etc. < */ < //#define MAG_MOUNTED_PROBE < #if ENABLED(MAG_MOUNTED_PROBE) < #define PROBE_DEPLOY_FEEDRATE (133*60) // (mm/min) Probe deploy speed < #define PROBE_STOW_FEEDRATE (133*60) // (mm/min) Probe stow speed < < #define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } } // Move to side Dock & Attach probe < #define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } } // Move probe off dock < #define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed < #define MAG_MOUNTED_DEPLOY_4 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed < #define MAG_MOUNTED_DEPLOY_5 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed < #define MAG_MOUNTED_STOW_1 { PROBE_STOW_FEEDRATE, { 245, 114, 20 } } // Move to dock < #define MAG_MOUNTED_STOW_2 { PROBE_STOW_FEEDRATE, { 245, 114, 0 } } // Place probe beside remover < #define MAG_MOUNTED_STOW_3 { PROBE_STOW_FEEDRATE, { 230, 114, 0 } } // Side move to remove probe < #define MAG_MOUNTED_STOW_4 { PROBE_STOW_FEEDRATE, { 210, 114, 20 } } // Side move to remove probe < #define MAG_MOUNTED_STOW_5 { PROBE_STOW_FEEDRATE, { 0, 0, 0 } } // Extra move if needed < #endif < 1476,1483c1238,1240 < /** < * Allen key retractable z-probe as seen on many Kossel delta printers - https://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe < * Deploys by touching z-axis belt. Retracts by pushing the probe down. < */ < //#define Z_PROBE_ALLEN_KEY < #if ENABLED(Z_PROBE_ALLEN_KEY) < // 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29, < // if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe. --- > // > // For Z_PROBE_ALLEN_KEY see the Delta example configurations. > // 1485,1507d1241 < #define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, PRINTABLE_RADIUS, 100.0 } < #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_FEEDRATE < < #define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, PRINTABLE_RADIUS, 100.0 } < #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_FEEDRATE)/10 < < #define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (PRINTABLE_RADIUS) * 0.75, 100.0 } < #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_FEEDRATE < < #define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position < #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_FEEDRATE < < #define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down < #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_FEEDRATE)/10 < < #define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear < #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_FEEDRATE < < #define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 } < #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_FEEDRATE < < #endif // Z_PROBE_ALLEN_KEY < 1555c1289 < #define XY_PROBE_FEEDRATE (133*60) --- > #define XY_PROBE_FEEDRATE (50*60) 1633,1634c1367,1368 < #define Z_PROBE_OFFSET_RANGE_MIN -20 < #define Z_PROBE_OFFSET_RANGE_MAX 20 --- > #define Z_PROBE_OFFSET_RANGE_MIN -10 > #define Z_PROBE_OFFSET_RANGE_MAX 10 1702c1436 < // @section motion --- > // @section machine 1706,1707c1440,1441 < #define INVERT_Y_DIR true < #define INVERT_Z_DIR false --- > #define INVERT_Y_DIR false > #define INVERT_Z_DIR true 1756c1490 < // @section geometry --- > // @section machine 1759,1760c1493,1494 < #define X_BED_SIZE 200 < #define Y_BED_SIZE 200 --- > #define X_BED_SIZE 235 > #define Y_BED_SIZE 235 1768c1502 < #define Z_MAX_POS 200 --- > #define Z_MAX_POS 250 1960,1968d1693 < * Bed Distance Sensor < * < * Measures the distance from bed to nozzle with accuracy of 0.01mm. < * For information about this sensor https://github.com/markniu/Bed_Distance_sensor < * Uses I2C port, so it requires I2C library markyue/Panda_SoftMasterI2C. < */ < //#define BD_SENSOR < < /** 1981,1985c1706,1708 < /** < * Gradually reduce leveling correction until a set height is reached, < * at which point movement will be level to the machine's XY plane. < * The height can be set with M420 Z < */ --- > // Gradually reduce leveling correction until a set height is reached, > // at which point movement will be level to the machine's XY plane. > // The height can be set with M420 Z 1991,2001c1714,1716 < /** < * Add Z offset (M424 Z) that applies to all moves at the planner level. < * This Z offset will be automatically set to the middle value with G29. < */ < //#define GLOBAL_MESH_Z_OFFSET < < /** < * For Cartesian machines, instead of dividing moves on mesh boundaries, < * split up moves into short segments like a Delta. This follows the < * contours of the bed more closely than edge-to-edge straight moves. < */ --- > // For Cartesian machines, instead of dividing moves on mesh boundaries, > // split up moves into short segments like a Delta. This follows the > // contours of the bed more closely than edge-to-edge straight moves. 2034c1749 < //#define EXTRAPOLATE_BEYOND_GRID --- > #define EXTRAPOLATE_BEYOND_GRID 2037c1752 < // Subdivision of the grid by Catmull-Rom method. --- > // Experimental Subdivision of the grid by Catmull-Rom method. 2070,2088d1784 < /** < * Probing not allowed within the position of an obstacle. < */ < //#define AVOID_OBSTACLES < #if ENABLED(AVOID_OBSTACLES) < #define CLIP_W 23 // Bed clip width, should be padded a few mm over its physical size < #define CLIP_H 14 // Bed clip height, should be padded a few mm over its physical size < < // Obstacle Rectangles defined as { X1, Y1, X2, Y2 } < #define OBSTACLE1 { (X_BED_SIZE) / 4 - (CLIP_W) / 2, 0, (X_BED_SIZE) / 4 + (CLIP_W) / 2, CLIP_H } < #define OBSTACLE2 { (X_BED_SIZE) * 3 / 4 - (CLIP_W) / 2, 0, (X_BED_SIZE) * 3 / 4 + (CLIP_W) / 2, CLIP_H } < #define OBSTACLE3 { (X_BED_SIZE) / 4 - (CLIP_W) / 2, ((Y_BED_SIZE) - (CLIP_H)), (X_BED_SIZE) / 4 + (CLIP_W) / 2, Y_BED_SIZE } < #define OBSTACLE4 { (X_BED_SIZE) * 3 / 4 - (CLIP_W) / 2, ((Y_BED_SIZE) - (CLIP_H)), (X_BED_SIZE) * 3 / 4 + (CLIP_W) / 2, Y_BED_SIZE } < < // The probed grid must be inset for G29 J. This is okay, since it is < // only used to compute a linear transformation for the mesh itself. < #define G29J_MESH_TILT_MARGIN ((CLIP_H) + 1) < #endif < 2183,2184c1879,1880 < #define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing < #define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing --- > #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE - 10) / 2) // X point for Z homing > #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE - 10) / 2) // Y point for Z homing 2231,2232c1927,1929 < // Or, set the XY skew factor directly: < //#define XY_SKEW_FACTOR 0.0 --- > // Or, set the default skew factors directly here > // to override the above measurements: > #define XY_SKEW_FACTOR 0.0 2241,2244c1938,1939 < < // Or, set the Z skew factors directly: < //#define XZ_SKEW_FACTOR 0.0 < //#define YZ_SKEW_FACTOR 0.0 --- > #define XZ_SKEW_FACTOR 0.0 > #define YZ_SKEW_FACTOR 0.0 2255c1950 < // @section eeprom --- > // @section extras 2266c1961 < //#define EEPROM_SETTINGS // Persistent storage with M500 and M501 --- > #define EEPROM_SETTINGS // Persistent storage with M500 and M501 2268c1963 < #define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. --- > //#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. 2271c1966 < //#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. --- > #define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. 2275,2276d1969 < // @section host < 2287,2288d1979 < // @section units < 2302c1993 < // Preheat Constants - Up to 10 are supported without changes --- > // Preheat Constants - Up to 6 are supported without changes 2305,2306c1996,1997 < #define PREHEAT_1_TEMP_HOTEND 180 < #define PREHEAT_1_TEMP_BED 70 --- > #define PREHEAT_1_TEMP_HOTEND 185 > #define PREHEAT_1_TEMP_BED 45 2308c1999 < #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 --- > #define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255 2312c2003 < #define PREHEAT_2_TEMP_BED 110 --- > #define PREHEAT_2_TEMP_BED 70 2314c2005 < #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 --- > #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 2316,2317d2006 < // @section motion < 2341c2030 < * Clean Nozzle Feature --- > * Clean Nozzle Feature -- EXPERIMENTAL 2374a2064 > * Attention: EXPERIMENTAL. G-code arguments may change. 2415,2416d2104 < // @section host < 2443,2444d2130 < // @section stats < 2459c2145 < #define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print. A value of 0 will save stats at end of print. --- > #define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print 2462,2463d2147 < // @section security < 2499c2183 < // @section interface --- > // @section lcd 2550c2234 < //#define SDSUPPORT --- > #define SDSUPPORT 2574c2258 < //#define ENCODER_PULSES_PER_STEP 4 --- > #define ENCODER_PULSES_PER_STEP 4 2580c2264 < //#define ENCODER_STEPS_PER_MENU_ITEM 1 --- > #define ENCODER_STEPS_PER_MENU_ITEM 1 2616,2625d2299 < // Encoder EMI Noise Filter < // < // This option increases encoder samples to filter out phantom encoder clicks caused by EMI noise. < // < //#define ENCODER_NOISE_FILTER < #if ENABLED(ENCODER_NOISE_FILTER) < #define ENCODER_SAMPLES 10 < #endif < < // 2630c2304 < //#define INDIVIDUAL_AXIS_HOMING_MENU --- > #define INDIVIDUAL_AXIS_HOMING_MENU 2648,2649c2322,2323 < //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 < //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 --- > #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 > #define LCD_FEEDBACK_FREQUENCY_HZ 5000 2655d2328 < // @section lcd 2830c2503 < // https://reprapworld.com/electronics/3d-printer-modules/autonomous-printing/graphical-lcd-screen-v1-0/ --- > // https://reprapworld.com/?products_details&products_id/1218 2928c2601,2604 < //#define CR10_STOCKDISPLAY --- > #define CR10_STOCKDISPLAY > #if ENABLED(CR10_STOCKDISPLAY) > #define RET6_12864_LCD // Specific to the SoC (can either be RET / VET) > #endif 2957,2962d2632 < // < // eMotion Tech LCD with SD < // https://www.reprap-france.com/produit/1234568748-ecran-graphique-128-x-64-points-2-1 < // < //#define EMOTION_TECH_LCD < 3027a2698,2700 > * ORIGIN : https://www.aliexpress.com/item/32993409517.html > * FYSETC : https://www.aliexpress.com/item/32961471929.html > * MKS : https://www.aliexpress.com/item/1005002008179262.html 3028a2702,2707 > * Flash display with DGUS Displays for Marlin: > * - Format the SD card to FAT32 with an allocation size of 4kb. > * - Download files as specified for your type of display. > * - Plug the microSD card into the back of the display. > * - Boot the display and wait for the update to complete. > * 3032d2710 < * - Product: https://www.aliexpress.com/item/32993409517.html 3037d2714 < * - Product: https://www.aliexpress.com/item/32961471929.html 3046d2722 < * - Product: https://www.aliexpress.com/item/1005002008179262.html 3051,3063d2726 < * < * IA_CREALITY (T5UID1) < * - Download https://github.com/InsanityAutomation/Marlin/raw/CrealityDwin2.0_Bleeding/TM3D_Combined480272_Landscape_V7.7z < * - Copy the downloaded DWIN_SET folder to the SD card. < * < * CREALITY_TOUCH < * - CR-6 OEM touch screen. A DWIN display with touch. < * < * Flash display with DGUS Displays for Marlin: < * - Format the SD card to FAT32 with an allocation size of 4kb. < * - Download files as specified for your type of display. < * - Plug the microSD card into the back of the display. < * - Boot the display and wait for the update to complete. 3065,3066c2728,2733 < //#define DGUS_LCD_UI ORIGIN < #if DGUS_UI_IS(MKS) --- > //#define DGUS_LCD_UI_ORIGIN > //#define DGUS_LCD_UI_FYSETC > //#define DGUS_LCD_UI_HIPRECY > //#define DGUS_LCD_UI_MKS > //#define DGUS_LCD_UI_RELOADED > #if ENABLED(DGUS_LCD_UI_MKS) 3071,3075d2737 < // CR-6 OEM touch screen. A DWIN display with touch. < // < //#define DWIN_CREALITY_TOUCHLCD < < // 3093d2754 < //#define ANYCUBIC_LCD_GCODE_EXT // Add ".gcode" to menu entries for DGUS clone compatibility 3102,3107d2762 < // PanelDue touch controller by Escher3D < // http://escher3d.com/pages/order/products/product2.php < // < //#define PANELDUE < < // 3168c2823 < // 480x320, 3.5", FSMC Stock Display from Tronxy --- > // 480x320, 3.5", FSMC Stock Display from TronxXY 3235,3247d2889 < #if ENABLED(TFT_COLOR_UI) < /** < * TFT Font for Color_UI. Choose one of the following: < * < * NOTOSANS - Default font with antialiasing. Supports Latin Extended and non-Latin characters. < * UNIFONT - Lightweight font, no antialiasing. Supports Latin Extended and non-Latin characters. < * HELVETICA - Lightweight font, no antialiasing. Supports Basic Latin (0x0020-0x007F) and Latin-1 Supplement (0x0080-0x00FF) characters only. < */ < #define TFT_FONT NOTOSANS < < //#define TFT_SHARED_SPI // SPI is shared between TFT display and other devices. Disable async data transfer < #endif < 3280,3281c2922,2923 < #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens < #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus --- > #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens > #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus 3283,3284c2925 < //#define DISABLE_ENCODER // Disable the click encoder, if any < //#define TOUCH_IDLE_SLEEP_MINS 5 // (minutes) Display Sleep after a period of inactivity. Set with M255 S. --- > //#define TOUCH_IDLE_SLEEP 300 // (s) Turn off the TFT backlight if set (5mn) 3319c2960 < // @section fans --- > // @section extras 3328c2969 < //#define FAN_SOFT_PWM --- > #define FAN_SOFT_PWM 3343,3349d2983 < // @section extras < < // Support for the BariCUDA Paste Extruder < //#define BARICUDA < < // @section lights < 3354a2989,2991 > // Support for the BariCUDA Paste Extruder > //#define BARICUDA > 3375c3012 < * === CAUTION === --- > * *** CAUTION *** 3379d3015 < * 3381a3018 > * *** CAUTION *** 3383,3384c3020 < * Requires PWM frequency between 50 <> 100Hz (Check HAL or variant) < * Use FAST_PWM_FAN, if possible, to reduce fan noise. --- > * LED Type. Enable only one of the following two options. 3386,3387d3021 < < // LED Type. Enable only one of the following two options: 3398,3404d3031 < #if ANY(RGB_LED, RGBW_LED, PCA9632) < //#define RGB_STARTUP_TEST // For PWM pins, fade between all colors < #if ENABLED(RGB_STARTUP_TEST) < #define RGB_STARTUP_TEST_INNER_MS 10 // (ms) Reduce or increase fading speed < #endif < #endif < 3424d3050 < #define NEOPIXEL_M150_DEFAULT -1 // Default strip for M150 without 'S'. Use -1 to set all by default. 3451,3452d3076 < // @section servos < 3474a3099 >
  • Could someone share with me links/names to the latest/greatest custom firmware(s)?
    2 projects | /r/ender5plus | 14 Feb 2023
    I'm currently running my E5P with the creality silent board on insanity automation (marlin): https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin2.0_Bleeding (I suggest compiling yourself to fix the M591 reply, see the open PR which is not yet merged)
  • Best Firmware for E3Pro
    2 projects | /r/Ender3Pro | 21 Jan 2023
    Use this branch of marlin. I have the same setup basically and they are very helpful on their discord channel.
  • My ender 3S1 Plus is driving me insane.
    2 projects | /r/ender3 | 25 Oct 2022
    The work being done here looks very promising. You'll need to compile it yourself though unfortunately. https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin_2.0
  • Ender 5+ Not homing to the center after firmware change do to new hot end.
    2 projects | /r/ender5plus | 1 Oct 2022
    Could any one help me out here. I am new to this firmware stuff. I have a Ender 5 plus with Bord: bigtreetech skr 1.4 turbo with 2209, Screen: bigtreetech TFT70, Hotend: E3D Hemera. I got a firmware From gethub (https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin2.0_Bleeding) I just checked off what I had and it change the setting for me. But when I uploaded it to the printer and home the printer it is acting like my build plate is twice the size. For the safe home It is set to max bed / 2 but when it homes it goes to the bottom left not the center. Also when I try to do ABL it thinks the build plat is bigger do to it centering on the bottom left.
  • Tiny Machines firmware question marks … why? EEPROM reset after update. Z offset set. Ideas?
    3 projects | /r/CR10 | 28 Sep 2022
  • not sure why it doesn't stay english (creality silent board with creality firmware)
    2 projects | /r/ender5plus | 27 Jun 2022
    If you're looking to upgrade, I would download insanity automations firmware. It's an excellent upgrade over Creality's firmware.
  • Octoprint and Filament Runout Sensor
    2 projects | /r/ender5plus | 21 Jun 2022
    It should take a couple minutes to flash your firmware. Once you've downloaded the "TM3D_Combined480272_Landscape_V7.7z" file, follow these steps.
    2 projects | /r/ender5plus | 21 Jun 2022
    So you want to download the hex file from the "CrealityDwin_2.0" branch. The one you're looking for is titled "E5P_BIL_DW7.4.6.hex.zip" The DWIN files are in the root directory. Download the one titled "TM3D_Combined480272_Landscape_V7.7z"
  • At my wit's end trying to resolve this Z-banding on my ender 5 plus, I've swapped the lead screws, added anti backlash nuts, recalibrated Z and E steps, redid PID tuning, printed braces for the lead screws, fiddled with extrusion and flow rates and still I'm getting this banding at the same layers
    2 projects | /r/ender5plus | 31 May 2022
    Got screen working again with this setup: https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin_2.0

What are some alternatives?

When comparing Configurations and Marlin you can also consider the following projects:

BIGTREETECH-SKR-mini-E3 - BIGTREETECH SKR-mini-E3 motherboard is a ultra-quiet, low-power, high-quality 3D printing machine control board. It is launched by the 3D printing team of Shenzhen BIGTREE technology co., LTD. This board is specially tailored for Ender 3 printer, perfectly replacing the original Ender3 printer motherboard.

klipper - Klipper is a 3d-printer firmware. Modified to work with DWIN T5UID1 touchscreens.

DGUS-reloaded-Klipper - DWIN T5UID1 touchscreen firmware for 3D printers running Klipper.

Ender-5-Plus-Klipper-config - Ender 5 Plus Klipper config for SKR2 and TMC2209

Ender-3-Pro-CR-Touch-Board-4.2.2 - My Configuration for my Ender 3 Pro 1.5 (version 4.2.2 board) with CR Touch

BIGTREETECH-TouchScreenFirmware - support TFT35 V1.0/V1.1/V1.2/V2.0/V3.0, TFT28, TFT24 V1.1, TFT43, TFT50, TFT70

DGUS-reloaded - DWIN T5UID1 touchscreen firmware for 3D printers running Marlin.

MarlinFirmware - This is [MARLIN-E3S1PROFORK-BYTT]. A Fork of Marlin 2.1.x-bugfix with the Creality Ender 3 S1 Pro source code included. Personal tweaks, fixes and enhancements included. This firmware is for the Ender 3 S1 Pro (touchscreen) and Ender 3 S1 Plus (touchscreen).

DGUS-reloaded-Klipper-config

Marlin - Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

Marlin - Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

MarlinFirmware - Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.