The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Tag: MK4

Prusa Mk 4 3D printer with MMU3 feeder

  • Mini-lathe Cross Slide and Compound Backlash Tweakage

    Mini-lathe Cross Slide and Compound Backlash Tweakage

    It being once again time to tweak the mini-lathe’s cross slide and compound backlash …

    The M3 slotted setscrew locking the cross slide’s DRO collar to the feed screw shaft had come loose:

    Mini-lathe - DRO slotted setscrew
    Mini-lathe – DRO slotted setscrew

    Although it has a cone point, presumably to center the slot in the feed screw, an M3 cup point hex setscrew works just fine:

    Mini-lathe - DRO hex setscrew
    Mini-lathe – DRO hex setscrew

    A hex socket is much easier to tighten securely.

    The handle sits against a black washer that looks like it should rest against the aluminum spacer covering the DRO shaft, but it doesn’t. Contrary to what I originally thought, that gap doesn’t contribute to the backlash (given a tight setscrew!), but a filler shim makes it look less like an afterthought:

    Mini-lathe - cross slide handle shim
    Mini-lathe – cross slide handle shim

    What does contribute to the backlash is a loose adjusting screw holding the follower nut against the feed screw:

    Mini-lathe - cross slide backlash screws
    Mini-lathe – cross slide backlash screws

    The mini-lathe manual (page 17) and online references give the tedious process required to adjust the two cap screws and the setscrew to remove (nearly all of) the backlash. While I had the screws out, I took the opportunity to dribble oil through the cap screw holes onto the feed screw along as much of its length as was reachable.

    Adjusting the gib screws is also a good idea, as is renewing the oil along the ways.

    With all that done, the cross slide moves easily without slop and the backlash is a tolerable 0.1 mm.

    The compound feed screw does not have any backlash adjustment, so fitting a suitable shim between the handle and the DRO spacer is essential:

    Mini-lathe - compound handle shim
    Mini-lathe – compound handle shim

    That one looked nice, but was somewhat too thick.

    This time around I could laser-cut and 3D print shims (16 mm OD, 10 mm ID) in a variety of thicknesses, some combination of which would surely fill the gap without binding:

    Mini-lathe - handle backlash shims
    Mini-lathe – handle backlash shims

    The gnarly clear rings over on the left are the original punched-and-trimmed PETG shims. The fabric-looking ones are PTFE sheets intended for heat-press transfer machines, which Mary has used as a slider sheet to let fabric move easily over her sewing machines. The black one in the middle is 1.5 mm acrylic.

    The bright white rings are 3D printed from a few lines of OpenSCAD code:

    Washers = [0.5,0.6,0.7,0.8,1.2];
    
    for (i = [0:len(Washers)-1])
      right(i*20.0 - 40.0)
        tube(Washers[i],od=16.0,id=(10.0 + HoleWindage),anchor=BOTTOM);
    

    Print them with 0.1 mm layers in PETG, add a PTFE shim or two, and fiddle about enough to get minimum backlash with reasonable turning force.

    The compound feed screw now has 0.16 mm of backlash, which is as good as it’s going to get.

    Right now, the only thing preventing the handle from turning on the shaft is the chunky lockwasher gouging both the handle and the cap screw in the end of the shaft, with the side effect of putting far too much pressure on the spacer shims. I want setscrews in the handles bearing on flats filed in the feed screw shafts to put those awful screws + lockwashers out of business, which seems like a good Sherline project.

  • Mini-Lathe 100 TPI Stacked Change Gear

    Mini-Lathe 100 TPI Stacked Change Gear

    Before turning the PVC conduit to the proper diameter for the Shopvac hose adapter, I set up a 20-50-32-80 change gear train for a 100 TPI finish. While the urethane adhesive cured in the hose, I fed the BC gear pair into my change gear generator:

    Mini-lathe stacked change gears - 32-50T - solid model
    Mini-lathe stacked change gears – 32-50T – solid model

    It’s ready for the next time I cut something down to size:

    Mini-lathe 100 TPI change gears
    Mini-lathe 100 TPI change gears

    One reference suggests a 256 TPI finish for “general turning”, which works out to 20-80-20-80:

    Mini-lathe stacked change gears - 20-80T - solid model
    Mini-lathe stacked change gears – 20-80T – solid model

    That’s just crazy talk, because the BC washer overlaps the D gear teeth:

    Mini-lathe 256 TPI change gears
    Mini-lathe 256 TPI change gears

    If all else fails and I really need a 256 TPI finish, lathes are pretty good at making washers.

  • Shopvac Hose Adapter

    Shopvac Hose Adapter

    Adapting a previous adapter to put a much longer hose on the Least Shopvac now lurking under the bandsaw / Sherline / lathe workbench:

    Spiral Hose - 1.25in nozzle adapter - installed
    Spiral Hose – 1.25in nozzle adapter – installed

    The tapered adapter drags the OpenSCAD code into the BOSL2 era:

    Spiral Hose - 1.25in nozzle adapter - solid model
    Spiral Hose – 1.25in nozzle adapter – solid model

    The ID of the hose determined the OD of the lathe-turned PVC tube inside the 3D printed adapter, so a straight pipe would just slide right into both parts.

    It would be possible to skip the 3D printing and make the adapter from a single piece of PVC:

    • Turn one end of the conduit to fit the hose ID
    • Maneuver the lathe compound to the required 1.05° half-angle
    • Turn the taper to fit the crevice tool
    • Clean up the original OD between the two sections

    Just turning the whole pipe to a smaller OD and sliding the taper on was definitely easier, particularly given the mini-lathe’s cramped quarters with the compound nearly parallel to the bed.

    A generous helping of JB PlasticBonder urethane adhesive bonds the PVC pipe inside the vacuum hose and the tapered adapter.

    The as-printed taper perfectly fits the crevice tool shown in the picture and is one wrap of electrical tape smaller than another crevice tool of “the same size”. The Finesse variable handles that situation, should it matter to you.

    The OpenSCAD source code:

    // Shopvac spiral hose to 1.25 in nozzle
    // Ed Nisley - KE4ZNU
    // 2026-07-25
    
    include <BOSL2/std.scad>
    
    Finesse = 0.2;             // [-0.5:0.1:0.5]
    
    // PVC pipe liner final OD
    PipeOD = 28.5;
    
    /* [Hidden] */
    
    NumSides = 4*3*4;
    $fn=NumSides;
    
    Protrusion = 0.1;           // make holes end cleanly
    HoleWindage = 0.2;          // make holes large enough to fit
    
    //----------------------
    // Dimensions
    
    TAPER_MIN = 0;
    TAPER_MAX = 1;
    TAPER_LENGTH = 2;
    
    Tool = [30.0,31.1,30.0] + [Finesse,Finesse,0];
    
    FlangeOD = 37.0;
    FlangeLength = 5.0;
    
    //render()
    difference() {
    
        union() {
            cyl(FlangeLength,d=FlangeOD,anchor=BOTTOM) position(TOP)
              cyl(Tool[TAPER_LENGTH],d1=Tool[TAPER_MAX],d2=Tool[TAPER_MIN],anchor=BOTTOM);
          }
    
        down(Protrusion)
          cyl(2*Tool[TAPER_LENGTH] + FlangeLength,d=PipeOD + HoleWindage,anchor=BOTTOM);
    
    }
    
    
  • Dremel Collet Chuck Handle

    Dremel Collet Chuck Handle

    With the set of Dremel collets organized, I made a quartet of handles for them:

    Dremel Collet Chuck Handle - group portrait
    Dremel Collet Chuck Handle – group portrait

    The idea came from the June/July 2026 Machinist’s Workshop, wherein I learned Dremel nuts / chucks fit on a 0.275 inch = 9/32 inch 40 TPI threaded body, drilled through 11/64 inch.

    Making such a thing involved some pleasant lathe time:

    Dremel Collet Chuck Handle - lathe work
    Dremel Collet Chuck Handle – lathe work

    The business end of the body has a slight taper to (ideally) match the collets:

    Dremel Collet Chuck Handle - threaded body recess
    Dremel Collet Chuck Handle – threaded body recess

    However, the collets have tapers ranging from 20° to 35°, so I defined a 60° center drill to be Good Enough™ and got a free taper while drilling the central hole.

    The collets sit in the taper:

    Dremel Collet Chuck Handle - collet installed
    Dremel Collet Chuck Handle – collet installed

    Tightening the nut closes the collet:

    Dremel Collet Chuck Handle - threaded body - nut installed
    Dremel Collet Chuck Handle – threaded body – nut installed

    The article described a nicely turned wooden handle, but a somewhat uglier 3D printed handle is fine with me:

    Dremel Collet Chuck Handle - solid model - top view
    Dremel Collet Chuck Handle – solid model – top view

    Which comes from a few lines of OpenSCAD code:

    difference() {
    
      cyl(h=HandleLength,d=HandleOD,anchor=BOTTOM,texture=Knurling,tex_size=[3.0,6.0],tex_taper=0.08) position(TOP)
        cyl(h=3.0,d=HandleOD,circum=false,rounding2=2.0,anchor=BOTTOM);
    
      down(Protrusion) {
        cyl(h=15.0,d=ShaftOD + HoleWindage,chamfer2=2.0,circum=true,anchor=BOTTOM);
        cyl(h=2*HandleLength,d=ShaftID + HoleWindage,circum=true,anchor=BOTTOM);
      }
    
    }
    

    The variables match the threaded body to my fingers:

    Protrusion = 0.1;           // make holes end cleanly
    HoleWindage = 0.2;          // make holes large enough to fit
    
    ShaftOD = 6.9;       // collet closer thread - 40 TPI 0.275 OD
    ShaftID = 4.3;       //  … internal clearance
    
    HandleOD = 15.0;
    HandleLength = 45.0;
    Knurling = "trunc_diamonds";
    

    The motivation for all this was to put the smallest taps in a holder suitable for delicate jobs. The smallest chuck on my real tap driver bottoms out on an M3 tap and can’t grip the M2 tap:

    Dremel Collet Chuck Handle - M3 vs M2 taps
    Dremel Collet Chuck Handle – M3 vs M2 taps

    I try very hard to not tap small holes, but sometimes you gotta do what you gotta do and now I’m better prepared.

    Incidentally, the first threaded body I made absolutely did not fit the Dremel nuts. After eliminating everything else, I discovered I’d set up the lathe change gears with a 20-65-45 train, rather than the 20-65-50 train required for 40 TPI with the lathe’s 16 TPI leadscrew.

    Protip: Even the best threading job (which I didn’t do on any of those things) can’t make a 36 TPI screw fit into a 40 TPI nut.

  • Manual Drive Gear for NRC Rotary Positioner

    Manual Drive Gear for NRC Rotary Positioner

    While aligning the Sherline’s laser aligner, an old rotary positioner, apparently made by NRC, emerged from the Box o’ Optical Lab equipment:

    Rotary positioner - as found
    Rotary positioner – as found

    That’s not quite “as found”, because it came festooned with the remains of an obviously lab-built Peltier-cooled laser (?) diode fixture:

    Rotary positioner - Peltier diode fixture
    Rotary positioner – Peltier diode fixture

    The positioner sported an obviously aftermarket tapped hole in the side, presumably for mounting to a support:

    Rotary positioner - tapped mounting hole
    Rotary positioner – tapped mounting hole

    The knob was apparently intended for fine angle adjustment, but it spun freely. Loosening another setscrew on the side released its well-worn parts:

    Rotary positioner - drive gear - OEM knob
    Rotary positioner – drive gear – OEM knob

    It’s not clear what the brown ring did, back when it did something, but there were no signs of stripped-off teeth or other debris in the recess; it is a very sloppy fit on the pin holding the knob. The knob may have had a compliant surface engaging the top of the ring, made with a long-since fossilized substance.

    I figured this was a great excuse to renew my acquaintance with the BOSL2 gear generator:

    Rotary positioner - drive gear - solid model
    Rotary positioner – drive gear – solid model

    It turns out the rotary ring has triangles, not gear teeth:

    Rotary positioner - tooth detail
    Rotary positioner – tooth detail

    However, setting the gear tooth pressure angle to 45° produces a reasonable triangle:

    Rotary positioner - drive gear - solid model - end view
    Rotary positioner – drive gear – solid model – end view

    Even so, getting a functional knob required many iterations, primarily because I can’t measure any of the details and had to figure the fit by cut-and-try:

    Rotary positioner - drive gear - gallery
    Rotary positioner – drive gear – gallery

    The little white dots were an excuse to use the MMU3 for multi-material printing, because why not.

    In truth, the knob doesn’t work particularly well, as the forces from the triangular teeth on the rotary ring tend to jam the knob against its pin. The knob might work better with splines driving a squishy TPU tire riding the crests of the rotary ring teeth than a real gear. Perhaps that’s what the original brown ring did before it fossilized.

    For now, the positioner returns to the Box o’ Optics Lab Stuff, because it’s the wrong hammer for the Sherline’s laser aligner. It may emerge for a future project, when I’ll have more motivation to build a functional knob.

    The OpenSCAD source code as a GitHub Gist:

    // Rotary positioner drive gear with knob
    // Ed Nisley – KE4ZNU
    include <BOSL2/std.scad>
    include <BOSL2/gears.scad>
    NumSides = 4*3*4;
    $fn=NumSides;
    Protrusion = 0.1; // make holes end cleanly
    HoleWindage = 0.2; // make holes large enough to fit
    ShaftOD = 5.5;
    Knurling = "trunc_ribs";
    difference() {
    cyl(h=9.5,d=16.0,anchor=BOTTOM,texture=Knurling,tex_size=[3.0,4.0]) position(TOP)
    cyl(h=1.8,d=15.2,circum=false,anchor=BOTTOM) position(TOP)
    color("Green")
    scale([1.03,1.03,1]) // nominal to physical hackery
    spur_gear(diam_pitch=60.0,teeth=24,pressure_angle=45,thickness=4.7,anchor=BOTTOM);
    down(Protrusion) {
    cyl(h=1.6,d=8.2 + HoleWindage,circum=true,anchor=BOTTOM);
    cyl(h=25,d=ShaftOD + HoleWindage,circum=true,anchor=BOTTOM);
    }
    }
    color("Red")
    right((8.2 + 16.0)/4)
    cyl(h=0.6,d=2.0,circum=false,anchor=BOTTOM);

  • Photo Backdrop: Crossbar Improvement

    Photo Backdrop: Crossbar Improvement

    The instructions for the Photo Backdrop frame (upon which we hang Mary’s quilts for photos) suggest the crossbar fits on like this:

    Photo Backdrop - OEM crossbar installation
    Photo Backdrop – OEM crossbar installation

    The slot in the bottom is wider than the M10 stud, so the crossbar tends to flop around while assembling it overhead. I immediately replaced the wingnut with a chunky knob for better griptitude, but was never happy with how poorly the whole thing fit together.

    This is dramatically better:

    Photo Backdrop - fitting installed
    Photo Backdrop – fitting installed

    The crossbar is upside-down from the OEM instructions, but the bottom of the gray plug holds the tube firmly to the tripod while the nut seats firmly on the plug’s flat top:

    Photo Backdrop - fitting top view
    Photo Backdrop – fitting top view

    A snippet of 3M 300LSE adhesive sheet holds the plug in place, so that’s one less thing to fiddle with on each end.

    The solid model holds no surprises:

    Photo Backdrop Fittings - solid model
    Photo Backdrop Fittings – solid model

    Of course, it builds with the flat end downward.

    The OpenSCAD source code as a GitHub Gist:

    // Photo backdrop fitting
    // Ed Nisley – KE4ZNU
    // 2026-07-01
    include <BOSL2/std.scad>
    Layout = "Show"; // [Build,Show]
    /* [Hidden] */
    ID = 0;
    OD = 1;
    LENGTH = 2;
    HoleWindage = 0.2;
    Protrusion = 0.01;
    NumSides = 3*2*4;
    Clearance = 0.3;
    $fn=NumSides;
    Tube = [23.0 – HoleWindage,1*INCH,100.0]; // arbitrary length
    Aperture = [24.0,15.0,100.0]; // oblong nut hole, arbitrary Z
    Washer = [10.5,20.0,1.5]; // M10
    //—–
    // Define things
    module Fitting() {
    difference() {
    union() {
    intersection() {
    xcyl(Tube[LENGTH],d=Tube[ID]);
    cuboid(Aperture,rounding=Aperture.y/2,edges="Z");
    }
    cuboid([Aperture.x,Aperture.y,Tube[OD]/2],rounding=Aperture.y/2,edges="Z",anchor=BOTTOM);
    }
    cyl(Aperture.z,d=Washer[ID]);
    }
    }
    //—–
    // Build things
    if (Layout == "Show") {
    Fitting();
    }
    if (Layout == "Build") {
    up(Tube[OD]/2)
    xrot(180)
    Fitting();
    }

  • Hose Nozzle Flow Restrictors

    Hose Nozzle Flow Restrictors

    Mary wanted less pressure in the spray while watering her plants and I suggested replacing the nozzle’s washer with a flow restrictor:

    Hose Nozzle Flow Restrictors - assembled
    Hose Nozzle Flow Restrictors – assembled

    The 3D-printed TPU base is squishy enough to act as a hose washer:

    Hose Nozzle Flow Restrictor Base - solid model
    Hose Nozzle Flow Restrictor Base – solid model

    A 1.5 mm thick acrylic orifice plate snapped into the opening takes advantage of the laser cutter’s precision:

    Hose Nozzle Flow Restrictors - LightBurn layout
    Hose Nozzle Flow Restrictors – LightBurn layout

    For lack of anything smarter, the holes have areas that are powers-of-two smaller than the nozzle’s 14.2 mm = 158 mm² internal passage: the hole labeled 8 is 158/256 mm² = 0.62 mm² → 0.9 mm diameter.

    Rather than figuring each hole’s diameter, just divide the previous diameter by √2 or rescale it by 100%/√2, which LightBurn can evaluate directly in its Numeric Edits fields. The as-cut holes are larger than their nominal size by about 0.1 mm, but any errors that might cause are definitely in the nature of fine tuning while watering the plants.

    The nozzle’s Shower pattern (on the left in the picture) has a 6.8 L/minute = 110 ml/s flow through an ordinary garden hose washer. The four smallest aperture plates produced these flows:

    Hose Nozzle Flow Restrictors - flow vs dia
    Hose Nozzle Flow Restrictors – flow vs dia

    The flow should scale with the square of the aperture diameter, which I could bully those points into suggesting, but the measurement accuracy produced by filling a gallon jug while tapping my phone’s stopwatch doesn’t justify anything fancier.

    The two smallest apertures reduce the Shower pattern to a very gentle spray requiring far too long to put enough water on the plants. Mary now uses an old plastic sprinkler head with enough holes to produce a dense spray with very little force, with the flow set by fifty feet of PEX pipe running across the width of the house from the town water inlet to the hose bib.

    It was a fun exercise and I learned a little more about printing TPU and fitting acrylic parts therein:

    Hose Nozzle Flow Restrictors - prototypes
    Hose Nozzle Flow Restrictors – prototypes