Adding BLTouch to Anycubic I3 Mega for ABL Tutorial

Please Login to Comment

BLTouch on Anycubic I3 Mega (Version 2 with ultrabase) - Needs to be 8 bit version
What you need is a BLTouch probe (Affiliate link, consider buying from here if you want to give some support to this: - Cheapest price I could find, and was the one I used to code the firmware with.

Make this mount in ABS/High heat tolerant filament, and install it as per his instructions (as far away as possible from hotend) using m3 screws and nuts
Credit to Petrzmax

Download the PDF for clear instructions and images on how to install the BLTouch to the anycubic I3 Mega

Link to firmware using Marlin 1.1.8 with ABL enabled. Firmware also uses Z-endstop for G28 command to level bed, and G29 uses BLTouch to measure bed surface.
Flash this firmware:
It will use BLTouch 5 x 5 point grid
Original firmware based off derhopp and beaving - uses latest marlin build

And usual disclaimer do this at your own risk, but works well for me
PDF of instructions attached to this group

Link to facebook discussion group:

For those of you who want to play with the firmware, the uncompiled version is here:

Anycubic I3 Mega BLTouch Mount

Thanks for the great guide! I can't get it to work though.

I did everything as you described, I've used the same Trianglelab 3d Touch sensor. It self-tests successfully when the printer is turned on.
However when doing G28 and G29 the sensor trigger is not read by the printer, it just keeps going down and crashes in the bed.

I've also tried sending this command:
M280 P0 S60
and then triggering it with my finger, but the M119 command keeps showing z_probe as "open".

I'm desperately seeking some advice as I'm about to give up.

The 1st advice that i give is throw away your 3d Touch & get a BL-Touch!

Well, thanks for now. First I'd like this thing to work. I've made a small Arduino circuit and connected it to the BLTouch's white/black wire.I can confirm that it sends a signal when the pin is pushed.

So the issue seems to be here, that the printer doesn't read the trigger signal on pin D2. I've followed the wiring instructions as in the PDF in the top post. I've tried several other firmwares, but can't figure out why it doesn't work.

Well 1st what printer do u have ?
If u got the I3 Mega you can still use endstops, but if u got the I3 Mega S u need to use the 3d-Touch has an endstop....

I've got the Anycubic i3 Mega with Trigorilla 1.0 board and Ultrabase.
Indeed it has the dual endstops but I want to use the 3D-Touch for ABL.

This is how i did it, this may not work 4 U....
Print this new z-stop holder to get the nozzle just a little lower then the print bed in the home position.
( Maybe this one wont work because it is for another x-carriage)
If it works U have to do a bed level and then U have to adjust your z height with the M851 command....

Anycubic i3 MEGA X-Endstop Holder For BL-Touch

Thanks, but the endstops are not the problem. The problem is the printer doesn't respond when the 3D-Touch is pushed (triggered).
I send the following commands to test:
then I move the Z axis to 10cm height
The Z axis starts moving down and I push the 3D-Touch rod with my finger...
.. but the printer keeps moving and I have to reset the printer to avoid it from crashing on the bed.

Sorry but i think the BL has to start from the home position, i would try that....

Just recieved my BLTouch v3.1 from ANTCLABS. Will be installing on my Anycubic Mega S with an X-Carriage MK4.
I've run into an issue with the length of the wire harnesses being too short. Not a problem that cannot be overcome. Just a pain in the rear. Wish there were more helpful images showing the connection in the motherboard. That being said, here's mine.

Am looking for some info that isn't quite clear. I see comments about using one of the Z-stops, but nothing in the documentation.

Has anyone gone with creating a quick swap connection, instead of sticking with their machine's original hotend PCB?


I installed Marlin Build from your repo here: (v.1.1.9)

My settings in configuration.h looks like this:
//#define MANUAL_PROBE_START_Z 0.2


A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
(e.g., an inductive probe or a nozzle-based probe-switch.)

Z Servo Probe, such as an endstop switch on a rotating arm.
//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {10,90} // Z Servo Deploy and Stow angles

The BLTouch probe uses a Hall effect sensor and emulates a servo.
define BLTOUCH
define BLTOUCH_DELAY 100 // (ms) Enable and increase if needed


BLTouch V3.0 and newer smart series
For genuine BLTouch 3.0 sensors. Clones may be confused by 3.0 command angles. YMMV.
If the pin trigger is not detected, first try swapping the black and white wires then toggle this.
//#define BLTOUCH_V3
I used the original BLTouch v3.1 from here:

I also tested your new repo Marlin 2.0.x:

I have home everything with G28 and use G29 all works perfekt. BLTouch Pin comes out but if I TRIGGERED it from hand nothing happens Z axis not stop!

If I home everything again with G28 and looks with M119 I see this:
< 13:10:36: x_min: TRIGGERED
< 13:10:36: y_min: TRIGGERED
< 13:10:36: z_min: TRIGGERED
< 13:10:36: z2_min: TRIGGERED
< 13:10:36: z_probe: open

The z_probe status won't change. I TRIGGERED the Pin manual but the status won't change. The Server cable on my motherboard is correct because I can use this command without any problem:

M280 P0 S10 ; pushes the pin down
M280 P0 S90 ; pulls the pin up
M280 P0 S120 ; Self test – keeps going until you do pin up/down or release alarm
M280 P0 S160 ; Release alarm

Only the trigger status will not work Z axis not stop! Any idea what the problem is?

Attached you find a picture from my BLTouch mount in the printers head. And a picture from the cable on my motherboard. I have the new Board 1.1.

I m having the same issue...
When i run a bed level I trigger manually before it hits the Ai3M Z stop and it does nothing... it continues going down and down and down until that trigger is hit completely ignoring the fact i manually triggered the BLTouch 3.1 (official) pin trigger.

I have a youtube video of what it does when i dont manually trigger it as well and you can see that the bltough trigger activates before the physical Ai3M trigger.

the blue light "flashing" is not flashing to the naked eye and is solidly lit

I added a BLTouch (original) to my Anycubic Mega S. Leveling works, but if I use G28 printer goes to home position without using BLTouch. The pin stays inn up position and the red LED is on. Do I have to activate this option at Marlin code?

Hi, how do I know I've got the 8 bit, not 32 bit printer. Also, does this work with any clone of the BLTouch probe?


If your MB looks like this: then its a 8bit one and will work with a BL-touch...the 32 shit won´t...
Never ever buy a BL-Touch clone !!!!

Thanks. I'll open it up and take a peek.

Sorry to dredge up an old topic but I'm trying to install a BLTouch on my i3 mega. Problem is, the plate on my older model x carriage doesn't have the ventilation slots that the newer model has (see attached photos). Does anyone know if and where I could get a replacement plate? Or does anyone know if there is an alternate mount I can use?

I know it's old but I read this the other day and hoped someone had made one as mine too has no holes in the top, but ended up having to do my own (I'm just a beginner at 3d cad stuff so took a bit of trial and error).

