BLTouch and CR Touch Auto Bed Leveling: Installation, Firmware, and Probe Accuracy — 2026 Guide

Your first layer thickness varies across the bed no matter how many times you turn the leveling knobs. The aluminum build plate is warped — it bows 0.15mm in the center from thermal expansion, and manual leveling only adjusts the four corners. An auto bed leveling sensor compensates for the warp mathematically. Here’s how to install, configure, and verify a BLTouch or CR Touch.

BLTouch vs CR Touch: The Real Difference

The BLTouch (Antclabs) and CR Touch (Creality) are both solenoid-driven contact probes. The probe pin extends, touches the bed, retracts, and the trigger point is detected by the printer’s firmware. Both achieve ±0.005mm repeatability when installed correctly.

Feature BLTouch v3.1 CR Touch
Probing Force ~3g ~5g
Repeatability ±0.005mm ±0.005mm
Pin Material Plastic (replaceable) Metal
Connector 5-pin (3+2 split) 5-pin single
Mounting Standard 18mm bracket M3 threaded body
Price $35-40 $30-35
Wiring Colors Brown/Red/Yellow/Black/White Blue/Red/Yellow/Black/White

The CR Touch is slightly more durable (metal pin vs plastic) but requires more precise mounting — the M3 threaded body means the mounting hole is exactly 3mm and the bracket must be perfectly perpendicular. The BLTouch is more forgiving because its mounting bracket allows fine angular adjustment with the mounting screws.

Both work identically in Marlin and Klipper. The firmware doesn’t know or care which one is connected — it only sees a digital probe trigger signal.

Installation: Wiring and Physical Mounting

Step 1: Identify your board’s probe port. Most Creality 4.2.x boards have a dedicated 5-pin BLTouch port labeled “BL-Touch” or “PROBE.” The pinout is GND, +5V, SERVO (control signal), GND, Z_MIN (trigger signal). The CR Touch uses the same pinout in a single 5-pin connector — verify against your board’s silkscreen before plugging in.

Step 2: Physical mounting. Mount the probe to the left of the nozzle at the same Y position. The probe tip must be 2-4mm above the nozzle tip when retracted and 2-3mm below the nozzle tip when deployed. If the probe is too high when retracted, it snags on prints. Too low, and it collides with bed clips. Use the included bracket or print a custom mount for your hotend.

Step 3: Z-offset baseline. After mounting, home Z, then manually lower the nozzle until it grips a piece of paper. Note the Z position — this is your starting Z-offset. The final value is fine-tuned during first-layer calibration.

Firmware Configuration: Marlin

In Marlin, uncomment or add these lines in Configuration.h:

#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { -40, -10, 0 }  // X, Y, Z — adjust for your mount
#define PROBING_MARGIN 10
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define USE_PROBE_FOR_Z_HOMING

The NOZZLE_TO_PROBE_OFFSET X and Y values are the distance from the nozzle to the probe tip. Measure with calipers: put the nozzle at X0 Y0, move until the probe is at the same position, note the offset. Negative X means the probe is to the left of the nozzle.

Compile and flash. After flashing, run M502 (load defaults) then M500 (save) to clear any stale EEPROM values.

Firmware Configuration: Klipper

Add to printer.cfg:

[bltouch]
sensor_pin: ^PB1       # Verify pin for your board
control_pin: PB0
x_offset: -40          # Negative = probe left of nozzle
y_offset: -10
z_offset: 2.5          # Starting value, fine-tune later
pin_move_time: 0.4
stow_on_each_sample: False

The ^ prefix on sensor_pin enables the internal pull-up resistor. Without it, the probe may trigger unreliably — the signal floats and generates false triggers.

G-Code Start Sequence

Add to your slicer’s start G-code AFTER G28 (auto-home):

G28                          ; Home all axes
M420 S0                      ; Disable bed leveling (clear old mesh)
G29 P1                       ; Run ABL probing
G29 P3                       ; Fill unprobed points (smart fill)
G29 A                        ; Activate the UBL mesh
G29 F 10                     ; Fade height 10mm
M500                         ; Save the mesh

For bilinear leveling instead of UBL, replace G29 lines with a single G29 command. UBL is preferred on Marlin 2.0+ because it creates a high-resolution mesh once and reuses it across prints with a tilt adjustment via G29 J (3-point tilt).

Accuracy Testing and Z-Offset Fine-Tuning

After installation, verify probe accuracy:

  1. Home Z.
  2. Run M48 V4 (probe repeatability test, 10 probes at current position). Standard deviation should be ≤0.005mm.
  3. If SD is >0.01mm, check: is the probe mount rigid? Are the mounting screws tight? Is the bed surface clean and flat at the test point?

For Z-offset fine-tuning, use the “Probe Z-offset” wizard in Marlin or Klipper’s PROBE_CALIBRATE. The paper method gets you within 0.05mm — live adjustment during a first-layer test print dials in the final 0.02mm. The test pattern should show perfectly flat lines with no gaps (too high) and no ridges (too low).

Common Installation Mistakes

Mistake 1: Plugging the 5-pin connector in backwards. The BLTouch kit includes a 3-pin + 2-pin split connector; the CR Touch uses a single 5-pin. Both are keyed differently on different boards. Plugging it in reversed sends 5V to the signal pin and fries the probe’s MCU. Always verify GND-to-GND continuity with a multimeter before powering on.

Mistake 2: Not removing the Z endstop. When using a probe for Z homing, physically disconnect the Z-min endstop switch. If both are connected, the firmware triggers on whichever fires first, producing inconsistent Z=0 positions. On Creality boards with a dedicated probe port, the probe connector includes the Z-min signal line — the original switch must be unplugged.

Mistake 3: Forgetting to update the start G-code. Installing the hardware and firmware without adding G29 to the start G-code means the printer never runs the probe. It homes to the endstop, ignores the probe, and prints with no mesh. The first print after installation fails exactly the same as before.

Mistake 4: Running ABL on a cold bed. Aluminum beds warp when heated. A bed that’s flat at 20°C may bow 0.15mm at 60°C. Always heat the bed to printing temperature, wait 2-3 minutes for thermal equilibrium, then run ABL. This is especially important for ABS/ASA at 100°C+ — our ABS/ASA printing guide covers the thermal expansion effect in detail.

Mistake 5: Trusting ABL to compensate for a severely unlevel bed. The mesh can compensate for 0.2-0.3mm of warp. If your bed is 1mm off corner-to-corner, the compensation creates slanted layers that affect dimensional accuracy. ABL is for fine compensation — manually level within 0.1mm first, then let the probe handle the rest.

Safety and Regulatory Compliance Notice

⚠️ Safety Notice: When modifying printer firmware, always verify the configuration compiles without errors before flashing. A misconfigured probe can cause the hotend to crash into the bed — test with M119 (endstop status report) to verify the probe triggers before running G28. The BLTouch and CR Touch use a 5V supply from the control board; do not connect them to a 12V or 24V source. The 2026 Creality firmware updates for the Ender-3 V3 series include native CR Touch support — check your printer’s support page before compiling custom firmware. As with any 3D printer maintenance, periodically verify probe mounting screw tightness — vibration loosens them over time.

For Creality Ender and CR-series printers, the official CR Touch kit with the 5-pin dedicated cable is a straightforward install that avoids the wiring confusion of third-party kits. It ships with the correct bracket for stock hotends and includes a pre-configured firmware binary for the most common board versions. Available alongside PEI sheets and replacement nozzles.


Leave a Comment

Scroll to Top