Anet A8 3D-Touch Mount

by OderWat Feb 7, 2017
Download All Files

Thing Apps Enabled

Please Login to Comment

Comments deleted.

Anyone seen something like this done in aluminum?

hello there.
I've had my touch sensor for a few months now with mixed results. I'm having trouble with the height of the nozzle and the touch sensor.
how do you get the nozzle to the right height with the sensor?

this one print was too high for me, nozzle first contacted build plate before blTouch was activatec, i needed to lower mounting about 1 mm to fit it.

to setup Z offset take a look at this tutorial:

Here is the Pin 27 breakout board for Anet board if anyone interested. https://www.ebay.com/itm/202571021260

I bought one of these ,and it works perfect . I didnt like the idea of cutting up a ribbon cable ,but was gonna so i could run a bl touch until someone gave me a link to his board . Hes a really nice guy and will answer any questions you might have about getting the bl touch up and running . I installed mine on a A8 with the Anet 12864 lcd out of a A6 ,and i ran into some issues with the anet control board not having enough memory to run the lcd and bilinear bed leveling at the same time . He helped me to disable some things that were not needed to get the file leaned down enough to rub stable with my board .

I have used in combination of the "distant" version "BLTOUCh cover protect protector BLTOUCh ANTCLABS" https://www.thingiverse.com/thing:3113258 to add extra (heat) protection and as well: "Mistral 2.1" Extruder Cooling Duct for the Anet A8 Printer" https://www.thingiverse.com/thing:2121279 works great!

Thank you OderWat for that nice part.

BLTOUCh cover protect protector BLTOUCh ANTCLABS
"Mistral 2.1" Extruder Cooling Duct for the Anet A8 Printer
by Leo_N

Hi, I have two question. Does the sensor not affect the temperature of the extruder? Is not it too close? How do you put the filament? Is not it very difficult like that?

