I have an Ender 3 Pro, recently added a BLTouch v3, flashed a bootloader, and I'm now attempting to configure TH3D U1.R2.15 firmware.
I have only modified configuration.h, haven't touched any other file, and configured it using the inline comments as a guide.
Everything seems to work ok, apart from it doesn't do a grid/mesh level before the print. G29 has been added just after G28 in Cura in the Start gcode box.
When I print something, this happens:
- Bed + hotend heats up.
- X/Y get homed.
- Nozzle moves to the center.
- BLTouch slowly comes down to probe the bed twice to set the level based on that one single center point.
- Primes the filament and begins the print...
I'm not sure what the correct sequence is but I would have thought it should probe 9 points in a grid as I have set
#define EZABL_POINTS 3.
Have I missed something in the config?
configuration.h (have omitted all other printer sections to allow stackexchange to accept the rest of the file)
/** * ************** How to use this firmware - READ THIS, yes actually read this. ********************************* * * Uncomment means removing the 2 // in front of #define. * * FLASHING NOTES: * ALL slicers (Simplify3D, Cura, Slic3r, etc) or anything else that connects to the COM port must be CLOSED for the firmware to be flash. * If anything is connected to the COM port when flashing it will fail, typically "access denied" is listed in the error section of the Arduino IDE. * You MUST use the Included Arduino IDE to flash the firmware if on Windows and if you are on a Mac or Linux follow the guide in our knowledgebase to setup your IDE to work with the firmware. * * EZABL SETUP NOTES: * If you have EZABL uncomment the mount you are using with the printer. * If you have a custom/unsupported mount uncomment #define CUSTOM_MOUNT and enter your offsets * below in the CUSTOM MOUNT section. Refer to the EZABL guide to get your offsets. * * STEP 1: * Select the correct board from the tools menu for the printer you are flashing. * Read the printer title for the model you are flashing, it will show what board to select. * * STEP 2: * Uncomment the printer you want to flash. The printers are sorted A-Z by brand name. * If you are using the Creality Dual board with the Ender 3/Ender 5/CR-20 then read the specific section below in that printer section on how to do this. * * STEP 3: * Select the COM port your printer is on from the Tools menu. If you do not see the COM port try * downloading the latest drivers from the manufacturer or TH3D site on our knowledgebase. * * STEP 4: * Verify you have the correct board selected, printer model uncommented, and if you are using EZOUT and/or EZABL * the lines you need to use them are also uncommented. * * STEP 5: * Once you have your settings verified click the arrow in the upper left to upload to the board. * * STEP 6: * Reset your eeprom. You can send M502 then M500 to reset the EEPROM OR on the printer LCD go to * Control > Reset EEPROM to clear out the EEPROM to defaults. * * BOOTLOADER FLASHING NOTES: * For flashing your bootloader with an Uno make sure to select Arduino as ISP for the programmer * * There are other features in the TH3D Extras section so look there for V6 Hotend, * Bootscreen settings, Titan Extruder and more. You only need to edit this file. * * ERROR NOTES: * If you get errors flashing READ the message it gives you and double check that you selected * the correct board from the Tools menu in Arduino. Turn off any AV systems and reboot the computer. * * COMMUNITY REQUESTED FEATURES NOTE: * All features in the community requested features section are provided as-is with no support from TH3D. */ #ifndef CONFIGURATION_H #define CONFIGURATION_H #define CONFIGURATION_H_VERSION 010109 //=========================================================================== //============================ TH3D Configuration =========================== //=========================================================================== // ONLY UNCOMMENT THINGS IN ONE PRINTER SECTION!!! IF YOU HAVE MULTIPLE MACHINES FLASH THEM ONE AT A TIME. //=========================================================================== // Creality Ender 3 Options - Select 'Sanguino 1284p' from Tools > Board //=========================================================================== #define ENDER3 // If you are using our EZOut V1/V2 (connected to LCD header) filament sensor kit please follow the install guide // and then uncomment the #define EZOUT_ENABLE line below. // Do NOT ever connect our filament sensor without the supplied adapter board. //#define EZOUT_ENABLE // EZABL Probe Mounts (Ender 3 uses the same mounts as CR-10) //#define CR10_OEM //#define CR10_VOLCANO //#define CR10_V6HEAVYDUTY //#define TM3DAERO //#define TM3DAERO_EXTENDED //#define PETSFANG //This is the RIGHT mounted version - if using the left mount please use the CUSTOM_PROBE option. #define CUSTOM_PROBE // TMC2208 Creality Board Setting - uncomment this to set the driver type if you are using the TMC Creality board //#define TMC_CREALITY_BOARD //================================================================================================= // README - THE BELOW SETTINGS ARE ONLY FOR USING THE CR-10S DUAL BOARD WITH THE ENDER 3 // DO NOT UNCOMMENT THE ABOVE #define ENDER3 LINE IF USING THE DUAL BOARD // Select 'Arduino Mega 2560' from Tools > Board - NOT Sanguino // // To use the Ender 3 LCD with the CR-10S dual board board connect the LCD cable to EXP1 on the // CR-10S board but rotate it 180 degrees. The LCD end of the cable goes to EXP3 on the Ender 3 LCD. // You will have to force it into the EXP1 but it will fit and work. // // EZABL and EZOut support are still supported just use the lines above this comment section. //================================================================================================= //#define ENDER3_DUALBOARD // Dual Extruder Board Options - The below options are for use with the TH3D CR-10S Board with dual extruder support. // If you are using a single hotend with the 2 into 1 adapter OR mixing nozzle uncomment the below line //#define DUAL_EXTRUDER_SINGLE_HOTEND // If you are using a dual hotend with dual nozzles uncomment the below line //#define DUAL_HOTEND_DUAL_NOZZLES // If you are using a 2nd EZOut V2 (connects to Y+ connector) filament sensor kit please follow the install guide // and then uncomment the #define EZOUTV2_DUAL_ENABLE line below. Do NOT ever connect our filament sensor without the supplied adapter board. //#define EZOUTV2_DUAL_ENABLE // Use Ender Bootscreeen instead of TH3D //#define ENDER_BOOT //=========================================================================== // ************************* END PRINTER SECTION ************************* //=========================================================================== //=========================================================================== // EZABL Advanced Settings //=========================================================================== // If you want more or less EZABL probe points change the number below (only used if EZABL enabled) // Default is 3 which gives you 3x3 grid for a total of 9 points. STICK WITH ODD NUMBERS #define EZABL_POINTS 3 // If you want to probe in on the bed more than 15mm change this below. // Do not use 30mm for the Standard CR-10/s or the S4 as you will be on the bed screws. // Try 50mm to avoid the binder clips if you use them. Do NOT go under 15mm here. // You can do down to 10mm on the Wanhao i3 since it cannot print on the entire bed. // You can do down to 5mm on the Wanhao i3 Mini since it cannot print on the entire bed. // (only used if EZABL enabled) #define EZABL_PROBE_EDGE 15 // If you have issues with your machine running the faster probe setting disable the #define EZABL_FASTPROBE below. // DO NOTE: Most machines will work with the fast probe enabled. Use M48 to verify accuracy. #define EZABL_FASTPROBE // This will disable the XYE motors during probing. Can be useful if you have stepper motors causing interference issues with the EZABL sensor. //#define PROBING_MOTORS_OFF // Heaters will stay on during probing - only use if directed to by support. Do not use on AC beds. #define HEATERS_ON_DURING_PROBING // Letting the bed heat recover between probes can increase accuracy due to the bed warping during cooling/heating // Enabling the below option will let the bed get back to temperature during probing but will increase probing times. //#define WAIT_FOR_BED_HEATER // If you want a more granular control over the babystepping uncomment the below line. // This will make the adjustment finer than the standard setting. //#define FINE_BABYSTEPPING // This will extrapolate the implied tilt of the bed outside of the probe area. Do not comment out unless directed by support. #define EZABL_OUTSIDE_GRID_COMPENSATION // Does your machine make weird noises/vibrations when it is probing the mesh? Enable this to slow down the speed between probe points. //#define SLOWER_PROBE_MOVES //================================================================================ // IF YOU HAVE A CUSTOM PROBE MOUNT OR ONE THAT IS NOT PRE-SUPPORTED UNCOMMENT THE // CUSTOM_PROBE OPTION IN YOUR PRINTER SECTION AND ENTER YOUR PROBE LOCATION BELOW //================================================================================ #if ENABLED(CUSTOM_PROBE) /** * Z Probe to nozzle (X,Y) offset, relative to (0, 0). * X and Y offsets must be whole numbers. * * In the following example the X and Y offsets are both positive: * #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * * +-- BACK ---+ * | | * L | (+) P | R <-- probe (10,10) * E | | I * F | (-) N (+) | G <-- nozzle (0,0) * T | | H * | (-) | T * | | * O-- FRONT --+ * (0,0) */ #define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -7 // Y offset: -front +behind [the nozzle] #endif //=========================================================================== //******************** EXTRA FEATURES AND TWEAKS **************************** //=========================================================================== // TH3D RGB LED STRIP ------------------------------ // If you are using the TH3D RGB strip connect to the Z+ endstop connection, power supply connection, and uncomment the below line //#define TH3D_RGB_STRIP // If you cut the strip shorter please count the LEDs that are left, uncomment the line below, and change the number below to how many LEDs you have. #define TH3D_RGB_STRIP_LED_COUNT 20 // EXTRUDER SETTINGS ------------------------------- // If you want to change the Esteps for your printer you can uncomment the below line and set CUSTOM_ESTEPS_VALUE to what you want - USE WHOLE NUMBERS ONLY #define CUSTOM_ESTEPS #define CUSTOM_ESTEPS_VALUE 138 // If you are using an TH3D Tough Extruder, Bondtech BMG (set steps below to 415), or E3D Titan Extruder // uncomment the below line to setup the firmware to the correct steps and direction. Also applicable to Titan/Tough Aero setups. //#define TITAN_EXTRUDER #define TITAN_EXTRUDER_STEPS 463 // DUAL HOTEND SETTINGS ---------------------------- // This is the distance between each nozzle tip when using a dual hotend like the TH3D Tough Dual Hotend or the E3D Chimera or Dual hotends. // This setting only applies to printers using a dual extruder board. #define DUAL_HOTEND_X_DISTANCE 18.0 // THERMISTOR SETTINGS ----------------------------- // If you are using an E3D V6 Hotend with their cartridge thermistor (not glass version) uncomment the below line. //#define V6_HOTEND // If you are using a Tough Hotend from TH3D or any thermistors TH3D sells for your hotend uncomment the below line. //#define TH3D_HOTEND_THERMISTOR // If you are using a thermistor TH3D sells for your bed uncomment the below line. //#define TH3D_BED_THERMISTOR // If you are using a Keenovo with SSR and the Keenovo temperature sensor uncomment the below line. //#define KEENOVO_TEMPSENSOR // If you are using a known hotend thermistor value uncomment the below 2 lines and enter the thermistor number replacing the X after the #define KNOWN_HOTEND_THERMISTOR_VALUE //#define KNOWN_HOTEND_THERMISTOR //#define KNOWN_HOTEND_THERMISTOR_VALUE X // If you are using a known bed thermistor value uncomment the below 2 lines and enter the thermistor number replacing the X after the #define KNOWN_BED_THERMISTOR_VALUE //#define KNOWN_BED_THERMISTOR //#define KNOWN_BED_THERMISTOR_VALUE X // If you want to make thermal protection periods less or more adjust below. The number is in seconds. // If you are getting false thermal runaway then increase the protection time. Do not make it over 300 for either setting. #define HOTEND_THERMAL_PROTECTION_TIME 60 #define BED_THERMAL_PROTECTION_TIME 180 // BED SETTINGS ------------------------------------ // If you want PID tuning on your bed you can enable the below line. But PID on a bed is not typically needed. By default BED PID is disabled. // This will be disabled when using automatic or manual mesh leveling with a 1284p board due to memory limitations. //#define PIDBED_ENABLE // If you are using an AC bed with a standalone controller (Keenovo) uncomment the below line to disable the heated bed in the firmware //#define AC_BED // Stock bed max is 120C for this firmware. Enable this to allow temps up to 150C. Your bed must support this temp for it to achieve the higher temperatures. //#define BED_HIGHTEMP // MISC -------------------------------------------- // If you have a 5015 fan that whines when under 100% speed uncomment the below line. //#define FAN_FIX // Use your own printer name //#define USER_PRINTER_NAME "Ender 3" // If your printer is homing to the endstops hard uncomment this to change the homing speed/divisor to make it less aggressive. //#define SLOWER_HOMING // BOOT SCREEN OPTIONS ----------------------------- // Use TinyMachines Bootscreen instead of TH3D //#define TM3D_BOOT // Disable Bootscreen completely #define DISABLE_BOOT //=========================================================================== //****************** COMMUNITY REQUESTED FEATURES *************************** //=========================================================================== // HOME OFFSET ADJUSTMENT -------------------------- // If you need to adjust your XY home offsets from defaults then you can uncomment the HOME_ADJUST_LOCATION line below and enter your // custom XY offsets. This is provided for convenience and is unsupported with included product support. // How to use - measure (home XY then jog using the LCD 1mm at a time) the X and Y distance the nozzle is off // the build plate and then put those as NEGATIVE values below, positive values will NOT work (move your endstops to fix a positve offset). //#define HOME_ADJUST #define X_HOME_ADJUST_LOCATION -10 #define Y_HOME_ADJUST_LOCATION -10 // LINEAR ADVANCE ---------------------------------- // See here on how to use Linear Advance: http://marlinfw.org/docs/features/lin_advance.html // //#define LINEAR_ADVANCE // Change the K Value here or use M900 KX.XX in your starting code (recommended). #define LINEAR_ADVANCE_K 0 // NOTE: If using linear advance along with EZABL on a printer with 1284p some Control > Motion menus will not be displayed due to space restrictions. // You can still change these via GCode commands. // BL TOUCH ---------------------------------------- // If you want to use the BL-Touch install your EZOut Board, uncomment the 2 lines below, uncomment the CUSTOM_PROBE option in your printer section, // and then enter your probe offsets in the CUSTOM_PROBE section above. The Pin 27 boards on eBay are clones of our original EZOut. If you want to // support the people that originally came up with the board you can get our EZOut breakout board here: http://EZOut.TH3DStudio.com // Sales from our shop allow us to allocate time for community firmware development at no charge to you. <3 // If you have a V3 BL Touch also uncomment the BLTOUCH_V3 line to fix issues with the new V3 probe. // #define BLTOUCH #define BLTOUCH_V3 // Here is where you set your servo pin. EZOut Servo Pin Numbers: Ender3/5/CR-10 - 27, Ender 2 - 29. For 2560 boards look for the pin you connected the servo wire to and enter below. #define SERVO0_PIN 27 // // NOTE: On 1284p boards due to space limitations and the large amount of code the BLTouch requires for the LCD Menus // the Bootscreen and some Control > Motion menus will not be displayed due to space restrictions // MANUAL MESH LEVELING ---------------------------- // If you want to use manual mesh leveling you can enable the below option. This is for generating a MANUAL mesh WITHOUT a probe. // Mesh Bed Leveling Documentation: http://marlinfw.org/docs/gcode/G029-mbl.html If used with a 1284P board the bootscreen will be disabled to save space. // NOTE: If you want to automate the leveling process our EZABL kits do this for you. Check them out here: http://EZABL.TH3DStudio.com //#define MANUAL_MESH_LEVELING // POWER LOSS RECOVERY ----------------------------- // Continue after Power-Loss feature will store the current state to the SD Card at the start of each layer // during SD printing. If this is found at bootup it will ask you if you want to resume the print. // // NOTE: This feature causes excessive wear on your SD card. This will disable junction jerk, SCurve Acceleration, and Linear Advance due to RAM limitations. //#define POWER_LOSS_RECOVERY // MOTION SETTINGS --------------------------------- // There are 2 new acceleration/jerk controls available in this firmware that can result is better print quality and // smoother movement. To try each out just enable them below. // Due to Anet board restrictions this is always disabled on those machines. //#define JUNCTION_DEVIATION_ON //#define S_CURVE_ACCELERATION_ON //================================================================================================ // Language - This is provided for convenience and is unsupported with included product support. // We only test compile with English language. If you run into space issues disable some features. //================================================================================================ /** * LCD LANGUAGE * * Select the language to display on the LCD. These languages are available: * * en, an, bg, ca, cn, cz, cz_utf8, de, el, el-gr, es, eu, fi, fr, fr_utf8, gl, * hr, it, kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, sk_utf8, * tr, uk, zh_CN, zh_TW, test */ #define LCD_LANGUAGE en #include "Configuration_beta.h" #include "Configuration_backend.h" #define UNIFIED_VERSION "TH3D U1.R2.15" #endif // CONFIGURATION_H
Cura Start GCode
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk M220 S100 ;Reset Feedrate M221 S100 ;Reset Flowrate G28 G29 ;Home G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up