Want to add a BLtouch sensor to your new KAY3D CoreXY Conversion Kit Mk2 because your Ender 3's bed is not flat? Or perhaps you're just like us and absolutely hate leveling your bed.
Regardless of your reason, this is going to be a concise guide to help you install the Bltouch, a probing auto bed leveling sensor onto your CoreXY machine with the BigTreeTech BTT SKR Mini E3 v1.2 board.
This guide is split into 4 easy to digest sections to help you install the Bltouch.
If you much prefer a pre-compiled version for the BLtouch instead, you can find the firmware.bin and source file in the firmware page for the BTT SKR Mini E3 here.
This guide will also be based on a Vanilla Marlin install. If you are using KAY3D's Cheetah 5.0 firmware, this guide will not work. Follow the guide of Cheetah 5.0 here if you need to configure auto bed levelling features instead.
Section 1 - Prerequisites:
1) You need the BTT SKR Mini E3 v1.2 board from BigTreeTech. You can get it from either Amazon or Aliexpress. If you have the other boards, you can find BLtouch installation instructions on the other guides!
2) Of course, you will also need to have a BLtouch. We recommend buying a genuine BLtouch from ANTCLABS. They're the original manufacturers and good things are usually expensive and worth the price most of the time. You can get a genuine one from Amazon here.
But if you're a risk taker and want to get a cheaper alternative, then we recommend one TriangleLabs from Aliexpress here. The TriangeLabs version is called 3Dtouch instead of Bltouch.
3) A BLtouch compatible mount. If you don't have a BLtouch mount, you can adopt the time trial and tested Hero Me mount. You can find the required mount and details here. There are also many other mounts that you can find on Thingiverse if you like.
Section 2 - Time for Marlin:
You also need to have a working firmware for your machine already. Please attempt to make a backup of your firmware if there are already modifications done to it.
Alternatively, if you wish to do a fresh install, you can choose your board and follow the instructions on how to install it. Full instructions are included in every different board's page.
Here are the codes that you need to change to in Configuration.h in Marlin.
The easiest way to find these codes is open your Marlin folder in Arduino IDE or VS Code etc and "Crtl + F" them on windows and "Cmd + F" if you're on Mac.
The italic words after // are comments/ explanation for the codes on the left.
You do not have to put them in your code.
For example, if the code that appears on your computer is "// #define ENDSTOPPULLUP_ZMIN_PROBE" but the required code is "#define ENDSTOPPULLUP_ZMIN_PROBE", you will remove the // lines before #define ENDSTOPPULLUP_ZMIN_PROBE and vice versa.
- - -
#define Z_MIN_PROBE_ENDSTOP_INVERTING true
#define NOZZLE_TO_PROBE_OFFSET ( -42, -16, 0 ) // only applicable if you use our hero me BLtouch mount. You can find out more information here
#define MIN_PROBE_EDGE 10
#define MIN_SOFTWARE_ENDSTOPS // This allows bed size limitations to be obeyed with reference to end stops. Prevents crashing of X carriage from crashing into front, rear, left & right of printer
//#define MIN_SOFTWARE_ENDSTOP_Z // This allows Z probe to go below negative when tuning for Z Probe Offset
#define AUTO_BED_LEVELING_BILINEAR // The type of bed leveling we suggest. You can try other methods if you like
#define GRID_MAX_POINTS_X 5 // Default's at 3. Creality's bed are too warped for us. We set it at 5 for best results
#define Z_SAFE_HOMING // This allows your printer to home in the middle of the build plate
In Configuration_adv.h file,
#define BABYSTEP_ZPROBE_OFFSET // use this function to lower your Z when calibrating for Z Probe Offset
#define BLTOUCH_SET_5V_MODE //only define this if you have a BLTOUCH version 3 or 3.1! Otherwise leave it as default with the // in front!
Once you make the changes, hit the compile button in VS code and wait for the compilation to be completed. Once done, navigate to your .pio file, locate firmware.bin file and place it in the root of your SD card. Once done, place the SD card in your printer but do not turn on your machine yet! We need to do some wiring configurations.
Section 3 - Wiring for BLtouch & BTT Mini e3 v1.2:
Connect your brown, red, yellow, black and white wires from the BLTouch to the board using the following diagram:
First wire from the top, yellow, red, brown, white and black. If you have a 3D touch instead or any other BLtouch clones, your brown wire may be green instead. It seems like it is also possible to have blue instead of brown wires on recent Genuine BLtouch(s). (updated Jan 2020)
Now that your BLtouch is all wired up, close up your controller's case, tighten the bolts and turn on your machine!
If your LCD screen is blue and appears blank, don't worry. It should remain blank for the next few seconds. If you see your BLtouch lit in red and the probe moves by itself, congratulations! You're pretty close to completion!
If your BLtouch does not lit up in red but instead, flashes in red, your wiring may be wrong. Turn off your machine and double check the brown, red, yellow, black and white wires again. Mistakes can happen so do double check!
If your BLtouch still does not work after re-checking your wires, you may have a faulty BLtouch. Please contact the manufacturer/ seller to have it replaced!
Section 4 - Fine Tuning Z Probe Offset
Now that your BLtouch works, the last thing we have to do is fine tune the Z Probe Offset and there is nothing better than tuning it with a live print. It's best to print something big with a brim. In Prusa Slicer, we've configured the following print. It's 0.2mm in height so the hotend would print the first box and then move to the 2nd, 3rd and so on and so forth.
You can download the .STL here if you would like to print the same. You can import this .STL into any slicer that you prefer. Cura, Prusa Slicer or even Simplify3D.
Before slicing, be sure you use a skirt first. Below image shows skirt settings in Prusa Slicer.
Slice the STL file with your desired settings and print it on your printer. While the printer is printing the skirt, you will adjust the Z Probe Offset.
You can do that by navigating to Configuration -> Probe Z offset -> Turn clockwise to move the nozzle higher and anti-clockwise to move the nozzle lower. Once the Nozzle is at the correct height for the skirt, click Back and scroll down -> Store Settings
Now your Z Probe Offset is stored in the board's EEPROM, you don't have to change your Z probe offset anymore unless you change filaments etc.
Remember, a PETG and PLA filament are different so do not use the same Z height for all your filaments!