anybody an idea if the BLTouch will work on Ender2, you find a lot of info for Ender 3 :-(
If this comment is not on his place here please remove it

Anyone tried this with trianglelabs BLTOUCH and klipper ?

I have newest git version of klipper and dont come arround with all these settings - with marlin it works great (have the "Distant" version cause of the "Mistral 2" but with klipper i dont know where to start :(

ANET A8 User

Since now my config looks like this:

[servo bltouch]
pin: ??????????
maximum_servo_angle: 180
minimum_pulse_width: 0.0006
maximum_pulse_width: 0.0024

pin: ??????????
speed: 5.0
x_offset: -26
y_offset: -15
; higher number means closer to bed
z_offset: 0.0
G4 P200
G4 P400
G4 P200
G4 P400

what im missing is [homing_override] and [bed_mesh] there i dont know what to put in - maybe anyone has klipper and an a8 with bltouch and can help me ?!

sorry for my bad english im from germany :)

Where did you get the top fan mount model. Could not find that design

Anet A8 alternative 40mm Extruder Fan Mount

Much appreciated. :)

Comments deleted.

Is it just me or the hole dimension wrong. I printed it and it does not fit. The holes are the ones of the stepper motor which are 31mm apart from each other (see image). The holes of this holder are spaced 32mm :/
I now changed it to 31mm and it fits perfectly.

If requested I can upload my part (with some other modifications)

I had the same issue, but only with the dist bracket.. the rear version fits perfectly.
not sure if the X and Y offset in marlin is the samen with those different brackets..

Hi I follow instruction step by step but i got the following issue:
once I start autohome nozzle (z axis) doesn't once it reach the bed, it keep pushing down.
Bltouch is working because selftest is ok, so I suppose also wiring is ok.
I'm using marlin 1.1.9 and default anet a8 display.
Can someone help me?

Seems like it does not report the state to the endstop pin.

Did you do test this?

M280 P0 S60 ; switch triggering test mode
; move pin at the sensor up or down manually
M119 ; reports state of the endstop
; pin up (LED on) z_min should read TRIGGERED
; pin down (LED off) z_min should read open

Hi, I need some help. I'm using this mount, but my sensor seems to be a bit sensitive to its surroundings. When I remove the sensor from the mount and hold it far from the extruder it works (the light stays red). But when I put it in the mount it fails and starts blinking. Can someone help?

I mounted it upside down like a genius. the bltouch was off angle a bit and getting too hot giving inacurate readings. Swaped it over and it's working great! Thank you for this.

Lol! Something like that happened to all of us! Only real men confess it! Glad so see it works for you!

What size hardware are you using to screw it into the extruder motor? I can't find the short screws that came with my A8 and have to go to the hardware store to get some...what size??

I do not own an A8 anymore. I just got a collection of screws some time again.

Damn.... Going to be a pain in the ass to figure out the correct length...lol

hello I feel my english, I use a translator.

I have received my 3dtouch, I have an a8 anet but with the lcd 12864, I see that the installation requires a pin that currently uses my lcd,

my question is if I can use my 3dtouch with this lcd? and if yes, how would the installation have to be done?

I'm sorry I'm a newbie
greetings and thanks

Thanks for your design. Great work. Mounted one in my Anycubic Prusa but I had (I guess) a magnetic field interference between the sensor and the extruder motor. Made a remix and mounted it behind the motor. Now works perfectly.

Does this really work on the bltouch? I have the feeling this only works for the 3D touch.

In my case (bltouch) the extruder touches the heatbed before the sensor is triggered. The sensor is just a bit too high up. Anyone else who had the same problem?

I have the same problem, I had to take of 5-6mm plastic. The genuine bltouch seams to have a shorter probe then the nockoffs. I don't have a Anet A8, but a replica. I have quite a long extruder throat, 26 or 28 mm I think it is.

They have the same measurements and the region where the recognition takes place is not even 4 mm. This should normally work. But you could have mounted your nozzle very low by not screwing the throat far enough in. So you could either try to bring you nozzle a bit up or file off some plastic on the top of the mount (if you can't modify the model itself).

Hi, i've downloaded your version of the firmware and when i try to upload it just says this:

exit status 1
Error compiling for board Anet V1.0.

Any ideas what to do?
I have a stock Anet A8

Stock ANET A6,
Marlin 1.1.8
BLtouch "smart" sensor

The BLUE LED inside the BLtouch is blinking in sync with the CPU LED. All sensor wiring is correct but I get no response from any M280 command or from the Marlin LCD menu commands. Is there some additional setting in the .h file not mentioned in your comments? I am using pin 7 on the J3 plug (like you picture shows) and defining SERVO0_PIN 29.

When you say "If blinking adjust the set screw on the sensor" are you referring to the internal BLUE LED or the RED trigger LED? The Red LED is on solid when the probe is up and off when down.

Anyone used this for Repetier firmware boards?
i want to make it work in the ZONESTAR printer

what tipe off blower you have?

Hi , i have a Tronxy x3S with a CXY-V.2 board.
This board is very similar with Anet A8 board. Can you telle me how you find the free pin for the signal cable of bl touch.
For other cable is ok, my firmware is ok (marlin) but i don't find how to know which pin I can use
Really thanks for your advice

im having a slight issue with it, I did not have extra screws so after I removed my fan and heatsink the screws where to long, so I left them on, and attached it like that, but it appears to be 1-3mm to high, any suggestions?

Comments deleted.

Help. I downloaded the firmware that you said you use and flashed my anet a8 board. The 3d touch worked with all the commands, pin up, pin down, pin continuous, etc. But my LCD just shows two lines of squares across the screen? Had to flash back to original skynet 3d alfa for the anet board to fix lcd screen. Also when the 3d touch cycled and on the second touch my extruder would raise up away from board about 6mm and stop there. Thank you for any help and the fine work that you do.

Are you sure you have connected everything in the accurate place? Check all connections to see if you are plugging the wires in the right place because it looks like there is a short-circuit due to a wrong wiring.

I'm hoping someone has had this issue and can enlighten me. I finally got the firmware set properly (I think anyway), wires good. It passes the self test, up/down, etc, but when I G28 it just goes all the way to the left and then down as if it was homing and just grinds the Z motors until I unplug it. I'm guessing I missed a line of code somewhere, but I've been through it line by line numerous times now. Any help would be greatly appreciated.

Edit: Just to clarify, we completely disconnect the Z endstop, correct? Or do we wire it in with the probe? Thanks again. And thank you OderWat for this amazing guide!

Edit2: I turned on z_safe homing and it worked.

Greetings to all. Sorry for my translation but I don't know English. I have a problem are multiple times that I reread the configuration text h. but I can't find the entry #define SERVO0_PIN. (27 or 29). Some good Santo could point me?

is not in that file (configuration.h) is in another (pins_ANET_10.h)

Thank you very much.

It helps me a lot to calibrate the sensor because it always goes into alarm even in panic since z goes up instead of towards the bed watch this video
thank you very much for your great work OderWat


Can you please add a version that will allow me to still mount a extruder cooling fan?

I am sure there are plenty of other mounts available on Thingiverse. I am not spending time to create one I would never use myself. Sorry for that.

I've looked at all of the other mounts for bltouch/3Dtouch for the anet a8. none of them include all of the settings you need for marlin. which makes them useless.

You can use the settings with every holder. The one thing you need to measure yourself are the probe offsets. which is pretty straight forward if you simply put some paper on the printer and mark the locations with a pencil to measure them afterwards.

This is the ultimate guide on how to get your BLTouch to work on the anet, even if you print another mount (which I did).
Thank you for the incredible instructions!

Does anyone have the offsets for the "rear" mount?

I think this is the rear mount offset .. (worked for me)
// 3D Touch Sensor :)

define X_PROBE_OFFSET_FROM_EXTRUDER -26 // X offset: -left +right [of the nozzle]

define Y_PROBE_OFFSET_FROM_EXTRUDER +15 // Y offset: -front +behind [the nozzle]

define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]


Comments deleted.

Ich habe da ein Problem mit der Firmware ich hoffe Sie können mir da noch mal helfen. Habe mein Anet A8 auf E3D V6 umgerüstet.
Wenn ich den Z Offset einstelle Triggert er mit G30 Y110 X110 nicht in der Mitte vom Bett
Mit G28 Triggert er in der Mitte und auch wenn ich die Nozzle mit G1 X110 Y110 in die Mitte Fahre steht die auch in der Mitte.
Habe folgende Werte eingetragen.

// Travel limits after homing (units are in mm)
define X_MAX_POS 250
define X_MIN_POS -15
define Y_MAX_POS 220
define Y_MIN_POS -10
define Z_MAX_POS 250
define Z_MIN_POS 0

// 3D Touch Sensor

// Set the boundaries for probing (where the probe can reach).

Die X_Probe_offset habe ich so hoch gesetzt damit er bei G28 in die Mitte fährt und abtastet.
Habe https://www.thingiverse.com/thing:2193695 und https://www.thingiverse.com/thing:2443459 verbaut

Anet A8 E3D V6 Bowden MODULAR X Carriage V4 *BEST ONE*
by Don1337

Hi Oderwat,

I want to mount a 3D Touch on a Anet A8 with a modded LCD (the one from the A6).
When you say: "On the A6, you can use wire no. 7 and FW pin 29. I could verify that with the A6 display I have available."
Where is located wire no.7 and FW pin 29?
There is the need to use both pins?

I'm having the same question (same Hardware : A8, Graphic display (from A6) + BLOUTCH)

"wire no. 7" must be wire on the display cable (wire no. 7 replaces wire no.3 if using the original display)

I think that "FW pin 29" means to exchange in the section of the code from:

define SERVO0_PIN 27


define SERVO0_PIN 29

I'm not certain, and I also haven't tried it yet.
If you try it, please let me know the results.

That's correct, in the picture by Oderwat the orange wire goes to to Pin 3, if you move it up two pins it will be wire 7 (the seventh from the red wire if you want to cut the ribbon cable).

The code change by Red_Painter is correct.

Has anyone made a tutorial video on how to do this? I am a complete noob, still trying to figure all this out.

Greetings makers!

Does anyone have the authors config file for this project? I have altered my own config.h with the lines posted above but the sensor does nothing when sending it commands.

I can't seem to get the probe to move at all on its own. If i push the pin in manually, it glows orange. If i pull the pin out manually, the orange light turns off. I ran a continuity test on all wires from the board to the sensor so i know its wired correctly.

Any help from anyone would be greatly appreciated! :)

