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. drdolitle1 says:

    Today an interesting thing happened to me with a 3 hours print. At the beginning, after about 5 minutes of printing, I realized that I had forgotten to set up a coolling fan with PLA. I clicked “Setting” to turn on cooling, but nothing happened. I pressed a second time, but it kicked me into the main menu, where I could move freely through the menu while pressing continued. So I left it like that and after 3 hours the printing was done with PLA at 220 degrees, with a speed of 70mm/s without cooling and support. It didn’t turn out badly at all. I also made a video of it.

  2. Pras says:

    Thanks a lot for this great guide and the firmwares that you have put out.
    I’ve been wondering about the springs that come with the BLTouch though. All the guides / videos talk about either mounting it directly or using a spacer. No one wants to use the provided springs. Any reason why this is the case?

    Instead of the spacer, wouldn’t it be better to use the springs to give the BLTouch enough clearance? Or does it create wobbliness and we’d prefer a rigid fit for more accurate results?

  3. GRitch says:

    Loving the firmware, it’s working well with my BLTouch. My only question; what are the steps needed to get it to work work with OctoPrint? It can’t seem to see the serial port.

    • GRitch says:

      Managed to get it connected, but for some reason, the first print I tried with Octoprint drove the nozzle into the glass bed. I’ve now tried again and it seems to be going okay so far. Will keep you updated if I can see any pattern or cause for this to have happened. Cheers.

  4. drdolitle1 says:

    Absolutely great firmware. Everything works as it should. it is a pity that the sorting of files on the sd card is not sorted by date. This suited me better on stock firmware, but I can live with that.

  5. Rick says:

    Hi!

    I’m using your firmware, which I found really great. There’s just a small bug (I think). When I use the Z-offset tool, I can adjust the Z-offset by 0.10 (so in my case -1.90 > -2.00 > -2.10). But when I change the Z-offset directly from the menu, the resolution is 0.01 (f.e. -2.00 > -2.01 > -2.02). My bed seems great at -2.05.

    But when I set this value directly from the menu, it is going back to -2.00 when I restart the machine. It seems that this setting is not stored properly.

    How can I fix this?

  6. veyron15 says:

    Firmware works great so far. But for some reasons adding post processing (like showing current layer height) in cura 4.8.0 doesn’t work with my ender 3 v2. What I read is that the bugfix branch from marlin fixed some lcd issues. Since im new to 3d printing and compiling my own firmware, do you have any plans on updating to the bugfix branch version?

    Thanks!

  7. Valentin says:

    Hi guys,
    I’m using your firmware for the last 3 months and I have an issue with the latest version.
    Now and then, when I hit Level, the sensor stops after probing 2-3 points. Not everytime, and not the same number of points. If I hit Level again, it starts over and probes all the points.
    Any idea why?

  8. Lee Falconbridge says:

    firmware works great thankyou, However sometimes if i use z-offset whilst in print, sometimes it just drives the nozzle into the bed. any soloution please.
    regards lee

      • Lee Falconbridge says:

        Thank you very much. do you have a compiled firmware 3×3 but not super speed ? woujld be greatly appreciated. fantastic work

      • Chris says:

        I’m having the same issue. When I try to adjust the z while printing it just drives the nozzle into the bed. Basically the screen shoes the z offset is – 2.xx mm but you have to go to zero first then adjust from there. It’s treating the current z offset as zero but not reflected on the screen so it tries to go an additional 2.xx mm down anytime adjustment is made. Also I can’t get it to utilize the mesh it’s stored. Mesh is generating fine, shows up in octoprint, m420 in the start g code but absolutely no compensation on the z axis. Tried multiple flashes, m420 s, m420 s1 z1. Reset default, None of it seems to make a difference.

      • GadgetGav says:

        I have the same problem. I know I only adjusted the z offset from -2.75 to -2.80 but it seems like it tried to add the two values together. It’s happened to me twice now so the second time I was ready to kill the power.
        It didn’t happen with the stock Creality config. I only got my printer last week and I used the Tune function to change the z offset on the fly while printing my first test pieces. Then I decided to install a BL Touch and used your guide and firmware. I love the UI changes you made and the G29 works perfectly to do the 5×5 leveling before each print. It’s just this crash if I try to change the z height while printing that’s the problem.
        My fix for now is to stop a print, change the z offset and restart but it would be nice to have the on-the-fly capability back.

  9. Peter Bateman says:

    Hello!

    The firmware looks great and I really can’t wait to use it but I’m worried that my thermistor isn’t going to work with it. When I compiled Creality’s older Marlin firmware I could choose the thermistor but is there a way I can do this over Ponterface or have an option to select the type in your firmware? Currently I’m using the original glass blob thermistor (type 11?) but I’ll be changing to a PT1000 in a few weeks.

    Thanks!

  10. Taco says:

    So I just installed the latest version last night with a BLTouch. Was working fine for a bit but suddenly the BLTouch probe doesn’t engage when printing. This causes the nozzle to crash into the print bed.

    Auto-levelling works. Aux levelling works. Z-offset works. But when I start a print (with G29 in my code) it will home X&Y axes, then centre the nozzle and start going down without actually extending the BLTouch probe. This means it doesn’t detect where the bed is and just crashes into it.

  11. Kalon says:

    Your firmware rules. Just having a little bit of a hiccup since I updated to the newest version. Whenever I try to AUX level everything goes smoothly around the auto positioned points but as soon as I start double checking each corner I find they’re all suddenly too close to the bed. Even if I go back to a corner I just leveled, there’s suddenly no gap. Should I roll back for now?

    • Kalon Simpson says:

      Any thoughts if I might be goofing something up on my end?

      I’ve running through the steps here about 8 times but seems to hit a wall with the aux level now.

  12. Maco says:

    Helo , how to add on Martin AUX Leveling & Setting Z-Offset to menu ? I change on Ender 3v2 hotend to V6 +bmg+dde , now i have a bltouch on right side , and i need make new firmware , i dont now how to add AUX Leveling & Setting Z-Offset &yellow colour to firmware on Marlin . Thank you

  13. Dylan says:

    I have your firmware installed and it is absolutely wonderful. Works like a charm.
    I just ordered a second ender 3 V2 that i will use for flexible materials. I will install a micro swiss direct drive but i have to set some offsets for my homepoint. Will it be possible to have this option in one of the menu’s? Editing the firmware seems a bit to tricky for me. I thought i saw it once on an ender 3 or ender 3 pro. Thanks in advance
    Sincerely

    • William says:

      Hey did you ever figure out what to do with installing direct drive with the bltouch in terms of the home offsets? I just installed it and have been researching how to modify the source code for the firmware but am having trouble.

  14. derschorsch says:

    Hi guys. first of all, thnaks for your firmware – it works awesome for me (with clone BLtouch)
    Only thing i noticed is, when probing in 5×5 (slow versione of the firmware) the probing points are not centered.
    It begins on the left side, near the end of the bed as expected, but the last point on the right side is far off from the end of the bed.
    is this behaviour intended? I wonder how the autoleveling should work, when the probing points are not near all the ends of the bed.

    Thanks in advance.

  15. P3d says:

    I installed the Bl Touch using this steps .
    When i turn the printer on, bl touch stays red and moves the bl touch nozzle, and it’s ok.
    When i make auto home, bl touch don’t do anything and my nozzle starts to hit very hard on the bed and i have to turn off the printer.
    Do you know what could be causing this?

    Thanks

    • Ted says:

      I have the same issue
      BL Touch v3.1 Ender 3 V2 with 4.2.7 board, and yes I installed the 4.2.7 Smith3d firmware no matter which version
      the BL Touch is just not triggering, I have to power off the printer to stop it from running into the bed ….

      I tried to reinstall the firmware, reset configuration, checked the wires about 30 times, still not working….
      neiter auto home nor auto leveling is working, pls help

  16. Kyle Aaron Frawley says:

    Hey there Smith3D, so I’ve been looking all over and can’t find someone who’s even having the same problem that I do. When I do either an auto home or an auto level, it homes the X and Y properly but when it homes the X, it moves to center, raises 10mm, and starts probing the BLTouch. The BLT doesn’t contact anything so it errors out and freezes the printer. I flashed both your SlowProbe and 5×5 firmware and I’m getting the same result for both. Any ideas?

      • Victor93 says:

        I have exactly the same problem! Checked the wiring about ten times now and i’m sure that is not the problem.
        When you go to AUX Leveling, do the options like “To bottom right” work?

  17. Victor93 says:

    I just installed my new BL Touch v3.1 on my Ender V2 and loaded your firmware. To be sure I’ve restored the system defaults before i began. When i go to Prepair –> Aux Leveling, the printer starts Homing. Then when i try to select To Bottem Left or any other option, nothing happens. What am i Missing?

    Firmware version: E3V2-2.0.x-14-Smith3D

  18. Pham An Danh says:

    I find Level menu sometimes did something really weird if I did not home first.
    Turns out, I think I found the problem 😀
    Line 2813 in Marlin\src\lcd\dwin\e3v2\dwin.cpp:
    “queue.inject_P(PSTR(“G280\nG29″))” should be “queue.inject_P(PSTR(“G28\nG29″))”

  19. Esperanzo says:

    Thanks for this. the bonus features are great.

    i have an issue with this version though.

    So i downloaded latest advanced menu from marlin. Able to flash and set it up but im unable to actually go higher on my esteps 186 max.
    So i revert back to this firmware. I took the source code and reversed the extruder, thats bout the changes. However, im unable to save my settings on my jerks. The Y axis just keeps reverting back to 10.0 instead of what i set it up. the X saved. every other setting was saved.
    Is there a particular line in the source code for this that i can look for? i tried putting it as a default in the source code but it keeps reverting back to 10.0. Extremely frustrating. Without the jerk, the first layer wont stick it by the corners.

    cheers mate

  20. Dan says:

    Hello, thanks for the firmware, it makes it easier to fine-tune the BLTouch… However, I’ve found a bug in which anytime I cancel an unfinished print and then I start to print another gcode, the printer only does the G28 and then starts to print without doing the ABL mesh ritual and the nozzle crashes against the bed. If the previous print was at, let’s say 67%, the screen shows that current print is retaking from that 67% and not restarting from 0%. Thank god I was aware of this and my glass bed didn’t brake, but you should take a look at it.

    Thanks anyway and cheers!

    Dan

  21. edisondairo says:

    your guide saved the day. i connected the bltouch with the cables i got from amazon and my board released smoke! inverted the cable position on the connector and all seems to be working. ender 3 v2 board v4.2.2

  22. Matt B says:

    I set this up on my V2 without any issues, then after a couple of days my bltouch probe stopped deploying on the home, it still runs its test on power on, just not when it is going to home or aux leveling. Since then I have replaced the BLTouch with two different new ones and I am getting the same issue. I have taken everything apart and put it back together and still getting this issue.

  23. Casper A. says:

    I have set Z-level to -3,7 and did the manuel leveling. But when it starts to print its way to high up from the bed. I hvad added the M420 code to Cura and i did the leveling on the printer.

    What did I forget?

  24. kwtoh says:

    Bought the kit and I’m very pleased with it. After fixing the Z-offset, do we need to use Pronterface to enter the X and Y offset? Since the BLTouch is offset from the nozzle, the X and Y coordinates from the mesh are of the BLTouch, not of the nozzle. If so, what are the X and Y offsets to use? This information was not included with the kit as far as I’m aware.

  25. Bas says:

    Hi, Love the firmware.

    All works well but there is an issue when after I have set the offset and have manually done the bed leveling if the BLtouch does a probing (rehome, reboot) the head suddenly is a bit higher above the bed (like a quarter turn on the adjustments knobs). I have checked the cables, the BLTouch is the 3.1 version and I am on the 4.2.2 board. any ideas?

Leave a Reply

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