Obviously depends on your exact setup, but it uses the old blower fan mounting holes in the metal shroud, as I've got the part cooling fan at the back.

Just in case someone else can be helped by it.

Anycubic i3 Mega BLtouch Mount
by ajl959

Dremel the holes you need ?

I think at this point I’m just going to print out a new Prussia style print head. I ordered up some PETG, going to give it a shot.

If it fails I may whip out the dremel :)

Any difference to the instructions, etc if I'm doing this to a Mega S? Complete noob here.

You could wire it like this too. black = GND and white = signal.

Hi there,

Did you confirm this as working? Didn't check any schematics yet. Looks more solid than soldering 2 pins to the board.
Are you using the I3 mega or I3 mega S?
Just to verify you added ground (black) and signal (white) there?

Thx in advance.

I have a weird issue. When I started G29 the measurement is canceled on different points because the Z-endstop got triggered. I. I have applied 4 dishwasher 4 x 0,8 mm (3,2 mm) to lower the bltouch because the Z-endstops got triggered on my first tries.

I have measured 60,5 mm on the left and right axis. I use TMC2208.

Do you have any ideas?

First run:
0 1 2 3 4
0 +0.245 +0.405 +3.490 +0.312 +0.200
1 +0.357 +0.393 +0.470 +0.390 +0.270
2 +0.322 +0.442 +0.438 +0.418 +0.335

Second run:
0 1 2
0 +0.245 +0.405 +3.490

Wenn Du noch zusätzliche Fragen hast...

Ich hab nicht alles komplett gelesen. Das Hotend muss tiefer als das Hotbed liegen. Das habe ich mir schon gedacht. Das heißt, ich stelle die Z-Achsen so ein, das ich das Bett gelevelt habe und reduziere dann die Höhe der Z-Achse und prüfe das dann mit dem Meßschieber entsprechend nach, so das beide Achsen gleich sind?