Thank you and have a great day!

I'm having this same issue. Can you share how to get it working?

Disregard, I got it working by hobbling together some code. :)

Well, why don't you share it then, so others, like you before, can find a way to make theirs work as well?

Hi OderWat, I thought the "rear" mount is for mounting the sensor behind the nozzle, like the inductive ones. So I got this printed but it won't fit anywhere. Where is the rear mount going to be attached?

I'm a bit confused, which version I have to use, the facebook is the 2,3,2 fix 2 or these two other versions 2.4.5 or a version that is in your github

I was following your bitouch tutorial and the screen like the one you have on your website

I compiled the version 2.3.2 fix 2 and I have it in bitouch tests, I found this new information of some more current versions



Hello and thanks for the great turorial! I have a question regarding the wiring for the bl touch. So if one uses an anet a8 or similar but an full graphic display (lcd 12864) one has to use the 7th instead of the 3rd wire and has to define servo_pin 29 instead of servo_pin 27 in the configuration.h? Thanks and best regards!

Thanks for the great tutorial on this! I thought I had everything wired up decently enough but apparently not. What controls the blue light? Mine won't stay on accept when I jiggle the wires. I can't tell which one is actually the culprit though. The bltouch doesn't respond to any of the M280 commands and just drives into the bed when a G28 is ran. Any ideas? Also, I can't enable the bilinear auto leveling. When a M420 S1 is ran, it says failed to enable bed leveling. If i enable linear leveling, it works fine.

Thanks again!

I redid everything with Skynet 2.3.2 and now everything is working fine. I had been trying with 2.4.4. I'm satisfied. Thanks again for all of your work!


The second image shows the mount on the left side of the bracket, closer to the nozzle. Is this too close to the heated element, or is it a safe distance? Also, is there and STL for that arrangement?

Well I use it like that (with PETG printed). It is the "rear" version which had 4 identical STL. I deleted three of them now. As this was a problem with uploading I guess.

Would this work with PLA, and how does that effect the Skynet instructions?

I am not sure if PLA will be OK. It tends to deform slowly even when the temperature stays below 60 degrees celsius and thats a no go for a sensor mount.

P.S.: I am not doing anything with SkyNet3D anymore because the Anet Changes are in the official Marlin firmware which makes SkyNet3D obsolete.

Habe noch eine Frage zu der Software.
Ist es möglich das er den Stepper für den Extruder mit weniger "Kraft" ansteuert ?
Ich habe ein etwas Krummes Filament und mit der Originalen hat er das ohne Probleme durchgedrückt aber jetzt mit der Marlin Version drückt er das Filament nicht weiter und irgendwann druckt er dann trocken.

Vielen Dank schon mal

Hallo OderWatt,
auf Bild #3 ist eine Halterung für die Montage des Lüfters vom Extruder zu sehen (mit Anet A8-Strift).
Gefällt mir ;) Hättest du netterweise einen Link? Vielen Dank.

Thank you so much for guide OderWat, installed easily!

I have a problem though and wonder if anyone had the same. In PronterFace using GCode BLTouch works great! I can G29 for bed level, all good! When I do a print off SD card, it does the levelling and then tries to move extruder down through the bed. I have to kill power to stop it.

What G-Code are people adding at the start of their prints?

Comments deleted.

I got everything up and running, I used your configurations but there is one thing I cant seem to figure out. How do I get the 3dtouch to try out all the corners of my bed? It now only auto homes to the center of the bed, but it does not check the other corners. Isn't this nessacery?

Klasse Arbeit und super support von dir, wenn es um Fragen geht!
Ich habe leider auch eine! Ich habe ein A8 mit dem A6 Display. Jetzt muss ich das 7 Kabel, ab der roten Markierung, abgreifen und dann folgendes in config.h ändern:

define BLTOUCH

define SERVO0_PIN 27 auf Pin 29???

Bin echt durcheinander.
Wenn ich Deine Config übernehme,muss ich ich lediglich das Display ändern, oder?
Vielen Dank!

Ich verwende SkyNet 2.3.2

Hi OderWat, I thought the "rear" mount is for mounting the sensor behind the nozzle, like the inductive ones. So I got this printed but it won't fit anywhere. Where is the rear mount going to be attached?

Ich wollte mein Anet A8 auch bald mit den Sensor ausstatten. Daher bau ich mir gerade ein kleinen Adapter für das Display Kabel um es nicht zu zerschneiden und damit man den Sensor besser anstecken kann.
Hoffe es kann mir jemand helfen und zwar würde ich gern wissen welcher Pin vom LCD Stecker Ground ist. Dann könnte man den 3er Stecker mit Weiß/Rot/Braun belegen der direkt am Z Endstop dran kommt und den 2er mit Orange/schwarz, für den Schwarzen würde ich dann Ground vom LCD raus legen bei den Adaopter.

Hi there Oderwat
First of all, thanks for all your great jobs. I had this sensor working on my anet a8 following your instructions, but I only get this lately.
-G28 Homes X and Y, but won't try to home Z
-G29 obviously asks to home Z first.
-Tried adjusting the screw, no luck
-Specific bltouch commands such as release alarm, pull the probe, etc... won't work.
-Reflashing firmware won't solve the problem (there's no reason to think it would, since it had no changes before it started failing).
-Checked the wiring, no problems spotted.
-All the steps above have been tried in 2 different BLtouch sensors, and both do the exact same thing.
Hope you can help me, I'm about to throw the whole printer outta the window.

hi. if i change



for the distance mount i´ll get an error:
The given RIGHT_PROBE_BED_POSITION can't be reached by the Z probe.
where can i fix this issue?

Well you can't reach 200 with the probe as it would be X at 226 and I guess you have a 220 bed. You need to lower the right probing location.

ahhh. okay. thanks.
i have used your locations and parameters from the details.

Not really.. there the X_PROBE_OFFSET_FROM_EXTRUDER is -20 which is a "just still fit". But anyway. Should be an easy fix to make.

ups.. sorry.. my bad. I spotted the problem! Will fix that in the description!

Poor OderWat, being bombarded with a million questions!
I just wanted to thank you. My 3d touch is working flawlessly. I appreciate all of your effort!

