|
| 1 | +#pragma once |
| 2 | + |
| 3 | +/** |
| 4 | + * Ender_AIO_Configuration.h |
| 5 | + * |
| 6 | + * This file includes basic settings like: |
| 7 | + * |
| 8 | + * - Getting Started with Ender AIO Firmware |
| 9 | + * - Custom Printer Name |
| 10 | + * - Motherboard |
| 11 | + * - Dual-Z Upgrade |
| 12 | + * - Extruder |
| 13 | + * - Filament Runout |
| 14 | + * - Probes |
| 15 | + * - Bed Leveling |
| 16 | + * - Hotend & Thermal / PID Settings |
| 17 | + * - LCD / TFT / Controller |
| 18 | + * - Input Shaping |
| 19 | + * - Sheet Profile Menu |
| 20 | + */ |
| 21 | +#define CONFIGURATION_H_VERSION 02010300 |
| 22 | +#define ENDER_AIO_VERSION 20241019 |
| 23 | + |
| 24 | +//=========================================================================== |
| 25 | +//================= Getting Started with Ender AIO Firmware ================= |
| 26 | +//=========================================================================== |
| 27 | + |
| 28 | +/** |
| 29 | + * If you find this project helpful, please consider donating: |
| 30 | + * |
| 31 | + * Keith Bennett, Marlin tester/config builder: https://github.com/sponsors/thisiskeithb |
| 32 | + * https://ko-fi.com/thisiskeithb |
| 33 | + * Thank you and Happy Printing! |
| 34 | + */ |
| 35 | + |
| 36 | +//=========================================================================== |
| 37 | +//=========================== Custom Printer Name =========================== |
| 38 | +//=========================================================================== |
| 39 | + |
| 40 | +// Uncomment to set a custom printer name. |
| 41 | +//#define ENDER_AIO_CUSTOM_PRINTER_NAME "Ender-3" |
| 42 | + |
| 43 | +//=========================================================================== |
| 44 | +//=============================== Motherboard =============================== |
| 45 | +//=========================================================================== |
| 46 | + |
| 47 | +/** |
| 48 | + * Motherboard |
| 49 | + * |
| 50 | + * - SKR Mini E3 V3.0 (STM32G0B0RE/STM32G0B1RE) |
| 51 | + * - SKR Mini E3 V3.0.1 (STM32F401RC) |
| 52 | + * - SKR Mini E3 V2.0 (STM32F103RC/STM32F103RE) |
| 53 | + * - SKR Mini E3 V1.2 (STM32F103RC) |
| 54 | + * - SKR E3 Turbo (LPC1769) |
| 55 | + * - SKR V3.0 (STM32H743VI/STM32H723VG) |
| 56 | + * - SKR V3.0 EZ (STM32H743VI/STM32H723VG) |
| 57 | + * |
| 58 | + * More board support coming soon! |
| 59 | + */ |
| 60 | +#define ENDER_AIO_MOTHERBOARD_BTT_SKR_MINI_E3_V3_0 |
| 61 | +//#define ENDER_AIO_MOTHERBOARD_BTT_SKR_MINI_E3_V3_0_1 |
| 62 | +//#define ENDER_AIO_MOTHERBOARD_BTT_SKR_MINI_E3_V2_0 |
| 63 | +//#define ENDER_AIO_MOTHERBOARD_BTT_SKR_MINI_E3_V1_2 |
| 64 | +//#define ENDER_AIO_MOTHERBOARD_BTT_SKR_E3_TURBO |
| 65 | +//#define ENDER_AIO_MOTHERBOARD_BTT_SKR_V3_0 |
| 66 | +//#define ENDER_AIO_MOTHERBOARD_BTT_SKR_V3_0_EZ |
| 67 | + |
| 68 | +//=========================================================================== |
| 69 | +//============================= Dual-Z Upgrade ============================== |
| 70 | +//=========================================================================== |
| 71 | + |
| 72 | +/** |
| 73 | + * Creality Ender-3 Dual Z Kit https://www.amazon.com/dp/B09N8QQDSP |
| 74 | + * |
| 75 | + * Note: If your motherboard supports five drivers, all five driver slots must be populated. |
| 76 | + */ |
| 77 | +//#define ENDER_AIO_DUAL_Z_KIT |
| 78 | + |
| 79 | +//=========================================================================== |
| 80 | +//================================ Extruder ================================= |
| 81 | +//=========================================================================== |
| 82 | + |
| 83 | +/** |
| 84 | + * Extruder |
| 85 | + * |
| 86 | + * - Stock Ender-3 Extruder https://www.amazon.com/dp/B07WHYBVJ5 |
| 87 | + * - WINSINN Dual Gear Extruder https://www.amazon.com/dp/B08D9CNHVN |
| 88 | + * - Genuine Bondtech BMG Extruder https://www.bondtech.se/product/bmg-extruder/ |
| 89 | + * - Trianglelab DDB 2.0 Extruder https://www.amazon.com/dp/B08KP189KN |
| 90 | + */ |
| 91 | +#define ENDER_AIO_EXTRUDER_STOCK |
| 92 | +//#define ENDER_AIO_EXTRUDER_WINSINN_DUAL_GEAR |
| 93 | +//#define ENDER_AIO_EXTRUDER_BONDTECH_BMG |
| 94 | +//#define ENDER_AIO_EXTRUDER_TL_DDB_V2 |
| 95 | + |
| 96 | +// BMG/DDB with LDO 0.9° Slim Power motor on E |
| 97 | +#if ANY(ENDER_AIO_EXTRUDER_BONDTECH_BMG, ENDER_AIO_EXTRUDER_TL_DDB_V2) |
| 98 | + //#define ENDER_AIO_EXTRUDER_MOTOR_LDO_0_9_SLIM_POWER |
| 99 | +#endif |
| 100 | + |
| 101 | +// Custom E-Steps |
| 102 | +//#define ENDER_AIO_CUSTOM_E_STEPS 93 |
| 103 | + |
| 104 | +// Invert the E stepper direction. Enable if extruder goes the wrong way. |
| 105 | +//#define ENDER_AIO_INVERT_E_DIR |
| 106 | + |
| 107 | +//=========================================================================== |
| 108 | +//============================= Filament Runout ============================= |
| 109 | +//=========================================================================== |
| 110 | + |
| 111 | +/** |
| 112 | + * Filament Runout |
| 113 | + * |
| 114 | + * Basic NC-style filament runout support is available (but disabled) by default. |
| 115 | + * |
| 116 | + * Uncomment for BigTreeTech Smart Filament Sensor V2: https://github.com/bigtreetech/smart-filament-detection-module/tree/master/V2.0 |
| 117 | + */ |
| 118 | +//#define ENDER_AIO_BTT_SMART_FILAMENT_SENSOR_V2 |
| 119 | + |
| 120 | +//=========================================================================== |
| 121 | +//================================= Probes ================================== |
| 122 | +//=========================================================================== |
| 123 | + |
| 124 | +/** |
| 125 | + * Probe Options |
| 126 | + * |
| 127 | + * To simplify homing, Z endstop must be removed and the probe will be used for Z homing. |
| 128 | + */ |
| 129 | + |
| 130 | +/** |
| 131 | + * BLTouch |
| 132 | + * |
| 133 | + * If your BLTouch did not come with a metal bracket, dude-in-a-box's "stiffer, with cutouts" BLTouch mount is recommended: https://www.thingiverse.com/thing:4390903 |
| 134 | + * |
| 135 | + * Note: Offsets can also be customized via LCD under Configuration > Advanced Settings > Probe Offsets. |
| 136 | + */ |
| 137 | +//#define ENDER_AIO_BLTOUCH |
| 138 | +#if ENABLED(ENDER_AIO_BLTOUCH) |
| 139 | + #define ENDER_AIO_BLTOUCH_MOUNT_CREALITY_METAL // Metal bracket from Creality. Uses { -40, -9, 0 } probe offsets |
| 140 | + //#define ENDER_AIO_BLTOUCH_MOUNT_DUDE_IN_A_BOX // Uses { -43, -10, 0 } probe offsets |
| 141 | + //#define ENDER_AIO_BLTOUCH_MOUNT_CUSTOM { -40, -9, -0.0 } // Custom probe offsets { X, Y, Z }. Z should be a negative value |
| 142 | +#endif |
| 143 | + |
| 144 | +/** |
| 145 | + * BIQU MicroProbe |
| 146 | + * |
| 147 | + * Note: Offsets can also be customized via LCD under Configuration > Advanced Settings > Probe Offsets. |
| 148 | + */ |
| 149 | +//#define ENDER_AIO_MICROPROBE |
| 150 | +#if ENABLED(ENDER_AIO_MICROPROBE) |
| 151 | + //#define ENDER_AIO_MICROPROBE_V1 // V2 is assumed by default. Uncomment if using V1 |
| 152 | + |
| 153 | + // Bracket Options |
| 154 | + #define ENDER_AIO_MICROPROBE_MOUNT_METAL // Metal Bracket from BIQU. Uses { -41.825, -5.198, 0 } probe offsets |
| 155 | + //#define ENDER_AIO_MICROPROBE_MOUNT_CUSTOM { -41.825, -5.198, -0.0 } // Custom probe offsets { X, Y, Z }. Z should be a negative value |
| 156 | +#endif |
| 157 | + |
| 158 | +/** |
| 159 | + * Probe Connection |
| 160 | + * |
| 161 | + * Connect probe to ZPROBE (5-pin) or SERVO (3-pin) + ZPROBE (2-pin) by default. |
| 162 | + * Uncomment if connecting probe to SERVO + Z MIN/Z STOP instead. |
| 163 | + */ |
| 164 | +//#define ENDER_AIO_PROBE_CONNECTED_TO_Z_MIN_PORT |
| 165 | + |
| 166 | +//=========================================================================== |
| 167 | +//============================== Bed Leveling =============================== |
| 168 | +//=========================================================================== |
| 169 | + |
| 170 | +/** |
| 171 | + * Bed Leveling Type |
| 172 | + * |
| 173 | + * - Mesh Bed Leveling (default unless a probe option is enabled above) |
| 174 | + * - Bilinear |
| 175 | + * - Unified Bed Leveling |
| 176 | + */ |
| 177 | +#if ANY(ENDER_AIO_BLTOUCH, ENDER_AIO_MICROPROBE) |
| 178 | + #define ENDER_AIO_AUTO_BED_LEVELING_BILINEAR |
| 179 | + //#define ENDER_AIO_AUTO_BED_LEVELING_UBL |
| 180 | +#endif |
| 181 | + |
| 182 | +//=========================================================================== |
| 183 | +//===================== Hotend & Thermal / PID Settings ===================== |
| 184 | +//=========================================================================== |
| 185 | + |
| 186 | +/** |
| 187 | + * Phaetus Dragonfly Hotend |
| 188 | + * |
| 189 | + * HT-NTC100K cartridge thermistor is recommended: https://www.amazon.com/gp/product/B09WDR1M5Q |
| 190 | + */ |
| 191 | +//#define ENDER_AIO_PHAETUS_DRAGONFLY_290C // 290°C maximum temperature (305°C - 15°C overshoot) |
| 192 | + |
| 193 | +/** |
| 194 | + * Custom PID Settings |
| 195 | + * |
| 196 | + * Stock Ender-3 hotend and bed PID settings are enabled by default. |
| 197 | + * |
| 198 | + * If needed, uncomment ENDER_AIO_CUSTOM_HOTEND_PID and/or ENDER_AIO_CUSTOM_BED_PID to customize PID settings. |
| 199 | + */ |
| 200 | +//#define ENDER_AIO_CUSTOM_HOTEND_PID |
| 201 | +#if ENABLED(ENDER_AIO_CUSTOM_HOTEND_PID) |
| 202 | + #define ENDER_AIO_DEFAULT_Kp 21.73 |
| 203 | + #define ENDER_AIO_DEFAULT_Ki 1.54 |
| 204 | + #define ENDER_AIO_DEFAULT_Kd 76.55 |
| 205 | + // Find your own by running "M303 E0 C8 S210" via serial to PID autotune the hotend at 210°C for 8 cycles. |
| 206 | +#endif |
| 207 | + |
| 208 | +//#define ENDER_AIO_CUSTOM_BED_PID |
| 209 | +#if ENABLED(ENDER_AIO_CUSTOM_BED_PID) |
| 210 | + #define ENDER_AIO_DEFAULT_bedKp 47.93 |
| 211 | + #define ENDER_AIO_DEFAULT_bedKi 7.94 |
| 212 | + #define ENDER_AIO_DEFAULT_bedKd 192.91 |
| 213 | + // Find your own by running "M303 E-1 C8 S65" via serial to PID autotune the bed at 65°C for 8 cycles. |
| 214 | +#endif |
| 215 | + |
| 216 | +/** |
| 217 | + * Model Predictive Control for Hotend |
| 218 | + * |
| 219 | + * Stock Ender-3 hotend with 40W heater cartridge is configured by default. |
| 220 | + * |
| 221 | + * Note: Replaces PID for the hotend |
| 222 | + */ |
| 223 | +//#define ENDER_AIO_HOTEND_MPCTEMP |
| 224 | + |
| 225 | +// If needed, uncomment ENDER_AIO_CUSTOM_HOTEND_MPCTEMP to customize MPCTEMP settings. |
| 226 | +// Use M306 T to autotune the model. See https://marlinfw.org/docs/gcode/M306.html for full details. |
| 227 | +//#define ENDER_AIO_CUSTOM_HOTEND_MPCTEMP |
| 228 | +#if ALL(ENDER_AIO_HOTEND_MPCTEMP, ENDER_AIO_CUSTOM_HOTEND_MPCTEMP) |
| 229 | + #define ENDER_AIO_CUSTOM_MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge power. |
| 230 | + #define ENDER_AIO_CUSTOM_MPC_BLOCK_HEAT_CAPACITY { 10.46f } // (J/K) Heat block heat capacity. Use M306 T to autotune the model. |
| 231 | + #define ENDER_AIO_CUSTOM_MPC_SENSOR_RESPONSIVENESS { 0.7801f } // (K/s per ∆K) Rate of change of sensor temperature from heat block. |
| 232 | + #define ENDER_AIO_CUSTOM_MPC_AMBIENT_XFER_COEFF { 0.0564f } // (W/K) Heat transfer coefficients from heat block to room air with fan off. |
| 233 | + #define ENDER_AIO_CUSTOM_MPC_AMBIENT_XFER_COEFF_FAN255 { 0.1264f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full. |
| 234 | + |
| 235 | + // Filament Heat Capacity (joules/kelvin/mm) |
| 236 | + // Set with M306 H<value> in your filament or start G-code. |
| 237 | + #define ENDER_AIO_CUSTOM_FILAMENT_HEAT_CAPACITY_PERMM { 5.6e-3f } // PLA = 5.6e-3f (0.0056) J/K/mm |
| 238 | + // PETG = 3.6e-3f (0.0036) J/K/mm |
| 239 | + // ABS = 5.15e-3f (0.00515) J/K/mm |
| 240 | + // Nylon = 5.22e-3f (0.00522) J/K/mm |
| 241 | +#endif |
| 242 | + |
| 243 | +//=========================================================================== |
| 244 | +//========================= LCD / TFT / Controller ========================== |
| 245 | +//=========================================================================== |
| 246 | + |
| 247 | +/** |
| 248 | + * LCD / TFT / Controller |
| 249 | + * |
| 250 | + * - Stock Creality Ender-3 Screen |
| 251 | + * - BigTreeTech TFT35 E3 Dual Mode TFT |
| 252 | + */ |
| 253 | +#define ENDER_AIO_DISPLAY_STOCK |
| 254 | +//#define ENDER_AIO_DISPLAY_BTT_TFT35_E3_TFT |
| 255 | +#if ENABLED(ENDER_AIO_DISPLAY_BTT_TFT35_E3_TFT) |
| 256 | + #define ENDER_AIO_USES_BOTH_EXP_CABLES // Disable if only using one 10-pin EXP cable. SD card connection will be set to the motherboard instead of TFT. |
| 257 | +#endif |
| 258 | + |
| 259 | +/** |
| 260 | + * LCD LANGUAGE |
| 261 | + * |
| 262 | + * Select the language to display on the LCD. These languages are available: |
| 263 | + * |
| 264 | + * en, an, bg, ca, cz, da, de, el, el_CY, es, eu, fi, fr, gl, hr, hu, it, |
| 265 | + * jp_kana, ko_KR, nl, pl, pt, pt_br, ro, ru, sk, sv, tr, uk, vi, zh_CN, zh_TW |
| 266 | + * |
| 267 | + * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek (Greece)', 'el_CY':'Greek (Cyprus)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'hu':'Hungarian', 'it':'Italian', 'jp_kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt_br':'Portuguese (Brazilian)', 'ro':'Romanian', 'ru':'Russian', 'sk':'Slovak', 'sv':'Swedish', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)' } |
| 268 | + */ |
| 269 | +#define ENDER_AIO_LCD_LANGUAGE en |
| 270 | + |
| 271 | +/** |
| 272 | + * Boot & Status Screens |
| 273 | + * |
| 274 | + * Disabled by default to save flash space. |
| 275 | + */ |
| 276 | +//#define ENDER_AIO_SHOW_CUSTOM_BOOTSCREEN // Show the Ender dragon bootscreen on startup. |
| 277 | +//#define ENDER_AIO_STATUS_SCREEN_IMAGE // Show the "Ender-3" text in upper-left corner of status screen. |
| 278 | + |
| 279 | +//=========================================================================== |
| 280 | +//============================== Input Shaping ============================== |
| 281 | +//=========================================================================== |
| 282 | + |
| 283 | +/** |
| 284 | + * Input Shaping -- EXPERIMENTAL |
| 285 | + * |
| 286 | + * Zero Vibration (ZV) Input Shaping for X and/or Y movements. |
| 287 | + * |
| 288 | + * See https://github.com/MarlinFirmware/Marlin/pull/24797 for configuration & full details. |
| 289 | + * |
| 290 | + * Tune with M593 D<factor> F<frequency>: |
| 291 | + * |
| 292 | + * D<factor> Set the zeta/damping factor. If axes (X, Y, etc.) are not specified, set for all axes. |
| 293 | + * F<frequency> Set the frequency. If axes (X, Y, etc.) are not specified, set for all axes. |
| 294 | + * X<1> Set the given parameters only for the X axis. |
| 295 | + * Y<1> Set the given parameters only for the Y axis. |
| 296 | + */ |
| 297 | +//#define ENDER_AIO_INPUT_SHAPING |
| 298 | +#if ENABLED(ENDER_AIO_INPUT_SHAPING) |
| 299 | + #define ENDER_AIO_SHAPING_FREQ_X 40 // (Hz) The default dominant resonant frequency on the X axis. |
| 300 | + #define ENDER_AIO_SHAPING_FREQ_Y 40 // (Hz) The default dominant resonant frequency on the Y axis. |
| 301 | + #define ENDER_AIO_SHAPING_ZETA_X 0.15 // Damping ratio of the X axis (range: 0.0 = no damping to 1.0 = critical damping). |
| 302 | + #define ENDER_AIO_SHAPING_ZETA_Y 0.15 // Damping ratio of the Y axis (range: 0.0 = no damping to 1.0 = critical damping). |
| 303 | + //#define ENDER_AIO_SHAPING_MIN_FREQ 20.0 // By default the minimum of the shaping frequencies. Override to affect SRAM usage. |
| 304 | + //#define ENDER_AIO_SHAPING_MAX_STEPRATE 10000 // By default the maximum total step rate of the shaped axes. Override to affect SRAM usage. |
| 305 | +#endif |
| 306 | + |
| 307 | +//=========================================================================== |
| 308 | +//=========================== Sheet Profile Menu ============================ |
| 309 | +//=========================================================================== |
| 310 | + |
| 311 | +/** |
| 312 | + * Sheet Profiles Menu |
| 313 | + * |
| 314 | + * Automatically adjust Z Probe Offset with M851 based on selected Sheet Profile. |
| 315 | + * Up to 10 sheet profiles are supported without changes. |
| 316 | + */ |
| 317 | +//#define ENDER_AIO_SHEET_PROFILES_MENU |
| 318 | +#if ENABLED(ENDER_AIO_SHEET_PROFILES_MENU) |
| 319 | + #define ENDER_AIO_SHEET_1_DESC "Smooth" // Short description of Sheet |
| 320 | + #define ENDER_AIO_SHEET_1_OFFSET -0.000 // Sheet offset. This should be a negative value. |
| 321 | + |
| 322 | + #define ENDER_AIO_SHEET_2_DESC "Textured" |
| 323 | + #define ENDER_AIO_SHEET_2_OFFSET -0.000 |
| 324 | + |
| 325 | + //#define ENDER_AIO_SHEET_3_DESC "Satin" |
| 326 | + //#define ENDER_AIO_SHEET_3_OFFSET -0.000 |
| 327 | +#endif |
0 commit comments