Nicht ganz, der BLT sollte schon so eingebaut sein wie in der Zeichnung beschrieben....!
Die Düse sollte in der Home position leicht unter dem Druckbett sein, wenn das nicht klappt kannst du meinen X-Endschalter drucken.
Dann mit G29 die 9 Messpunkte anfahren und die Höhe mit den Thumpscrews soweit wie möglich angleichen, dies sooft machen bis du
zufrieden bist, gegebenfalls die Höhe mit den Z-Screws angleichen falls die Endstops wieder triggern...
Danach kannst dann in ruhe den BLT Startpunkt setzen...

Der X-Endschalter, den ich habe, der ab Werk montiert ist, sieht identisch aus oder übersehe ich da was? Dieser ist einige mm weiter links als das Original-Teil? In der Home Position ist dieser auch neben dem Druckbett.

Sorry - muß natürlich Endstop-halter heißen...

Wenn der Originale reicht dann lass es erst mal und versuchs mit dem...

Can u give me your source-code, please. I have trouble with your firmware. I want to change something, because the probe didn´t start on the heatbed.

I started modding the great firmware from davidramiro ( to work with BLTouch.
All is working fine right now. I'm in contact with him, to release a tutorial in near future, to make it possible everyone can edit his firmware for use with BLtouch.
If you are interessted just contact me. ;)

Anycubic i3 Mega / Mega-S Marlin 1.1.9 Custom Firmware - Extra Features & Quality Tweaks

Hello i am about to install BLtouch clone on my Anycubic Mega S but i am confused as i need to configure the marlin firmware, which is quite frustrating. Is there a ready-made firmware for BLtouch so that i may not go through all those difficulties and issues.

In the first post from Euk_rob...

I cannot seem to make this work properly. After a mesh probe the z ends up WAY too close to the bed. Slightly pushing the bed down, actually. I've tried changing the z-offset. No matter what I set the z-offset, after probing it goes right back to where it was. Just to be sure I set the z-offset to 10 (M851 z10; m500). No change. It goes back the same it always seems to be. Setting the z-offset makes no difference.

Does anyone have an idea of why? My starting print G-code is:

G28 ;
M420 S1;
G1 Z15 F1000;
M107 ; fan off
G5 ; enable resume from power failure
G92 E0 ; zero E axis
G1 E8 F200 ; prime
G92 E0 ; re-zero E axis

I have installed the probe. Wenn I startup my printer (Anycubic i3 Mega) the Probe will extend en retracts 2 times. Red licht is burning. Wenn I do a G28 everythings homes. Wenn I do a G29 The extruder with probe will only go up. It looks like its probing but the z ax will go up. The probe is still burning red and the little pin will stay retracted. What can the problem be ?

When needed I can post an video of it.

Did you get this resolved? I'm having the same exact issue.

No I haven't had any reply until yours and I quit using the probe. I do a manual bedleveling now. Please let me know if you find any sollution for this.

Will do. I'm thinking something is malfunctioning with the signal relay either on my board or the probe. By chance did you get the "smart" version of the probe? I emailed antclabs about it and I posted on the Anycubic FB group. Richard Phan said he left the offset from his compiled version and would add it soon. I complied my own with the correct offset but no go. I also tried sending the gcode commands to retract, extend, self-test, and error reset, but no change. I also asked what's the best way to test the signal from the board to verify I have it wired correctly but waiting on a response.

Do you guys have the Antclab BL-touch or the Clone?

Clone I Think

How much did you pay?
Under $20 -> Clone ! 3D-Touch
Above $ 30 -> Genuine BL-Touch