Thank you OderWat for all the work you put in on this...

All the parts arrived and I did/redid/replaced: new hot-end, mounts, rear mount, x-carriage, bearings, Skynet3d firmware.....this afternoon. it all works as it should.

I am having a little trouble telling the firmware I want the item being printed to be "back" on the Y axis - the X axis is very close to center but it all works ......

Thank you again OderWat

Hello OderWat,

Thanks for your post.
I've mounted my BLTouch with this support https://www.thingiverse.com/thing:2334154. My Anet is Flashed in 2.4.4 with your last configuration file. I want to calculate my Z offset following these commands

; heat for printin
M851 Z0 ; Z-Offset to 0
G28 ; Homing in middle of bed
G1 X110 Y110 ; move nozzle to center
; move nozzle onto paper (gripping)

But I can't move down the nozzle :
G1 Z0 F100
doesn't work.

What am i doing wrong ?

Anet A8 BLTouch Holder by jeanmicheld59 remix

I guess you need to disable software endstops before you can move the nozzle into - direction .. I will add that to the procedure listed

M211 S0 ; disable software endstop

A new more question OderWat.
At the beginning of the print, BLTouch start touching down 3 times in a front line of bed and on the 4th it stop working, nozzle go down and try to pass through bed.
Do I use a specific Start G-code instructions instead of G29, change something in configuration.h file ?

Nope .. it just means that your BLTouch is not working good enough. Try to adjust the screw and make sure the selftest does continue endless.

Thanks a lot. It's working now :)

i can´t find the "#define SERVO0_PIN 27" parameter in your repo. is it still in use?


Can you send me your configuration.h please. I have an Anet A8 with a BLTouch and your mount printed but I can't make it work.

[email protected]

Thank you OderWat !

I've just uploaded the firmware on my Anet A8 5 buttons. First of all, I've a strange issue : my LCD is just showing 2 white solid lines but it is not a big problem cause I manage my printer with a raspberry pi (Octopi).

So I decide to find my Z offset after all. I try to did it your way but I encounter a problem here :
"G1 X110 Y110 ; move nozzle in center
; now move your nozzle manually onto the bed such that it (strongly) grips paper."

When you say "manually" do you mean with the screw, or disable the stepper and move the Z axis or with moving the nozzle with G-code ?
I tried to move the nozzle with G-code with "G1 Z 0" and try to put the nozzle on the bed. I've done this with skynet firmware 2.3.2 with a negative value but, apparently, with this marlin firmware I cannot go under Z 0, for example "G1 Z -2" do noting...

I think I'm missing a point, please can you help me ?

I'm sorry for my english, I try my best but I'm french :)


I can answer partially to my own question for the Z offset, I find it in the comment bellow... sorry about that
To go under 0 we must use "M211 S0".
So to have the Z offset :
; preheat for working temperatures
(M502 ; optionally reset to firmware settings)
M851 Z0 ; reset any z-offset
G28 ; home all
G1 X110 Y110 ; move nozzle in center
M211 S0 ; disable software endstop
; now move your nozzle manually onto the bed such that it (strongly) grips paper.
G92 Z0 ; tell the printer that this is Z = 0
G30 X110 Y110 ; move the sensor over the center and let it trigger
; note what z position G30 reports, that, negated, is your z offset
M851 Z-1.23 ; register that z offset (here 1.23 as example)
M500 ; store those values into the EEPROM

Now I have to figure out why my LCD screen is just showing always 2 white line...


Most likely you have selected the wrong display! The white lines show up if the display is not initialised at all.


Can you help me? I'm trying to install 3DThouch on my Anet Stock Board. I already flash the Skynet and install the sensor. The probe rises up and down normally, but the Z endstop is always engaged. I have already modified the "#define Z_MIN_PROBE_ENDSTOP_INVERTING false". My Skynet is a little diferent that yours. I followed this video "https://www.youtube.com/watch?v=l2B9lNi8LHE&t=137s&spfreload=10".

It is not "my" Skynet.. it is the official Skynet3D. I don't want to spent time with other releases, neither modifications or others than the newest in GitHub.

Is this the only way to wire the 3D-Touch sensor, or is there a way to wire it without messing with the LCD screen wires?

Well, you should be happy that it works at all :). You can solder to the PCB off display or board. You could design an adapter which goes in between board or lcd connectors and sockets. In the end the presented way is the easiest way I could figure out.

Hmmm okay. I just got my 3D Touch sensor and I'm trying to figure out how to wire it. So far your instructions are literally the only thing I could find online (other than the terrible "official" instructions).


hab heute den Sensor installiert. Verkabel ich den so wie angegeben, blinkt er nur. Vertausche ich GND und Z Min, macht er kurz nen Selbsttest, also zieht 2 mal ein und aus, und bleibt dann drin, mit der LED an.

Allerdings reagiert der Sensor nicht auf Kommandos. Wenn ich von Hand den Pin bewege, ändert sich zwar der Status der LED, aber M119 zeigt immer open an. Hab alle laut dieser Anleitung gemacht, lediglich mit anderen Offsets wegen nem anderen Mount.

Zu Verkabelung kann ich so nichts sagen. Der Selbsttest ist schon ok aber was GND mit Z-Min vertauschen zu tun hat erschliesst sich mir da nicht. Ich würde erstmal nur orange/rot/schwarz anschliessen. Das sollte den Selbsttest machen und dann das "Servo" mit den M Befehlen ans Laufen bekommen. Damit muss er dann den Pin bewegen (M280 P0 S10 / M280 P0 S90). Dauertest (M280 P0 S120). Wenn gar nichts passiert, stimmt entweder die Verkabelung mit dem Display Pin nicht, oder die Firmware ist nicht korrekt konfiguriert. Zum M119 musst Du auch beachten, dass Du den Status nur bekommst, wenn Du den korrekten Test modus aktivierst (M280 P0 S60). Ansonsten zeigt M119 immer "open". Völlig egal was Du am Pin rumspielst.

My BL Touch came with a resistor. Is it necessary to install it and if so, where? I guess it's a 'pull up' resistor for the output of the sensor.

The Anet board contains a pull-up resistor. I think you can ignore it.

Thanks very much for the prompt reply! I'll start looking at the software tomorrow. Wiring done!

