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

  • PolyDryer Box Desiccant Tray

    PolyDryer Box Desiccant Tray

    Having used desiccant in tea bags inside the PolyDryer boxes with some success, I wanted to see what happens with more exposed surface area:

    Polydryer Box desiccant tray - installed
    Polydryer Box desiccant tray – installed

    The tray (jawbreaker boxes.py URL) is 2 mm chipboard with a quartet of additional notches fitting the protrusions in the bottom of the Polydryer box:

    Polydryer Box desiccant tray - assembly
    Polydryer Box desiccant tray – assembly

    Although you’ll find plenty of printed trays, many with ingenious perforated lids, this was quick & easy:

    Polydryer Box desiccant tray - cutting
    Polydryer Box desiccant tray – cutting

    They’re painfully prone to dumping their contents, despite the dividers which are intended to dissuade the beads from taking collective action and surging over the slightly higher outer walls. Fortunately, the dump occurs inside a sealed box and is entirely survivable.

    Distributing 25 g of silica gel neatly fills the sections:

    Polydryer Box desiccant tray - top view
    Polydryer Box desiccant tray – top view

    Now it’s just a matter of time …

  • Dryer Vent Filter Snout: TPU Warp

    Dryer Vent Filter Snout: TPU Warp

    Making the clothes dryer vent filter snout from TPU did not work nearly as well as I expected:

    Clothes Dryer Vent Filter Snout - TPU warp
    Clothes Dryer Vent Filter Snout – TPU warp

    I think that’s the result of applying heat to a slightly compressed rear wall made of bendy plastic.

    Making it from much stiffer white PETG required moving the front mounting tabs to the middle to allow enough bendiness to snap them into the vent:

    Clothes Dryer Vent Filter Snout - OpenSCAD plan
    Clothes Dryer Vent Filter Snout – slicer

    Although both pieces barely fit on the MK4’s platform, I made the upper ring first to verify the fit:

    Clothes Dryer Vent Filter Snout - slicer
    Clothes Dryer Vent Filter Snout – slicer

    If I ever make another, it’ll print as a single top-side-down unit, because the dimensions are now spot on.

    From outside, it looks just like the TPU version:

    Clothes Dryer Vent Filter Snout - PETG installed
    Clothes Dryer Vent Filter Snout – PETG installed

    The snood is a cheesecloth tube with shock cord holding it to the snout.

  • Generator Air Filter Screw Knob

    Generator Air Filter Screw Knob

    Part of the Autumn festivities around here involves blowing leaves into piles, then shredding them into garden mulch. Given that I have a plug-in electric leaf blower / wind stick, I use this as an excuse to exercise the emergency generator (similar to that one) with a (relatively) short extension cord.

    As with all small gasoline engines, I fire a shot of starting fluid into the air cleaner to reduce the number of engine-start yanks, which means I must remove the generator’s side panel and unscrew the filter cover. For years I have sworn mighty oaths on the bones of my ancestors to knobify that screw, thus eliminating fiddling with a screwdriver.

    Finally:

    Generator Air Filter Screw Knob - solid model
    Generator Air Filter Screw Knob – solid model

    A dozen minutes of printing and a snippet of good double-sided tape later:

    Generator air filter knob - installed
    Generator air filter knob – installed

    The knob sticks out far enough to push into the foam “sound deadening” liner on the cover, so it won’t vibrate loose.

    The OpenSCAD source code:

    include <BOSL2/std.scad>
    
    /* [Hidden] */
    
    HoleWindage = 0.2;
    Protrusion = 0.1;
    
    // Screw head dome
    
    HeadHeight = 2.0;
    HeadOD = 14.75;
    
    DomeRadius = (HeadHeight^2 + (HeadOD^2)/4) / (2*HeadHeight);
    echo(DomeRadius=DomeRadius);
    
    KnobOD = HeadOD;
    KnobLength = 15.0;
    
    RimFudge = 0.3;   // ensures a printable edge
    
    // Build it
    
    difference() {
      cyl(h=KnobLength, r=KnobOD/2,anchor=BOTTOM,texture="trunc_pyramids",tex_size=[2.0,KnobLength/4]);
    #  up(KnobLength - HeadHeight + RimFudge)
        spheroid(r=DomeRadius,circum=true,style="icosa",anchor=BOTTOM);
    }
    

    The cover has robust plastic latches, so I haven’t ever bothered to tighten those screws.

  • Prusa MK4+MMU3 vs. Spool Join: Whoopsie

    Prusa MK4+MMU3 vs. Spool Join: Whoopsie

    Because nobody will ever see the Radiator Sleds, I started a batch with the tail end of the white PETG spool and set up the Spool Join function to switch to the retina-burn orange PETG when the white filament ran out.

    The two colors combined nicely on that layer:

    Prusa MK4 MMU filament joining
    Prusa MK4 MMU filament joining

    Unfortunately, the Spool Join didn’t work out quite right and I had to extricate the white filament from the MMU3, then coerce the orange filament into position.

    The key section of the MMU3 looks like this:

    Prusa MK4 MMU filament joiningPrusa Mk4 MMU3 selector
    Prusa MK4 MMU filament joiningPrusa Mk4 MMU3 selector

    The Selector assembly rides on the smooth rods, driven by the stepper motor on the far end of the leadscrew. It stops at one of the five filament tubes (visible to the left of the upper smooth rod, with filament tips showing), whereupon a drive gear pushes the filament into the Selector, under the FINDA sensor (the threaded fitting sticking out of the top), into the PTFE tube, down to the Nextruder, through the idler to trip the Filament Sensor, then into the extruder’s planetary drive gear.

    I think this happened:

    • The rear end of the white filament passed through the FINDA sensor
    • The MK4 reversed the Nextruder to drive the filament back into the MMU3
    • The rear end of the filament didn’t reenter its filament tube and escaped out to the side
    • The MMU3 drive gear couldn’t pull the filament backward, because the back end was misplaced
    • The Extruder planetary drive gear couldn’t pull the filament forward, because the front end was now above the gear
    • Both the FINDA and the Filament Sensor showed the filament was present, so the MK4 knew something was wrong

    Fortunately, I was watching the whole operation and could intervene.

    The MMU3 works well when the filament behaves properly, but it’s very sensitive to bends in the filament and misshapen ends. In this case, the white filament had the usual tight curve due to being would around the spool hub, which was enough to mis-align its end with the MMU3 tube while backing out.

    Trust, but verify.

  • Handlebar Grip Sleeve

    Handlebar Grip Sleeve

    Mary’s zero-mph crash loosened the starboard handlebar plug enough to let it eventually decamp for parts unknown. Its replacement, a somewhat fancier aluminum plug with an expanding cone retainer using an actual M3 nut, worked fine for the last year, but Mary recently noticed the socket head screw had worked loose.

    In the interim, I’d moved the Bafang thumb control from its original position on the crossbar to just above the rear shifter:

    Tour Easy - right handlebar control stack
    Tour Easy – right handlebar control stack

    Which moved the clamp on the shortened grip off the end of the handlebar tube, so I flipped the grip around, tightened the clamp, and installed the plug.

    Unfortunately, the grip ID is 4 mm larger than the tube ID, which meant the plug’s cone retainer was struggling to hold on in there. Perhaps the plastic cone has relaxed bit, but I figured giving it more traction would be a Good Idea™ before I declared victory:

    Handlebar Grip Sleeve - PrusaSlicer
    Handlebar Grip Sleeve – PrusaSlicer

    It’s a little plastic sleeve with slots to let it expand against the inside of the grip:

    Handlebar grip sleeve - installed
    Handlebar grip sleeve – installed

    Yes, it’s sticking out slightly; you can see the corresponding gap up inside next to the tube.

    A wrap of double-sided sticky tape glues it in place as the retainer presses it against the grip ID and a dot of low-strength Loctite should keep the screw from loosening again.

    The OpenSCAD source code:

    // Handlebar grip sleeve
    // Ed Nisley - KE4ZNU
    // 2025-10-25
    
    include <BOSL2/std.scad>
    
    /* [Hidden] */
    
    ID = 0;
    OD = 1;
    LENGTH = 2;
    
    HoleWindage = 0.2;
    Protrusion = 0.1;
    NumSides = 3*2*4;
    
    $fn=NumSides;
    
    Sleeve = [18.5,22.0,14.0];
    Kerf = 1.0;
    
      difference() {
        tube(Sleeve[LENGTH],id=Sleeve[ID],od=Sleeve[OD],anchor=BOTTOM);
        for (a=[0,90])
          zrot(a)
            up(Sleeve[LENGTH]/4)
              cuboid([2*Sleeve[OD],Kerf,Sleeve[LENGTH]],anchor=BOTTOM);
      }
    
    

    That was easy …

  • 3D Printed Smashed Glass Coasters: Being Epoxy-Tight

    3D Printed Smashed Glass Coasters: Being Epoxy-Tight

    Each of the glass fragments in a 3D printed coaster sits atop a metallized paper reflector in its own recess and gets covered with epoxy:

    Printed Coasters - epoxy fill
    Printed Coasters – epoxy fill

    That’s an early printed coaster with the epoxy pool covering the entire surface. Putting a rim around each fragment to form separate pools works better.

    Assuming I do a tidy job of filling the recesses, this process worked exactly as you’d expect until I printed a coaster with blue PETG-CF filament:

    Printed Coaster - Set C - oblique
    Printed Coaster – Set C – oblique

    Other than a slightly ragged cork layer motivating me to make the cork slightly smaller and use a fixture to align it properly, the coaster looks reasonably good. However, a close inspection shows all the epoxy pools are slightly recessed below their rims.

    It turns out printing PETG-CF with an extrusion multiplier of 0.8, which I figured based on fitting threaded parts together, doesn’t fuse the threads into an epoxy-tight surface:

    Printed Coasters - PETG-CF leakage - footprint
    Printed Coasters – PETG-CF leakage – footprint

    Fortunately, I’d been working on a silicone mat that could take a joke. I managed to move the coaster to a plastic sheet and refill the drained pools, although they continued to drain while curing.

    After the epoxy cured to a rubbery texture, I scraped off the meniscus around the perimeter of the coaster, but the bottom shows it cured in a pool of its own making:

    Printed Coasters - PETG-CF leakage
    Printed Coasters – PETG-CF leakage

    The cork conceals the evidence and the result looks good enough for my simple needs:

    Smashed Glass 3D Printed Coaster - Set C - in use
    Smashed Glass 3D Printed Coaster – Set C – in use

    Memo to self: Use the correct filament preset for the job!

  • 3D Printed Smashed Glass Coasters: Cork Alignment Fixture

    3D Printed Smashed Glass Coasters: Cork Alignment Fixture

    The printed coaster frame sits on a cork base:

    Printed Coaster - inset cork
    Printed Coaster – inset cork

    A sheet of craft adhesive holds them together; stick a generous rectangle of adhesive on the cork, then cut them at the same time. However, given the irregular perimeter, it’s basically impossible (for me, anyway) to align the cork + adhesive with the printed frame.

    A single-use fixture made from corrugated cardboard make that task trivially easy:

    Printed Coaster - cork alignment fixture - detail
    Printed Coaster – cork alignment fixture – detail

    The LightBurn layout shows the cork layer and the two fixture pieces:

    The cork shape is offset 0.5 mm inward from the Perimeter shape, but I found offsetting the cardboard cut by only 0.3 mm inward produced a snug fit around the cork. The other piece of cardboard gets cut with the exact Perimeter shape and no offset, with the laser kerf providing just enough clearance for a very snug fit on the printed shape.

    Align the two pieces of cardboard by eye to match their inner shapes as shown in the picture, tape them together, and the fixture is ready. In principle, the outer edges should exactly coincide: Trust, but verify.

    Peel off the craft adhesive paper and put the cork in the bottom of the fixture. The cork comes off a roll and really wants to roll up again, making the masking tape holding it flat mandatory:

    Printed Coasters - cork alignment template
    Printed Coasters – cork alignment template

    Yes, that’s a different coaster.

    Flip the fixture over, drop the coaster in place, press firmly together, peel the tape, and pull out the finished coaster:

    Printed Coasters - white PETG finished
    Printed Coasters – white PETG finished

    The fixture goes in the recycling bin, as those fragments will never pass this way again.