I got two clones, one works the other doesn´t.
The Bad one will probe, but the values will range from like 0.00 to 0.80mm... :((
I contacted the DFORCE Store, but the don´t answer shit - F**k Them!

So i ordered a Genuine BL-Touch for 39,-€ and i will report here if it works or not...

Can you tell me where you connect the wires of the working clone ? Maybe with pics?

3D-Touch Bed leveling ( Clone 10€ )

0 +0.063 -0.080 -0.304
1 +0.179 +0.131 -0.071
2 +0.188 +0.023 +0.230

0 -0.551 -0.389 -0.125
1 -0.063 +0.061 -0.126
2 +0.023 -0.098 -0.130

0 -0.548 -0.434 +0.065
1 -0.188 +0.033 +0.070
2 -0.013 -0.249 -0.305

BL-Touch Bed leveling ( Genuine 40€ )

0 +0.046 +0.209 +0.224
1 +0.443 +0.528 +0.417
2 +0.682 +0.545 +0.405

0 +0.058 +0.206 +0.206
1 +0.476 +0.544 +0.421
2 +0.701 +0.558 +0.408

0 +0.068 +0.219 +0.227
1 +0.472 +0.551 +0.425
2 +0.688 +0.558 +0.412

The D-force store where i bought the 3D-Touch didn´t answer my emails for help...
Of course you can buy 4 3D-Touchs for the price of 1 BL-Touch, 1 might actualy work...

Hello, I just installed this and wanted to set the offsets in the firmware but I can't use the ones for the mount because they are not integers. What did you guys use instead? I just used 1 and 24, but I am not sure if it will effect it in any way

I don´t really know waht you mean, but here are my offsets:
define X_PROBE_OFFSET_FROM_EXTRUDER 26 // X offset: -left +right [of the nozzle]
define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
define Z_PROBE_OFFSET_FROM_EXTRUDER 1 // Z offset: -below +above [the nozzle]

...but i´m using this x-carrage:

Bowden MK3 R3 X-carriage for the Anycubic I3 Mega
Comment has been deleted

Do I need to add additional wires or will it use the wires already available?

Du brauchst noch zwei 3 polige verlängerung für den Anschluß ins Gehäuse...

Thanks - danke :)

Never mind - got it working...

Do you know where is the original I3 Mega FIRMWARE_NAME:Marlin 1.1.0-RC8 just in case to restore?

hi Euk_rob,
very good work !

when my nozzle is on the plateau in Z = 0, the finger of the bltooch is 2mm above.

but I have a lot of trouble to make it work, very often at the G29, the probe starts work, but often stops at the 2nd or 8th test point.

Hi Euk_rob!
good job! i think i will do this upgrade but i have a question: the filament sensor and the resume from power loss function will work with the not-original firmware?

I installed a BL Touch clone and flashed your firmware but when I run G29 it only tests 1 point. Do you know what could be the problem ?

Your bltouch probe needs to be above your z-axis limit switch. Your probe will probably be flashing meaning you have an error because of this.

Thanks for your extremely fast reaction. It isn't flashing though.

Should I adjust the switch using the screw ?

*sorry, the z probe needs to be low enough before the Z axis limit switch are triggered, otherwise the Z axis limit switch will trigger first before the BLTouch touches the bed. So lower the z axis by adjusting the screws or increase bed height

I can't get it to work properly. It seems my mount is too short. I checked it using callipers and my height is the same as the height in Cura. I got it to work using using two washers (1mm extension in total) but it prints way to heigh.

Without the washers my nozzle crashes in my bed without triggering the probe.

To be honest I think the problem is that my z is completely out of level after tinkering with it

You need to set Z-probe offset. M851. Mine is at -1.

Remember to M500 to save it

And yea, looks like your nozzle is too low compared to your probe for some reason..... Must be different. But washers will do the trick. Make sure the probe stays perpendicular.

After a lot of fiddling i finally managed to get it to work. I used two washers and I changed my Z-probe offset to 0. That fixed my problems. I didn't change my Z-probe offset before but it did the trick anyway.

I am having the exact same issue but not sure exactly how you fixed it.

When retracted the BLT is above the nozzle. When its down it is lower than the nozzle. Retracted, the very bottom point BLT is 2mm above the very bottom of the nozzle. If i lowered the BLT any more i think it would catch on the print itself of hit the bed (retracted) before the nozzle hits the bed. So I think my BLT is in the right position. But its shown on my youtube video

my youtube video is here..

I am still having this issue. please help
Anycubic i3 Mega (not S)
Trigorilla 1 (not 1.1)
5x TMC2208 and reversed cables
Everything else is stock
BLTouch 3.1 original from Ant.

Thank you for this, at last some one did help us mortels... ;)

Just one thing is this version of the BL Touch the genuine one or just another clone?

Thank you again.

Works with both genuine and clone - verified to work with genuine by someone on FB
Clone is much cheaper though, and hence is viable option for those who want to save some money. The clone in the affiliate link above is a copy of the newest BLTouch with both blue and red LEDs

The reviews on Amazon show that the clones are really unreliable and tend to fall apart..
How long do you have yours ?

A few weeks so far, working great. Great quality from what i've seen

Thank you, i bought one, another 12€ ain´t gonna kill me ;)