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.
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.
I too would like to have filament runout sensor support in your firmware. https://www.amazon.com/gp/product/B07Z7Y5VY9/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
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.
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 😉
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?
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
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?
Do check your wiring since it doesn’t deploy the Bltouch needle.
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.
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?
can I ask an information? is it normal that I have to keep the z offset at -1.93? i just have support
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.
In the section
#define Z_MIN_PROBE_PIN
Which value do I have to enter?
Copied the firmware to the sd card, rebooted and now my unit is briocked, blank screen stuck
Ender 3 V2 built in bootloader, make sure you flash properly, rename the firmware.
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/
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..?
Did you change your filename every time flashing a new firmware?
Smith3D. Yes, of course. The funny thing is that I’ve never installed 07 just 08.
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!
I like this version 2.0.X.8. The updated instructions and help understand what the BL touch is doing. Thank you so much! I hope you can make a version of that incorporates the filament run-out sensor by Big Tree Tech:
https://www.amazon.com/BIGTREETECH-Printer-Filament-Detection-Detector/dp/B07Z97582P/ref=sr_1_2?dchild=1&keywords=BIGTREETECH+Smart+Filament+Sensor&qid=1597942898&s=industrial&sr=1-2
Cheers, and forge on!
I too would love to see an option for this to be supported.
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?
.bin file is enough to work
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…
I did this with a 1.5 Meter for the Ender 3 V2. I have seen others say that the 1M is not long enough.
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….
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.
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?
Your case might have something to do with error from fade height. Try “M420 S” instead of “M420 S1 Z2”
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.
i can’t find 3×3 firmware … now i have 4×4 but it’s too long with g29
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
No problem, be it M420 S or G29 both are fine. I will add that to the guide so people get to choose what they want.
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 …
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.
same in here plus when turn the knob in the z tools the increments are in the 0.05 at a time
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.
Yup it’s compatible. As most update to LCD firmware are image assets only.
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
Not sure if your additional changes to layout were made in Marlin source or DWIN firmware. Could you also share how you made it ?
Yes they are changes made to dwin.cpp and dwin.h
You may check the functions that starts with “Draw_” under dwin.cpp
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! 🙂
Hi, i like the easy to follow guide. I have one question: will this work for a bltouch clone?
https://www.aliexpress.com/item/32949450525.html?spm=a2g0o.productlist.0.0.31d336e2UHOvPd&algo_pvid=1d756968-c6b5-498b-a358-12c7d09c80c3&algo_expid=1d756968-c6b5-498b-a358-12c7d09c80c3-1&btsid=0b0a0ac215972157443895623eea6e&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
There is a strange issue which requires me to re level the bed every day. Started a discussion here and seems I am not the only one.
https://www.reddit.com/r/ender3v2/comments/i7embd/need_to_fix_zoffset_every_day_with_bltouch/
Anyone knows how to deal with that?
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.
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
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!
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.
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!
Hi there, these are customizations we did on dwin.h and dwin.cpp in which the source codes are not shared at the moment.
Could be possible to share does file with us?
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!
I flashed the 2.0 firmware on my ender 3 v2, and the screen suddenly stopped working and it’s just black.
Do test the official firmware and see if you are having the same issue too.
Still not working whatsoever. I guess something’s wrong with the bootloader itself. How do I fix this?!
Or maybe I should check the connections first.
download the latest (August 6) creality website firmware and update the screen (take it apart and put the sd card in the screen’s slot with DWIN folder on it), wait for it to turn orange, then remove card, reassemble and power cycle. This is all over google.
did you see any improvement.