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

  • Printed Fragment Coaster: Delamination and Pinhole

    Printed Fragment Coaster: Delamination and Pinhole

    Although “chipboard” is also known as “beer mat”, it’s not intended for long-term use under sweaty mugs. After a few weeks of daily use, this is obviously out of spec:

    Printed Fragment Coaster - moisture damage
    Printed Fragment Coaster – moisture damage

    The aforementioned sweaty mug lifted part of a fragment off the coaster:

    Printed Fragment Coaster - delamination
    Printed Fragment Coaster – delamination

    The chipboard is Quickboard from Makerstock, which is basically recycled-fiber chipboard with the advantage of being through-dyed in cheerful colors. It’s described as “2 mm-thick, three-layered board” and it looks like the core delaminated from the bottom layer.

    Seeing as how it’s near the end of Sweaty Mug season, I smeared Elmer’s Glue Stick PVA adhesive over the fragment, stuck it back in place, and declared victory.

    While doing that, however, I noticed a pinhole:

    Printed Fragment Coaster - delamination detail
    Printed Fragment Coaster – delamination detail

    You may recall the outline came from hand-tracing a fragment of smashed glass in GIMP to get a path, then 3D printing a base to hold it:

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

    Going back to the original GIMP tracing (storage being cheap, never delete anything), I missed a pixel:

    Printed Fragment Set C - GIMP selection - errant pixel
    Printed Fragment Set C – GIMP selection – errant pixel

    Surely you can see it, particularly because you know exactly where it is. Right?

    The (degenerate) path around that pixel becomes a tiny vector in LightBurn:

    Printed Fragment Coaster - Set C - orphan vector
    Printed Fragment Coaster – Set C – orphan vector

    It’s easier to see there. Right?

    Whereupon LightBurn dutifully punched a pinhole through the chipboard, because that’s what I asked it to do. It also punched that pinhole into the metallized paper reflector under the smashed glass fragment, but I didn’t notice it then, either.

    Shrinking the GIMP selection by one pixel width, then growing it by one pixel would eliminate single-pixel selections: just another item on the to-do list while tracing fragments.

    Ya learn something new every day around here …

  • Another Snowflake Coaster Reaches EOL

    Another Snowflake Coaster Reaches EOL

    Apparently a year in the bathroom under a cup with constant moisture is enough to ruin untreated wood inlaid in an acrylic coaster:

    Mildew on wood snowflake coaster
    Mildew on wood snowflake coaster

    A small 3D printed chipboard fragment coaster now enters service:

    Printed Fragment Coaster - small
    Printed Fragment Coaster – small

    I recently ran into an interesting chipboard failure suggesting this one won’t last forever, so the clock is ticking.

    About which, more later.

  • Dog Paw Coaster

    Dog Paw Coaster

    Start with a picture of a dog paw:

    Dog Paw Coaster - starting picture
    Dog Paw Coaster – starting picture

    Rescale the paw to about 100 mm vertically to properly fit a normal-size glass / tumbler / mug. This may be considerably larger than life, but dog owners always want more dog, so it’ll work.

    Generate an outline mask in GIMP:

    Dog Paw Coaster - paw mask
    Dog Paw Coaster – paw mask

    Generate another mask for the pads & toenails:

    Dog Paw Coaster - pad mask
    Dog Paw Coaster – pad mask

    Convert those into paths, save them as SVG files, and hand them to OpenSCAD:

    include <BOSL2/std.scad>
    
    /* [Hidden] */
    
    PadThick = 1.2;
    BaseThick = 2.0;
    
    RimHeight = 0.4;
    RimWidth = 0.8;
    RimOffset = 1.0;
    
    Clearance = 0.1;    // embiggen pad recesses
    
    OutlineFN = "Dog Paw - Outline.svg";
    PadFN = "Dog Paw - Pads.svg";
    
    union() {
    
    
      linear_extrude(h=BaseThick)
        import(OutlineFN);
    
      color("Green")
        up(BaseThick)
          linear_extrude(h=PadThick)
            difference() {
              import(OutlineFN);
              offset(r=Clearance)
                import(PadFN);
            }
    
      
    }
    

    Which will get you a solid model like this:

    Dog Paw Coaster - OpenSCAD model
    Dog Paw Coaster – OpenSCAD model

    Should you want decorative raised rims around the perimeter and pads:

    Dog Paw Coaster - raised rim - OpenSCAD model
    Dog Paw Coaster – raised rim – OpenSCAD model

    Then turn this on:

    if (false)
      color("Red")
        up(BaseThick + PadThick)
          linear_extrude(h=RimHeight) {
            difference() {
              offset(r=RimOffset + RimWidth)
                import(PadFN);
              offset(r=RimWidth)
                import(PadFN);
            }
            difference() {
              offset(r=-RimOffset)
                import(OutlineFN);
              offset(r=-(RimOffset + RimWidth))
                import(OutlineFN);
            }
          }
    

    Run the solid model through PrusaSlicer, send it to the MK4, and, while the printer is buzzing away, run the pads through an online nesting program to see how well that works:

    Dog Paw Coaster - Pads nesting - LightBurn layout
    Dog Paw Coaster – Pads nesting – LightBurn layout

    While nesting didn’t save much material, it might come in handy for something more intricate and now I’ll be able to find it again.

    Then get busy:

    • Stick adhesive sheet to the chipboard
    • Mirror the pads to cut adhesive side up
    • Cut the pads, rescue a toenail from the chip tray
    • Import the paw outline SVG
    • Offset 0.75 mm inward
    • Stick adhesive sheet on the cork
    • Cut paw outline (adhesive up, but not mirrored!)
    • Peel & stick

    Which turned out pretty good:

    Dog Paw Coaster - assembled
    Dog Paw Coaster – assembled

    I used Concentric infill on the top to resemble the fur pattern, but it came out way too subtle.

    The owner liked it, though, which made it all worthwhile.

  • Prusa MK4 Camera Lighting: FAIL

    Prusa MK4 Camera Lighting: FAIL

    Well, this didn’t take long:

    Prusa MK4 - Extruder sidelight - COB LED failure
    Prusa MK4 – Extruder sidelight – COB LED failure

    The upper five-LED string in the middle module failed open-circuit, which left the remaining two strings handling too much current. The five LEDs across the middle look like they’re running at War Emergency Power and the lower five are limping along:

    COB LED failure - detail
    COB LED failure – detail

    The dark spots in the middle are overexposed pixels.

    I soldered in a replacement from the same bag and it’s all good again, but I expect that won’t last very long.

  • Bike Rack Tray Holder: Small Version

    Bike Rack Tray Holder: Small Version

    Mary wanted to haul seedlings started in half-gallon milk bottles to their destination and I figured they shouldn’t slide around while being transported:

    Milk bottle seedling starter carrier
    Milk bottle seedling starter carrier

    That’s a half-width drawer from the same salvaged collection that produced the Bike Rack Tray Holder and a few minutes with LightBurn adapted the wider cardboard bike rack mount to fit the narrower drawer:

    Bike Rack Tray Holder - small - LightBurn layout
    Bike Rack Tray Holder – small – LightBurn layout

    Basically, use Node Edit to delete the horizontal lines, move the sides inward by half the difference of the drawer widths, then draw a few short lines to close the gaps.

    Hot-melt gluing four layers of cardboard with crossed corrugations, plus three flat bottom layers, got it done:

    Bike Rack Tray Holder - small drawer - installed
    Bike Rack Tray Holder – small drawer – installed

    Those are the same stretchy TPU straps, with an additional link on each rear chain to compensate for the slightly higher block mount and a slightly narrower front block to fit in the slightly narrower drawer handle:

    Bike Rack Tray Holder - half-width drawer straps
    Bike Rack Tray Holder – half-width drawer straps

    Of course, the only way to know what didn’t fit was to make a pair of the original ones, try them on for size, then adapt the OpenSCAD code accordingly.

    That was surprisingly easy …

  • PolyDryer Humidity: September

    PolyDryer Humidity: September

    After six months to see how much moisture entered from the 50%RH (±5%RH) basement air:

    2026-09-07
    Filament%RHWeight – gWt gain – gGain %
    PETG White2656.26.212.4%Gel
    PETG Black2857.37.314.6%Gel
    PETG Orange3454.14.18.2%Alumina
    PETG Clear3754.44.48.8%Alumina
    PETG-CF Blue3854.04.08.0%Alumina
    PETG-CF Gray3456.46.412.8%Gel
    PETG-CF Black2556.36.312.6%Gel
    PETG Blue3855.95.911.8%Alumina
    TPU Clear3456.36.312.6%Alumina
    TPU Black3255.25.210.4%Alumina

    Sorted by relative humidity:

    PETG-CF Black2556.36.312.6%Gel
    PETG White2656.26.212.4%Gel
    PETG Black2857.37.314.6%Gel
    TPU Black3255.25.210.4%Alumina
    PETG Orange3454.14.18.2%Alumina
    PETG-CF Gray3456.46.412.8%Gel
    TPU Clear3456.36.312.6%Alumina
    PETG Clear3754.44.48.8%Alumina
    PETG-CF Blue3854.04.08.0%Alumina
    PETG Blue3855.95.911.8%Alumina

    Fairly obviously, there is no correlation between the humidity level and the amount of adsorbed water.

    The silica gel beads were rather dark, not that that means much:

    Silica Gel beads - 2026-09-07
    Silica Gel beads – 2026-09-07

    All the boxes now contain 50 g of alumina beads.

  • Smashed Glass Coasters: Chipboard Variation

    Smashed Glass Coasters: Chipboard Variation

    The summer season brings iced drinks with condensation trickling down the mug and, alas, running off the smashed glass coasters:

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

    The hard parts of making those coasters involved converting the glass fragment outlines into vectors and arranging them in interesting patterns. However, with those files already in hand, making a similar coaster with chipboard “fragments” was straightforward:

    Chipboard Fragment Coaster - detail
    Chipboard Fragment Coaster – detail

    Slightly modify the OpenSCAD code to suit thinner chipboard:

    include <BOSL2/std.scad>
    
    fn = "Printed Fragment Coaster - 5 in Set B - Inkscape paths.svg";
    
    FragmentThick = 0.8;
    
    BaseThick = 2.0;
    RimHeight = 0.4;
    
    union() {
    
    
      linear_extrude(h=BaseThick)
        import(fn,id="Perimeter");
    
      color("Green")
        up(BaseThick)
          linear_extrude(h=FragmentThick)
            difference() {
              import(fn,id="Perimeter");
              import(fn,id="Recesses");
            }
    
      color("Red")
        up(BaseThick + FragmentThick)
        linear_extrude(h=RimHeight)
          difference() {
            import(fn,id="LipOut");
            import(fn,id="LipIn");
            import(fn,id="Island");
          }
    
    }
    

    Run the solid model through PrusaSlicer:

    Chipboard Fragment Coaster B - slicer preview
    Chipboard Fragment Coaster B – slicer preview

    And have a baseplate an hour later:

    Coaster Printing - in progress
    Coaster Printing – in progress

    While that’s buzzing away, tell LightBurn to cut chipboard instead of metallized paper, stick some craft adhesive sheet on the chipboard, and Fire The Laser:

    Chipboard Fragment Coaster - chipboard cutting
    Chipboard Fragment Coaster – chipboard cutting

    Remember to mirror the fragments, because you’re cutting them bottom-up.

    Do the same for the cork sheet going on the bottom, which does not require mirroring.

    I tossed the cardboard alignment fixtures I used to stick the cork onto the 3D printed baseplate, so make another one for each coaster.

    The top layer holds the baseplate:

    Chipboard Fragment Coaster - cork fixture - top
    Chipboard Fragment Coaster – cork fixture – top

    The cork + adhesive sheet is inset 0.5 mm from the edge of the baseplate, so the outline cut in the bottom layer of cardboard is just that much smaller:

    Chipboard Fragment Coaster - cork fixture - bottom
    Chipboard Fragment Coaster – cork fixture – bottom

    Although the time used to make a fixture isn’t deducted from your allotment, I’m not sure about making two identical fixtures, so I’m saving these for the next time.

    Then peel-n-stick the chipboard fragments in their recesses:

    Chipboard Fragment Coaster - variety
    Chipboard Fragment Coaster – variety

    The first baseplate didn’t have raised rims around the fragments (because there’s no need to retain any epoxy), but the result looked kinda … flat:

    Chipboard Fragment Coaster - flat top
    Chipboard Fragment Coaster – flat top

    Fixing that was a matter of not setting the rim height to zero in the OpenSCAD code.

    It’s perfectly functional even without a rim:

    Printed Coaster - chipboard inserts - sweaty mug
    Printed Coaster – chipboard inserts – sweaty mug

    Protip: White chipboard is a Terrible Idea™ in a quick-n-easy laser cuttery project. All the rest have only red or blue fragments for a good reason.

    Conversely, white PETG makes a nice contrast to the deep red and blue.

    Prosit!