Summary
BLTouch is a type of semiconductor hall sensor and is an electronic component for 3D printers.
BLTouch is an auto leveling sensor for 3D Printers that can precisely measure the tilt of Bed surface. It could work with any kinds of bed materials, such as glasses, woods, metals, and so on.
Features
Main functions and controls of BLTouch are the same as usual auto bed leveling sensor, consists of RC servo and micro switch. Thus, BLTouch can be applied on almost every board.
BLTouch is fulfilled with simple structure and high precision by using progressively designed solenoid and hall sensor. It aims for user convenience and enjoyable printing by adding many smart functions, such as self-test, alarm, alarm release & Touch Switch mode, Blue LED for servo signal indicating and Z-probe(Zmin) Testing.
Smart
Self-test : The push pin operate two times in a test when the power is on.
Alarm : If a problem is detected during a self-test or operation, the LED indicator will flash.
Wiring defect indicator : Blue and Red LED for indicating wiring defects.
High-precision
BLTouch’s Standard Deviation in repeatability is around 0.005mm, at that precise.
Engineering plastic(PC) push Pin
Engineering plastic pins are safer than conventional metal pins.
BLTouch vs. other sensor
※ The data above can be varied by assembling shape and other environments.
But assembled with the low quality 3D printer, we just get the value as 0.001~0.05mm. (It was the same BLTouch) Actually, around 0.05 is also not much problem at FDM type 3D printers.
■ BLTouch
BLTouch must be installed perpendicular to the ground.
If BLTouch push-pin can't be perpendicular to the ground, BLTouch will put wrong signal out.
■ Micro switch
BLTouch is equipped with all three function as micro-switch, servo motor and also servo arm.
Comparison would be pointless if micro switch sensor for bed leveling does not include the retraction and deployment method.
■ Inductive Proximity Sensor
At Inductive Proximity Sensors, to calculate the sensing distance for other application conditions the following parameters, which affect the sensing distance, must be taken into account. (For example : Variations in ambient temperature(Kθ), Different types of object material(Km), Size of the object to be detected(Kd), Variation of supply voltage(Kt))
Sa(assured sensing distance) = Sn x Kθ x Km x Kd x KtSn : nominal sensing distanceIf non-contacting Inductive Proximity sensor can be provided the same Parameter at whole working area, it must be the best auto bed leveling sensor for 3D printers.
But who can provide this?
Most of metal beds have various temperature(Kθ) areas at one bed, and its thickness(Kd) and object material(Km) are also various because of bolts, nuts, or supporters etc.
BLTouch History
Aug. 2015
discontinuance
( ~ Jan. 2016 )
discontinuance
( ~ Apr. 2016 )
discontinuance
(~ May. 2017)
BLTouch-Smart
The Latest Version
( May. 2017 ~ )
Genuine BLTouch has a QR code on PCB.
If there is no QR code on PCB, suspect it (All BLTouch produced after May 2017 includes QR code).
The fake BLTouch produced by Chinese immoral manufacturers (such as 3D Touch and TL Touch etc.)
is hurting many consumers.
Technology
BLTouch consists of Atmel ATtiny13A or ATtiny2313A(V2.2 and later), solenoid, and a push pin.
Innovative Solenoid : Ultra Power Saving
On idle state, while the push-pin is whether pulled out or retracted, there are no any electric current flowing on solenoid. Standby electric current in the whole device is below average of 15mA on working state,
but while the pin is moving, in a sudden about 100ms, under 300mA flows in the device.
Low power consumption even drops joule heating, and it prevents heat problem.
Hall Sensor : Free Bed Selection
BLTouch does not uses either optical, nor proximity(inductive/capacitive) sensor.
BLTouch is controlled by hall effect, providing high precision. Thus the bed material can be freely selected.
Optimized structure : Larger Build Size
BLTouch is a small, and technology-intensive device. Build size can be set larger than other existing auto bed
leveling sensor.
Easy to Use
BLTouch uses existing RC Servo motor signal intactly, so just plug BLTouch on the same pins after removing servo motor.
Control by G-code
Signal Timing Diagram
Z Probing
Probing with Push-pin Down(M280 P0 S10)
Step 1 : Push-pin Down(M280 P0 S10)
Step 2 : Probing(keep M280 P0 S10)
Step 3 : Push-pin Up(M280 P0 S90) after Zmin triggered
Probing with Touch Switch Mode(M280 P0 S60) ← only Smart V2.1 and later
Step 1 : Push-pin Down(M280 P0 S10)
Step 2 : Touch Switch Mode(M280 P0 S60)
Step 2 : Probing(keep M280 P0 S60)
Step 3 : Push-pin Up(M280 P0 S90) after Zmin triggered
Internal 3.3V logic conversion
If you want 3.3V Logic, please cut the copper line between the pad on PCB like this photo.
Push-pin
BLTouch-Smart V1.0 Push-pin (Aluminium)
BLTouch-Smart V2.0 Push-pin(Engineering plastic)
Engineering plastic pins are safer than conventional metal pins.
Specification (Smart V2.x)
※ BLTouch must be keeped perpendicular to the ground.
※ Additional power supply can be needed in case which your board does not supply enough amperage.
※ Electronic devices can be damaged or even destroyed if connected to the wrong side polarity.
※ The action as pulling/pushing hard the push-pin can make the BLTouch damaged and less accuratte.
※ If push-pin down error occurs, turn core 180 degrees with Allen-key so that the core is further inside the casing.
※ Self-testing for more than 10 seconds adversely affects precision sensors.
※ Do not activate 5V logic on 3.3V logic system without 3.3V logic conversion.
※ Board with large capacitor on end stop input circuit is not supported.
※ Depending on your type of 3D printer, you may need to remove or add some parts of the board.
※ If noise, etc. interference is expected, you should use a anti-interference extension cable(Shielded or Twisted Cable).
※ Selling price and specifications are subject to change without prior notice.
※ My board has a large capacitor in the end stop input circuit.
or my 3D Printer has an inductive sensor
Package List
1 X BLTouch(BLTouch-Smart)
Spare parts - for just in case something happens
(We do not provide spare parts and cable to 3D printer makers)
2 X Screw & Nut & Washer
2 X Spring for BLTouch Mounting
2 X Dupont Housing Shell 3Pin
2 X Dupont Housing Shell 2Pin
2 X Dupont Housing Shell 1Pin
10 X Dupont Terminal
1 X Jumper Cap
Firmware
Insert the following G-code into Slic3r or Cura
M280 P0 S160 ; BLTouch alarm release
G4 P100 ; delay for BLTouch
G28 ; home
G29 ; auto bed leveling
e.g. Slic3r
Wiring
BLTouch can be operated in the following condition.
One I/O for control (Orange wire : PWM or Software PWM)
One I/O for Zmin(White wire : endstop / Z-probe)
GND and +5V power
Most Board provides its own servo pin, so BLTouch can be used connected to one of those servo pins. As each servo pin has its own number, BLTouch will be controled with the servo pin number as following.
(Soldering and firmware update might be needed in rare case)
M280 P0 S90 ← SERVO0_PIN
M280 P1 S90 ← SERVO1_PIN
M280 P2 S90 ← SERVO2_PIN
Blue & Red LED : Please check wiring defects with Blue and Red LED( Smart V2.0 only ).
1) If the red LED flashes to 80% duty during 3D printing, check the wiring of the red cable (poor wiring).
It may be necessary to repair or reinstall the cable.
2) if the red LED in BLTOUCH flashes at 80% duty right after the 3D printer is switched on,
please release it with S60 or S160.
It's a message to check Wiring because your 3D printer board is already sending a control signal to BLTouch before BLTouch power is turned on. Don't worry, your 3D printer and BLTouch work perfectly even if the Red LED flashes at 80% duty.
It is common for BLTouch control signals to occur at machine startup or a little later.
e.g. RAMPS1.4 Wiring
Servo signal(orange wire) : D11 (SERVO0), Zmin (white wire) : D18 (Zmin endstop)
More Wiring
I can find a servo pin on my board. ☜ click here
RAMPS1.3/1.4, MKS-Gen V1.3, MKS-Base V1.4, etc.
I can not find any Servo pin on my board. ☜ click here
If your control board does not provide Servo Pin please change your code as below.
Please connect orange wire to the spare pin such as Endstops or Extensions pin (e. g: Xmax, Ymax, Zmax, etc.) and modify as following refer to pins_YourMotherboard.h.
MKS-Base V1.2, mini-Rambo, etc.
I can not find Servo Pin on my board and ☜ click here
#define SERVO0_PIN is not included in pins_YourMotherboard.h.
If your control board does not provide Servo pin, please modify as following. Connect orange wire to the spare I/O pin such as Endstops or Extensions pin (e. g : Xmax, Ymax, Zmax, etc.) and add following code to pins_YourMotherboard.h.
Sanguinololu1.3a, Melzi , Ender-3, CR-10, CR-10S(V1.1.3 / V1.1.4), Anet, FlashForge, Azteeg X3, etc.
Smoothieboard, MKS-Sbase, BBP1S, Alligator, AZSMZ, STEVAL-3DP001V1, Duet, etc.
My board has a large capacity capacitor in the end stop input circuit.
or my 3D Printer has an inductive sensor
※ When replacing a conventional proximity sensor with a BLTouch,
install a jumper cap between the signal and GND if necessary.
BLTouch Extension Cable
If noise, etc. interference is expected, you should use a anti-interference extension cable(Shielded or Twisted Cable or Copper Shield Network etc.).
(Shielded Cable) (Twisted Cable)
Rearrange the position of cables
If you need, you can rearrange the position of cables by tweezers or cutter like in the picture..