Ender 3 V2 BLTouch Firmware Installation Guide by Smith3D [Updated –13 November 2022]

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]

BLTouch Installation

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
If you are using a different extension wire, please pay attention to the wire colors above.

BLTouch Mount

BLTouch Mount for Ender3 V2 Link here (Use the two screws provided by BLTouch to screw it in.)

Firmware

* Last Update from Jyers has been 1 year ago, Professional Firmware has more features but setup guide maybe different.

The very first thing you should to is go into Control > Advanced and adjust Probe Offset X to -42 & Probe Y Offset -10 (Printed Mount). and Control > Store Setting.

If you are using Creality official BL-Touch set, you have to set it to Probe X Offset -44 & Probe Y Offset -6.

MountProbe X OffsetProbe Y Offset
Custom Mount V3-42-10
Creality Official Mount-44-6

Video Guide by CHEP : https://www.youtube.com/watch?v=TroPjdkSEOY (Video guide doesn’t include manual leveling, do make sure you do manual bed leveling after adjust the z offset)

Unless your system is well tuned, please use the firmware above instead of high speed. Slow Probe & 5 x 5, which is great for first time tuning.

[8th April] As for Smith3D firmware, we have depreciated our firmware & move on to Jyer firmware as it offer much better features & functionality.

For BTT Filament Sensor & Standard Filament sensor, do enable them
inside Control > Advanced > Filament Sensor/Runout Distance

If you have never change your motherboard, it’s 4.2.2 by default

For 4.2.2 5×5 (High Speed) – download here
For 4.2.7 Board 5×5 (High Speed) – download here
For more info regarding this release
For people who’s suffering random probe fails, please refer to the FAQ below for z switch port firmware.

If flashed & auto leveling doesn’t work, please reset configuration (Control > Restore Default) or try to flash again with different filename. If you are getting Black screen, do format your MicroSD Card to FAT32 and rename the firmware & try again.

Older Build (V1.3.5b)

If you are facing issue on newer builds, you may try the older build

What’s BL Touch High Speed Mode?

  • The high speed mode probes multiple points without stowing the needle, making it much much faster. But also prone to crashes if your bed is severely slanted. Please make good use of Manual leveling before you try this.

For Ender 3 V2 no bootloader installation is required. Copy the firmware into your SD card and then slot it in, the printer will begin flashing once you reboot it. Do remember that you need a different filename each time you flash a new firmware eg. firmware1.1bin > firmware1.2bin, else the system will ignore it.

For user who would prefer official firmware from Creality, you may check this guide here

Some UI customizations the community has added

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
For Manual Leveling, please refer to CHEP guide https://www.youtube.com/watch?v=_EfWVUJjBdA

Some other features were offered compared to Stock firmware

  • Turn on and off display during printing
  • PID Autotune Menu
  • Change Filament menu
  • Adjust probe offset, filament sensor in the menu
  • __h__m Time Format Setting

And remember to add “M420 S1” in Cura!

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
VERY IMPORTANT Add M420 S1; after the G28 in your start G-code in the starting G-code of your cura profile. To enable leveling on every prints. As the current marlin for Ender 3 V2 is unable to make “leveling enabled” persistent after reboot. M420 S1; Enable ABL (If you are getting error for Fade Height) This line of code always appear in other printer profile such as CR10SProV2/Ender5Plus where there is BLTouch built in.

You can also add G29 for Bed Leveling before every prints

Instead of adding the M420 S1 command above. You can replace it with G29 (Place it after G28). G29 basically starts a new round of auto bed leveling , good for users who would prefer a fresh bed leveling before every prints.

Nozzle Crashing Into Bed?

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]

