Skip to content

BLTouch Installation (english)

Oliver Köster edited this page Sep 12, 2020 · 41 revisions

Installation and configuration of the BL Touch sensor

What we need

*The links marked with an asterisk are affiliate links. Nobody is forced to click on it and buy from it, but who does it makes Amazon reimburse me a few cents for advertising costs. You have no disadvantage from this and the articles are not more expensive or anything like that.

Installation of the sensor

Mount Bracket

First you need a bracket for the sensor. It doesn't really matter where it is attached, it should just be as close as possible and as far away as necessary from the nozzle. I decided to fit it directly into the original hotend housing and used this bracket for this purpose:

https://www.thingiverse.com/thing:2824005

The offset of the sensor is X=-2 Y=-25 and Z=0. These values ​​are already set as a standard. For other BLTouch mounts like the X-Carriage the values ​​would be e.g. X=29 Y=-15 and Z=0. However, all of this can be adjusted later via GCODE.

Wiring

The wiring is comparatively simple, since the i3 Mega (M/S/X) already has an unused sensor pin. Since ground can also be tapped, you only need two soldering points on the small hotend board. Here you can simply solder the supplied 2-pin header.

The following diagram comes not from me, but from a user in some forum. unfortunately I don't know who the author is and I just hope that I can use the diagram like that. (To the author of the diagram : If that's not okay, please contact me)

BLTouch wiring

Alternative wiring

The user will-stevenson drew my attention to the fact that you can use the G1-G2-G3 pins instead of the 2-pin header if you have H3 and H4 bridges (see: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/issues/12). This gives you a cleaner solution that doesn't look so tinkered. To do this, you have to swap the 2-pin connector on the BLTouch sensor for a 3-pin.

BLTouch wiring

One of the servo extensions is led out past the top of the board. So that nothing gets stuck. There is enough space in front of the connector for the cable. The circuit board can then be screwed tight:

The long cables can either be shortened or tamed with a cable tie ;)

And this is what it should look like when you have installed the board with the new pin header:

When routing the cables to the hotend you have to be careful not to tear off the heating cartridge:

When the sensor is properly seated, the retracted tip should look like this. When extended, it must protrude less than the nozzle.

And this is how it looks assembled. We simply put the servo cable into the black guide tube...

...where it comes out at the end:

The three wires of the BL Touch sensor control the servo, which can extend and retract the tip. These must be plugged correctly onto the pins of the Trigorilla mainboard. It is important to note which board you have (TRIGORILLA_14 v1.0 or v1.1), since the pin assignment has changed here. So please don't just plug it in and hope, but check very carefully whether the pins are correct and you have selected the right board.

The second servo extension is laid into the printer and connects the first extension to the mainboard. You can pull it directly between the sockets on the Anycubic Hub board without change:

And then put it up under the mainboard to the servo port:

Correct polarity is important! The plug must not simply be plugged in. The pins must first be removed from the connector and then reinserted in the order described above. +5V is down, ground in the middle and the servo pin up.

Test 1

If you now switch on the printer, the tip of the sensor should move in and out a few times every second. If it doesn't, there is something wrong with the servo connection.

Install the firmware

The installation can be done as usual via Cura. If you're not sure which board you have, try the 1.0 (_10 mark) first from here: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/#download

Test 2

Start the BLTouch leveling via the special menu. After moving to Home, the nozzle lifts up and moves to the first point at X40 Y40 and should then extend the tip of the sensor. If that doesn't happen IMMEDIATELY switch off the printer and try the firmware with the _11 mark. If it still doesn't work, the wiring is incorrect.

Configuration

For the next steps we need the printer, a PC and Pronterface

  1. Heat up the bed
  2. G28
  3. G90
  4. G1 Z10
  5. G1 X40 Y40 F4000
  6. M280 P0 S10
  7. G91
  8. Slowly lower the nozzle with G1 Z-1 or G1 Z-0.1 or G1 Z-0.02 until the sensor is triggered. NOT FURTHER!
  9. If the sensor has triggered and flashes: M280 P0 S160
  10. M114 = Current position of the nozzle -> note! (e.g. Recv: X:40.00 Y:40.00 Z:1.30 E:0.00 Count X:3200 Y:3200 Z:520)
  11. G90
  12. G1 X42 Y65 F4000 (values ​​from point 10 + offset of the sensor, i.e. X=40+2 and Y=40+25)
  13. G91
  14. Place a sheet of paper under the nozzle
  15. Slowly lower the nozzle with G1 Z-1 or G1 Z-0.1 or G1 Z-0.02 until the paper is difficult to move.
  16. M114 = Current position of the nozzle -> note! (e.g. Recv: X:42.00 Y:65.00 Z:0.70 E:0.00 Count X:3200 Y:3200 Z:520)
  17. Subtract the Z value from point 16 from that from point 10 -> 1.30 - 0.7 = 0.6 mm -> This is our Z offset.
  18. M851 Z-0.6
  19. M500
  20. Carry out BL Touch leveling again via the display. Finished.

From now on you never have to change anything again. Autoleveling can be carried out at any time. After the successful run, the created mesh is automatically saved.

Application

In order to load and "observe" the mesh leveling before printing, the following must be added in the start code after the G28: M420 S1

That's it

Here is the auto-leveling in action:

BLTouch on Youtube

Troubleshooting

If everything appears correct and the automatic leveling starts, but stops at the second measuring point and the error message "Probing Failed" appears in Pronterface, this is an indication that the Z-offset was not set correctly and the sensor suddenly reaches a point which is below the height of the nozzle.

Addendum

If your sensor is in a different place, you can change not only the Z, but also the X and Y offset with the Gcode M851. (See: https://marlinfw.org/docs/gcode/M851.html )

In addition, my version of the installation is only one of many. If you're using the servo port for something else, you can also use an adjacent pin. Of course, it has to be adjusted in the firmware. My precompiled firmware versions always refer to the pin assignment I suggested.