Loading
dannyw281

The complete BLTouch/3DTouch guide for Creality printers (CR-10/s,Ender 2,Ender 3) for Auto Bed Leveling UPDATED

by dannyw281 Jun 24, 2018
Download All Files

Please Login to Comment

Just a small change proposal, so that everything works with platformio.

Simply replace on line 24 of the platformio.ini file, from (env_default = megaatmega2560) to (env_default = melzi_optiboot).

I just started using my CR-10 v2. It has a spot on the hot end assembly to add the BL Touch. Does anyone know if I follow these direction or has anything changed? Thanks!

Your instructions were spot-on, until I got here...

"• Go to line 401 and set X offset to mount offset (recommended mounts use -40 for the X offset.) • Go to line 402 and set Y offset to mount offset (Recommended mounts use -10 for the Y offset.) "

That does not reside on line 401 - 402.
So, I'm stuck. :)

I use a 3dTouch on a CR10S board.

Thank You.

The "Genuine Arduino Uno" link no longer works.

My BLTOUCH keeps crashing into the print bed, I’ve tried flipping the black and white wires to make sure that wasn’t the issue, but no matter what way I have them, it keeps crashing into the print bed. The BLTOUCH has power, and it starts up with the probe going down up down up. Any help is greatly appreciated.

Also, it’s a V3 BLTOUCH and I used the V3 version of the guide

I guess i did something wrong. It went threw all the step in was heading front right corner home ,, but it drooped lower and put a huge scratch in my glass bed. (*&^%) not good. So the code G1 Z1.0 F3000 moves mine down not up

Hi this guide is outdated for the new releases of CR10s (comes with v2.2 boards) and BLtouch (now v3.x). Also TH3D firmware configuration.h file has changed since this guide was written.

I have tried on my CR10 S5 (stock board v2.2) and a BLTouch v3.0 and it just doesn't work for me. Tried to invert z-stop cables, tried to enable "bltouch v3" in TH3D firmware, tried to force mode to 5V operation, nothing works, the printer does not stop by touching the BLtouch probe when homing the z-axis.

Any help appreciated!

I keep getting this error when compiling. Can someone help me out :-( Have the BLTouch V3.

"Arduino: 1.8.7 (Windows 10), Board: "Sanguino 1284p, ATmega1284P (16 MHz)"

In file included from sketch\MarlinConfig.h:42:0,

             from sketch\emergency_parser.cpp:27:

SanityCheck.h:982:5: error: static assertion failed: FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION.

 static_assert(FRONT_PROBE_BED_POSITION < BACK_PROBE_BED_POSITION, "FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION.");

 ^

SanityCheck.h:1049:5: error: static assertion failed: Z_SAFE_HOMING_Y_POINT is outside the probe region.

 static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, MIN_PROBE_Y, MAX_PROBE_Y), "Z_SAFE_HOMING_Y_POINT is outside the probe region.");

 ^

exit status 1
In file included from sketch\MarlinConfig.h:42:0,

             from sketch\digipot_mcp4451.cpp:23:

SanityCheck.h:982:5: error: static assertion failed: FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION.

 static_assert(FRONT_PROBE_BED_POSITION < BACK_PROBE_BED_POSITION, "FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION.");

 ^

SanityCheck.h:1049:5: error: static assertion failed: Z_SAFE_HOMING_Y_POINT is outside the probe region.

 static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, MIN_PROBE_Y, MAX_PROBE_Y), "Z_SAFE_HOMING_Y_POINT is outside the probe region.");

 ^

static assertion failed: FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences."

Did you get a solution?

Hi all! I have the following problem, I have tried to install the Aliexpress BLtouch (the copy). I have been at this time since I am a newbie, and now I have the following problems.

The first is that now I do not heat the nozzle and I put the error that appears in the picture that comes out of the screen of the CR10.

Secondly, I can not get the BLtouch to work, I'm left with a fixed red LED, and if I'm under the sensor, it turns blue but it still does not work. I leave the photos of the interior, wiring and others. I can not find the problem. Thank you so much everyone.

Hi, can someone who has an anet a6 and is using the breakout board help me. When changing the config.h file, do I enable the z min endstop pin setting or is is it considered a different pin since nothing is actually connected to the zmin pins. Any help would be appreciated. Thanks!

Hi, installed it all on my CR10s and the bltouch fires and self tests fine. The issues is that it moves up then fires and stows then moves and and repeats again, then stops?? Any help would be appreciated!

if you have v3 , simply open the control access. there is a little tiny Surface mount capacitor just above the z-stop plug. Not the smallest of the two soldered items on the board, I believe its more of a tan color.. just heat up a fine tipped solder iron and gently heat and sweep that capacitor off the board. It will not harm the board but will let version 3 BLtouch sensors to ready correct and stop the z axis.

https://i.imgur.com/0tBJfwZ.png

Got any pictures or a link to any documentation? I would love to dig more into this before I go removing components from my Ender 3 :)

Thanks!

EDIT: Google ....

https://www.antclabs.com/wiring3

im getting flagged haha

www antclabs dot com/wiring3

I was going crazy trying to get my bltouch going on my E3Pro and removing this finally solved all the z-stop issues

Ugh, that's not good. Well, I read the website. Also, desoldered the cap ... still driving right into the bed. Gotta be a bad sensor :(

Thanks for the attempt tho.

something is not right somewhere if it still isnt working. Have you adjusted for the V3 2 mm difference by using washers already to bring the sensor probe down past the nozzle ?

if you raise the Z axis and use your finger to trip the probe, will it stop ?