Steps to produce a good leveling

  • Once you setup the Probe Offset X & Probe Offset Y, Store Setting and go to Prepare > Auto Home. Make sure your probe is directly at the center of the bed.
Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
Picture by CHEP
  • Start with Manual leveling to make sure the bed is leveled as much as you can, by manually adjusting bed spring. This is to reduce the amount of Z compensation ABL will need to apply when printing. Please refer to CHEP’s guide for how you can level your bed with a piece of paper. The firmware has included the buttons needed for printer to go to all 4 corners + center so you don’t have to do it via a gcode print file.
  • After the bed is leveled, get a good Z-offset by using the Prepare > Z-Offset. Remember to pre-heat your nozzle while using this as any remaining material stuck on nozzle tip might interfere the result while gauging with A4 paper. This tool will Auto home and then move Z to 0 to show actual Z offset. Prepare a paper to put between nozzle and bed, then try sliding it in and out, Microstep Up/Down & adjust Z offset until you feel a little friction between paper and nozzle. Use Home Z-Axis to double confirm if the z offset is the right one.
Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
Picture by CHEP
  • Once you got your Z offset, go to main menu and press “Leveling”. It will probe 5×5 points and save the mesh to your printer.
  • Done and start printing!
  • Again, it’s very important to heat up nozzle to 180-200 while using Z-offset (if there is PLA in nozzle) Else the Z-offset will vary a lot depending on the leftover material stuck on nozzle tip.

What if you are not getting an accurate Z Offset from the Tool? (Live Adjust Z Offset)

Sometimes moving the Z axis up and down bit by bit might cause a little slippages, which makes the Z-Offset gauging with A4 paper inaccurate.

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]
Picture by CHEP

If you want a better gauging result. We recommend user to adjust Z Offset via Tune during printing

FAQ

Z-axis won’t budge

Pay attention to the wiring color, some wires are inverted. If you are using 3rd party wiring, most probably the last two orange and yellow are inverted. You have to manually revert it back using a tweezer.

Black Screen of Death after flashed

Please follow this reddit link for full guide on how to do a proper flash
In summary
– Use newly formated sd card, with only bin file
– Rename bin file
– Unplug & reconnect power cord

Bltouch probe not centered / change probe offset

adjust Control > Advanced > Probe Offset X & Probe Offset Y

Manual Leveled & still printing in mid air or nozzle hitting the bed

Use slow probe 5×5 firmware to see if the situation is improving, if not check if your M420/G29 is added inside the start of gcode. Use either G29 or M420. Remember to save setting after leveled.

Sometimes Probe doesn’t finish during leveling

Solution 1:
Some users has issue with the bltouch port. the trigger signal or ground is not attached properly. Connect the two pin to the z switch stop & flash the firmware below.

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]

Download 2.0.x.17 ZSwitchStop 5×5 Fast Smith3d Marlin Firmware

Solution 2:
Try connect via Pronterface and check what’s the error code returned.

Summary (this reddit link explained in detail)
– Make sure bed not totally out of level, probe may out of reach or nozzle hit the bed first
– Check if your bed is badly warped
– Check if your bltouch pin is bent
– Check the XY axis wheel tension
– Check the Z axis for binding

Solution 3:
There is a resistor fix for this, you can solder a resistor and use the bltouch port.

Ender 3 v2 bltouch firmware installation guide by smith3d.com [updated –13 november 2022]

Setting is not saved

Remember to click “Control > Store Setting” everytime you setup completed. Check if eeprom is deleted in SD Card.

OctoPrint Settings

Power Lose Recovery doesn’t work

Power Lose Recovery only works when it reached certain layer. check your SD card if there is a PLR file exist. PLR determine if to display the Resume Printing message.

Motor making noises and freeze during print.

This will happen if you just flashed the firmware & does not reset the configuration. Just turn off and on your printer will do, restore default setting. Another possible issue is the dupont connectors on the motherboard loosen, do hot glue the connectors in place or upgrade it to 5 pin JST connector.

Sometimes UI/ print progress bar does not reflect to the latest

Known marlin bug. Restart, press back, will do.

Can I use 3DTouch or BLTouch older than v3.1?

May not compatible, this firmware is optimized for BLTouch v3.1.

Where can I get the source code? How to compile?

Github Repository is here.

If you are having issue compiling your own marlin, remember to set default_envs = STM32F103RET6_creality in platform.ini

How to donate?

Please donate to Marlin Firmware & https://www.paypal.com/paypalme/jyers. Without them, there will be no great firmware for Ender 3 V2

What happens If I don’t want a BLTouch anymore?

You may revert your firmware to the official non-BLTouch firmware downloadable via this link – https://www.creality.com/pages/download-ender-3-v2

3D Printer Repair Service by Smith3D

If you are around Kuala Lumpur, Malaysia and would prefer an expert to service your Creality 3D Printer, check out our repair 3D printer service.

