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: Home Ec

Things around the home & hearth

  • Robin Nest: Nestlings!

    Robin Nest: Nestlings!

    All four nestlings emerged on schedule:

    Garage Robin - four nestlings
    Garage Robin – four nestlings

    The oldest nestling was ready for feeding almost immediately, even with unopened eyes:

    Garage Robin - Nestling begging
    Garage Robin – Nestling begging

    As any infant will tell you, holding your head up is hard work:

    Garage Robin - Nestling dozing
    Garage Robin – Nestling dozing

    But doing only half the job won’t get you fed:

    Garage Robin - Nestling recovering
    Garage Robin – Nestling recovering

    They’re just starting to make little chirps, so this isn’t nearly as raucous as you might think:

    Garage Robin - Nestlings begging
    Garage Robin – Nestlings begging

    The adults seem to have no trouble bringing an endless stream of worms, insects, and unidentifiable organisms from the yard and garden.

    Go, birds, go!

  • Painting By Numbers, Redux

    Painting By Numbers, Redux

    Five years later, the digits I painted with Rust-Oleum Rusty Metal Primer have weathered pretty well, while the original ink has fallen off the retroreflective sticker:

    Mailbox numbers - original vs primer
    Mailbox numbers – original vs primer

    As before, I wiped off the crud with denatured alcohol and painted neatly inside the lines. The other digits on both sides still look as good as the day I painted them, with only a few bubbles and nicks.

    Memo to self: Next time, buy a big sheet of 3M retroreflective film, make a stencil by vinyl cutting, paint the entire number in one shot, and be done with it.

  • Soaker Hose Clamps

    Soaker Hose Clamps

    Having figured out the geometry for two- and three-channel soaker hoses, I cranked out more clamps:

    Soaker Hose Clamps - production
    Soaker Hose Clamps – production

    Actually, those are the remainder of two production runs devoted to reducing the amount of water sprinkling the garden paths. A 50 foot hose runs along both sides of one 14 foot bed, crosses the path, then continues along the adjacent bed. The hoses have (deliberate!) sprinkler holes along their porous rubber body and sometimes the layout puts a hole where it waters the path.

    The blue silicone rubber strips provide a bit of sealing to prevent the absurdly high pressure water from streaming through the orange PETG clamps. It’s OK if the clamp leaks, but less flow is better!

    I’m getting really good at making those aluminum backing plates and, in fact, I think it’s faster to run the blanks past the disk sander, then drill the holes, than to CNC-machine them. Could be wrong, but Quality Shop Time is not to be sniffed at.

  • No-Knead Bread

    No-Knead Bread

    Although it’s not particularly keto-friendly, I made a loaf of NY Times No-Knead Bread (fine-tuned versions):

    No-knead bread - loaf
    No-knead bread – loaf

    Wow, that tasted good and definitely added a bit more pep to my morning bike rides!

    The receipe produces a rather wet lump of dough in the mixing bowl:

    No-knead bread - mixed
    No-knead bread – mixed

    It looks much more promising after rising for 18 hours:

    No-knead bread - 18 hour rise
    No-knead bread – 18 hour rise

    The recipe calls for a large heavy pot, which produced a long-disused nickel-plated cast iron Wagner Ware No. 8 Drip-Drop Roaster from the attic:

    No-knead bread - Wagner No 8 Roaster
    No-knead bread – Wagner No 8 Roaster

    I scrubbed out the interior and used it as-found to good effect. After the cookin’ was done, a few hours of electrolytic stripping seemed in order:

    No-knead bread - electrolytic pot strip
    No-knead bread – electrolytic pot strip

    The lovely nickel plating on the outside of the pot didn’t need stripping, but the interior is once again a nice flat black surface and the next loaf should drop right out …

  • Robin Nest: Eggs!

    Robin Nest: Eggs!

    After pausing to recover from construction, Ms Robin laid four eggs in four days:

    • Garage Robin Nest - first egg - 2020-05-28
    • Garage Robin Nest - 2 eggs - 2020-05-29
    • Garage Robin Nest - 3 eggs - 2020-05-30
    • Garage Robin Nest - 4 eggs - 2020-05-31

    She’s surprisingly tolerant of our comings and goings, as well as garage door openings and closings:

    Garage Robin Nest - robin brooding
    Garage Robin Nest – robin brooding

    We’re trying to stay out of her way as much as possible.

    The gallery pix come from my phone, held against the soffit over the nest, and aimed entirely by feel, while standing on the Greater Ladder. If I had access to the top of the soffit, I’d drill a webcam hole, but …

  • Tree Stump Removal

    Tree Stump Removal

    This makes writing 3D modeling code and turning threads look downright attractive:

    Tree stump - crater
    Tree stump – crater

    The previous owners apparently surrounded a cedar (?) tree with a ring of large, decorative rocks. The tree vanished long before we arrived, with the stump accreting random stones, bricks, and similar impedimenta ever since; my first task involved (re)moving a couple hundred pounds of rocky debris.

    After using the stump as a fulcrum for that steel bar to break the rotted roots and loosen the surrounding soil, it’s out and away:

    Tree stump - excavated
    Tree stump – excavated

    Back to the Basement Laboratory …

  • Garden Hose Valve Wrench: Reinforced

    Garden Hose Valve Wrench: Reinforced

    After five gardening seasons, my simple 3D printed wrench broke:

    Hose Valve Knob - fractured
    Hose Valve Knob – fractured

    Although Jason’s comment suggesting carbon-fiber reinforcing rods didn’t prompt me to lay in a stock, ordinary music wire should serve the same purpose:

    Hose Valve Knob - cut pins
    Hose Valve Knob – cut pins

    The pins are 1.6 mm diameter and 20 mm long, chopped off with hardened diagonal cutters. Next time, I must (remember to) grind the ends flat.

    The solid model needs holes in appropriate spots:

    Hose Valve Knob - Reinforced - Slic3r
    Hose Valve Knob – Reinforced – Slic3r

    Yes, I’m going to put round pins in square holes, without drilling the holes to the proper diameter: no epoxy, no adhesive, just 20 mm of pure friction.

    The drill press aligns the pins:

    Hose Valve Knob - pin ready
    Hose Valve Knob – pin ready

    And rams them about halfway down:

    Hose Valve Knob - pin midway
    Hose Valve Knob – pin midway

    Close the chuck jaws and shove them flush with the surface:

    Hose Valve Knob - pins installed
    Hose Valve Knob – pins installed

    You can see the pins and their solid plastic shells through the wrench stem:

    Hose Valve Knob - assembled
    Hose Valve Knob – assembled

    Early testing shows the reinforced wrench works just as well as the previous version, even on some new valves sporting different handles, with an equally sloppy fit for all. No surprise: I just poked holes in the existing model and left all the other dimensions alone.

    The OpenSCAD source code as a GitHub Gist:

    // Hose connector knob
    // Ed Nisley KE4ZNU – June 2015
    // 2020-05 add reinforcing rods
    Layout = "Build"; // [Knob, Stem, Show, Build]
    RodHoles = true;
    //- Extrusion parameters – must match reality!
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    Protrusion = 0.1;
    HoleWindage = 0.2;
    //——
    // Dimensions
    /* [Dimensions] */
    RodOD = 1.6;
    RodAngle = 35;
    /* [Hidden] */
    StemOD = 30.0; // max OD for valve-to-valve clearance
    BossOD = 16.0; // single-ended handle boss
    SlotWidth = 13.0;
    SlotHeight = 10.0;
    StemInset = 10.0;
    StemLength = StemInset + SlotHeight + 25.0;
    StemSides = 2*4;
    Align = 0*180/StemSides; // 1* produces thinner jaw ends
    KnobOD1 = 70; // maximum dia without chamfer
    KnobOD2 = 60; // top dia
    KnobSides = 4*4;
    DomeHeight = 12; // dome shape above lobes
    KnobHeight = DomeHeight + 2*SlotHeight;
    DomeOD = KnobOD2 + (KnobOD1 – KnobOD2)*(DomeHeight/KnobHeight);
    DomeArcRad = (pow(KnobHeight,2) + pow(DomeOD,2)/4) / (2*DomeHeight);
    RodBCD = (StemOD + BossOD)/2;
    //- Adjust hole diameter to make the size come out right
    module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes
    Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
    FixDia = Dia / cos(180/Sides);
    cylinder(r=(FixDia + HoleWindage)/2,h=Height,$fn=Sides);
    }
    //– Stem for valve handles
    module Stem() {
    difference() {
    rotate(Align)
    cylinder(d=StemOD,h=StemLength,$fn=StemSides);
    translate([0,0,SlotHeight/2 – Protrusion/2])
    cube([2*StemOD,SlotWidth,(SlotHeight + Protrusion)],center=true);
    translate([0,0,-Protrusion])
    cylinder(d=BossOD,h=SlotHeight,$fn=2*StemSides);
    if (RodHoles)
    for (i=[-1:1])
    rotate(i*RodAngle + 90)
    for (j=[-1,1])
    translate([j*RodBCD/2,0,-Protrusion])
    rotate(180/4)
    PolyCyl(RodOD,2*SlotHeight,4);
    }
    }
    //– Hand-friendly knob
    module KnobCap() {
    difference() {
    scale([1.0,0.75,1.0])
    rotate(180/KnobSides)
    intersection() {
    translate([0,0,(KnobHeight-DomeArcRad)])
    sphere(r=DomeArcRad,$fa=180/KnobSides);
    cylinder(r1=KnobOD1/2,r2=KnobOD2/2,h=KnobHeight,$fn=KnobSides);
    cylinder(r1=KnobOD2/2,r2=KnobOD1/2,h=KnobHeight,$fn=KnobSides);
    }
    translate([0,0,-Protrusion])
    rotate(Align)
    cylinder(d=(StemOD + 2*ThreadWidth),h=(StemInset + Protrusion),$fn=StemSides);
    }
    }
    //- Build it
    if (Layout == "Knob")
    KnobCap();
    if (Layout == "Stem")
    Stem();
    if (Layout == "Build") {
    translate([-KnobOD1/2,0,0])
    KnobCap();
    translate([StemOD/2,0,StemLength])
    rotate([180,0,0])
    Stem();
    }
    if (Layout == "Show") {
    translate([0,0,0])
    Stem();
    translate([0,0,StemLength – StemInset])
    KnobCap();
    }