I am getting an error after adjusting configuation.h file is keeps saying

error "You must enable either Z_MIN_PROBE_ENDSTOP or Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use a probe."

What do i need to do?

sorry posted under my sons account

Well you need to enable one of them :)

I did and then it gives me a pin is not defined or another error

Well, you need to follow those errors until none is left. Make sure you use the latest SkyNet3D release and Anet Board from GitHub.


Sorry for bothering you so much, Firmware update worked to make everything operational but every time I use G28 it homes everything and does not center xy before moving z. What might I be missing in the firmware setup?

Will try the new skynet version. I am very new to updating firmware so fingers crossed.

Thanks OderWat. Your skynet version worked flawlessly. I just had to change the screen and add sd support back. Wonderful work!

Thank you for this addtition. Forced me to learn a lot about the F/W and workings of the printer. Working great.

Thank you so much for your instruction. In the process I was able to learn much more about the firmware side of the printer.

First of all thanks for at great piece of software and detailed mounting instructions!

I'm having a bit of trouble moving the Z-axis down enough for the nozzle to drag on a piece of paper. After preheating, "M851 Z0", "G28" and "G1 X110 Y110", I can only move the Z-axis down to ~2 mm. of clearance. Any hints would be appreciated. I'm using SkyNet3D 2.4.3.

What limits moving it further down?

The Z axis won't move below 0 which might be a Z limit set by the preceding "G28"?

; heat for printin
M851 Z0 ; Z-Offset to 0
G28 ; Homing in middle of bed
G1 X110 Y110 ; move nozzle to center
; move nozzle onto paper (gripping)
G92 Z0 ; define as 0 for Z
G30 X110 Y110 ; does probing in the center
; Z-offset is what G30 reports (negativ)
M851 Z-1.23 ; what G30 repots 1.23 in example
M500 ; write to EEPROM

The "; move nozzle onto paper (gripping)" step is the issue. The firmware doesn't let me move the nozzle below 0, i.e. negative, which is required for the nozzle to grip the paper.

Please try to disable endstops "M121" at that point ... if that does not work give it some room with "G92 Z10". How do you try to move the nozzle?

I found the issue to be the software endstops which can be disabled with "M211 S0". Thanks for the hints!

Puhhh, ich komm irgendwie nicht weiter und brauch mal Deine Hilfe...

Hab den BLTouch wie Du beschrieben hast verbaut, klappt auch ansich alles.
Test vom Sensor läuft erfolgreich, triggern tut er schon mal richtig.

Ich habe nur eine andere Mount verwendet, und zwar diese hier:

SkyNet 2.3.2 mit eigener angepasster Konfiguration.
Leider funktioniert bei mir gar nix :( Bei G28 fährt er mir am Rand runter, bis ins unendliche...
Der fährt bei mir nicht mal mittig aus, an G29 ist erst gar nicht zu denken...

Und was ist da die neuste Firmware von SkyNet, die auf dem Anet A8 läuft, vor allem mit BLTouch?
Überall liest man etwas anderes, weshalb ich mich gar nicht rantraue...

Anet A8 3dTouch rear mount

Benutzte einfach mal meine eigene Config von https://github.com/SkyNet3D/Marlin/commits/SkyNet3D-Oderwat .. das ist auch gleichzeitig die neueste die Du bekommen kannst, denn ich bin deren Maintainer. Du solltest dann auch das ANet Board von hier nehmen: https://github.com/SkyNet3D/anet-board ... in meiner Configuration.h musst du aber dann "#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER" aus und "#define ANET_KEYPAD_LCD" ein kommentieren. Da ich vermute, dass Du das original 5 Knopf Display hast.

Die jeweils neueste SkyNet3D Firmware gibt es immer hier:


Wobei der OderWat Branch praktisch immer genau diese mit ein paar Config Änderungen für meinen Drucker ist. Dazu gehört der BLTouch und das RepRap Discount Display, die ich hier in meinen Things habe.

Von dem "rear Mount" kann ich ausserdem nur abraten, da er aufgrund der Achse höhere Abweichungen als das anbringen auf der gleichen Seite bringt. Das ist aber ein anderes Problem.

Danke soweit, ich fummel mich grad durch...

Ich bekomme aber bei deiner Config den Fehler "'ABL_GRID_MAX_POINTS_X' was not declared in this scope"?
Das mit dem Display habe ich bereits umgestellt, ich muss auch noch den Abstand zu meinem Sensor anpassen.
Aber kannst Du mir verraten, was es da mit diesem Fehler auf sich hat?

Du kannst nicht "nur" die Configuration.h nehmen. Das ist SkyNet3D 2.4.1, da gibt es sehr viele Änderungen zum letzten Paket Release der SkyNet3D Firmware. Ich meinte eigentlich "benutzte die Version und übernehme erst mal meine Config :)".

Dachte ich mir schon irgendwie, aber wie bekomme ich die 2.4.1 denn auf den Drucker? Gibt ja irgendwie keine arduino Datei, oder bin ich blind? Ich check's nicht, habs bislang immer via Arduino geflasht... :-/

Da ist doch "Marlin.ino" drin?

Ah, ok, habe ich übersehen. Scheint nun zu laufen, mit Deiner Konfiguration. Aber sag mal, ist es normal, dass es beim Bootvorgang vom Drucker nun Skynet 1.1.1 anzeigt? lol

Der zeigt was man konfiguriert (version.h) :) und ich hatte da eigentlich SkyNet 2.4.1 und darunter Marlin 1.1.0-1 machen wollen aber es dann vergessen :-) mache ich demnächst mal rein.

Letzte Frage noch: Was ist, wenn der BL Touch nur anfangs am blinken ist und sich danach plötzlich gar nichts mehr tut? Hab gerade eben alles neu verkabelt und nun habe ich das Problem, gestern lief alles noch. Mag mir nun ungern 22 Seiten aus dem Forum durchlesen :-/

Comments deleted.

Thank you so much! finally got it sorted. There are NO videos on how to wire this probe up to the board properly!! Someone should remedy that!

Yeah. My part is more the figuring out what to do... having that streamlined is something which bores me to death :)

