The BLTouch has two parts from a firmware perspective.
a) Control, often called servo. This consists of 3 wires:
- Red is +5v
- Yellow is signal and;
- either a Brown or Black is GND. The control signal is PWM and is treated just like a servo.
b) Trigger. 2 wires:
- Black is GND
- White is the signal.
All mainboards are different but they can have a dedicated bltouch plug - eg the creality V4 series boards
G V and IN are the control pins, G and OUT are the trigger pins.
The board may also have a dedicated probe plug, eg the SKR 1.4. Older boards use servo plugs and endstops plugs.
Creality added a another option the PIn 27 board.
This board plugs into the LCD connector and disconnect the buzzer to use the PWM pin for the bltouch control/servo plug.
NB There are several different type of bltouchs with different wiring. You have to make sure your wiring matches what your board needs. The most common mistake is getting the two pins switched in the 3 pin ‘servo’ cable and letting the smoke out of the mainboard.
The plug on the BLTouch has the following pinouts:
If you are building your own firmware, you must tell the firmware how you have your BLTouch connected to your mainboard. If you are using a pre-built binary, make sure you understand where it expects your BLTouch to be connected.
If your trigger is plugged into the Z_min endstop plugs you must set
if your trigger is plugged into a dedicated probe port you must make sure:
If you’re using a Pin 27 Board you must enable
If you have a normal Marlin mode controller, you can use the Z-Offset Wizard to figure out the correct. Z-Offset. If you have an Ender 3 V2 or similar with a non-Marlin mode display, please refer to this FAQ entry: Ender 3 V2 - Frequently Asked Questions
Teaching Tech has a great video on the Z-Offset Wizard here:
This is a issue with the Control/servo plug or configuration. Most conmonly a wiring issues or you have a Pin 27 board and have not told marlin.
You can test deploying and reacting of the probe with gcodes,
It is also possible you’re not using
SERVO0 pin on your controller, in which case you need to tell Marlin which servo the bltouch is plugged into by setting
If you command the probe to deploy, but it only does it occasionally, and you’ve checked your wiring and eliminated that as a problem, use a 2.0mm hex key and rotate the internal slug clockwise by 180 degrees. Do not exceed 180 degrees. The maximum indentation between the top of the slug and the flat surface of the BLTouch should not exceed 0.3mm.
Test deployment again to see if there has been a problem in reliability of the BLTouch deploy / stow cycles.
The trigger wires (black and white) have polarity. you must plug it in the correct way. The white cable is on the IO pin and black is on the GND.
Also make sure the firmware is configured to use the dedicated PROBE port instead of the Z endstop or vice versa if you use the Z endstop and not the probe port.