# Configuring BLTouch with Marlin firmware

Has anyone configured BLTouch with Marlin firmware?

I could only find videos about older firmware version. I followed this document. To avoid causing any damage to the printer, I removed all connections, took the board out and connected a stepper to Z-axis terminal and BLTouch to Z-min and servo 1. All other axes are not connected. X-min and Y-min end stops were shorted using jumper (Mine is NC configuration).

After updating the firmware, I can move the X and Y steppers, but not Z stepper. There's a blue light glowing inside BLTouch, which turns off if I remove Servo connections.

The M119 command shows all end stops are open.

Do I have to change pull up settings of end stop?

I cuurently have:

• Marlin 1.1.6
• BLTouch Classic

Here's my configuration file

• I connected jumper between Vcc and 5V, BL touch is powered up. Now it's the issue with firmware – Athul Jun 5 '18 at 13:48
• In the comments below you mention that you solved the problem. Please do accept that answer by clicking on the check mark. In doing this, it helps us to keep the unanswered question list small and it prevents questions to pop up once in a while by the automatic bumping of the SE system. – 0scar Jun 12 '18 at 7:00

For security reasons, you cannot move Z until home position is applied to X, Y and Z.

With the level sensor attached, we need to home X and Y, and then Z will be homed in the middle of the bed (as configured). Execute G28 to home all axis and then you shall be able to run 'Z'.

To test that, you can unplug just steppers (with power switched off to prevent damaging the stepper drivers) and move X and Y manually to home position, then just give a touch to the BL sensor (when servo/pin) is deployed to confirm home position.

• That was the issue. I didn't home X and Y. Before enabling BL touch feature in firmware, Safe homing function was disabled. I didn't know I have to home X and Y before Z. I didn't read comments in that section of firmware. Seems like it's working now. I can touch BLTouch during homing and it works as a limit switch. I used separate stepper for Z axis not the one in my printer to avoid accidental crashing – Athul Jun 7 '18 at 8:27

Edit: The answer below reflected the original question and upload of the configuration that was incorrectly configured. The value of this answer can be found in checking your configuration thoroughly before you post a question. It also answers the question whether pull-up resistors need to be set for the end stops.

Basically you need to follow the instructions of the manual/sheet you mention in your question. Be sure to get all the changes correct in your configuration.h file!

//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command


should be

#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command


So no servo was defined (the servo pulls up the pin of the BLTouch sensor)! Also your BLTouch delay is 375 while 100 is prescribed. Please check that you managed to get all the proposed changes in the configuration file (as I stopped comparing for you after finding 2 errors in your configuration!) as I believe that you have not updated your configuration correctly as described. There should be no differences in setup for Marlin 1.1.6 or 1.1.8.

To answer your question: No, you do not need to change pull-up settings.

• My mistake, I uploaded the wrong file. Firmware I uploaded had all changes as per document. As per their document BLTouch delay is optional. – Athul Jun 7 '18 at 8:23
• @Athul Please add the correct file – 0scar Jun 7 '18 at 21:47
• @Oscar updated... – Athul Jun 12 '18 at 6:52