Tiny-Touch - Smallest possible DIY BLTouch clone
cults3d
Newer Version Available The next iteration of this thingy is available here (https://www.thingiverse.com/thing:4661556). Not sure if you can see it since it won't list in the "My Designs" collection... Prologue I badly needed a replacement for my inductive Z-Probe because inductance and a magnetic bed don't go well together. So, quite a while, I was eyeing the BFP-Touch (https://www.thingiverse.com/thing:2890290) project from Bruno Porto but, same as with the original BLTouch, it was simply too big for my needs. So I've decided to make my own version, which you can see here in action. In the first picture above, you'll see a size comparison between the Tiny-Touch, the Z-Probe I've used recently (left) and a standard LJ12A3-4-Z/BX inductive sensor (right). Although I myself wouldn't consider this thingy a "Remix", most (if not all) of the credit goes to Bruno and all the other guys who paved the way for this project. Special credit goes to Orcy Wagh, who created the servo model over on Grabcad (https://grabcad.com/library/micro-linear-servo-right-1). What is different? In contrast to the BFPTouch, this thingy uses a nano sized linear servo to release / lock the flag, thus it doesn't need as much space as a micro servo. BOM To build the Tiny-Touch you'll need: * 1 x 5V linear nano servo like the Graupner Mosquito R or this (make sure it's "R" not "L") * 1 x standard IR endstop like this one * 1 x JST XH 4POS header like this one * 4 x Neodymium magnets 5 x 1.5 x 1 mm like this one * 1 x M3 x 20 mm screw * 2 x philips screws 2.9 x 9 mm * a couple of wires Assembly There's not much to it. 1. print the parts first, then replace the 3 pin JST header on the IR endstop with the 4 pin version and also turn it upside down, so that the header points to the front. 2. glue the Neodymium magnets onto the flag and the IR endstop, so that the magnet-pairs repel each other. 3. insert the flag into the body and insert the screw from the bottom 4. place the servo into it's compartment, then solder the 3 wires onto the JST header pins of the IR endstop (red: +5V, black or brown: GND, white or yellow: PWM signal) 5. put the cap onto the M3 x 20 screw (optional) 6. connect everything to your 3D printer 7. setup and calibrate your 3D printer #Connecting the Tiny-Touch There are tons of instructions out there on the interwebs on how to connect a BLTouch / BFPTouch to your 3D printer. Just follow those and you'll be successful. One important note though: Since the servo needs 5V for proper operation, the IR-Endstop signal pin will also output at a 5V level. If your 3D printers controller board is not 5V tolerant on port pins, you'll need either a voltage divider, a level shifter or a couple of diodes/resistors in between the signal pin of the IR endstop and the input pin of your controller board! Here's a great article about this topic. Please make sure you don't kill your controller board when connecting the Tiny-Touch (if you do, don't blame me - I told you not to)! The basic wiring has to be like this: Hints If you don't have/ don't want to use the neodymium magnets, a simple ballpoint pen spring will do. There's a blind hole for it at the bottom. Just cut it to length and pull it over the M3 x 20 screw. Make sure the parts of the assembly can move freely. If something gets stuck, the servo will eventually get hot while it's trying to get into position and might melt the plastic surroundings. When the touch pin (screw) needs to be deployed/retracted, I found that the values 160 (deployed) and 60 (retracted) work best. You may have have to find out your own positions if those don't fit. STEP-File is included, just in case you need to adopt the mounting holes. Sometimes, the IR sensor doesn't recognize the flag depending on the material used. To overcome this issue, I've painted the top part with a black marker. Testing Did some testing with different probing speeds (on a Duet3D controller). Here are the results: 150 mm/min G32 bed probe heights: 0.053 0.048 0.057 0.048 0.051 0.053 0.046 0.055 0.048 0.048 0.061 0.055 0.046 0.048 0.048 0.034 0.053 0.053 0.055 0.046 0.053 0.048 0.051 0.048 0.063 0.044 0.051 0.055 0.051 0.055, mean 0.051, deviation from mean 0.005 300 mm/min G32 bed probe heights: 0.068 0.085 0.068 0.070 0.064 0.061 0.081 0.081 0.074 0.063 0.066 0.048 0.066 0.066 0.063 0.064 0.066 0.063 0.061 0.068 0.068 0.064 0.066 0.072 0.070 0.064 0.066 0.061 0.059 0.063, mean 0.067, deviation from mean 0.007 500 mm/min G32 bed probe heights: 0.087 0.094 0.091 0.087 0.091 0.089 0.085 0.081 0.074 0.083 0.091 0.096 0.093 0.089 0.081 0.087 0.081 0.078 0.078 0.089 0.089 0.085 0.081 0.083 0.087 0.085 0.083 0.081 0.083 0.087, mean 0.086, deviation from mean 0.005 800 mm/min G32 bed probe heights: 0.093 0.094 0.078 0.091 0.085 0.078 0.078 0.079 0.079 0.076 0.083 0.083 0.081 0.079 0.078 0.081 0.083 0.089 0.079 0.085 0.081 0.087 0.078 0.076 0.074 0.072 0.083 0.081 0.079 0.087, mean 0.082, deviation from mean 0.005 1000 mm/min G32 bed probe heights: 0.085 0.074 0.083 0.081 0.079 0.076 0.078 0.078 0.078 0.079 0.081 0.079 0.081 0.081 0.083 0.079 0.079 0.081 0.079 0.081 0.079 0.078 0.064 0.074 0.076 0.078 0.070 0.076 0.068 0.068, mean 0.078, deviation from mean 0.005 1200 mm/min G32 bed probe heights: 0.066 0.070 0.066 0.066 0.066 0.066 0.066 0.066 0.068 0.066 0.068 0.066 0.066 0.068 0.068 0.066 0.066 0.066 0.066 0.066 0.066 0.068 0.070 0.070 0.070 0.068 0.066 0.074 0.066 0.070, mean 0.068, deviation from mean 0.002 1500 mm/min G32 bed probe heights: 0.068 0.068 0.070 0.074 0.064 0.068 0.070 0.070 0.070 0.068 0.066 0.074 0.066 0.066 0.066 0.066 0.066 0.068 0.070 0.061 0.066 0.063 0.063 0.064 0.068 0.066 0.068 0.068 0.066 0.066, mean 0.067, deviation from mean 0.003 1800 mm/min G32 bed probe heights: 0.059 0.064 0.061 0.063 0.057 0.063 0.063 0.057 0.063 0.057 0.063 0.063 0.063 0.063 0.059 0.059 0.061 0.063 0.061 0.068 0.063 0.068 0.059 0.059 0.059 0.061 0.063 0.059 0.061 0.059, mean 0.061, deviation from mean 0.003 2000 mm/min G32 bed probe heights: 0.061 0.061 0.063 0.049 0.057 0.053 0.053 0.051 0.048 0.048 0.053 0.046 0.049 0.049 0.051 0.049 0.049 0.049 0.049 0.049 0.048 0.049 0.048 0.053 0.049 0.049 0.042 0.051 0.044 0.048, mean 0.051, deviation from mean 0.005 Even though the deviation seems to get better with higher speeds, I think it's legitimate to say that the precision is somewhere in the range of 0.005 mm, which is not that bad. Also, a probing speed of 800 - 1000 mm/min is totally ok for getting reliable values/distances (on a 32 bit board, that is). Updates Added a new flag which comes with pockets for the magnets. It's much easier just to slide them in than to glue them.
With this file you will be able to print Tiny-Touch - Smallest possible DIY BLTouch clone with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Tiny-Touch - Smallest possible DIY BLTouch clone.