Has anyone tried printing ABS without the fan? Wouldn't the higher temps for abs without the fan clog the throat? It's my understanding that the fan is there for the purpose of cooling down the throat Couldn't you possibly just use this mount with a bracket like this http://www.thingiverse.com/thing:2290361 and use longer M3 screws to attach it all together?

Anet A8 Extruder Fan Modification V2
by hadoko

Well I print PETG with 240 degrees of celsius very often. I refuse to print with ABS for environmental and personal health reasons. I do print with flexible filaments which are prone to go wrong if the tube gets hot. Also without any problem. If you consider that ABS has a much higher melting point than PLA there should be problems with PLA first.

I actually never heard from anybody having melting material inside the throat who mounted it the right way around (teflon tube down) and had a sealed connection to the nozzle itself. I have the fan mounted such that it blows onto the j-frame and motor chassis to transport the heat away from the construction. It works without the fan too but it gets warmer over time than with the airflow atop.

I got into many arguments about this topic in different communities. Everybody who tried it, agreed with me that it works but there are still people which insist that it "should" or "would" not work shrug.

Thanks a lot for the mount and the brilliant wiring/configuration instructions, without them I would have been totally lost :) After having to tinker around with the sensor itself a bit and some head crashes due to my very own mistakes I'm now one happy auto leveler ;)

Nice to read it works for you! Have fun!

i have installed it and have tested the firmwear seems to be working
i am using a anet a8 with marln_skynet v 2.3.9

in the display on printer i get the message stopped with flashing ? marks at x ,y, and z
i am using the stock 5 button display

when i try to do a home
this is what comes up

< Error:STOP called because of BLTouch error - restart with M999
< X:-33.00 Y:-10.00 Z:10.00 E:0.00 Count X:-3300 Y:-1000 Z:4000
< echo:Home Z first
G28 Z0
< Error:STOP called because of BLTouch error - restart with M999
< Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)
< X:-33.00 Y:-10.00 Z:10.00 E:0.00 Count X:-3300 Y:-1000 Z:4000

i have tried the M999 but nothing happens

can you please help me with this i would love to be able to print again

thank you so much for your tine on this

Did you manage to get it working? having the same issue...


You have a solution, I have exactly the same problem ?

I tested:

M280 P0 S160 ; Reset 3D-Touch
G4 P500
M280 P0 S10 ; Pin out
G4 P500
M280 P0 S90 ; Pin back
G4 P500

goal it is the same, nevertheless I arrive made up and down the pine

The error is caused by BLTouch because state is triggered all the time. I Had the Signal Pin and the Pin for Z switched which caused my Problem. Now everything ist working.

I just reversed the Z min endstop and the signal but the problem is the same

Did you Check the Status with M119? You can also Just Connect the two Z-Min Pins with a Jumper to See First if the BLTouch is moving or not

Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: open
Recv: z_min: TRIGGERED
Recv: ok
Send: M105

connect Z with +5v ?

No you have to Connect GND und Z-Signal.

on the sensor or the moatherboard ?

Of Course in the Ramps Board... You want to Tell Ramps that the contact is ok so it doesnt Show that error anymore. After that you can Test if the selftest ist working or not. If Not Check your cables again and the Firmware settings

Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: open
Recv: z_min: open

Comments deleted.

Make sure you test M119 after sending "M280 P0 S60" because if you don't it will not change it's state when you move the pin manually. Besides that, the M119 needs to show "open" for all 3 end stops always but at least after you reset the 3D-/BLTouch with "M280 P0 S160". This is independant from the pin position. Make 100% sure you have "#define Z_MIN_ENDSTOP_INVERTING true" and "#define Z_MIN_PROBE_ENDSTOP_INVERTING false". Anything else is wrong and if it does not work go back to check your wiring / hardware. Btw M119 without setting to test mode report Z_min: TRIGGERED for an error with the device (blinking in that case) too. So the ultimate first test is to check if "M280 P0 S120" does a correct (continuing) selftest with the pin going up and down about once per second.

If I connect the signal pin with the GND directly on the motherboard and I make M119 I have:

Rec: x_min: open
Recv: y_min: open
Recv: z_min: open

If I disconnect the bridge and I remake M119, I have:

Rec: x_min: open
Recv: y_min: open
Recv: z_min: TRIGGERED

I checked the configuration of skynet, it is OK, I have "#define Z_MIN_ENDSTOP_INVERTING true" and "#define Z_MIN_PROBE_ENDSTOP_INVERTING false".

If I reset alarm, then M280 P0 S120, the pin goes down, then goes up and the sensor goes into alarm (blinks) until I again M280 P0 S160

I wonder if my sensor would not be HS...

Check my description. There is a link about how to fix the blinking (hint: adjust the screw... I even got best results when replacing the screw with another (more massive) one).

I have already reread your description (which is well done in passing), but precisely I can never correct the blink even the screw out.

More massive in length or in width?

I used a normal screw after I had problems. See this http://snpy.in/rcP0LW

Well. I wrote everything I know into the article. Did you do the test procedure? Did you read the links I provided? There is nothing I can do for you.

Comments deleted.

any chance to talk to you on phone about the trouble i am having
i have ben trying to get this to work for over a week i just cant get it
there are so many errors and they are listed in red very hard to read
sure could use your help


Nope. just using my skynet version + configuration, the anet-board and the current arduino ide should work. I am not going to give any more support. This took to much of my time already.

I'm just trying to setup the wirering for my Anet A6 printer. But I'm unsure now where to connect the Orange cable (control signal) to the anet a6's cable for the control knob. is it now the 3rd cable from red or the 7th ?? Or can someone refer me to a site where there's explained how to wire the Touch to a Anet A6 ???

Thanks for the reply ahead

"On the A6, you can use wire no. 7 and FW pin 29. I could verify that with the A6 display I have available."

FW pin 29 is the referal of the pin on the socket on the board right ? so simply wire 7 of the control wire of the screen, right ?

Well. Yes. Pin 29 is the pin number to be used in the firmware at compile time.

Hello OderWat. Would it be possible for you to make a video on how to wire the bltouch to the mainboard? it would be great.

Nope :) But maybe somebody else.

Thanks for your designs.

I have an issue and I hope you can helpme!

When the anet reboot the xyz are blinking to '?' this is normal? Check

