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.
Hey Smith3D Team,
thx for your great Firmwares. This helped me really out, because my 4.2.2 Board on Ender 3 V2 was damaged and I had to replace it with 4.2.7.
Is there any chance, that you do more variants of the 4.2.7 Firmware like 4.2.2. Especially a slow probe version and a version without BL touch would be great. I think more and more peaole have to use the reülace 4.2.7 boards…Thank you very much!
Greetings from Germany
Dennis
After aplying the firmware my Z-axis won’t move down, it only goes up.
On the official firmware of Creality it was ok.
if not mistaken Creality has different wiring method , and also unplug the z switch, just be careful when changing the wiring
After installing this firmware my Z-axis won’t move anymore. With the official firmware of creality it did!
What I’m supposed to do?
I Need different offsets for x and y
Can anyone give m the config vor HS Probe 5×5?
config is available inside our github.
Thank you for all your efforts with the firmware. I have been using it for a while now and it works great. But i recently changed to direct drive with the BLTouch mount on the right side of the hotend assembly. Now it can’t level becausethe last point is going out of the bed area. What is the solution for this. I hope you can help me. Thanks
you have to compile another version where the bltouch is at the right side.
Wiring is solid, I bought the proper 5 pin JST connector for a solid fit to the connector on the 4.2.2 board.
I thought of this also. Which 5 pin JST connector is it?
A regular 5pin JST connector, example: https://www.batteryspace.com/Connector/Adaptor-5-Pin-Female-JST-XH-connector.aspx
Thanks for continuing to work on this and for your great firmware. Feel I need to say this each time 🙂
I am however back on version 2.0.x.9 as found 2.0.x.13 had some of the bugs that have appeared since 2.0.x.9, which for me is still the best version at present.
2.0.x.13 issues…
– The issue of the print recovery file remaining on the SD after a cancelled print and power recycle has returned. Had to manually delete the file before it would stop prompting me on the interrupted print job
– Z offset live adjust is broken again. When I try to increase by -0.01 it moved the nozzle a lot more than that and pressed it right against the glass bed, damaging it. This happened to me twice before I decided to downgrade back to 2.0.x.9.
Love the new features/fixes on 2.0.x.13, such as the SD card refresh for example, however I found the bugs mentioned above were not worth the trade off for me in versions after 2.0.x.9.
Again really appreciate all of your hard work and hope this feedback helps with improvements 🙂
appreciate your feedback, will check & fix them later 🙂
“– Z offset live adjust is broken again. When I try to increase by -0.01 it moved the nozzle a lot more than that and pressed it right against the glass bed, damaging it. This happened to me twice before I decided to downgrade back to 2.0.x.9.
”
Second this, just damaged the bed. I look forward to a fix. Thanks for the work.
I can’t replicate this issue, seems works well on my side. Is there any steps you do before adjusting live offset?
A bit afraid to do again as I dont want to damage the bed more. If you know a way to test without bed damage, let me know and i’ll try and reproduce. But if i remember correctly: during a live print (1 layer, bed level test squares) i moved the z offset down slightly a few times, then moved it up by 0.01 or 0.02 steps, then moved it back down by 0.01 steps which is when it moved down maybe 0.1 or 0.2 steps instead of 0.01.
Same, everything is working fine except live Z adjust. And also print recovery fails in Z-height when restarting (e.g. starting from a higher Z level from the Z it stopped)
you may try the latest build, Marlin is improving the print recovery in past few weeks.
Yeah print recovery works fine but live Z-adjust doesn’t. It seems like if you do a bed level, then store the settings, load settings and then start a new print, it seems not be saving the mesh correctly. Because as soon you try to adjust the z live offset, it will go down in the bed no matter what value you selected. Don’t know if going in negative Z is a problem in the firmware. When checked at Z offset = 0 everything was working properly.
I followed the guide and my printer started smoking really bad. No joke.
check the wiring diagram above. your wire is inverted.
To make the issue more clear, this is what happens sometimes (random):
https://youtu.be/OiX36_I862Q
have you tried this method? https://www.youtube.com/watch?v=eDfGZ4bjxiM
some reported the bltouch has weaken due to transport and u have to re-magnetize the pin.
I don’t think it’s the bltouch. When I choose the option from the menu to level the bed, it never fails, always completes without issues. When it should level automatically before a print it fails fairly often. This makes me believe it’s a software issue.
Hello, I have E3V2 with 4.2.7 board and everything seems to be setup correctly. I’ve compiled my own non-bltouch software and it works perfectly, tried compiling from your source but the BLtouch pin will not trigger on homing. It triggers when first booting up. Will not react to M119 command though. Very strange. I have my bltouch wired up like your diagram so in theory it should work right? I have a feeling if I wired the two last wires to the z-stop pins and made some firmware changes it will work, but I would like to use the BLtouch port like in your diagram if possible. I used your ‘Smith3D-E3V2-2.0.x.13-5×5-V427.bin’ with no luck. Any theories? Why would it fire on startup but not with the M119 command? Thank you, love the UI changes
is your last two wire inverted? make sure the color sequence is correct. for 4.2.7 we only changed the board name in the configuration, everything remain the same
I have BLTouch v3.1 and Ender 3 v2 4.2.2. I have tried firmware versions c2.0.X.9 through 13, currently using v13 for 4.2.2 Filament Sensor 5×5 (High Speed) firmware , but all have performed the same way. After leveling the board with Aux leveling and setting z-offset, when I choose Leveling, it will randomly stop midway through the leveling process. It might stop at 1st point, last point, or anywhere in between. Sometimes it does complete the leveling without issue, all without making any other changes whatsoever. I do have the code added to gcode file. I have restored defaults, deleted eeprom stored on the SD card as well. Any ideas what else I can check? Thanks!
Your bltouch could be faulty. What leveling does is, calling a marlin command, nothing that related to the firmware,therefore you may have to check your bltouch, if it’s deploying the pin everytime
I have similiar problems on an Ender 3v2 where it stops levelling randomly, but will every so often complete absolutely fine
I’ve also reported the same behavior in a previous comment. Now that several people have reported this, it is unlikely that the bltouch itself is faulty.
Somebody messaged me, they stated their wiring is loose, hot glue gun may help
Same random behaviour during leveling for me, too.
Just additional information as follows:
I added levelling before every print (M29 command) and this produces the following effects:
– if print is sent directly by the printer, printing continues, but result is always messy
– if print is sent by Octoprint, a message of communication problem occurs on Octo and I am forced to restart everything (Octo and printer as well).
I supposed (due to the fact I had installing BLTouch) to loosely connection on the board, too.
Thanks for your great job.
Best regards.
interesting, this could be one of the Marlin issues as we never touch the command
13 is working Great!
THANK YOU!!!
I did the install and everything worked fine with one exception. The manual and auto bed leveling finished fine. I also added the correct G code to the start of my file. I was able to dial in a perfect z offset. However, when I watch the z axis arm, it never moves until it goes to the NeXT layer. And this is with a test print that covers the whole bed. So, either my bed is 100% perfectly flat or the firmware isn’t actually making any z adjustments as it moves around the bed. Shouldn’t I see some movement of the z motors/wheels etc, as the extruder works across the bed?
Hi, it seems that jerk control settings through LCD cannot be saved 🙁
I think setting probe offset position to X-42, Y-10 working better for me somehow 😀 Aux leveling leave the bed a gap too large to adjust by knobs if I don’t add a spacer, so I prefer NOZZLE_TO_PROBE_OFFSET { -42, -10, -2 }
BTW, thanks for very thoughful, refined firmware.
I’ve a small problem with the area used for bed leveling.
The 5×5 probe area is not centered on the glass.
Almost the same problem discribed in this post :
https://3dprinting.stackexchange.com/questions/7395/how-to-set-the-boundaries-for-bltouch-probing
I use this BL-Touch holder, but this is not the source of the problem :
https://www.thingiverse.com/thing:4563093/remixes
I’ve compiled your code 2.0.x.12-5×5 and 2.0.x.13-5×5 with the values for the NOZZLE_TO_PROBE_OFFSET { -45, -20, 0 }
But the problem is still present… any idea how to solve this?
Have you restore default or delete the EEPROM from the SD Card? seems like some data is cached.
You say you’ve customized the display but there’s no DWIN_SET folder here to download. Your additions aren’t showing up in the UI just by flashing the firmware – that’s for sure.
check branch https://github.com/smith3d/Marlin/tree/bugfix-2.0.x-Smith3D
Hi, thanks again. I continue to use your firmware!
Two times has my printer started bashing the nozzle against the glass, in separate occasions. I think it was related to me adjusting slightly the Z offset before the print or in the start. That left some marks on my glass so i took it off for cleaning.
Weirdly enough, i used to have -1,73, but after removing the bed and re leveling (only BL no moving of the yellow springs) I have to use -1,83 or more. Im not sure if the numbers displayed carry any direct meaning, could i measure it with a caliper?
Also the layer fan, after a failed print only stops when i remove the SD card. Normally i would expect it to stop with the print.
Thank you for your continued work on this, really appreciate it.
I had problem with filament sensor/filament smart sensor/
After edit yours
#define Z_MIN_PROBE_PIN Z_PROBE_PIN
to
#define Z_MIN_PROBE_PIN PB1
is probable all OK
noted. i wonder if it’s only for your machine or everyone with filament smart sensor
Never started print. the filemant was still being pushed out. In my opinion, no sensor was detected.(smart sensor detecti every 7mm) maybe only in my printer, but after change worked 🙂
hi, i am sorry. maybe another parameter was problem. delete my 3 october post. but now i dont know whitch was probem with my smart sensor. i used this notes for edit yours parametrs on github: https://cdn.thingiverse.com/assets/bc/5b/d9/a5/a0/ender_3_v2_firmware_memo.txt
Hi,
I notice that your source code on repo for 2.0.x.13 do not have creality_LCD enabled in configuration.h and still have atmega set as target. Could you please upload the exact source code from which you’ve build your default binary (5×5 grid, no filament sensor I guess)? I am used to tweak a little bit in the config and build firmware on my own, however I’m not sure what else is commented out in your files and what’s uncommented.
Cheers,
B
branch bugfix-2.0.x-Smith3D
https://github.com/smith3d/Marlin/tree/bugfix-2.0.x-Smith3D
Can you put changelog for last version from 10/02/2020? Thanks.
https://github.com/smith3d/Marlin/releases/tag/2.0.x.13
Changelog is in here, I only did simple QC. Let me know if everything is fine so I will update this tutorial version to 2.0.x.13
Thank you for this firmware! I just experience 1 issue with it. Sometimes it does start the bed levelling before a print with G29. Sometimes it completely skips the bed levelling. And sometimes the bed levelling gets interrupted and it starts printing. What could cause this irratic behavior?
Not quite sure as we have not touch those codes, any step to replicate it? Might have to report it to Marlin
I have the same issue. The probing starts and at a random measuring point, on the second touch, the probe starts blinking red and the leveling gets aborted, then the printer starts drawing the purge line.
An all 5×5 versions high speed and low speed, cura slicer and G29 command.
https://www.reddit.com/r/3Dprinting/comments/bl46n8/bltouch_occasionally_not_deploying/
could be linked to this, most likely during transportation, there are some magnetic stuff disturbed the bltouch.
https://www.youtube.com/watch?v=eDfGZ4bjxiM
solution to this
One thing I noticed. You set the probe offset to #define NOZZLE_TO_PROBE_OFFSET { -42, -12, 0 }. I just looked at the thingiverse page for the referenced mount. The author states an offset of “probe offset: X-42.00 Y-10.00” there. Which one is accurate?
X-42.00 Y-10.00 is the correct offset, but there are many more other kind of mounts, therefore making Y -12 to make it much more compatible with all mounts. so far -42, -12 is fine to me.
I tried to change the z-offset in the beginning of a print and the nozzle scraped the bed.
I just changed it with 0.01 degree.
there is some bugs with the marlin, i’m fixing it at the moment
THANK YOU!!!
You are the best!
Could you PLEASE also post the new version in github when you will have one?
I would like to add filament run-out sensor and add some offset changes to the X/Y (Hero Me Gen5).
https://github.com/smith3d/Marlin/releases/tag/E3V2-2.0.x.13
New version released but not yet done full QC, do test it and let me know if everything is working fine. later will publish to public
I appreciate your effort. I’ll flash v13 tomorrow and report if I have any issues.
Also, for those complaining about the offset, I’d like to state that with “M851” command in pronterface they can set the exact probe offset with a precision of two decimal points. Actually, they are supposed to do that since it is an essential step in the calibration process of an accurate mesh bed levelling. I would recommend using the move command from the printer interface of X,Y while Z=0, until bltouch touches the point of the nozzle at X=Y=0 and then reversing the X and Y values. The point of reference could be a stamp of PLA from the nozzle on a post it stuck on the bed. You can include a mini how-to in your tutorial.
Thank you very much for your work, this firmware is perfect. Could you add the filament sensor in a future version? Cordially.
Hi,
I bought a BLTouch and flashed using the latest Smith3D firmware (Smith3D-E3V2-2.0.x.12-5×5-SlowProbe.bin) with my 4.2.7 board. First of all, I love the UI customizations!
Unfortunately, things are working correctly for me after applying this firmware. I have nozzle and bed temperature, plus fan control, but the stepper motors don’t move. I flashed back to Creality’s latest E3 V2 firmware for 4.2.7 without BLTouch (Ender-3 V2_4.2.7_Firmware_Marlin-2.0.1_V1.0.1_TMC2225) and everything is working, except the BLTouch, of course.
Any ideas?
Haha, I meant “things are *not* working correctly” after apply your latest firmware… 🙂
that the moment we don’t have a compiled version for 4.2.7, will find the configuration file and test if changing to TMC2225 is working.
From what I’ve read so far the pins for the steppers are different between V4.2.2 and V4.2.7. You can change #define MOTHERBOARD BOARD_CREALITY_V4 to #define MOTHERBOARD BOARD_CREALITY_V427 This will take care of that automatically, so that it should be pretty straight forward to add V4.2.7 support 🙂
that’s good to hear, I’m preparing a newer version which support better power resume feature, will update together with v4.2.7 when it’s ready.
Technically the TMC2208 and TMC2225 are the same thing. Therefore your should be able to keep the driver type set to TMC2208, as there isn’t even an option for the TMC2225 as far as I know.
Got it, thank you. My machine came with the 4.2.2 board, but the fans stopped working and it turns out they weren’t getting any voltage, so I replaced the board with the latest 4.2.7 version.
I downloaded the new V2.0.X.13 version for my 4.2.7 board and it’s working. Thank you so much!
Hello guys,
Thanks for your great marlin version but unfortunately none of your tools are working for me (V2.0.X.12).
I do see the menus “aux levelling” & “Z-offset tool”, and can enter in, but inside none of the options are working :
Inside “aux leveling” (test is done successfully… I guess) whatever option I choose it’s not doing anything
Inside “Z-offset tool”, after “finding” home position, the nozzle stay high, and when changing the “Z-Offset” value nothing is happening 🙁
– I used this file : Smith3D-E3V2-2.0.x.12-5×5-SlowProbe.bin
– I did a restore to default
– I tried reflash by changing the name and restore the default immediately but same behavior… 🙁
Do you have any idea ?
Many thanks,
Bodays
check your wiring & wire color sequence, especially the last two.
Latest firmware 2.0.6.12 source file in github contains the 2.0.6.11 files
I noticed that too. Therefore I went back to the BIN file (2.0.x.12) here from the site.
Hi, and thank you for your reply.
Correct me if I am wrong, but this is included in the default (Ender3 V2) configuration:
// Enable pullup for all endstops to prevent a floating state
#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
// Disable ENDSTOPPULLUPS to set pullups individually
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
It seems that you made a change to enable #define ENDSTOPPULLUP_ZMIN_PROBE, but in order for that part of the code to work, you also commented out #define ENDSTOPPULLUPS to enable manual control and disable the default behaviour, which I am assuming, taking account the first comment, is to enable pullup resistor for every pin.
Commenting out everything in the manual control, or at least everything about MIN (depending on the motherboard), would make more sense to me. Even if a switch is not connented, it is still an open circuit there, so it should need a pull up resistor to keep the controller pin from floating. The only reason to disable a pullup would be if a smart sensor is connected, which is able to keep the state of the pin by itself.
Again, I’m not a Marlin expert and I definately don’t want to introduce you any bugs. I’ve been programming microcontrollers some years now and this is my understanding of the code. I am just trying to help.
After seeing your comment I cloned the X.12 repo and reenabled #define ENDSTOPPULLUPS, as it seems to be the default configuration for the Ender 3 V2 (as you stated) as well as for the BLTouch V3.1 (https://www.antclabs.com/bltouch-v3). I compiled the new firmware and put it on my V2 without any problems (as expected). So I think this should be changed back to default in the next revision of this firmware 🙂
Thank you luchs.
I’ll wait a couple of days for Smith3d to release a new revision, Else, I’ll have to compile my own, because, technically, floating pins during homing could lead to a crash of an axis to the endstop switch, if the voltage drops for some reason.
Thanks Dimitris,
Wasn’t free last few days. Will compile new one in coming days.
Thank you Smith3D. I’ll wait for your version then.
As luchs mentioned, you’d better stick to the default setup by enabling #define ENDSTOPPULLUPS, if that doesn’t lead to any issues with z probe.
Would that look like the printer head bashing against the left side and making a strong motor sound? that happened to me while homing.
This is happening to me too randomly. On either the X or Y axis, sometimes if I do a bed level or preheat or aux level and then autohome after (like when starting a print), the motor just crashes past the limit switch very fast and grinds the belt until I shut off the printer.
@Cristian Hamie @BaronS Exactly. A floating pin is when the voltage is not forced to stay within the highest or lowest limit of which the microcontroller recognizes the state of the pin as HIGH or LOW. When not pushed, the endstop switch is constantly “pulling” the voltage to LOW by keeping the circuit closed to the “ground” (low voltage). That’s a normally-closed (NC) switch. But when the switch is pushed the circuit now opens and there’s nothing to “pull” the voltage to. By enabling the “PULLUP resistor” on that pin, you now have something to pull and keep the pin to HIGH voltage level, as long as the circuit is open at the switch and that’s how to microcontroller is recognizing the switch’s state. By not enabling the PULLUP, the voltage can randomly float at different values, but sometimes, random factors like temperature or a voltage at a different pin could make the voltage float just above the threshold making the pin seem like it’s working ok and a lot harder to detect the issue. What BaronS described was exactly what could happen if voltage at the endstop pin does not change at the very same moment the switch is pushed in. It could be rare, but it could cause some serious damage to the printer itself. I myself, for example, didn’t have any issue with v11, but after spotting the issue in the configuration file I decided to wait for v13 before turning on my printer again. So, if you haven’t yet, I really recommend upgrading to at least v13 as soon as possible!
hi, me with the 12 still if I stop the print, it doesn’t really stop … then he asks me if I want to take it back
Hello again,
Since I didn’t get an answer to my post at 20/9, I’m posting another comment to clarify the previous one. The following code is part of the configuration.h. As you see “ENDSTOPPULLUPS” has been commented out, enabling manual control of endstop pullup resistors. Inside the #if, ENDSTOPPULLUP_ZMIN_PROBE has been commented out, also enabling the pullup for probe’s zmin.
At this state, only the endstop pin of the probe is connected to a pullup resistor. Which means that, since endstop switches on Ender3 are normally-closed, whenever one axis reaches minimum, triggering the switch, there will be a floating pin on the controller, which is never a good idea.
I haven’t checked the motherboard, neither I know exactly how Marlin works. I may be wrong and sorry for doubleposting about it, but floating pins can cause serious issues. So please make sure it is the correct configuration.
Again, thank you for a great firmware!
// Enable pullup for all endstops to prevent a floating state
//#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
// Disable ENDSTOPPULLUPS to set pullups individually
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
Thanks Dimitris,
Sorry for late reply, just checked the code, the commented #define ENDSTOPPULLDOWN_ZMIN_PROBE was the default configuration.
And we disabled the z switch, so far we haven’t have any floating issue. I will check if enabling the #define ENDSTOPPULLDOWN_ZMIN_PROBE will helps or affecting some algos.
I just checked the default configuration for the Ender 3 V2 from here (https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x/config). I found that the #define ENDSTOPPULLUPS is enabled by default. You commented this line and only uncommented #define ENDSTOPPULLDOWN_ZMIN_PROBE. This way a pullup is only enabled for the ZMIN_PROBE. But by default there is a pullup enabled for every ENDSTOP if I’m not mistaken here. And this is also the thing Dimitris mentioned. So I think you can leave this section untouched and therefore #define ENDSTOPPULLUPS uncommented, which should enable a pullup for all the ENDSTOPs, including the ZMIN_PROBE.
Thank you so much
This v12 is amazing FW. Now is working M600
Can you enable M701 and M702? ( FILAMENT_LOAD_UNLOAD_GCODES)