BLTouch Installation
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.
Mount | Probe X Offset | Probe 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
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!
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?
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.
- 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.
- 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.
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.
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.
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.
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.
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?
spring is fine, but if you’re not doing it right, the position of bltouch may move, causes incorrect z offset.
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.
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.
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.
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?
it doesn’t happen to me, is it happening on the version 14?
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!
will make an update this week.
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?
1. wire loose
2. bltouch pin magnetic weaken.
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
unfortunately, some people is having the issue, it’s causes by Marlin, I can’t simulate it here but i hope i can find a method to fix it.
Thank you very much. do you have a compiled firmware 3×3 but not super speed ? woujld be greatly appreciated. fantastic work
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.
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.
upcoming version should fix this. already committed the latest code, doing QC now
Thanks!
Any word on when the new revision will be released?
I’ve updated them on github, just have not compile them. Still testing anyway.
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!
you can compile our firmware too, it’s available inside the github repository.
Also inside the “Prepare” menu the “Z-offset” option is spelled incorrectly. It currently reads “Z-offest”.
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.
your bltouch magnetic is weaken. Try to re-magnetize it .
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?
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.
Hi …I new in this area but i learn fast … I mount the BLtouch and work fain for my …for now 🙂
Great site and great firmware.
Any chance you will add a menu option to manually set x and y probe offset?
Should I use BLTouch Mount v2 or v3?
Do I need to use BLTouch Spacer?
v3 shouldn’t need spacer
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
you can pull the git repo.
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
you can either modify the firmware or send a marlin command
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.
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.
probe point wasn’t center in many official firmware too, you may send a marlin command to adjust the nozzle to probe offset.
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
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
one of the user stated, on 4.2.7, you have to turn the 3 pin plug 180 degree to make it work. wasn’t sure but you may try.
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?
Also, I tried the firmware from Creality and it never engaged the BLT at all.
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?
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
Same! Did you find a fix?
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″))”
thanks. will fix it asap.
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
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
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
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.
seems like the wire is loose.
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?
try g29 instead, or there is an issue with ur gcode. remember to save setting after setup completed
normally you don’t need edit other stuff in the gcode right?
yes, you don’t have to adjust other stuff in gcode
Do I use version 3 of the BL Touch bracket or? 🙂
version 3 will do.
Hi Smith 3D, If i use version 3 of the bracket, would i need to change offsets?
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.
there is a default value for it, you may adjust the x y offset using https://marlinfw.org/docs/gcode/M851.html
Thank you for the reply. Perhaps I was unclear… I’m using the Smith3D version of the firmware… have the X and Y offsets been already been configured and compiled into the firmware? If not, then adjusting via M851 G-code is the solution. If it has already been done, then the offset will be entered twice? Sorry for question, I’m not a coder and have no ability to read the code. Thanks for your patience.
you don’t have to adjust x y offset unless you are using custom mod or need better precision. Already pre compiled.
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?
seems like it doesn’t saved. have you added M420 or G29? after set zoffset, do save it manually to see if it’s working