The sensor I think it's OK since when the anet start it gets out, gets in, gets out and in again, am I correct about this?

Please check the video below where I can't make anything with the sensor it is not responding to commands.

Check for all details https://youtu.be/E4oKxGu_WGo . Thanks in advance!

I apologize if these are stupid questions...

You stated "Besides the entries for the auto bed leveling..." What are those exactly, or rather, I assume there are instructions somewhere. Is there a particular Youtube video or pdf somewhere. Nobody seems to exactly set up the firmware exactly the same (I'm using Skynet 2.3.2 fix 2)? Or do you just mean uncommenting auto bed leveling to allow it to function?

Where did you #define SERVO0_PIN 27? I searched your configuration.h provided on Github, but I don't see it anywhere, nor do any of the videos I've watched mention it.

Thank you so much for everything!

Well, you can check my config here:


There is also SkyNet3D V2.3.9 available as pre-release here: https://github.com/SkyNet3D/Marlin/releases

i noticed three variants of the mount. may i have the offsets for them?

I don't have them noted. Measuring them yourself is quite easy though. I usually use a sheet of paper and mark the two positions with a pencil.

Thank you sir. Excellent idea

Hi OderWat, what about the free J3 slot? Isn't it possible to "route" the control signal to one of these pins instead of using the LCD?

Probably if you do not use the SD Card slot. Afaik they are not freely available otherwise.

Hello OderWat - would you happen to have a copy of your configuration.h file. I followed your steps and i'm having errors based on the Z_MIN_PROBE_PIN and Z_MIN_PROBE_ENDSTOP lines and would like to compare line by line what's different between mine and yours. I'm using the following mount http://www.thingiverse.com/thing:2188971

The current version of SkyNet3D / Marlin I am using with the configuration to my Anet A8 printer is always available here: https://github.com/SkyNet3D/Marlin/commits/SkyNet3D-Oderwat (I am also maintainer of the SkyNet3D Anet port btw).

A little note about the mount you are using: I don't think it is a good idea to mount a probe on the backside of the J-Frame. Mostly because if your X linear rods are not 100% over each other you get a tilt into the jframe which will be bigger if you mount the probe on the backside. This is because it will go up when the other side goes down and vice versa.

Hi OderWat, I have a question. Everything is running fine. But when I start to print the nozzle is about 1mm above the bed and therefore it doesn't work. Did I miss anything? Do I have to set this offset somewhere?

Yes, as with every sensor you need to specify the Z-Offset. Either in the menu (Control -> Motion -> Z Offset or by issuing M851 Z-1.0 (in case of one mm). Don't forget to store it into the EEPROM by issuing M500 afterwards (or using "Store Memory" from the menu).

Hmm I did that. There's always a small offset. Right now im manually trying to find the right offset. Set offset -> Start print -> Repeat ;)

Question. I have wired it up and made the edits under the auto bed leveling, all tests perfectly after running through your test script but when I G28 it, it homes the x, the y, and the z but it crashes down off the bed? Any ideas?

Did you ever figure this out? I have a similar issue.

Hi OderWat,
thanks a lot for your flawless description! my 3dtouch is working like a charm on my anet.


Hello orderwat, a colleague to install your software, uploads well and all corresto, although when you set the z offset, in a bl touch, everything is correct, but at the time of sending an M119, after the final M500, Returns the following:
<Reporting endstop status
<X_min: open
<Y_min: open
<Z_min: open
But at the time of testing the sensor, everything appears correct and trigered. any ideas?

I think thats quite normal. The sensor just triggers with a short impulse normally. To test it "like a switch" with M119 you need to set it to switch triggering test mode. I describe this in the description.

M280 P0 S60 ; switch triggering test mode
; move pin at the sensor up or down manually
M119 ; reports state of the endstop
; pin up (LED on) z_min should read TRIGGERED
; pin down (LED off) z_min should read open

Thank you very much, my colleague has been able to solve it, your response has been very helpful. Greetings

Just got my BLTouch to work with my Anet A8. Thank you Oderwat the great information contained in the writeup.

Comments deleted.

Hey Hans,
very good work, but please write somewhere that with the rear version of the bl touch holder you need to adjust the x endstop position, cause otherwise the holder blocks the axis from homing!

It doesn't... for me... I guess it depends how you put the wires. I have mine behind the bottom rod and "to the left".

strange.. i have them the same way and im missing a centimeter to not crash into the left x axis mount...

indeed strange but you may be the only person which tired it besides me :)


laut Skynet3D wurde der 3DTouch wohl geaddet...

New things in Skynet V2.3.2 (Marlin RC8 Bugfix)- based on OderWats latest Devel branch as of (24/2/17)

  1. Added support for the Reprap Discount Smart controller + 3d touch sensor (wiring harness needed)
    (RepRap display guide http://www.thingiverse.com/thing:2103748)
    (3d touch sensor guide http://www.thingiverse.com/thing:2091529)

Wenn man unter 2.3.1 alles am laufen hat, lohnt sich dann die Umstellung?

Grüße Rene (Sorry mein Englisch ist grottenschlecht)

LCD 12864 RepRap Discount Anet A8 Adapter
by OderWat
Anet A8 3D-Touch Mount
by OderWat

Hi Rene, keine Ahnung was "as of 24/2/17" bedeuten soll. Meine letzten Änderungen zum Anet Port (aka SkyNet3D) sind vom 3.3.2017. Muss ich ihn gleich mal fragen.

Grundsätzlich "lohnt" es sich immer eine neuere Version einer Software die Beta ist zu installieren, besonders, wenn es sich um Release Kandidaten handelt.

Ich habe keine Ahnung mehr, auf welchen genauen Marlin Commit sich das 2.3.1 Paket bezog. Ich weiß nur, dass SkyNet3D "ewig" nicht aktualisiert wurde, obwohl es wichtige Änderungen gegeben hatte.

Dann warte ich mal ab was Du in Erfahrung bringst und evtl. eine Anleitung für uns Doofis hast wie die Umstellung auf 2.3.2 aussehen würde.

Die Config Datei ist nahezu gleich, ein paar Werte sind anders, aber keine die glaubich Einfluss auf den 3DTouch hätten und in der pins_ANET_10.h müsste ich glaub ich nach wie vor folgende Zeilen finzufügen.


define BEEPER_PIN -1

define SERVO0_PIN 27

Wie es mit den anderen Files aussieht kann ich nicht sagen, bin froh dass ich das überhaupt zum laufen gebracht habe, hab nur die gecheckt die ich geändert habe. Bin gespannt was der Profi sagt ;-)

Was soll ich groß sagen :) Die Version aus GitHub ist immer die neueste und was der Pete da bei den SkyNet Releases macht ist mir mehr oder weniger egal. Mich ärgert es nur, wenn er eine mehrere Wochen alten als Basis benutzt. Wir haben eben besprochen, dass ich ihm morgen eine neue aktuelle mache. Dann kommt eh bald 2.3.3.

Comments deleted.

Hi, I think it would be useful to add that you can improve the repeatablity by setting


This twice as slow as it is by default
Another remark. I tried


but that was to slow the 3d touch sees that as an error or so .It will just drop the pin at some point and go into error state

What version of marlin are you using or does it matter? I'm using skynet 2.3. My Board is an Anet V1.0. The genuine BL Touch only moves up and down twice when the power gets turned on, you can see the red led turns on with the pin in the up position and turns off in the down position, I also noticed a tiny blue led at the tip of the probe during the power up process. I get no response from any teast commands at all. I've inserted all recommendations as described. The little blue led at the tip of the probe flickers when changing from the main screen to the prepare menu screen via the 5 button panel. Any help would be greatly appreciated.

Sounds like you didn't made the correct changes to the Configuration.h or the servo cable is not connected right. You may wanna compare with what I changed in my config: https://github.com/SkyNet3D/Marlin/commit/30c2663b94c677d5089e47c2467fca5316e74518 ... the most recent version of the Marlin port to Anet Printers is there too: https://github.com/SkyNet3D/Marlin but that should not matter.

OderWat. I noticed you have an A8. Can you share your Configuration.H file with us?

Where do i need to insert "#define SERVO0_PIN 27" ? Insered in pin_ANET10 and killed bootloader. Reflashed the bootloader and typed directly into the the configuration.h and got verification error... I use pin 29 instead of 27 like shown here: http://3dtoday.ru/blogs/hellraider/connection-sensor-auto-level-3dtouch-bltouch-to-the-printer-anet-a6/

As I wrote, I did never verify anything with the A6 display. But your problem seems to be unrelated to me. It doesn't matter where you define the pin. Problems with the bootloader are usually because the image is to big for the flash memory and therefor overwrites part of the bootloader code. I have no idea about the verification error. Try to disable SD card and flash again.

Thanks for the answer, will try again later. While compiling it says 97% of storage used so this could be the problem. Without SD only 86%.

Worked, thank u very much ;) Now it still blinks and can't reset but i think its because of an unsupported clone for marlin.

