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.

Category: Oddities

Who’d’a thunk it?

  • Hood Heavy Cream Seal: Whoopsie

    Hood Heavy Cream Seal: Whoopsie

    I was certain this was badly spoiled cream:

    Hood Heavy Cream seal - exterior
    Hood Heavy Cream seal – exterior

    The seal was firmly affixed inside the cap, just like all the seals on all the other cartons we’ve ever bought, so this wasn’t a “broken seal”.

    The bottom of the seal looked about the same:

    Hood Heavy Cream seal - interior 1
    Hood Heavy Cream seal – interior 1

    The cream inside the carton looked & smelled fine, so it went into the morning omelette with no ill effect. Yes, I’m aware some bacterial contamination has no particular smell or taste.

    Scraping off the pure-white cream showed the crud had been molded inside the plastic:

    Hood Heavy Cream seal - interior 2
    Hood Heavy Cream seal – interior 2

    A closer look at the exterior surface of the seal:

    Hood Heavy Cream seal - exterior detail
    Hood Heavy Cream seal – exterior detail

    And the interior surface:

    Hood Heavy Cream seal - interior detail
    Hood Heavy Cream seal – interior detail

    Both of those are focused on the top surface; the blurred areas are inside the plastic.

    The date & production codes sprayed onto the carton were somewhat illegible:

    Hood Heavy Cream seal - illegible codes
    Hood Heavy Cream seal – illegible codes

    Getting a better angle helped:

    Hood Heavy Cream seal - date prod codes
    Hood Heavy Cream seal – date prod codes

    I sent in a report, but I’m sure I’ll never know the rest of the story …

  • Spraying Along the Egg Line

    Spraying Along the Egg Line

    This carton went through the date coder with its lid open:

    Egg carton data spray
    Egg carton data spray

    They made a fine breakfast

  • Garden Hose Valve Wrench: Decommissioning

    Garden Hose Valve Wrench: Decommissioning

    Mary found the wrench I made five years ago in the bottom of her tool bucket:

    Hose Valve Knob - five years later
    Hose Valve Knob – five years later

    Having moved away from the garden with all the valves that wrench turned, it can now go into the 3D Printed Sample Box for use in the unlikely event I ever give another talk on the subject.

    I’d design it differently these days, what with BOSL2 in my sails, but it got the job done.

    Some things last long enough!

  • Bizarre Spam

    Bizarre Spam

    Thanks to Google Translate:

    Mrs Sgt Candy Payne spam
    Mrs Sgt Candy Payne spam

    It’s not clear why a Sergeant in the US Army would translate her request for help into Simplified Chinese so I can better understand it, but that’s the world we live in.

    This deposit would move my Quality-of-Life needle, but certainly not in a good direction:

    Mrs Sgt Candy Payne spam - detail
    Mrs Sgt Candy Payne spam – detail

    Today I Learned: there are humanitarian doctors connected with the Red Army in Morocco.

    The cost of sending this junk must be low enough to fuel the spam machine from a minuscule response rate.

    A pox on their collective backside!

  • Wreath Robins

    Wreath Robins

    Last year, a pair of finches made several nesting attempts in the wreath at our front door, only the first of which succeeded.

    This year, a pair of robins took over:

    Wreath Robin Nest - 2025-05-02
    Wreath Robin Nest – 2025-05-02

    They’re considerably larger and we hoped would be more able to repel attackers. They also seemed to get off to a late start, as we saw young robins hopping around the yard with other adults while these birds were building their nest, so this may have been their second nest of the season.

    The first egg appeared on 5 May:

    Wreath Robin Nest - 2025-05-18
    Wreath Robin Nest – 2025-05-18

    Two weeks later, the first chick pipped:

    Wreath Robin Nest - 2025-05-19
    Wreath Robin Nest – 2025-05-19

    Only a mother could love something like that, but they almost always do:

    Wreath Robin Nest - 2025-05-20
    Wreath Robin Nest – 2025-05-20

    Floppy chicks are (still) floppy one day later:

    Wreath Robin Nest - 2025-05-21
    Wreath Robin Nest – 2025-05-21

    Rapid growth is Job One:

    Wreath Robin Nest - 2025-05-22
    Wreath Robin Nest – 2025-05-22

    Taking shape:

    Wreath Robin Nest - 2025-05-23
    Wreath Robin Nest – 2025-05-23

    And then there were none:

    Wreath Robin Nest - 2025-05-24
    Wreath Robin Nest – 2025-05-24

    The M50 trail camera was defunct, so we don’t know what happened to them. Mary didn’t hear a fuss through the adjacent bedroom window, which suggests something grabbed them while Ms Robin was off getting breakfast.

    We took the wreath down and replaced it with a slate plaque, because we’d rather not know …

  • Pepper Mill: End of Life

    Pepper Mill: End of Life

    So I finally took our pepper mill apart to see why it was having trouble grinding peppercorns:

    Pepper mill wear
    Pepper mill wear

    It was a wedding present and, nigh onto half a century later, it’s all worn out.

    Its replacement surely won’t survive so long, even with ceramic innards, but I may not notice.

  • 3D Printed 20×102mm Cartridge

    3D Printed 20×102mm Cartridge

    Having accumulated a box of empty 12 gram CO₂ capsules and having already done Too Many bomb fins:

    20x102mm cartridges
    20x102mm cartridges

    The capsule is obviously the wrong shape, too short, and only 19 mm diameter, but it’s the thought that counts.

    Apply the contour gauge to a genuine slightly battered 20×102mm cartridge:

    20x102mm cartridge tracing
    20x102mm cartridge tracing

    Scan the sketch, import into Inkscape, rotate the image to correct the case taper angle vs. the page, lay lines & curves around the perimeter, align half of it at the page origin to work with OpenSCAD, export as SVG:

    Cartridge - 20x102mm outline - Inkscape layout
    Cartridge – 20x102mm outline – Inkscape layout

    Import into OpenSCAD, let rotate_extrude do the heavy lifting, and remove some pieces:

    Cartridge Case - build view solid model
    Cartridge Case – build view solid model

    The little disk represents a fired primer you’d print separately in a different color and glue into the pocket shown in this cutaway view:

    Cartridge Case - cutaway solid model
    Cartridge Case – cutaway solid model

    The interior void could hold sand for additional heft, as the whole thing is obviously nose-heavy; that’s certainly in the nature of fine tuning. Obviously, we are not dealing with anything that could go bang.

    It builds just like you’d expect:

    20x102mm cartridge - printing
    20x102mm cartridge – printing

    Dab some adhesive on the capsule tip, ditto for the primer, stick them in place, and it’s all good.

    I like the gray PETG-CF version:

    20x102mm cartridges - blue gray PETG-CF
    20x102mm cartridges – blue gray PETG-CF

    Maybe not such a good idea in this day & age. Print responsibly, as they say.

    Update

    Print a sabot to fit a CO₂ capsule into a genuine steel cartridge.

    The solid model:

    Cartridge Case - sabot solid model
    Cartridge Case – sabot solid model

    The OpenSCAD making it happen:

    module Sabot() {
    tube(SabotOA[LENGTH],id=SabotOA[ID],od=SabotOA[OD],anchor=BOTTOM)
        position(BOTTOM)
          tube(SabotOA[LENGTH]/2,id=SabotOA[ID],od=CartridgeOA[ID],anchor=BOTTOM);
    }
    

    The result:

    20x102mm cartridges
    20x102mm cartridges

    The OpenSCAD source code (minus the sabot) and outline as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
    // 20x102mm cartridge
    // Ed Nisley – KE4ZNU
    // 2025-05-18
    include <BOSL2/std.scad>
    Layout = "Show"; // [Show,Build]
    Powder = true; // build internal void
    /* [Hidden] */
    ID = 0;
    OD = 1;
    LENGTH = 2;
    HoleWindage = 0.2;
    Protrusion = 0.1;
    NumSides = 3*3*4;
    $fn = NumSides;
    CartridgeOA = [21.0,29.5,101.4]; // must match SVG pretty closely
    PrimerOA = [2.0,8.0,2.0];
    CapsuleTip = [7.5,7.5,5.0];
    Capsule = [7.5,18.8 + HoleWindage,83];
    SeatingDepth = 25.0;
    Void = [CartridgeOA[ID]- 4.0,CartridgeOA[OD]- 4.0,CartridgeOA[LENGTH] – SeatingDepth – 4*PrimerOA[LENGTH]];
    //———-
    // Define shapes
    module Cartridge() {
    difference() {
    rotate_extrude()
    import("Cartridge – 20x102mm outline.svg",layer="Cartridge Aligned Half");
    up(PrimerOA[LENGTH])
    cyl(PrimerOA[LENGTH] + Protrusion,d=PrimerOA[OD],anchor=TOP);
    up(CartridgeOA[LENGTH] + CapsuleTip[LENGTH])
    cyl(SeatingDepth,d=Capsule[OD],anchor=TOP);
    up(CartridgeOA[LENGTH] – SeatingDepth)
    cyl(Void[LENGTH],d=CapsuleTip[OD],anchor=BOTTOM);
    if (Powder) {
    up(Void[LENGTH]/2)
    cyl(Void[LENGTH],d=CapsuleTip[OD],anchor=BOTTOM);
    up(2*PrimerOA[LENGTH])
    cyl(Void[LENGTH],d=Void[OD],rounding=Void[OD]/2,anchor=BOTTOM);
    down(Protrusion)
    cyl(Void[LENGTH],d=PrimerOA[ID],anchor=BOTTOM);
    }
    }
    }
    module Primer() {
    difference() {
    cyl(PrimerOA[LENGTH] – Protrusion,d=PrimerOA[OD] – HoleWindage,anchor=BOTTOM);
    up(PrimerOA[LENGTH])
    spheroid(d=PrimerOA[ID]);
    }
    }
    //———-
    // Build things
    if (Layout == "Show")
    //render()
    difference() {
    Cartridge();
    cuboid(3*CartridgeOA[LENGTH],anchor=LEFT+BACK);
    }
    if (Layout == "Build") {
    Cartridge();
    right(CartridgeOA[OD])
    Primer();
    }