Sure did on both accounts :( it seems systematic. When I run G29 the first probe is fine ... second hits bed. Third hits bed ... it moves to middle it's fine .... moves to the next hits. Moves to the back is fine ... hits middle ... way high on the last probe.

This happens EVERY time.

When I auto home. Sometimes the probe stops before the nozzle hits the bed. Other times it will drive into the bed. Almost seems like after I run a calibration it never homes right again.

I've also calibrated my z end stops about 100x

For those flashing red, you have to switch black and white wire connected to board. Use some small pin to remove and swap it.

So for anyone using the BLTOUCH who got sent a Smart V3 instead of the V2 you will need either the newest TH3D or the Marlin 2.0 bugfix. Or you need to hack the code of Marlin 1.1.19. https://github.com/InsanityAutomation/Marlin/commit/15ce74badfd3a1b6e6ffabf882234ffa77682715 Last but most daunting you can remove the capacitor just above the Z endstop sensor plug. The V3 uses a more delicate PWM pulse that the melzi 1.1.13 has trouble detecting with the capacitor in place smoothing out the voltages.

The initial BLTouch v3 shipped before April 5th 2019 had a defect that is now fixed. Instead of replacing the defective units as a honest company would to, the manufacturer came with a dirty workaround suggesting the removal of the capacitors.

3D printers have many motors and almost no shielding for the electromagnetic interference generated by those devices. Most control board manufactures use the capacitors in all inputs to reduce the noise and prevent it from affecting the sensitive oscillators and drivers.

Antclabs was aware that removing this capacitor could cause problems but they did not offered any specific workaround for this. This is what they said: "If noise, etc. interference is expected, you should use a anti-interference extension cable (Shielded or Twisted Cable or Copper Shield Network etc.)."

I strongly recommend users to not remove the capacitors from the board. Problems caused by electromagnetic interference are very difficult to diagnose and solve as they normally appear randomly. If you are using the defective V3 sensor, ask for a replacement unit or purchase the 2.x version that works well.

same here. removed the capacitor. I know why its there but in all honesty im never going to use the default switch again so im not worried. however if you do plan on ever using the factory limit switch, i would not suggest removing this as smd components are tough to re-install if you dont have a hot air kit for surface mount soldering .

I removed the capacitor (C7) and it works like a dream. I didn't need to do any funky software hacks. That cap had to go. The next time I need to get into the area of the board, I'm removing those caps for the x and y end stops as well. I'll bet they'll be faster to respond and not slam up against the stops when it homes. Those large value capacitors (10uf) take too long to charge and slow the sensing down.

Slamming against the stops is due to Marlin 1.1.9.... it has been addressed and fixed with Marlin 1.1.9bugfix

My 3D Touch sensor keeps flashing red, can't send any commands via USB to it either.

Hey guys,

the red led is flashing from my bltouch. it stops when I hit reset bltouch but starts again, when I hit selftest. Wiring is correct, I even meauserd the pin connections with a digital multimeter.

Any ideas? :/

I start to believe, that i got a defekt BLTouch.

Do you have the BLTouch V3 ? Because in french forum (I'm french) we had the same problem, and with a marlin 2.0 it's work.

So for anyone using the BLTOUCH who got sent a Smart V3 instead of the V2 you will need either the newest TH3D or the Marlin 2.0 bugfix. Or you need to hack the code of Marlin 1.1.19. https://github.com/InsanityAutomation/Marlin/commit/15ce74badfd3a1b6e6ffabf882234ffa77682715 Last but most daunting you can remove the capacitor just above the Z endstop sensor plug. The V3 uses a more delicate PWM pulse that the melzi 1.1.13 has trouble detecting with the capacitor in place smoothing out the voltages.

Something to consider adding to a future revision: one of the simplest and cheapest way to use pin 27 is go get a 2x5 Dupont extender cable, which can be had for under a dollar on eBay at 10cm length. Unplugging the probe wire and the pin 27 wire on the connector end means, no soldering and no cutting needed, it (mostly) plug and play. Power is available from the programming ports next to the display cable connector.

Comments deleted.

Here is a curve ball, hopefully someone can help me.

Added bltouch to my ender 3. Initially tried th3d firmware, then vanilla marlin, same results.

I can command the probe up and down, and run self test just fine. When I try to G28/or home all:
X and Y home just fine, bed returns to center, probe drops, lowers Z axis and when the probe hits it doesn't stop until AFTER the nozzle has impacted the bed, probe retracts, Z goes up, probe drops, Z comes down to hit the bed again, Z goes up just a hair and the bltouch starts flashing red with the probe still extended.

If I run G28 from astro I do not get any errors returned. Wiring looks spot on, bltouch is exactly 8mm above nozzle. I've looked everywhere for answers and can't find anything.

Any thoughts? (I used teaching tech on youtube as a guide and followed his firmware tweaks to the T for both firmware).

Hey man, just curious if swapping out sensors corrected your issue? I've pretty much experienced the same scenario as you with no avail to the firmware changes. I'm thinking this probe is bad. I would love to know how you ended up!

Cheers

see my comment about removing the Z-stop capacitor. no need to hack the firmware or flash alternate versions. the default firmware that creality posted for the bltouch kit is fine once the cap is removed. its very simple to do and will nto harm the machine and v2 and v1 sensors still work just as well

I had the same issue. I'm waiting on my replacement to come from Amazon. I followed Teaching Tech and this guide to a T. Tried Marlin and T3D. Same result, extruder wants to keep going down despite prob triggering. Then a blinking red light on my BLTouch.

Any joy on that replacement?

I had the same problem. I hope someone has solutions for this.Only difference is that I have only Ender 3.

I think I've decided it's a faulty sensor. I have tried every version of firmware, and every guide on how to setup. I've run every test available via gcode and I'm still stuck. I pulled the sensor last night and threw it back in the package to return it. I'm going to order up the ezabl, it has firmware built for it and support so I'm going to give that one a try.

same here, but i like the idea of a "mechanical sensor" touching the buildplate. temps and dust and moisture won't affect the results as they do on the ezabl sensors.

IT IS NOT A FAULTY SENSOR. I was having the same issue for the past few days. I followed all of the steps on the videos and I just couldn't figure it out. I was looking through the Configuration.h File on the th3d firmware and near the bottom is says "#define bltouch" and there is another line that says "#define bltouch_v3" and you have to uncomment out both of those lines and you are set. Everything works perfect! Hopefully someone will make an updated tutorial for the V3.
Have fun Printing!

I've done all this. No change, still get the OP's same symptoms.

Also, I'm with the others on ordering new hardware :(

Thanks!

You also have to make very very very sure that you have the spacing correct. It needs to be almost exactly 8.3 mm higher than the hotend for a v2 and 3 for the v3 smart. You can make adjustments to this using the z offset in marlin.

The PDF manual for the BL-Touch V3.0 (downloaded from the ANTCLAB website) says the sensor tip should be 4mm (plus or minus 0.3mm) above the nozzle. It's shown in the drawing (see the underlined word "Recommended" in red text).

So after a full Sunday getting my CR-10 Mini and Bltouch clone to work I am at the final stages of calibrating the first layer and setting the correct height of the touch. Problem I am having is...

  1. Adding the Z offsets into pronterface or even S3D for whatever reason nothing happens. I have followed some YouTube videos on how to do it with the correct codes and nada so basically is there a trick to this that maybe I would be missing?

  2. When I add the code G29 in S3D the nozzle homes in the middle of the bed then goes to the front of the bed and tries to start leveling off the bed by about a half inch or so. It does this in 3 spots before it moves and actually auto levels on the bed. Where would I inserted this code for a CR-10 Mini with an Bltouch offset -40 to the left and 10 behind?

Any help would be appreciated. Maybe this has been asked and answered before but I have done so much searching and troubleshooting I actually lost sleep over this and now I'm way confused. Just want to get back to printing with bed leveling issues like everyone else.

Guess I should point out that I used TH3D firmware

Not sure what you're doing exactly for the z offsets. Try downloading CURA and do it from there. Make sure you follow each step

Page 5 on the instructions say to edit line 378 and 379 to match your x and y offsets. Again, make sure you follow each step.

Is anyone getting the restart with m999 error? I believe I followed the guide excactly. I'm using the cr10s v2.1, board.

In the start-up gcode there is this line used twice:
G1 Z1.0 F3000 ; (move z up little...)

My problem is that my printer tries to print the first layer mid-air even after calibrating it to touch the glass. I don't see any gcode that resets this command... is that correct or is that the reason for my Z-offset being higher then calibrated? This happens with both the old and latest TH3D firmware on CR-10S.

I'd like to suggest additional information to this article.
This article helpt me a LOT with my Ender-3 and since I am now the proud owner of an Ender-5 as well, I found it only fair to let you know;

Based on the Marlin Ender-3 example:

  1. The Ender-5 is rotated 180 both on the XY plain as well as the Z direction, so when programming Marlin on the board;
    • inverse all steppers (except Extruder) (INVERT_X_DIR goes from true to false, INVERT_Y_DIR as well, INVERT_Z_DIR goes from false to true.)
  2. Don't forget to increase Z_MAX_POS to 300
  3. The BLTOUCH still goes on the left side of the hot-end, but for the ender, that's the right side, so, instead of negative values for X_PROBE_OFFSET_FROM_EXTRUDER and Y_PROBE_OFFSET_FROM_EXTRUDER, you now need positive values.

Furthermore, don't get your panties in a twist with splicing cables or soldering on the mainboard, or endless searching for the Pin27 breakout board; buy the kit from Creality:
https://www.aliexpress.com/item/Newest-Creality-3D-Printer-Part-BL-Touch-Bed-Leveling-For-CR-10-Ender-3-Creality-3D/32903813956.html
It has:

  • mount
  • BL-Touch, and yes, Creality ships ORIGINAL! BL-Touch
  • cable with the correct connectors
  • cable is long enough to follow the original hot-end cable all the way to the controller.
  • Pin27 Breakout adapter is included
  • ICSP USB Programmer is included!! (so no need for an Arduino, IF you can get it working. I did not so I burned the bootloader using my Arduino UNO)

This is a great value for around 50 USD! (considering the price of the BL-Touch, it's cheap!)

Hope you find this useful, happy 3D-Printing!

Remon.

Hi. Thank you so much for this guide! Using TH3D_UFW_U1.R2.7 on my CR-10S.
I only have one small question. My BLTouch came with this bracket: https://i.imgur.com/paAq2cn.jpg

I would prefer to use that one instead of printing one myself (prefer metal), but it seems that the nozzle is too high up after calibration. The first layer does not stick to the bed because its printed in "mid-air". I've tried to swap it with the stock 3D printed from the guide, but then the nozzle hits the bed before the BLTouch. What do I have to adjust to get the nozzle further down? Y_ and X_PROBE_OFFSET_FROM_EXTRUDER?

Hey guy's, first off all thank you very much for all the good informations! It already helped me a lot. I use a cr10 with the melzi board, and I have the issue that my board only provides 4.84 Volt which seems not enough for the sensor. If I connect the sensor to an arduino (5v) it works like it should. Connecting it to my 4.85 Volts and nothing happens (not even the led will flash).
Now my question:

  • Is there a way I can get more voltage from my board? Maybe use other connectors?
  • Can I use a external power source? How do I wire the servo pin then?

Thanks in advance, I hope someone can help me

Hey, did you find a solution? I have the same 4.8V. But my bltouch is all the time in alarm mode. LEDs are flashing. I cant get it to work. the only gcode that works is turning off the alarm mode with "M280 P0 S60". any other command puts it back to alarm mode. I have no idea what to do

Hi.
Leveling works just fine, but the mesh is very far outside, so sometimes the print head touches my clamps, which hold the glas build plate on my CR-10.
Can i somehow define new points for the leveling mesh?
Thanks

How low should you fit the touch. So i've an Ender3 with the Bullseye duct and a touch bolted to the side. Say I lowered the X axis to the point where the nozzle touched the bed, how low should the touch be? Should it just be so the movable needle registers the bed, or should it be lower or does it not matter particularly?

I am upgrading my cr10s (v2.1), can someone clearly state that:
1.The limit Z switch connector has to be pulled out of the PCB before wiring up the bltouch?
2.The limit Z switch is no longer required and can be removed?
3.The beeper will still work or not?

  1. Yes, you connect the BL-Touch black/white cable in it.
  2. Yes, its up to you if you removed it or not.
  3. Depends how big you memory is on the controller board. Default board have limited memory so you need to disable things to save memory and one of them could be the speaker.

Thx for info. Regarding question (3) beeper I was picking up on some info I found on youtube (voltlog) that stated that the pin of the beeper was used for the bltouch. I was just wondering if this also applies to the cr10s (in YT it was a plain cr10 v1 motherboard). Never considered memory limits but thats a good point. I suppose the cr10s has more memory then the cr10 and would fit everything?

I can't say because i own a Ender 3. If have used a Pin 27 adapter board and then it could work.
Don't know how much memory the board have. If you prepare the new firmware you see how much memory have left or you get a error if it is to big to fit and then you know you have to disable things.

A little confused:
what guide must I follow to intall on a Creality CR-10 Mini:
ie guide version 1, 2 or 3 ?
Thanks for the help

Hello I used your guide for the newest Marlin version. Sadly you deleted it. Before that I wasn't able to get a good first layer with the bltouch cause I don't know. I already tried the Firmware from TH3D but there I could not get a layer to stick. Now I tried your guide and finally the bltouch works how it should. Therefore I had a problem with the board which caused to crash the btlouch in to the bed a few times. But it is still working. The only problem I get with your guide is, that I'm having these layer lines. But I cant check what I changed because you deleted that guide. I already tried changing the babystep multiplicator from 16 back to 10 but that didn't help either. Besides I have the Ender 3.

Hey Guys,

I followed all steps for my CR-10S running the V2.1 board and downloaded the TH3D firmware in this page and made the neccessary changes but for some reason my nozzle temp is saying its at "360 Degrees" even when just powered on, not sure if this is a sensor issue or not. I have attached a picture of how I wired my genuine BL touch to the board.

When I send something to the printer in "Octoprint" it says my "Actual Temperature" is 360 and my target Temperature is 200, See attached picture.

Any suggestions guys?

Will this also work with the CR-X?

Wondering about the same! :D

I wish they would respond...

Thanks for putting this guide together Danny! I have a CR-10S with the newer v2.1 board, and this guide made the process easy to navigate. I used the wiring connections as you labeled them, and it worked the first time I powered it up. Auto-bed leveling is pretttty nice!

There are a few videos on YouTube that get pretty close to these instructions, but not quite as good!

If you do plan on updating at anytime, I do have a few recommendations. Since TH3D is constantly updated, maybe describe where better to insert the configuration snippets instead of giving line numbers. I am running TH3D U1.R2.7 and I used all the #define statements you listed, but just put them by my printer/probe definitions.

Thanks again for making it easier on the rest of us!

Hey stupid939,

I also have a CR-10S with the newer V2.1 board and have currently got the printer in bits putting it all together.

I am following this guide down to where to put the wires on the board and a little confused where to put the black/white wire as that slot is already occupied and all the 27 Pin Breakout Boards state that its not for the CR-10S and just for the Enders and CR-10 basic.

https://imgur.com/4FUXJft

Much appreciated if you could help mate :)

Hey there! It's a bit tough to get to my board right now, but I got the best pictures I could and I'll try to describe it. Basically you don't need a Pin 27 board, and there's no need to make any mods to the current v2.1 board. Our boards are different than in the guide, but we use the same connections.

We are using Pin 11 (D11) to control the BLTouch "Servo" (releasing/retracting the probe) and replacing the z-endstop with the black/white wires so the BLTouch can tell the board when it's been triggered during homing. Since you're adding the servo, you need to add the definitions (#define...) to the firmware of your choosing.

Anyway, I've attached a marked up version of your image showing you where to plug in. The other picture shows where my connections plugged in, and the associated BLTouch wire colors. My colors are different because I made my own extension cables since the ones that came with it weren't long enough.

Note that from the factory, my clone unit had the brown/orange/red wires in a 3-Pin configuration that didn't match the right pattern for the Creality board. You can use a small pick and free the pins to switch them, or solder your own extension wires like I did.

Hope this helps!

Thank you very much for the info mate, I ended up wiring it up following your advice and from the manual itself, I used 2 pins from D11 and another 1 (see attached picture)

I also downloaded the TH3D firmware in this pageand made the neccessary changed but for some reason my nozzle temp is saying its at "360 Degrees" even when just powered on, not sure if this is a sensor issue or not.

Any suggestions

Marlin 1.1.9 firmware with BLTouch on the Ender-3

I'm going to share with you all of my settings I'm currently using now with my Ender-3. I'm hoping this will help out anyone wanting to use vanilla Marlin with the BLTouch. If you want to use the TH3D firmware, I have another post further down the thread if you scroll down.

I currently switched from TH3D to vanilla Marlin as it allows easier editting of the config files and access to all the Marlin features. It also allows Octoprint plugins such as Auto Bed Leveling Wizard to work. I've increased my grid points from 3x3 to 5x5 and removed the G29 code from the start of every print since I just need to run Auto Bed Leveling Wizard once unless something has changed.

Make sure you configure Octoprint to stay connected even when firmware error detected. After flashing, you'll need to run M502 to reset the EEPROM then M500 to save.

Leave hotend PID, bed PID, and e-step settings at defaults until you can find out your own settings. I have instructions for that further down. I've added comments explaining all the changes I made to the Marlin firmware.

Below assumes you have a fresh copy of Marlin 1.1.9 extracted and have just copied all the files from \Marlin-1.1.x\Marlin\example_configurations\Creality\Ender-3 to overwrite the files in \Marlin-1.1.x\Marlin.

Configuration.h

COMMENT 78: //#define SHOW_BOOTSCREEN // Save memory.

COMMENT 97: //#define CUSTOM_STATUS_SCREEN_IMAGE // Save memory.

EDIT 375: #define DEFAULT_Kp 32.24 // PID settings with Micro Swiss all metal hotend.
EDIT 376: #define DEFAULT_Ki 3.71 // PID settings with Micro Swiss all metal hotend.
EDIT 377: #define DEFAULT_Kd 69.98 // PID settings with Micro Swiss all metal hotend.

UNCOMMENT 413: #define PIDTEMPBED // Allow bed PID tuning.

EDIT 431: #define DEFAULT_bedKp 558.37 // PID settings with thermal insulation under bed.
EDIT 432: #define DEFAULT_bedKi 109.94 // PID settings with thermal insulation under bed.
EDIT 433: #define DEFAULT_bedKd 708.99 // PID settings with thermal insulation under bed.

UNCOMMENT 524: #define ENDSTOPPULLUP_ZMIN_PROBE // BLTouch setting.

EDIT 534: #define Z_MIN_PROBE_ENDSTOP_INVERTING true // BLTouch setting.

UNCOMMENT 550: #define X_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers.
UNCOMMENT 551: #define Y_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers.
UNCOMMENT 552: #define Z_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers.
...
UNCOMMENT 556: #define E0_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers.

EDIT 608: #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 104.49 } // My e-step setting.

UNCOMMENT 727: #define BLTOUCH // BLTouch setting.
...
ADD 729: #define SERVO0_PIN 27 // BLTouch setting.

EDIT 777: #define X_PROBE_OFFSET_FROM_EXTRUDER -48 // Setting using Bullseye duct left ABL mount. Measure and put your own setting in.
EDIT 778: #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Setting using Bullseye duct left ABL mount. Measure and put your own setting in.

EDIT 782: #define MIN_PROBE_EDGE 30 // Keeps nozzle from hitting bed clips when probing.

EDIT 791: #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) // Increase BLTouch accuracy.
...
UNCOMMENT 796: #define MULTIPLE_PROBING 2 // Increase BLTouch accuracy.

EDIT 880: #define X_BED_SIZE 235 // For current model Ender-3's with the larger beds.
EDIT 881: #define Y_BED_SIZE 235 // For current model Ender-3's with the larger beds.

COMMENT 905: //#define MIN_SOFTWARE_ENDSTOP_Z // BLTouch setting.

UNCOMMENT 976: #define AUTO_BED_LEVELING_BILINEAR // BLTouch setting.

UNCOMMENT 984: #define RESORE_LEVELING_AFTER_G28 // Recalls ABL settings after homing.

UNCOMMENT 1108: #define LEVEL_BED_CORNERS // Allows manual bed leveling from LCD.

EDIT 1021: #define GRID_MAX_POINTS_X 5 // Increased for more acccuracy.

UNCOMMENT 1100: #define LCD_BED_LEVELING // Allows auto and manual bed leveling from LCD.

EDIT 1142: #define SAFE_Z_HOMING // BLTouch setting.

EDIT 1256: #define PREHEAT_1_TEMP_HOTEND 195 // Setting I use for PLA.
EDIT 1257: #define PREHEAT_1_TEMP_BED 65 // Setting I use for PLA.
...
EDIT 1260: #define PREHEAT_2_TEMP_HOTEND 240 // Setting I use for PETG (shows up as ABS on LCD).
EDIT 1261: #define PREHEAT_2_TEMP_BED 75 // Setting I use for PETG (shows up as ABS on LCD).

COMMENT 1427: //#define SDSUPPORT // Comment if you do not use the SD card and need memory for extra features like Linear Advance or Junction Deviation.

UNCOMMENT 1453: #define SLIM_LCD_MENUS // Basic menu settings only to save memory.

COMMENT 1507: //#define SPEAKER // BLTouch setting.

Configuration_adv.h

EDIT 388: #define HOMING_BUMP_DIVISOR { 4, 4, 4 } // Increase BLTouch accuracy.

EDIT 264: #define BABYSTEP_MULTIPLICATOR 16 // Uses the natural 0.04mm "magic number" steps.
UNCOMMENT 265: #define BABYSTEP_ZPROBE_OFFSET // Allows saving Z offset to EEPROM.

UNCOMMENT 756: #define BABYSTEP_ZPROBE_GFX_OVERLAY // Graphic to let you know which way to turn to move z probe up or down

COMMENT 798: //#define ARC_SUPPORT // Not used so removed to save memory.

UNCOMMENT 1019: #define FILAMENT_LOAD_UNLOAD_GCODES // Add change filament to LCD menu.

language_en.h

EDIT 134: #define MSG_PREHEAT_2 _UxGT("Preheat PETG") // Rename ABS (Preheat 2) to PETG or any other filament type.

pins_MELZI_CREALITY.h

ADD 49: #undef BEEPER_PIN // Prevents interference on pin 27 with BLTouch.

How to Configure Z Offset

G28 – Auto home, this should home your printers axis’s then move to the middle of the bed.
G1 F60 Z0 – This takes the nozzle to the printer’s absolute Z position defined by the EEPROM.

Slide paper under nozzle and adjust Z position (use babystepping on LCD).

M851 Z-0.000 - Where 0.000 is the Z position aquired from the previous step (on LCD).
M500 - Saves Z offset in priners EEPROM

How to Calibrate E-Steps (can be added to firmware)

M503 ; See current steps
M83 ; Set extruder to relative mode
M109 S240 ; Warm up the nozzle to 240C for PETG. Use 200 for PLA.
G1 E100 F100 ; Extrude 100mm at 100mm/min. In my case, only 89mm extruded and my current settings at the time was the default 93. 100 (desired) / 89 (actual) * 93 (current) = 104.49
M92 E104.49 ; Set steps to 104.49mm / 100mm
M500 ; Save settings to EEPROM

How to Fix PID for Hotend (can be added to firmware)

M303 S240 C10 ; Run PID autotune on hotend for 10 cycles
M301 P32.24 I3.71 D69.98 ; Replace with your results from autotune. These are what I got for mine.
M500 ; Save settings to EEPROM

How to Fix PID for bed (can be added to firmware)

M303 E-1 S80 C10 ; Run PID autotune on bed for 10 cycles
M304 P558.37 I109.94 D708.99 ; Replace with your results from autotune. These are what I got for mine.
M500 ; Save settings to EEPROM

Cura Start G-code

Note that I do not run auto bed leveling within this code since I do it through Auto Bed Leveling Wizard in Octoprint. You can scroll down to my TH3D firmware post to see how I added auto bed leveling to the start of every print.

; Ender 3 Custom Start G-code with BLTouch
M280 P0 S160 ; BLTouch alarm release
G4 P99 ; delay for BLTouch
M117 Homing...
G90 ; Set coordinates to absolute
G28 ; Home all axis
M117 Priming...
G0 X0.1 Y25 Z0.24 F5000.0 ; Move to start position
G92 E0 ; Reset Extruder
G1 X0 Y210.0 Z0.24 F600.0 E10 ; Start drawing line
G1 X0.5 Y210.0 Z0.24 F600.0 E10.03 ; Continue to side a little
G1 X0.5 Y100 Z0.24 F600.0 E18 ; Continue drawing line
G1 X0.5 Y35 Z0.24 F300.0 E20 ; Finish drawing line slowly to relieve nozzle pressure
G0 X0.5 Y25 Z0.24 F5000.0; Quick wipe
G0 X0 Y25 Z15.0 F5000 ; Move to front corner and raise Z axis
G0 X0 Y210 Z15.0 F5000 ; Move to back corner of bed to shear strings
G92 E0 ; Reset Extruder
M117 Printing...
; End of custom start GCode

Cura End G-code

; Ender 3 Custom End G-code
M400 ; Wait for current moves to finish
M220 S100 ; Reset Speed factor override percentage to default (100%)
M221 S100 ; Reset Extrude factor override percentage to default (100%)
G91 ; Set coordinates to relative
G1 F2400 E-3 ; Retract filament 3mm at 40mm/s to prevent stringing
G0 F5000 Z20 ; Move Z Axis up 20mm to allow filament ooze freely
G90 ; Set coordinates to absolute
G0 X0 Y235 F5000 ; Move Heat Bed to the front for easy print removal
M84 ; Disable stepper motors
; End of custom end GCode

Thanks, the #undef BEEPER_PIN saved me!

hey there, thanks for documenting all these steps! after following this guide, when trying to use auto bed level expert or simply inputting a G29 code, my Ender 3 lcd and octopi will come back with a warning "probing failed". any idea why? thanks again for the guide!

Vampyrex13,
https://plugins.octoprint.org/plugins/ABL_Expert/
Is this the plugin U use in octopi, when U are mentioning 'Auto Bed Leveling Wizard in Octoprint.'
Thank You!! 4 all your work!!

Yes, that's it.

Comments deleted.

Hi can one of these BL Touch sensors be fitted to the cr10s Pro? Ive searced high amd low online but cant find anything on the cr10s pro

This is a good question. Im also interested.

Found these if you guys need one, I bought one. Excellent quality and shipping was fast
https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.com%2Fulk%2Fitm%2F302960671554

For the CR-10:
Why bother with connecting the /black/white cable to the board and doing a Y-Split there?
All I see, is that you need to remove the Z-End-Switch because of malfunction.
So you just could plug the BLT Black/white right into the unplugged cable of the Z-Stop?
Or dont you?

Ist the Z-Endstop supposed to work at some time?

yup, that's what I do, unplug the cable at the side of the Z end stop switch and connect there instead of unplugging it at the board side (more easy to rollback if ever you want to).

have your tired that yet, casue i wonder the same thing??

Yes it works.

Fellow 3D-printing ethusiasts i am in a severe pickle,

I have a Cr10s and installed a BlTouch but the issue right now is.

when the Z-Endstop cable(White and Black cable) is connected to the motherboard, when turning the printer on ,
the screen is blank/black and no light is coming off the Bltouch sensor.

When the White and black cable is not connected, the blue light of the BLTouch is on, but still the BlTouch does not respond at all to the Menu BlTouch test functions.

So it's either i have Only one of the two cables of the BlTouch connected and the Bltouch emits the blue light but still doesn't work OR I connect the Black&white cable as well and the screen doesn't work and the Bltouch doesn't emit any light at all when turning on the printer.

When i start the Cr10s with the Z-Endstop calbe for the BlTouch disconnected, the Cr10s display works perfectly and shows the menu as usual.

So what is causing the display to not turn on when the White&Black cable of the Bltouch is connected to the Z-endstop port of my Mainboard

The version of TH3D i have installed is Marlin U1.R2.4b

I bought a genuine BlTouch device.

When the Z-endstop cable(Black and white cable ) was disconnected and instead the stock Z-endstop of the Cr10s was connected the Bltouch had a blue light being on but it didn't work at all either.
Meaning using the BlTouch Selftest, Stow and so on options didn't do anything.

Please help me.

Please, please, please help me, i beg you, please help me with this.

I'm am very desperate right now.

How do you have the 3 wire cable connected? Are you using a pin 27 adapter? Are you sure the red and brown wires are in the correct order (some pin 27 adapters required swapping the red and brown. You can look on the board and make sure red goes to 5+)?

Wow this BLT works great, worth the pain in the back. I've since un commented all lines. Except the second nozzle clear lines.
I like the single line for PLA, .15 height with the E100, dropped the feed to F800. lays a nice heavy nozzle clear. Make starts very consistent. I'm laying down perfect test prints.

Awesome. I'll check out your priming code. I actually just updated mine if you look in the original post I made. It lays down one continuous line of 26.03mm of filament at Z3 and F600. I adjusted the speed so that it would lay down as much filament as possible without overextruding and causing the extruder to "pop" as the filament slipped.

Hey I've switched to your code I really like it! Using .15 z height this sticks very well. I used to use the heavy lay down with my old leveling technique. The heavy lay down used to work but with the better leveling started backup into the extruder. Your method works great with the babystep feature.This is by far the best upgrade I've added. The new firmware really pulled this together. When I finished the setup and firmware. I searched for starting Gcode this was the top search result and your post was was the last post on this thread.How lucky is that? Oh I do have one issue with the firmware. I think the acceleration / deceleration is higher. The servos are pounding harder and causing ringing in my prints. I'm looking into this now. Thanks

That is very cool to hear. And yes, in general, I've noticed a few of the default setting caps raised higher in the TH3D firmware over the vanilla Marlin. You can easily view them if you have Octoprint and use the EEPROM plugin or just issue an M501 code in terminal. I haven't had any issues with acceleration myself. I'm using Cura and I have my acceleration capped at 300mm/s2 except for travelling acceleration which is set to 5000mm/s2.

Thanks to vampyrex13, Your code was exactly what I was looking for. After spending 2 days setting up, boot loader and getting firmware tweaked. All the reading between the lines etc. I've got to the point of needing a good code, I found this!! Made me read some code and changed some for my CR-10. It now prints the way I like it!! May use some of the commented out lines in future.

; Cr-10 Start G-code with BLTouch
G90 ; Set coordinates to absolute
;M140 S{material_bed_temperature_layer_0} ; Set bed temperature for initial layer (so it starts warming up while it homes the axis)
G28 ; Home all axis
;M190 S{material_bed_temperature_layer_0} ; Wait for bed temperature for initial layer (you don't want to heat both the bed and hotend at the same time)
;M104 T0 S{material_print_temperature_layer_0} ; Set hotend temperature for initial layer (so it starts warming)
M117 Leveling...
G29 ; Auto Bed Leveling (resets bed and hotend to 0 afterwards)
G4 P100 ; Delay before resetting temperatures (otherwise they might get zeroed out again)
M140 S{material_bed_temperature_layer_0} ; Reset bed temperature for initial layer
M109 T0 S{material_print_temperature_layer_0} ; Wait for hotend temperature
M117 Priming...
G1 X1 Y30 Z0.15 F5000.0 ; Move to start position
G92 E0 ; Reset Extruder
G1 X1 Y270.0 Z0.15 F1500.0 E100 ; Draw the first line
;G1 X2.0 Y270.0 Z0.15 F5000.0 ; Move to side a little
;G1 X2.0 Y30.0 Z0.15 F1500.0 E100 ; Draw the second line
G92 E0 ; Reset Extruder
G1 F3600 E-4 ; Retract filament 4mm at 50mm/s to prevent stringing
G1 X1.0 Y30 Z15.0 F5000 ; Move to the side a little and raise Z axis
G1 X1.0 Y30 Z15.0 F5000 ; Move to back corner of bed to shear strings (this will keep any strings away from the print area)
M117 Printing...
; End of custom start GCode

THANK YOU!!!

I don't know why my post where I posted all the changes you need to get this working with the current TH3D firmware was flagged for moderation, but I was about to update it with improved start g-code that I use.

EDIT: My original post (scroll down) has been unflagged, so I have updated that one with the improved g-code.

I cannot find a proper complete guide for the cr-10 s5 any help would be greatly appreciated and will certainly deserve a nice tip

Import note for anyone using the stock Marlin firmware, which I was testing out as well. The default extruder feed rate is 15 or 25mm/s) I can't remember which). It took me hours to figure out why I was getting stringing all of a sudden with PETG despite my retraction settings not changing. I was able to download a plugin in Octoprint to change the EEPROM settings directly and bump it up to 50mm/s.

Comments deleted.

I just successfully added the BLTouch probe to the TH3D U1.R2.7 firmware. I started with a freshly unzipped firmware.

Configuration.h

259: // Creality Ender 3 Options
...
261: #define ENDER3 // UNCOMMENT

268: // EZABL Probe Mounts (Ender 3 uses the same mounts as CR-10)
...
275: #define CUSTOM_PROBE // UNCOMMENT
276:
277: #define BLTOUCH // ADD
278: #define SERVO0_PIN 27 // ADD
279: #define AUTO_BED_LEVELING_BILINEAR // ADD
280: #define Z_SAFE_HOMING // ADD

469: #define EZABL_FASTPROBE // UNCOMMENT

473: #define BABYSTEP_OFFSET // UNCOMMENT

479: #define HEATERS_ON_DURING_PROBING // UNCOMMENT

508: #define X_PROBE_OFFSET_FROM_EXTRUDER -48 // MEASURE AND SET TO MATCH YOUR MOUNT
509: #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // MEASURE AND SET TO MATCH YOUR MOUNT

563: #define USER_PRINTER_NAME "Ender-3" // EDIT

Configuration_adv.h

EDIT 264: #define BABYSTEP_MULTIPLICATOR 16 // Sets babysteps to 0.04mm increments (natural steps for the Ender 3)

Configuration_backend.h

Replace all instances of FIX_MOUNTED_PROBE with BLTOUCH. There is one at line 1885 and 1894. This fixes the issue I had where the bed and hotend temperatures got reset to 0 after running G29.

Cura Start G-code

; Ender 3 Custom Start G-code with BLTouch
M280 P0 S160 ; BLTouch alarm release
G4 P99 ; delay for BLTouch
M117 Homing...
G90 ; Set coordinates to absolute
M140 S{material_bed_temperature_layer_0} ; Set bed temperature for initial layer (so it starts warming up while you home your axis)
G28 ; Home all axis
M190 S{material_bed_temperature_layer_0} ; Wait for bed temperature for initial layer (you don't want to heat both the bed and hotend at the same time or could burn out your board)
M104 T0 S{material_print_temperature_layer_0} ; Set hotend temperature for initial layer (so it starts warming up while auto bed leveling runs)
M117 Leveling...
G29 ; Auto Bed Leveling
M109 S{material_print_temperature_layer_0} ; Wait for hotend temperature for initial layer
M117 Priming...
G0 X0.1 Y25 Z0.24 F5000.0 ; Move to start position
G92 E0 ; Reset Extruder
G1 X0 Y210.0 Z0.24 F600.0 E10 ; Start drawing line
G1 X0.5 Y210.0 Z0.24 F600.0 E10.03 ; Continue to side a little
G1 X0.5 Y100 Z0.24 F600.0 E18 ; Continue drawing line
G1 X0.5 Y35 Z0.24 F300.0 E20 ; Finish drawing line
G0 X0.5 Y25 Z0.24 F5000.0; Quick wipe
G0 X0 Y25 Z15.0 F5000 ; Move to front corner and raise Z axis
G0 X0 Y210 Z15.0 F5000 ; Move to back corner of bed to shear strings
G92 E0 ; Reset Extruder
M117 Printing...
; End of custom start GCode

Cura End G-code

; Ender 3 Custom End G-code
M400 ; Wait for current moves to finish
M220 S100 ; Reset Speed factor override percentage to default (100%)
M221 S100 ; Reset Extrude factor override percentage to default (100%)
G91 ; Set coordinates to relative
G1 F1800 E-3 ; Retract filament 3mm at 30mm/s to prevent stringing
G0 F5000 Z20 ; Move Z Axis up 20mm to allow filament ooze freely
G90 ; Set coordinates to absolute
G0 X0 Y235 F5000 ; Move Heat Bed to the front for easy print removal
M84 ; Disable stepper motors
; End of custom end GCode

THANK YOU for this post! I just finished my BLTouch install and started following the firmware guide when I realized that I was in trouble. So far, your summary seems to be working on my Ender 3 Pro :)

I just made an update in my original post to the start g-code if you're using what I posted. I changed the following two variables so that the pre-heat is set to your initial layer settings. I didn't catch this until I started another job and my first layer wasn't sticking correctly because the temperature was off.

material_bed_temperature --> material_bed_temperature_layer_0

and

material_print_temperature --> material_print_temperature_layer_0

I ran a couple of test prints after getting everything installed and working late last night, and yeah - first layer started out good, then came loose halfway through the second trip around the brim. It was too late to start troubleshooting, but sounds like this could be it! Thank you for following up on this - It was very cool of you :)

I printed like 10 things before I noticed the initial temperature was off. I just happened to swap in a different filament brand at the same time it happened, so I thought it was that at first.

I tweaked the priming code a bit. It's not perfect, but if the first thing your printer does is print brims under supports, this will improve the likeliness of them succeeding. I had an issue where printing was fine as long as a perimeter skirt went down first, but when I do support brims, they printed first and would not lay down the initial line without making a mess. I tried to make the initial priming as close to how my printer lays down a skirt to resolve that. If anyone manages to tweak this code or has something better, please post it up.

Added the below to my original post. If you want to use the natural (magic number) steps of 0.04mm for the Ender 3 stepper on Z-axis, set BABYSTEP_MULTIPLICATOR to 16.

Configuration_adv.h

EDIT 264: #define BABYSTEP_MULTIPLICATOR 16 // Sets babysteps to 0.04mm increments (natural steps for the Ender 3)

Thank you, I will check it out after work.

Comments deleted.

Anyone have a link to how we setup 1.1.9 latest Marlin update to use on a CR-10s and BL-Touch? I just got my BLTouch and I'm running TH3D U1.R2.7 but hearing all the issues of trying to setup BLTOUCH with latest TH3D. I'm thinking I'm better off going with the Marlin 1.1.9

A youtube link would be fantastic how to do this. I've tried watching a few but some people don't go into detail on the firmware on what you have to put or change and instead tell you just answer the ones that apply to your printer and jump into the BLTouch setup. I"m VERY NEW at 3d Printing and I just need to get my feet wet and learn but I definitely would like to get the BLTouch working.

Though currently working out a couple things reference getting my frames to reflect 90 degree or right angles, but hopefully have that solve soon and then install the BLTouch.... a bit nerver racking for new people like me, but I'm eager to learn and hopefully help others as well.

Thank you so much in advance for any assistance you can provide or links.

https://www.youtube.com/watch?v=sUlqrSq6LeY&t=732s
Here you go! Also - he has videos about TH3D firmware, tinkering with vanilla Mariln, connecting BL-Touch without cutting any cables and stuff.

Ozziemandias........ Okay, I must not being doing something right. So I have firmware ready to go based on video. I installed BLTouch again willing to give it another try. Now while checking firmware all is good. When I go to upload it, I get an error.

Arduino: 1.8.8 (Windows Store 1.8.19.0) (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Sketch uses 165278 bytes (65%) of program storage space. Maximum is 253952 bytes.
Global variables use 5123 bytes (62%) of dynamic memory, leaving 3069 bytes for local variables. Maximum is 8192 bytes.
avrdude: ser_open(): can't open device ".\COM3": Access is denied.

avrdude: ser_drain(): read error: The handle is invalid.

avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
the selected serial port
does not exist or your board is not connected
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

At first it was saying that I did not have a board installed. I plugged cables directly into the Creality 2.1 board. I did not think I needed a PIN27 board and that it was only for CR-10. I have the CR-10s. I'm now a bit confused.... Do i need a board to plug into my Creality 2.1 board in my power supply or do different wiring?

As in reference to COM3 error above... My USB connection is Com3 and shows up when I plug CR-10s into my computer and go away when I unplug it. So I know that is working and also showing up in my Arduino as Com 3.

I dont know what "avrdude: ser_drain(): read error: The handle is invalid." Not sure what AVRDUDE means. and I don't know what STK500V2 is either.

Image below is where I attached cables... but I did not use the small board on the left of the picture as I was under the impression CR-10s does not need a board.

Thanks,
Mike

Have you flashed the motherboard with bootloader before using BLTouch ? It seem like the programmer cannot connect to your printer due to pre-install software from factory.

-AVRDUDE is the toolschain for flash the ATmel chip (It is a microprocessor of you motherboard).
-STK500V2 is the type of AVR programmer

If you doesn't know how to flash the AVR chip. I recommend to follow this step if you have Arduino board (To make Arduino as programmer)
-To flash the motherboard
https://www.instructables.com/id/Flashing-a-Bootloader-to-the-CR-10/

-To add the correct board in Arduino (for my Ender3, It use ATmega1284p Chip, please check your chip before selecting processor on Arduino IDE (It doesn't similar to Atmega2560 as you're using) Please follow "pert" comment at #9
https://forum.arduino.cc/index.php?topic=393434.0

If you have done it, sorry for that. I can only suggest what I know .. sorry for my bad english.

KP

Thats weird tho. CR-10S should have bootloader already installed. Have you tried changing baudrate in Configuration.h to 115200?
Also try this guide: https://www.printedsolid.com/blogs/news/installing-marlin-1-1-9-on-your-cr-10s-with-mesh-bed-leveling-thermal-protection-better-menu-layout-and-finally-power-resume

Okay... so I was following the video... and they added a line after enabling BLTouch where he was specifying a Serv0_Pin 27 which I had changed it to 11. While checking another video... I noticed that line was not in there. So the line he added in first video was removed and Firmware is now uploaded.....

I have a message on bottom of my screen that says.... Home Z first. Did I miss a step and how to I fix this please?

Mike

Uhm. That video was about Ender 3 specificy. But I've seen many times, that first Z homing is executed by touching the BLTouch in mid air.
I'm going to wire mine Ender 3 and load the newest Marlin, so I'm only assuming what can be wrong with your setup :/

Yes... I understand it was for Ender3.... But instead of grabbing the example files of the Ender3 I grabbed the files created by printedsolid which were also included and used those. So the settings are set for the CR-10S. I have tried over and over and no luck. Researched videos read comments and no go.

I'm really considering sending it back and just get a EZABL to use with my flexplate which has a pretty straight forward install. I just don't know what else to try on this BLTouch as bad as I want it to work.

Yes... I understand it was for Ender3.... But instead of grabbing the example files of the Ender3 I grabbed the files created by printedsolid which were also included and used those. So the settings are set for the CR-10S. I have tried over and over and no luck. Researched videos read comments and no go.

I'm really considering sending it back and just get a EZABL to use with my flexplate which has a pretty straight forward install. I just don't know what else to try on this BLTouch as bad as I want it to work.

Today I've done full vanilla Marlin with BLTouch enabled (disabled arc, bootscreen and set LCD to simple) and everything works fine. Done the first homing (BLTouch was wating to touch with center of the bed), then done some Z offset tweaks and didn't get "home Z first" message at any time :/

Hope this helps you. I am looking at using this guide as soon as I figure out how to use the connector board I bought from TH3D.
http://3dmakerita.it/2018/03/21/bltouch-on-cr10s-english-version-i-hope/

I'm using cura for slicing, I wanted the auto leveling to happen while heating up the nozzle, I changed my starting g-code to:

; Ender 3 Custom Start G-code
G21 ; (metric values)
G90 ; (absolute positioning)
M82 ; (set extruder to absolute mode)
M203 E80 ; (set extruder max to 80)
M140 S{material_bed_temperature} ;set bed temperature
G28 ;home all axis
M190 S{material_bed_temperature} ;wait for bed temperature
M104 T0 S{material_print_temperature} ;set hotend temperature
G29 ;auto bed leveling
M109 T0 S{material_print_temperature} ;wait for hotend temperature
G92 E0 ; (reset extruder)
G1 Z1.0 F3000 ; (move z up little to prevent scratching of surface)
G1 X0.1 Y20 Z0.2 F5000.0 ; (move to start-line position)
G1 X0.1 Y150.0 Z0.2 F1500.0 E15 ; (draw 1st line)
G1 X0.4 Y150.0 Z0.2 F5000.0 ; (move to side a little)
G1 X0.4 Y20 Z0.2 F1500.0 E30 ; (draw 2nd line)
; G1 E27 F1000 ; (retract filament 1mm)
G92 E0 ; (reset extruder)
G1 Z1.0 F3000 ; (move z up little to prevent scratching of surface)
M117 Printing...
; End of custom start GCode

It works, if anybody knows a better way, please let us know.

Hi, I installed the BLtouch in my CR-10S on a v2.1 board as stated in the guide (thx for your work btw) and flashed the firmware with the necessary changes. I now have the problem that after homing the X and Y axes (works just like before) the Z axis gets lifted up before homing and then throws an error so that the homing process stops and my octoprint gets disconnected.
Do you have any idea what I may have done wrong? I'm using Marlin 1.1.9 and flashed the firmware successfully several times before.

I purchased this.
https://www.th3dstudio.com/product/ezout-v2-filament-sensor-kit-or-bl-touch-adapter-board/
I am using the following install guide.
https://www.th3dstudio.com/downloads/TH3D_EZOut_InstallGuide.pdf
Should I hook up the wires as stated on page 26 for my CR10s to use for my BLtouch sensor? If not what guide should I use. The guide in the download are of no help when it comes to my problem.

The link for the adaptor on ebay in the EU gives a "sale ended". I found this one: https://www.benl.ebay.be/itm/A-Creality-Ender-3-CR-10-Pin-27-Breakout-Board-for-BL-Touch-and-other-sensors/183568258913?hash=item2abd855761:g:cSgAAOSwsQJcAtVq:rk:4:pf:0

not affiliated with them in any way, just bought it myself - hoping its the correct one

Does this guide still work with TH3D's U1.R2.7 firmware?

Seems it doesnt... I am getting:

"Please enable only one probe option: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo."

when trying to completely use the mentioned changes in the PDF file regarding the Ender 3.

If you guys figure it out, could you let me know how you were able to do it?
Many thanks.

I just flashed it successfully, so it is working.

I would add that most of things I had to troubleshoot were things I encountered before I found this walkthrough. Deciding to wipe out all of my previous work to this point and then start over following only this guide was the best decision I made.

Ok... In your Arduino IDE 1.8.7 (get it from the Windows Store) open the "TH3DUF_R2.ino" file that comes with the TH3D U1.R2.7's firmware. It's located in "..\TH3D_UFW_U1.R2.7\Firmware\TH3DUF_R2".

When the whole archive is loaded in Arudino IDE, first do the mentioned changes for your printer type to the "configuration.h" file. The lines may vary a bit.

At this stage when you would try to compile and upload the firmware you would get the same error message I got (see above). To prevent the error message and be able to upload the firmware to your printer you finally want to edit the "configuration_backend.h" file.

Search for the term "#define FIX_MOUNTED_PROBE" (should be line 1885 in TH3D U1.R2.7)

The whole thing is like:

if ENABLED(EZABL_ENABLE)

define RESTORE_LEVELING_AFTER_G28

define FIX_MOUNTED_PROBE

define Z_PROBE_OFFSET_FROM_EXTRUDER 0

if ENABLED(PROBING_MOTORS_OFF)

And "#define FIX_MOUNTED_PROBE" is what you wanna COMMENT by placing // in front of it, like this:

if ENABLED(EZABL_ENABLE)

define RESTORE_LEVELING_AFTER_G28

//#define FIX_MOUNTED_PROBE

define Z_PROBE_OFFSET_FROM_EXTRUDER 0

if ENABLED(PROBING_MOTORS_OFF)

Now when you hit the upload button in the upper left of your Arduino IDE, it should compile without issues and finally upload to the printer.

P.S.: If you wanna change the language of your printers LCD menu, you can do this in "configuration.h" in line 634. Valid languages are listed with their appropriate short forms.

Make sure you flashed the bootloader before all of this.

Good luck and happy printing!

Comments deleted.

Hi chr1spy

Thank you very much for your detailed explanation. It helped me when configuring a TL Touch (BL Touch clone) for my Ender-3.
The whole process works fine, I used G29 with a 3x3 mesh and the probe nearly never fails. Using M48 I get values below 0.1 which I believe would be pretty good enough for such a printer, however when looking at the mesh it varies strongly (+/- 0.3mm) each time i probe the bed.

Means that 2 mesh measurements behind are never the same. I don't assume it's a mechanical issue and as far as I read from the M48, the accuracy seems better than the deviation between the grid measurements.

Have you experienced this as well on your setup?

Thanks for your reply in advance and happy printing.

Comments deleted.

having issues on the nozzle crashing into the bed. i tested the bltouch and it was was working correctly. i've been troubleshooting it with by looking into other forms and they talked about having the soft limits enabled.

i have the 2.1 board and using the latest marlin firmware installed.
Notes: i have activated servo_pin 11 after the #define_bltouch

Is anyone using Marlin 1.1.9? what's so great about TH3d? I've installed inductive sensors and Marlin 1.1.9 on my ender 3 for several months and my Anet A6 about 6 months and have just ordered BLtouch sensors for my ender and A6 that lead me to this thread. I configured configuration.h for both printers with anet first. that made the ender much easier. I downloaded 1.1.9 from github and BLtouch starts on line 722. the version I found has examples files for the Creality family and specifically the ender 3 and there are lots of comments explaining things.
It's NOT necessary to loose SD support, there are several memory saving items you can take out like "M503" and the show custom boot screen.
https://github.com/MarlinFirmware/Marlin/releases

I suggest downloading Marlin 1.1.9 and printing out using NOTEPAD++ "configuration.H" and "Configuration-ADV.H" so you can include line numbers on the pages and study the options available. Answers to a lot of questions I see here can be found in those two files.
Now about wiring up BLtouch sensors. How about removing the cap in the center of the board, installing a socket then mount the cap and the wire in the mating connector?
Someone mentioned "tinkerer's" I got a Elector Set 70 years ago this coming Christmas and spent 35 years servicing computers and printers. So I'm only a noob to 3d printers and Opto print that I have on both 3d's powered by the printer's power supplies using dc to dc converters. As far as cost for opto print. The program is free to download and a Raspberry 3n+ that has wi-fi, AC 5.0GHZ interface for $29.99 US. To that you'll need a MicroSD card, another $5-8 depending on the size you get. You can print many styles of cases for them to. Where does the $100 figure someone mentioned come from?

Take caution that when turning off "M211 S0" after you make your "Z" changes be sure to turn it back on "M211 S1" or your nozzle will surely crash into the bed.

Is this tutorial still good or TH3D screwed it?

Works as of January 31st, of 2019, with TH3D_UFW_U1.R2.7.

hi guys here is a updated version of the pin 27 pcb board for you to print yourself just go to jlcpcb and click the quote button and select the zip file then order 10for $2 shipping is ofcorse extra

https://mega.nz/#!atknzKjT!4bAmCRm2hUOR7pbH-LtacPB32BLtxzFKoLTfVw5TyTg

Great post. I'm willing to give it a try but I'm a noob.

  • pcb order is fine (fairly easy)
  • spare parts ... the connectors ... I could not find in suggested lcsc.com (so many references)

Please could you provide a connectors names/codes ... or a BOM with reference.

If anyone else runs into a problem moving the Z servo below zero, running the G code M211 S0 will disable MIN Software Endstops and did the trick for me.

Hi,

i try to set up an BLTouch with V2.1 Board. I just followed the steps described but cant make it running.

The BLTouch runs after power up in a self test, that results in a blinking red light.

All Commands send to the BLTouch doesnt work, expect to reset BLTouch, which turns the blinking red light in to a permanent blue light. After sending other command, the BLTouch starts blinking in red.

Any ideas, what i have made wrong? I use several "preconfigured" Firmwares, including the orginial Marlin 1.9 FW with all necessary params set.

The BLTouch doenst push the pin in or out, simple nothing happens. When the blue light is up, and i push the pin, it responds with a red light.

I was having the same problem on my CR10s last week while setting up my BLTouch. Since I didn't have to use the Pin 27 board, I had to do a little splicing of cables to hook directly to the pins. After installing multiple versions of the firmware, Marlin directly and TH3D, I just couldn't get it to work. I took a step back and followed this guide again with the older version of TH3D and finally got my BLTouch working. I think mine was a combination of re-seating my connections to the board (they were a little loose) and then getting the older version of TH3D. Now it's running perfectly. I did take a look at the newer TH3D version but didn't want to risk blowing up what is now working for not much more in the way of added value. Good luck.

Thank you, i just found out, the one wire wasnt connected correctly to the magentic coil.... so i just soldered it and now it works like it should work :-) Thank you

Helpful guide used it for my ender 3. question is there any plans for making the guide to accommodate U1.R2.X? because I would love to use the features Marlin 1.1.9 comes with in conjunction with TH3D.
I tried to do it myself but my knowledge on Marlin is limited

  • Posted with 3D Geeks Thingiverse Browser App

does this apply to the new board in the ender 3? its a 3.1

Hi guys here's the Gerber files for my version of the pin 27 breakout board I have personally tested the PCBs and no problemo at all
exactly the same as the ones that cost $25 each now you can order your own 10for $2 enjoy guys

Many thanks for version 3 with the comment before-after table. It helped me a lot and can be applied to future firmware versions (if I just ignore the line numbers).

your guide no longer works for cr10s with the Th3d software. I either get only select one probe error (when I uncomment define custom_probe)

or when I fix that error I get the following error:

you must define z clearance deploy probe in your configuration.

nowhere in your guide does it state this unless I overlooked it.

Indeed, this is due to changes made by TH3D in the firmware to discourage people using anything else than their EZABL.
In this tutorial, it's the "CUSTOM_PROBE" that breaks it as TH3D have set it so that it also defines EZABL_ENABLE by itself. And to make it even harder, almost every single stock Marlin ABL setting has been moved behind that EZABL_ENABLE define.

However, adding them all in manually does allow it to compile - I just have absolutely no idea what the proper values are. They most definitely aren't the stock marlin ones, but in any case, here they are: https://pastebin.com/CrD2aM9W

It's up to dannyw281 to figure that out for the version 4 of the guide I guess.

[EDIT] Forgot #define GRID_MAX_POINTS_X 3
and #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

John - do you know what was the last version of TH3D firmware that was good with BLTouch? Their old versions are on GitHub aren't they?
Thanks,
Keith

Hello - does anybody have schematic/wiring diagram of "famous" 27pin adapter (impossible to buy from Poland) - but in fact it is only little piece of PCB with two (female/male) IDC10 socket and 3 pins. Anybody be so kind to publish it for DIY purposes? Thanks a lot. Michal, Poland

Seems to me to be as simple as connect all pin through from the board to LCD except the brown one that you connect to your probe.

i have a cr 10 s5 with titan earo and bltouch, but i dont know how to wire the wires for the bltouch, my melzi board lookes different to the boards i saw in this guide, i thought it could ruine my printer the wrong wiring diagram i searcht for a guide with the same board as my printer has but nothing found so i dont know how to rewire for the creality cr-10 s5 for bltouch , could anyone help me, i saw a few people on yt have done this but no how to , so is the wiring daigram for my printer the same as the v 2.0 of this guide ?, or is it a other one ?

Worked perfectly with the TL-Touch / TLTouch / Geetech 3DTouch for the Creality Ender 3 and TH3D 1.10a firmware.

I have spent hours and endless tries to finally get the right configuration. This did it without further adjustments!
Thank you very much!

I can't find TH3D 1.10a firmware. I want to make sure I can find everything before I go with this sensor for my Ender 3

Comments deleted.

I found a way to connect the BLtouch over the EXP1 port on the LCD screen of the Ender-3. No need to get a Pin 27 breakout board.

Thank you soo much. I saw this mod on a random Aliexpress review and searched far and wide for a tutorial. Seeing how much easier and cleaner this mod is I wonder why seemingly nobody talks about it

First off, thanks for the tip! I tried it and it works - mostly.
The BLTouch activates but the buzzer now constantly goes off, any way to set it up to bypass the buzzer?

yes, that's right. Pin 27 is originally used by the buzzer. I just desoldered it.

Ah, easy enough!
Any way to keep the buzzer? I'm weird and kinda like having the little chirp (although I did print a cover to make it quieter)

I don't think so - either you have the BLtouch on Pin 27 or the Buzzer..

Oh well. Worth the sacrifice!

Comments deleted.

Hi! I can deploy and stow the probe but when I tried to do a G28 the probe continue and hit the bed. Even if a invert the black and the white cable.

Have you tried disconnecting the z-axis switch plate?

I'm not quite sure why there are so many walkthroughs that suggest that you should tie the BLTouch stop wires in with the z-stop. Ultimately the z-axis' switch plate is being replaced by the BLTouch, and the switch plate no longer needs to be connected to the motherboard anyway.

From what I've seen in troubleshooting the same issue; a number of people resolved it by removing the z-axis switch plate wires from the equation. It sounds like one of the elements causes a conflict for the other and as a result they just keep pushing downward.

For me, fortunately, the black & white wire inversion worked.

I noticed this problem started happening with the last two TH3D releases. The last version that worked was U1.R1.10a. I believe it might be intentional.

Do you know where to download U1.R1.10a ?
If someone has it, maybe they can post it to Thingiverse?
I agree that this was intentional by TH3D.

Please share a complete Marlin config or a way how to configure latest TH3D.

The cheaper alternative to the pin 27 adapter might be to get some 10cm male/female dupont cables.
you can easily put 2x5 of the female heads into the connector, then use the PIN 27 dupont wire to connect to the data line on the BL Touch. Take 5V and GND from the ICSP header, using 2 more of the Dupont wires, which can plug into the BLTouch connector.
Like these: https://www.banggood.com/40pcs-10cm-Male-To-Female-Jumper-Cable-Dupont-Wire-For-Arduino-p-994063.html?p=9O2015638249201406IM - This is < $1.50

This is an easy solution, but not as elegant as the board.

G28 command to center probe works OK. Just one slight hiccup, while centering, the table Y end stops don't stop the movement and slams briefly to the back before continuing toward the front to complete the homing..
Y End stops are fully seated and were working fine till i installed the probe.

What pins does that break out board pull out? It's sold out and I'd like to make my own

I just downloaded the latest TH3D firmware and configured everything, the BLTOUCH is technically working but when I try to do a G29 it will successfully probe the center, the rear left corner, then when it goes to do the next touch it never goes up enough for the probe to properly deploy so it just drags along the plate and when it goes to check Z it doesn't push the probe in enough to trigger itself and fails. I tried changing #define Z_CLEARANCE_DEPLOY_PROBE 6 which technically is more then enough clearance for the probe to deploy, but it seems to ignore that setting after the second test point, any ideas?

Hi MatCatOR,

Can you please detail exactly what lines did you change on the latest TH3D firmware?
I bought this board (https://www.ebay.com/itm/CR-10-Ender-3-Pin-27-Board-for-BL-Touch-Autobed-Levelling-or-filament-sensor/173532844788?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649) and the sensor.
I am not very good at programming, so it would be interesting if you share exacly what you did on the firmware side.

Thanks in advance.

I switched to Marlin 1.1.9 and it works perfectly.

Just wanted to throw this out there as I could find little to no information on it, but successfully got it running today on my newer Ender 3.

The BLTouch can be tied to Pin 29 (A2) leaving Pin 27 available for a Filament Sensor for the Ender 3/CR-10 boards.
Pin 29 can be obtained by soldering a wire to the EXT-A2 labeled area near the center of the board (the soldered via next to the capacitor). Some older boards have the header populated and pin "S" is what you are looking for here.

All setup information is the same except you'll substitute "define SERVO0_PIN 27" for "define SERVO0_PIN 29".

Thanks for this tip. I've been looking at hooking up my BL-Touch to the Ender-3, but didn't like the idea of losing the buzzer.

As a tinkerer soldering to PCB is not a problem. What I find interesting is that the Ender-3 V1.1.2 PCB has a JST socket (at EXT-A2), but the V1.1.3 has no socket, just an electrolytic capacitor (probably for power smoothing). The "S G V" is consistent with servo wiring so clearly Creality was thinking about doing something with a servo.

It is very tempting to desolder the capacitor, solder a JST socket or 3-pin male header in its place to make it easy to plug-in the BL-touch. Though, only a tinkerer would think like that. ;-) -- and yes you would void your warranty, but these printers are so inexpensive buying replacement parts isn't really a problem.

Glad I could help.
I just recently added an EZOut to my Ender and used the 27 board. So now have BLT + Filament Run-out!

Anyways, I'm pretty sure Creality put in that capacitor in response to the temperature drifts some people were experiencing. It seemed to help but hasn't completely eliminated the issue. TH3D has a service to correct this issue and put the cap much closer to the voltage regulator that seems to do the trick. Luckily I haven't seen any issues with temp fluctuations. (And would just solder my own cap in)

where is pin 29 or A2? Here I attached the picture of the board with three different colour pointers. Hope you can help me out on which one is the correct pin 29. Thanks in advanced.

The soldered "via" labeled "S" right below the black capacitor.

Thank You very much!
Why is this not known?
It seems like the combination of filament sensing and auto BL is something worth wile.

IKR!?!
Took me a few days to piece the information together. I was stunned that no one had figured it out before, or at least mentioned it. Not sure if there are just fewer tinkerers in the "Creality Community" or what it is.

Comments deleted.

For anyone interested in a slightly cheaper pin 27 breakout board, with the pins in the correct order for the standard BL Touch wires then I have made some up here.....

https://www.ebay.co.uk/itm/202399695356

Any chance to upgrade to new FW version U1.R1.9b?

Please read the previous talk with adriankoooo

Thank you. The latest TH3D FW works :)

Could you please help with latest TH3D FW version? I followed your guide, but I am getting error:

In file included from sketch/MarlinConfig.h:40:0,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
SanityCheck.h:638: error: static assertion failed: Please enable only one probe option: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo.
static_assert(1 >= 0
^
exit status 1
static assertion failed: Please enable only one probe option: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo.

My config:

//===========================================================================
// Creality Ender 3 Options - Select Sanguino(1284P) from Tools > Board
//===========================================================================

define ENDER3

// If you are using our EZOut filament sensor kit please follow the install guide
// and then uncomment the #define EZOUT_ENABLE line below.
//#define EZOUT_ENABLE

define AUTO_BED_LEVELING_BILINEAR

define BLTOUCH

define SERVO0_PIN 27

define Z_SAFE_HOMING

// EZABL Probe Mounts (Ender 3 uses the same mounts as CR-10)
//#define CR10_VOLCANO
//#define CR10_V6HEAVYDUTY
//#define CR10_OEM
//#define CR10_FANG
//#define TM3DAERO
//#define TM3DAERO_EXTENDED
//#define PETSFANG

define CUSTOM_PROBE

Try adding only these:

define AUTO_BED_LEVELING_BILINEAR

define BLTOUCH

define SERVO0_PIN 27

define Z_SAFE_HOMING

If you define CUSTOM _PROBE a sanity check kicks in in the latest firmware so instead of that add the two lines which defines the pin position filled with your correct positions.

define X_PROBE_OFFSET_FROM_EXTRUDER YourXvalue

define Y_PROBE_OFFSET_FROM_EXTRUDER YourYValue

All in one:

define AUTO_BED_LEVELING_BILINEAR

define BLTOUCH

define SERVO0_PIN 27

define Z_SAFE_HOMING

define X_PROBE_OFFSET_FROM_EXTRUDER YourXvalue

define Y_PROBE_OFFSET_FROM_EXTRUDER YourYValue

You should be good to go now.

Iherbak, one more problem on the latest FW:

In file included from sketch/MarlinConfig.h:42:0,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
SanityCheck.h:822: error: #error "You must define Z_CLEARANCE_DEPLOY_PROBE in your configuration."

error "You must define Z_CLEARANCE_DEPLOY_PROBE in your configuration."

  ^

exit status 1

error "You must define Z_CLEARANCE_DEPLOY_PROBE in your configuration."

Do you know what is this and how to define and what value?

This is buggy
If you set #define CUSTOM_PROBE then #define EZABL_ENABLE gets set which in turn sets #define FIX_MOUNTED_PROBE
So you end up with a FIX_MOUNTED_PROBE and a BLTOUCH at the same time, which generates the error "Please enable only one probe option:" I just commented out the line #define FIX_MOUNTED_PROBE from line 1634 of Configuration_backend.h It now compiles.

I can confirm this fixes the compile error and my 3DTouch is working like a charm after uploading the firmware. Thanks Peter! I'm using TH3D_UFW_U1.R1.10a by the way. The line #define FIX_MOUNTED_PROBE is on line 1394 of Configuration_backend.h on that one.

Comments deleted.

New version of the Unified Firmware seems to have some issues. Can you look into this? It looks like he changed a number of things. Im sending a tip your way in hopes youll look into this.

Yes please help with adapting this tutorial to the latest TH3D firmware.

Never mind i solved it :)

Instead you should type here the resolution. :/

so after following this and having everything work i ran into 2 problems.

  1. the printer first heats the bed and tip, then does an auto leveling. during this process , the tip starts to ooze and builds up...is there a way to heat the bed, then level , the heat tip?

the second is the sd card but im getting a raspberry pi b+ tomorrow so i will be installing octoprint on it , later get a touch screen for it.. so im not really concerened about that

For the SDSUPPORT. You can disable the #define ADVANCED_PAUSE_FEATURE if you are not using it. It eats up a lot and by disabling it in the Configuration_adv.h you can let the sdcard functionality in.

I've been going back and forwards with the uk seller for the past month and he's finally got them back in stock! https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.co.uk%2Fulk%2Fitm%2F173404332253 enjoy :)

Just got a BLTouch and Ender 3 and I was wondering how to wire it. This is perfect! Thank you for your comprehensive guide!

So I do all this and at the end my microSD card doesn't work anymore? I have to buy a $100 Raspberry Pi Octoprint kit, learn that and drop Cura?

You can use your PC also to control and send GCODE to your printer also but yes SD support has to be turned off, its the trade off you make and depends how much you want auto bed leveling. $100 for a raspberry pi? That's a crazy good mark up, seems ridiculously priced compared to doing it yourself.

Thanks for the quick reply Danny. My work process makes the SD card critical. But I later found out that the link below to Jonathan Lundstrom's "pin 27 without adapter" also provides a firmware version that keeps the SD card functionality. So I found everything I needed here and I thank you so much. I finally have a good idea how to proceed so I went ahead and ordered a BlTouch.

Here's the link again if this is useful to somebody else: http://jonathanlundstrom.me/2017/10/23/cr-10-bltouch-firmware/

No problem mate I'm glad its been some help for you :) Best of luck!

I found your guide to be a huge help. Thank you for the time and effort. I did find that his mount worked better for me though. https://www.thingiverse.com/thing:2862355

CR-10 BLtouch mount
by luicid

No problem thank you, use whatever mount you choose the ones I put in are just ones I've tried and tested :)

For the Ender 3, I think the comment out of #define EZABL_ENABLE needs to be moved. It seems to be around line 382.

This will differ in older and newer different revisions of the firmware, this is why I also added the commands over just line numbers :)

People are having issues trying to obtain the Pin 27 adapter board, there is another way around this which doesn't require the board here http://jonathanlundstrom.me/2017/10/23/cr-10-bltouch-firmware/

V2 is now out with fixes and improvements to make the overall experience easier for you!

how hard will be to make a video of this? I dont thing i understand 100% what to do and how to connect it and i always liked to get a bed leveling sensor for cr-10s

Unfortunately i'm not a video type of guy mate, my accent is very broad and probably hard to understand for most people! If you look in the guide at the 10s wiring diagram for your mainboard it shows which wire from the sensor goes where then follow the firmware setup steps for the cr10s

Nice tutorial but i think there is error in code.
At least for Ender 3 and CR10 there is define pin 27 and not #define SERVO0_PIN 29 since adapter uses 27 pin from lcd.

Thanks for the heads up I completely overlooked this, just put a note in the description :)