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: Machine Shop

Mechanical widgetry

  • Universal Socket to Quarter-Inch Hex Adapter Stack

    Universal Socket to Quarter-Inch Hex Adapter Stack

    Being that type of guy, I wanted to salvage a loooong square-head bolt from the utility pole stub formerly holding up the mailboxes, which would require a few gazillion turns of its square head with the Adjustable Elephant Wrench. After verifying I couldn’t just hammer the mumble thing through the pole, I gave a few turns of the Universal Socket on a ratchet:

    Universal Socket Wrench
    Universal Socket Wrench

    It’s intended for goobered hex heads up to 1-¼ inch, but the pins slide down around pretty much anything that sticks out and jam against the shell, so it’s handy for those last-ditch extraction events.

    After verifying doing this by hand would occupy me until just before the heat death of the universe, I followed Mad Phil’s signal connector adage: “If you can get to BNC, you can get to anything.”

    Some rummaging produced this unsteady mechanical ziggurat:

    Universal Socket to quarter-inch hex - adapter stack
    Universal Socket to quarter-inch hex – adapter stack

    From bottom to top:

    • Universal Socket with ½ inch square drive socket
    • 1/2 inch square drive to ¾ inch hex
    • 19 mm (close enough to ¾ inch) 12-point socket to ⅜ inch square drive socket
    • ⅜ inch square drive to ¼ inch square drive socket
    • ¼ inch square drive to ¼ inch hex drive

    Then stick the teeny end into the hand drill, rig engines for reverse running, and whine away on that bolt, which obligingly backed right out.

    After the fact, I found the obviously missing ¼ to ½ inch square drive adapter hiding in the Drawer o’ Sockets:

    Universal Socket - short adapter stack
    Universal Socket – short adapter stack

    Which doesn’t make any more sense, but is less likely to fall apart under normal use.

    Aaaaand one more adapter makes this possible:

    Improper square drive adapter stack
    Improper square drive adapter stack

    That’s a 50 mm socket turned by ¼ inch hex drive in four easy steps, although I’m reasonably sure it still won’t get the idler bogies off my armored personnel carrier.

    The stray adapter steps down from ½ square to ⅜ square, should a need for a breaker bar occur during eyeball surgery.

  • Laser Engraved Fabric

    Laser Engraved Fabric

    This is more along the lines of searing the fuzz, rather than actual engraving:

    Laser Engraved Fabric - cotton knit
    Laser Engraved Fabric – cotton knit

    The top row is 15% power at 400 mm/s, the bottom is 25% power, and the fabric was a cotton t-shirt from the Box o’ Shop Wipes.

    Applying the higher power to the inside of sweatpants fabric, whatever that might be:

    Laser Engraved Fabric - sweatpants
    Laser Engraved Fabric – sweatpants

    Both of those were easier to see in the slanting sunlight of a later winter afternoon.

    The best results come from the lowest feasible power applied at the fastest practical speed, with obvious size and complexity limitations.

    I think this will most useful on a removable tag labeling a piece (perhaps cut from a larger pattern), rather than branding the piece itself.

  • Car vs. Mailbox: Replacement Boxes

    Car vs. Mailbox: Replacement Boxes

    Combining a new mailbox with a post and an old mailbox I had on hand, upcycling some scrap wood, then sticking on a few digits and a seasonal decoration found on a walk, should shake loose the mail currently stuck in the USPS delivery system:

    Mailboxes - south view
    Mailboxes – south view

    That’s an Extra Large mailbox, suitable for most packages arriving by USPS, and dwarfing the ordinary mailbox on the north side:

    Mailboxes - north view
    Mailboxes – north view

    The post is just uphill from the utility pole stub formerly supporting the previous mailboxes. Much to my astonishment, my post hole digger got 30 inches down before hitting The Final Rock, deep enough for the task at hand.

    The boxes sit on slabs harvested from an old door and screwed to two layers of Chinese plywood from the laser cutter’s shipping crate, all unpainted / untreated interior-grade (at best) wood cut with a circular saw. My assumption is they’ll last long enough for the purpose and, not having formed a deep emotional bond with them, I won’t feel too bad when the assembly gets pulverized.

    The whole affair sports a rakish tilt toward the street, in the hope of encouraging rainwater to run off, rather than soak in, but I fully expect the untreated plywood to act as a sponge and delaminate / curl / splay in a spectacular & amusing fashion.

    The pale rectangle across the vertical post is a (laser cut!) Chinese plywood plate intended to hold the crossbar together. The vertical and horizontal posts meet in a simple cross lap joint that surely wasn’t intended to support nearly so much weight: reinforcement seems appropriate.

    Next project: sort out the insurance claim …

  • Laser-Engraved Bentley Snowflakes

    Laser-Engraved Bentley Snowflakes

    Algorithmic snowflakes make for interesting coasters and decorations:

    Snowflake Hangers - frosted
    Snowflake Hangers – frosted

    But they lack the complexity of real snowflakes:

    Wilson Bentley Photomicrograph of Dendrite Star Snowflake No. 842 - SIA-SIA2013-09114 - rescaled
    Wilson Bentley Photomicrograph of Dendrite Star Snowflake No. 842 – SIA-SIA2013-09114 – rescaled

    That’s from the Smithsonian collection of the Wilson Bentley snowflake photos from back in the 1890s, all of which are CC0 = Public Domain images.

    So pick a nice image, say #842, clean it up a bit, and isolate the flake from the background:

    Snowflake No. 842 - SIA-SIA2013-09114 - isolated
    Snowflake No. 842 – SIA-SIA2013-09114 – isolated

    Pick a threshold level to prettify the result:

    Snowflake No. 842 - SIA-SIA2013-09114 - Threshold
    Snowflake No. 842 – SIA-SIA2013-09114 – Threshold

    Then engrave it into the back of an acrylic mirror scrap, so the darkest parts become most transparent:

    Bentley 842 - engraved mirror - white background
    Bentley 842 – engraved mirror – white background

    Which looks better when seen against an illuminated background:

    Bentley 842 - engraved mirror - color background A
    Bentley 842 – engraved mirror – color background A

    Well, I think it does:

    Bentley 842 - engraved mirror - color background B
    Bentley 842 – engraved mirror – color background B

    Maybe four different snowflakes atop those squares?

    Gotta get this ready for the next snow season …

  • Shoulder PT Pulley: Last 10% Manufacturing

    Shoulder PT Pulley: Last 10% Manufacturing

    Mary’s PT requires a Shoulder Pulley, so I got one that seemed better constructed than the cheapest Amazon crap. In particular, this view suggested the pulley ran on a bearing:

    Slim Panda Shoulder Pulley - detail view
    Slim Panda Shoulder Pulley – detail view

    Which turned out to be the case, but, also as expected, the whole thing required a bit of finishing before being put in service.

    It’s intended to hang from a strap trapped between an interior door and its frame. The strap was intended to attach to the block (a.k.a. “Thickened base”) through a breathtakingly awkward pair of low-end carabiners:

    Slim Panda Shoulder Pulley - carabiners
    Slim Panda Shoulder Pulley – carabiners

    Which I immediately replaced with a simple, silent, sufficiently strong black nylon cable tie:

    Shoulder PT Pulley - block hardware
    Shoulder PT Pulley – block hardware

    Rather than let the metal block clunk against the door, it now sports a pair of cork-surfaced bumper plates:

    Shoulder PT Pulley - side plates installed
    Shoulder PT Pulley – side plates installed

    A doodle of the block dimensions:

    Shoulder Pulley - dimension doodle
    Shoulder Pulley – dimension doodle

    Which turned into a simple LightBurn layout:

    Shoulder PT Pulley Side Plates - LB layout
    Shoulder PT Pulley Side Plates – LB layout

    The blue construction lines represent the actual block & pulley, with the red cut lines offset 2 mm to the outside to ensure the metal stays within the bumpers. It’s possible to pick the block up and whack the pulley against the door, so don’t do that.

    Cut out two pieces of 3 mm MDF, two pieces from a cork coaster (covered with blue tape and cut with the paper backing up), peel-n-stick the cork to the MDF, put double-sided foam tape on the block, peel-n-stick the bumpers, then hang on the attic door.

    Now it works the way it should!

    The LightBurn SVG layout 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.

  • Toilet Flush Valve Re-chaining

    Toilet Flush Valve Re-chaining

    I don’t think I flushed the pot any more vigorously than usual, but the plastic chain snapped off at the flush valve:

    Flush valve chain - broken plastic
    Flush valve chain – broken plastic

    Some rummaging in the Chain Locker produced a steel chain from a long-ago flush valve that snapped into place:

    Flush valve chain - steel
    Flush valve chain – steel

    Despite what you may think, I do not enjoy fiddling with this stuff, so I locked the link in place with a dab of hot melt glue:

    Flush valve chain - steel glued
    Flush valve chain – steel glued

    Having recently repaired the other pot in the house, perhaps they’ll stay fixed for a while. It could happen!

  • Tailor’s Clapper: 3D Printed Finger Grips

    Tailor’s Clapper: 3D Printed Finger Grips

    With the pockets milled into the oak blocks, the next step is to insert a pair of comfy 3D printed finger grips:

    Ironing weight - prototype grip
    Ironing weight – prototype grip

    Getting comfy required a bank shot off the familiar chord equation to find the radius of a much larger circle producing the proper depth between the known width. The recess then comes from subtracting a hotdog from a lozenge exactly filling the wood pocket.

    Ironing Weight Finger Grip - recess chord
    Ironing Weight Finger Grip – recess chord

    A pair of grips takes just under two hours to print while requiring no attention, which I vastly prefer to tending the Sherline.

    The wood pocket is 7 mm deep and the grips stand 6.5 mm tall, leaving just enough room for three blobs of acrylic adhesive to hold them together. After squishing the grips into their pockets, a pair of right angles aligned everything while the adhesive cured:

    Ironing weight - grip adhesive curing
    Ironing weight – grip adhesive curing

    Mary asked for a longer weight for a place mat project, with a slightly narrower block to compensate for the additional length:

    Ironing weight - seam ironing B
    Ironing weight – seam ironing B

    The grip and pocket were the same size, so it was just a matter of tweaking the block size and cutting more wood.

    All in all, a quick project with satisfying results!

    The OpenSCAD source code as a GitHub Gist:

    // Oak ironing weight finger grips
    // Ed Nisley KE4ZNU 2023-01
    Layout = "Show"; // [Block,Grip,Show,Build]
    //- Extrusion parameters must match reality!
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    ID = 0;
    OD = 1;
    LENGTH = 2;
    //———-
    // Dimensions
    // Length along X axis
    Block = [250.0,50.0,39.0]; // overall wood block
    BlockRadius = 10.0;
    CornerRadius = 10.0;
    Kerf = 0.2;
    Socket = [160.0,25.0,6.5]; // raw recess into block
    SocketRadius = Socket.y/2;
    echo(Socket=Socket,SocketRadius=SocketRadius);
    WallThick = ThreadWidth; // Thinnest printed wall
    Clearance = 0.5; // between grip and recess
    GripBlock = Socket – [2*Clearance,2*Clearance,Clearance];
    GripBlockRadius = SocketRadius – Clearance;
    echo(GripBlock=GripBlock);
    GripDepth = 5.0; // finger grip recess
    GripRecess = [GripBlock.x – 2*WallThick,GripBlock.y – 2*WallThick,GripDepth];
    GripRecessRadius = GripBlockRadius – WallThick;
    echo(GripRecess=GripRecess,GripRecessRadius=GripRecessRadius);
    GripChordRadius = (pow(GripDepth,2) + pow(GripRecess.y,2)/4) / (2*GripDepth);
    echo(GripChordRadius=GripChordRadius);
    NumSides = 4*8;
    //———-
    // Shapes
    module WoodBlock() {
    difference() {
    hull()
    for (i=[-1,1], j=[-1,1]) // rounded block
    translate([i*(Block.x/2 – BlockRadius),j*(Block.y/2 – BlockRadius),-Block.z/2])
    cylinder(r=BlockRadius,h=Block.z,$fn=NumSides);
    for (j=[-1,1]) // grip socket
    translate([0,j*(Block.y/2 + Protrusion),0])
    rotate([j*90,0,0])
    hull() {
    for (i=[-1,1])
    translate([i*(Socket.x/2 – SocketRadius),(Socket.y/2 – SocketRadius),0])
    cylinder(r=SocketRadius,h=Socket.z + Protrusion,$fn=NumSides);
    }
    cube([2*Block.x,2*Block.y,Kerf],center=true);
    }
    }
    module Grip() {
    difference() {
    hull()
    for (i=[-1,1]) // overall grip block
    translate([i*(GripBlock.x/2 – GripBlockRadius),0,0])
    cylinder(r=GripBlockRadius,h=GripBlock.z,$fn=NumSides);
    hull() {
    for (i=[-1,1]) // grip recess
    translate([i*(GripBlock.x/2 – GripRecessRadius – WallThick),
    0,
    GripChordRadius + GripBlock.z – GripDepth])
    sphere(r=GripChordRadius,$fn=NumSides);
    }
    }
    }
    //———-
    // Build them
    if (Layout == "Block")
    WoodBlock();
    if (Layout == "Grip")
    Grip();
    if (Layout == "Show") {
    color("Brown")
    WoodBlock();
    color("Silver")
    for (j=[-1,1])
    translate([0,j*(Block.y/2 – GripBlock.z),0])
    rotate([j*-90,0,0])
    Grip();
    }
    if (Layout == "Build") {
    for (i=[-1,1])
    translate([i*(Block.y/2 – GripBlock.z),0,0])
    rotate([0,0,90])
    Grip();
    }