Skip to content

BLTouch Installation (english)

Oliver Köster edited this page Nov 4, 2023 · 41 revisions

Installation and configuration of the BL Touch sensor

What we need

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:5030218

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 for MEGA M/S/X

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)

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.

MEGA Pro wiring

The user Stefan Kalscheuer draws my attention in this ticket to the fact that the wiring of the MEGA Pro is different and he has documented two solutions to elegantly connect the BL Touch Sensor to the MEGA Pro. The free "X-Stop" connection can be used if you either change the two lines A5 and B5 in the upper green connector, or change the Z_MIN_PROBE_PIN (2) to the X_STOP_PIN (3) in the source code.

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 further 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:

In order to properly connect the BLTouch to the Trigorilla Board, + 5V and –GND must be swapped in most cases so that the assignment on the board is correct. 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 / GND in the middle and the servo pin up.

As the user Denise informed me, there are from Creality a sensor that can also be installed and which already has the correct pin assignment. So please be careful when installing that you don't accidentally mix up + and - !

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 Autoleveling 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.

Determination and configuration of the Z offset

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

  1. Heat the bed with M140 S60 where S60 stands for 60°C.
  2. G28 (move to home position + calibrate limit switches)
  3. G90 (turn on absolute positioning)
  4. G1 Z10 (raise Z axis)
  5. G1 X40 Y40 F4000 (Move nozzle to X40 Y40)
  6. M280 P0 S10 (Extend BL Touch Probe)
  7. G91 (Enable relative positioning)
  8. With G1 Z-1 or G1 Z-0.1 or G1 Z-0.02 slowly lower the nozzle until the sensor triggers. NOT FURTHER!
  9. When the sensor has triggered and is flashing: M280 P0 S160 (reset position from BLTouch)
  10. M114 = Determine and remember the current position of the nozzle! (e.g. Recv: X:40.00 Y:40.00 Z:1.30 E:0.00 Count X:3200 Y:3200 Z:520)
  11. G90 (Turn on absolute positioning)
  12. G1 X38 Y15 F4000 (move the BL Touch Sensor to the exact same position where the nozzle was before)
  13. G91 (Enable relative positioning)
  14. M211 S0 (Turn off software endstops)
  15. Place a sheet of paper under the nozzle
  16. With G1 Z-1 or G1 Z-0.1 or G1 Z-0.02 slowly lower the nozzle until the paper moves with difficulty leaves.
  17. M114 = Determine and remember the current position of the nozzle! (e.g. Recv: X:38.00 Y:38.00 Z:0.70 E:0.00 Count X:3200 Y:3200 Z:520)
  18. Subtract the point where sensor triggered (10) from the point where nozzle touched bed (17) -> 0.7 - 1.30 = -0.6mm -> That is our Z offset.
  19. M851 Z-0.6 (Save Z offset. Caution! Negative sign!)
  20. M500 (save settings to EEPROM)
  21. G28 (Move to Home Position)
  22. M211 S1 (Turn on software endstops)
  23. G29 (Run AutoLeveling for the first time. To be on the safe side, with software endstops to stop the nozzle in the event of an error)
  24. After completion, either save the mesh with M500, or from now on use the special menu to set the Z offset and a new one at any time Start auto leveling.

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.

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.

Clone this wiki locally