1,297 thoughts on “Ender 3 V2 BLTouch Firmware Installation Guide by Smith3D [Updated –13 November 2022]

  1. Cristian says:

    Hi, Im using your firmware with a 3d touch ( a clone)
    I would like to report some poblems i have:
    1) stoping prints and trying to start them again doesnt work. Printer goes UP and when i try to start again it tries to continue printing where it was STOPED (not paused)
    2) stoping a print, unplugin the machine, plugin the machine, slecting auto home -> print continued insted of homing
    3) pausing also not working properly, it has a long delay or doesn’t pause at all.
    4) print movement while not printing much faster, it never did any noise, if the print has a slight protuberance it rips it all off.
    5) AUX leveling, Z offset, and Trying “M420 S” instead of “M420 S1 Z2” -> probes, goes down for printing but never moves the Z axis during first layer. like if it didn’t apply the leveling at all.

  2. pedro says:

    One more to the runout sensor petition please. thanks for the contribution to the community and don’t leasing to the heater accusing you of violating what ever.

  3. LebaneseMo says:

    Thanks again for all of your hard work on this firmware, currently using your latest version and it working well.

    Just wondering if you are able to please provide a version that also has the filament runout sensor settings enabled in the firmware? Would be really grateful and think others would be too 🙂

    Marlin have one, but then I’d lose the bltouch functionality in your firmware.

    Not in a hurry either, as the sensor I ordered will take at least a few weeks until it arrives 😉

    • Cajus says:

      Couldn’t we use the original Z-switch input in case the bltouch is installed?
      On the Ender 3 V2 the bltouch sensor has his own connector on the Ender mainboard and I assume it is on a different input as well.
      The original Z-switch is not used any more, if the BLtouch is installed, right?

    • Torsten Curdt says:

      Hello and good day,
      I would also like to have activated the runout sensor. It makes sense since I use a lot of short filaments.

      thanks and best regards

  4. Mark says:

    I’ve got the same problem as Adam Moussa:

    >When the machine starts up, the BLTouch needle pops up and down twice, then it just stays up, causing the nozzle to crash when I level. Any thoughts?

    I’ve got 2.0.X.8, the official extension cable, and have tried leveling, the Z-stop tool, and get the same issue over and over: it keeps crashing the nozzle into the bed because it doesn’t deploy the BLTouch needle.

    What to do?

  5. Daniel says:

    Hi, can I increase max hotend and bed temperature via GCode without modifying parameters in the firmware? The hardware is ready for polycarbonate but original max temps are too low. I tried to substitute the linked files in the post (config.h and config.adv.h) in the latest marlin but when I flash the firmware it appear as the original marlin without z axis tool and the new improvements. What is the possible solution? Thank you.

  6. Adam Moussa says:

    When the machine starts up, the BLTouch needle pops up and down twice, then it just stays up, causing the nozzle to crash when I level. Any thoughts?

  7. Mad_Al says:

    I’m experiencing a strange bug when using G29, once the bed reaches temperature, say 220/ 70. when the G29 code initiates the temperature jumps to 185/40, which I believe is the default PLA preheat setting. This is with using Simplify 3D and Cura, the 4 x 4 variant doesn’t do this, but that Probes the bed cold so the data isn’t as good as it could be hot. Hope this helps refining the Smith3D Bltouch goodness. Also, please put the 235 x 235 hot bed back! I need to print some cosplay helmets!
    Regards.

    • jdryfoos says:

      I had a similar experience with a different firmware (the one here worked for me). The solution I found was to flash the screen firmware. Check the link below, in particular the comment from 4vs1 from 1 month ago that starts with “PROBLEM SOLVED. Thank you for your help. Creality support did great help…” Once I flashed the screen firmware, all was good – except that the default language was Chinese – which is easy enough to change using the screen menu setup. I forget the exact sequence (you can google it), but you will see “CN” as part of the line for the option to change to English. Hope this helps. Good luck!

      https://www.reddit.com/r/ender3/comments/hmhhe9/ender_3_v2_firmware_updateor_so_i_thought/

  8. drepdom says:

    Hello there and thanks for your time expended on this. I’ve installed the 2V.0.x.8 fw, but every time I go to info it says is 2V.0.x.7. I’ve removed it and re installed a few times. I’ve even went back to creality fw and back again to your 0.8 version after downloading it again and still it says 07. So, I don’t know if in fact I’m using 07 or 08. Something else happening.. Every time I’d tried to print a test print my printer would freeze until turn off-turn on again. Any idea..?

      • Adam Tabor says:

        I had the same issue. I was previously using the x.7 version, flashed the x.8 version. It was slow to startup like the flash took, went to info and the info still said x.7. I renamed the .bin file and flashed it again – went to info and still said x.7. I ran a print and had the fast probe feature. Its just a typo in the naming. I am specifically running the 5×5 version and seeing this naming error. I also have a small error where when I exit the z offset tool with a setting I like, when you exit the system automatically subtract a small amount from the setting. So if I like -2.14 and then exit the tool the new z offset is -2.09. I have to just remember the number that I found using the tool and input it manually. Other than those two small bugs its great firmware!

  9. John says:

    If i currently have the stock 1.0.1 firmware, do i also need to flash the screen with the DWIN, or is only your .BIN file enough?

  10. Juan Donoso Figueroa says:

    Hi!, thanks for all the information…
    For the ender 3 v2.. how long the extension cable should be ok?? I can buy the BLTouch from an official Antclabs retailer with included 1Meter or 2Meter extension cables…

  11. Tedious says:

    I got the hardware installed om my Ender 3 V2, plugged into old Z endstop location swapped wires on bltouch Mobo connector to match the pics… It boots fine, when I do a level it goes up away from the bed after homing and the BLTouch extends and retracts then it doesn’t do anything else….

    • Smith3D says:

      This happens when the bltouch’s wire responsible for Z stop is not connected properly. Z Stop keepa getting triggered making the bed thinks that it’s already at the bottom-est position, which is why it’s going up and up.

  12. zap says:

    I am getting uneven first layer with the new firmware (V2.0.X.7). I think I did everything right:
    – Use the AUX tool to manually level the bed.
    – Use the z-offset tool to set the z-offset.
    – Run the auto level (I have tried both 5×5 and 3×3).
    – Re-do the z-offset to make sure this is still correct.
    – Add the “M420 S1 Z2” command to the gcode.
    – Fire a test print.

    The nozzle remains too high in one corner, and too low in the opposite corner resulting in a bad print. I also tried M48 to test the probe accuracy, and got fairly good results.

    Are others having good results with V2.0.X.7?

  13. Chris says:

    Thanks for the update to the Z-Wizard. Much better than the previous version which I couldn’t get to work properly (the Z would move back up when going over -2.40 offset but not reset the number)
    Still seeing some oddness with the Z-tool though, was adjusting and was fine, then it suddenly stopped changing hundredths (once I got to around -2.49) and would only then increment in 10ths leaving the hundredths digit frozen at X.X9. This persisted after exiting the tool and after reboot – though it did reflect the change setting the Z-offset from the previous menu screen.

  14. Manuel says:

    i add g29 code to gcode to have a new bedleveling every time … i hope you consider that and not the saved one … otherwise everything works great

      • Manuel says:

        happy to have been of help … I hope the marlin comes out with the various bugs fixed and that you can update your fantastic firmware … congratulations for the job …

  15. Adam Tabor says:

    I’m finding a small bug in the z offset tool. I have -2.12 saved in my configuration. I run the z offset tool, dont change the value, back out and the z offset is now reading -2.09. Its adding 0.03 when you back out of the tool.

  16. Adam Tabor says:

    Is this all compatible with the newest screen firmware or older screen firmware? I flashed the updated DWIN_SET folder to my screen and want to make sure I don’t have any issues with the DWIN UI modifications that have been made.

  17. carnevale says:

    Hi, Excellent guide, thanks!

    I tried compiling marlin bugfix 2.x using your Configuration.h and Configuration_adv.h it also works great, but since I don’t have the DWIN folder I can’t see the benefits you added to LCD.

    Can you share your DWIN folder ?

    Thanks
    Gui

    • carnevale says:

      Not sure if your additional changes to layout were made in Marlin source or DWIN firmware. Could you also share how you made it ?

        • Basti James says:

          Can you share also the source code of the LCD (Dwin.cpp and dwin.H) or any applicable files other than the config and config_adv. I was looking to enabling some other things such as neopixel and other types of ABL. Thanks a lot 🙂 great work! 🙂

    • Smith3D says:

      Thanks for trying our firmware. The gcodes used in Z-Offset tool are actually following the steps shown in this guide. https://www.youtube.com/watch?v=y_1Kg45APko

      However we realized that the movement adjustment in the 2.0.x.6 firmware are overlapping with dwin’s existing code so we have fixed it on 2.0.x.7. We have also added a “Re-Home Z” option so you can test your Z immediately. We have compared both methods with manual gcodes via Octoprint vs the tool and the result are the same.https://smith3d.com/ender-3-v2-bltouch-firmware-installation-guide-by-smith3d-com/ (Dp give the new 2.0.x.7 firmware a try)

      Also, we find that it’s very important to heat up nozzle to 180-200 while using Z-offset tool as a any leftover material stuck on nozzle tip can affect the gauging. Like we were getting -2.5 while it should be -2.7, then realizing there are a tiny bit of PLA stuck on nozzle tip.

      We are getting consistent -2.7 (on our setup) after every reboot and print, granted that we heat up the nozzle while using Z-offset tool.

  18. pedro says:

    can you activated this peace of code in configuration.h for me please.
    #define NOZZLE_CLEAN_FEATURE

    #if ENABLED(NOZZLE_CLEAN_FEATURE)
    // Default number of pattern repetitions
    #define NOZZLE_CLEAN_STROKES 12

    // Default number of triangles
    #define NOZZLE_CLEAN_TRIANGLES 3

    // Specify positions for each tool as { { X, Y, Z }, { X, Y, Z } }
    // Dual hotend system may use { { -20, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }, { 420, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }}
    #define NOZZLE_CLEAN_START_POINT { { 235, 100, (Z_MIN_POS + 1) } }
    #define NOZZLE_CLEAN_END_POINT { { 249, 100, (Z_MIN_POS + 1) } }

    // Circular pattern radius
    #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5
    // Circular pattern circle fragments number
    #define NOZZLE_CLEAN_CIRCLE_FN 10
    // Middle point of circle
    #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT

    // Move the nozzle to the initial position after cleaning
    #define NOZZLE_CLEAN_GOBACK

    // Enable for a purge/clean station that’s always at the gantry height (thus no Z move)
    //#define NOZZLE_CLEAN_NO_Z

    // Explicit wipe G-code script applies to a G12 with no arguments.
    //#define WIPE_SEQUENCE_COMMANDS “G1 X-17 Y25 Z10 F4000\nG1 Z1\nM114\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 Z15\nM400\nG0 X-10.0 Y-9.0”

    #endif
    trying to implement nozzle cleaning. would be much appreciated.
    best regards

  19. Robert J Bredsteen says:

    Love the firmware! Am new to 3d printing….any idea why cura works and S3D does not as a slicer in conjuction with firmware? Is it the m420 setting? Differences in the way they compile their G-code? Should I only be using Cura anyway because i have an Ender 3 lol? Thx!

    • Smith3D says:

      We have not tried S3D slicer, but the purpose of M420 is to load leveling data. You can try adding G29 (leveling everytime before it prints), it works the same too.

  20. amoulier says:

    Hi, great tutorial. I needed to modify the firmware, to change the bed size to 220×220, change the X limit to 245 (installed a brush to clean the nozzle) and to add the G60/G61 option. When I finally managed to compile the firmware, using the “Configuration.h used in 2.0.x.6B firmware” (provided in this tutorial) and flash it to the printer, it is missing the “white border on selections”, “z-offset tool” and “AUX Leveling”.
    Hope you can help me figure out what I’m missing!

  21. Alejandro Moulier says:

    Hi, great tutorial. I needed to modify the firmware, to change the bed size to 220×220, change the X limit to 245 (installed a brush to clean the nozzle) and to add the G60/G61 option. When I finally managed to compile the firmware, using the “Configuration.h used in 2.0.x.6B firmware” (provided in this tutorial) and flash it to the printer, it is missing the “white border on selections”, “z-offset tool” and “AUX Leveling”.
    Hope you can help me figure out what I’m missing!

Leave a Reply

Your email address will not be published. Required fields are marked *