Nope. It just failed it's self test. Please read this: http://www.geeetech.com/forum/viewtopic.php?f=27&t=18263

Already did so. But it still flashes and release alarm does nothing. Also i've read on github that there are problems with different clones. The 3D Touch and the original BLTouch are supposed the only one that works. Tried many different settings for now but nothing worked.

I thought there are just the Geetech 3D Touch and BLTouch available. Sorry man!

There is also a clone with design by antc labs on it. And this just won't work. Ordered a 3DTouch now

Its working perfect, thank You for this great tutorial :)


I have the same board but a legit BLtouch. What is the current draw for the 3Dtouch? Bltouch says 15mA Peak 300mA all i get is flashing when connecting it with this configuration.

Any ideas?

When it flashes it detects a failure, but generally it works. Did you adjust the screw? Check this post: http://www.geeetech.com/forum/viewtopic.php?f=27&t=18263 .. or ask your dealer for a replacement if the sensor is defective.

Yeah cleaning the pin resolved the flashing. Must have been to much friction on the pin. Still not getting enough power through I think on the z sensor center pin. BLtouch does not power on when the red wire is connected to the center pin. Need to connect to a a separate power supply for it to work for some reason. Maybe there is another 5v source on the board I can use.

Hum.. I have the RepRap Discount Display (which is known to eat a lot of power) in addition to the 3D touch and no problems. Did you try to increase the voltage at the power supply slightly? I didn't test with the original one though as I have changed the power supply some time ago.

yep so figured out why i was having issues running the bltouch from my z end stop 5v. the actual pin in the bltouch when rotated to a certain position has to much friction for the servo to grab it. After some testing realized that by rotating the pin it works very smooth in a certain orientation. hooked it back up to 5v on the board and it is now working.

OK. Strange that the original comes with less quality than the cheap copies.

Yeah i don't even have the lcd connected at this point and it still flashes. used my breadboard power supply and it works fine. Must be that its not getting enough current to power the servo. Will be replacing the power supply soon so that might make a difference.

... good job , but the fan ?

Do you mean the extruder fan? I don't believe in its importance (and others neither). I found this mod http://www.thingiverse.com/thing:1749614 last year in December and gave it a try. Later I removed the fan completely. I print PLA/BDP/PETG/FilaFlex without problems and with up to 70/240 degree. I don't think that ABS would be a problem either but I did not test it.

If you want to keep the fan I am sure there are other mounts available for this sensor. I also made myself another mount (also for a system without heatsink and extruder fan) to use other cooling fans (and because I am currently designing one). I may upload that one soon.

Anet A8 alternative 40mm Extruder Fan Mount

thanks, very good work, (Y)

omg I really need to try Your setup for my 3DTouch! I hope everything go nice and I can finaly use it :) . I hate my proximity sensor...

Good luck! Please tell us how it goes!

Can you post your configurtion.h files, i have strange behaviour, when i do G28, it homing X and Y, center XY and them i get an error.

All configuration changes regarding the sensor are listet. There is also advice on what to do if the sensor errors. Did you try the sensors auto test and the switch triggering tests I mention in the description?

But yes, I also had occasions where the sensor will error after power on for "no reason". I found that using the sequence:

M280 P0 S160 ; Reset 3D-Touch
G4 P500
M280 P0 S10 ; Pin out
G4 P500
M280 P0 S90 ; Pin back
G4 P500

before using G28 will "reset" the sensor to a working state.

Please tell me if that helped!