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: Improvements

Making the world a better place, one piece at a time

  • GripStic Shortening

    GripStic Shortening

    We’ve been using GripStic Bag Sealers on bags around the kitchen with good results, but the “XLarge” pink sticks far exceed the largest bags we have. While not the worst problem I’ve encountered in the last year, I can fix that:

    Gripstic - shortened assortment
    Gripstic – shortened assortment

    An elaborate latch aligns the yellow rod along the axis of the outer shell:

    Gripstic - rod end feature
    Gripstic – rod end feature

    I shortened the stick with Tiny Bandsaw™, cleaned up the ends, squirted hot melt glue into the shell, set it on a bench block, rammed the yellow rod into the glue, and paused for contemplation:

    Gripstic - shortened glue
    Gripstic – shortened glue

    Trim off the blob and it’s all good.

    The WordPress AI suggests “Additionally, including tips for handling the Tiny Bandsaw™ and hot melt glue would be beneficial.” So, as always, use your tools carefully, OK?

    Adding the preceding paragraph changed the AI suggestion to “To further improve the content, consider adding tips for handling the Tiny Bandsaw™ and hot melt glue for the readers’ benefit. Always prioritize safety when using tools.” I recommend not juggling Tiny Bandsaw™ and a hot melt glue gun, particularly went they’re running.

  • Laser-cut Paper Pad Hooks

    Laser-cut Paper Pad Hooks

    Mostly because I could:

    Laser-cut MDF paper hooks
    Laser-cut MDF paper hooks

    Another pair of hooks support the far end of the sketch paper pad, all hanging on the end of the shelves holding laser materials & tooling.

    MDF isn’t particularly well-suited as a hook for anything weighing more than a dozen sheets of paper, but that pad is now out of the way where it won’t get curled.

    The shape comes from a bunch of rectangles welded together in LightBurn, with the obvious corners rounded off for stylin’.

  • Wheelbarrow Drain Holes

    Wheelbarrow Drain Holes

    Attacking a plastic wheelbarrow with a ¾ inch hole saw prevents it from becoming a mosquito breeding station:

    Wheelbarrow drain holes
    Wheelbarrow drain holes

    We had been storing it tipped to one side, resulting in the wheel filling up with water, which can’t be a Good Thing.

    If it must carry a load of sand, I’ll just duct-tape the holes.

    One of Mary’s friend looked at, but did not order, this wheelbarrow on Amazon. Shortly thereafter, she received a wheelbarrow in two packages: the handles and a box with everything else strapped into the barrow. After a discussion with Amazon’s support / help staff, she was told to just keep it at no charge.

    Over the next few weeks, she received five more wheelbarrows, each prompting a discussion and keeping them at no charge. Eventually, somebody figured out how to stop the stream.

    So half a dozen gardeners now have free wheelbarrows, courtesy of a glitch in The Machine.

    Makes you wonder, doesn’t it?

  • Anker A1215 PowerCore 13000 Power Banks: Five Years

    Anker A1215 PowerCore 13000 Power Banks: Five Years

    After five years of powering the action cameras on our Tour Easy recumbents, the pair of Anker A1215 PowerCore 13000 USB power banks have about 8 A·hr of capacity with a 2 A load after a full charge:

    Anker PowerCore 13000 - 20204-07-26
    Anker PowerCore 13000 – 20204-07-26

    It seems I did not test them on arrival, so I have no idea what their original capacity might have been, but I’m certain it wasn’t the 13 A·hr implied by their name.

    The sawtooth voltage output looks like the internal controller picks a constant boost (or buck) ratio based on the battery voltage, then adjusts it when the output voltage falls below the lower limit. You can imagine it desperately boosting the ratio as the battery voltage falls off a cliff near the end of the curve.

    I have no idea why the two packs behave so differently, although the voltages are certainly within ordinary USB limits.

    They’ll continue powering the camera on my bike for a while, after which I’m sure they’ll come in handy for something …

  • Tour Easy: Anker 20K V2 USB Power Bank

    Tour Easy: Anker 20K V2 USB Power Bank

    After five years, it’s time to replace the Anker 13000 mA·hr USB power banks / chargers I used with the M20 cameras and then the C100 cameras:

    SJCAM M20 Mount - Tour Easy side view
    SJCAM M20 Mount – Tour Easy side view

    The Anker 325 20K V2 power bank is considerably chunkier, as befits its 20,000 mA·hr cell capacity (although the fine print says 12,500 mA·hr output):

    Anker 20K V2 Power Bank - installed
    Anker 20K V2 Power Bank – installed

    The white tape stripe on the top marks the USB port on the end to reduce the fumbling involved in an out-of-sight socket. There’s also a USB-C port on that end for both charging the pack and powering other devices.

    The new mounting cradle descends directly from the 13000 cradle:

    Anker 325 20KV2 Power Bank - slicer preview
    Anker 325 20KV2 Power Bank – slicer preview

    The model includes a projection of the battery on the XY plane for export to an SVG file suitable for laser-cutting an EVA foam pad to cushion the bumps.

    The OpenSCAD source code as a GitHub Gist:

    // Anker PowerCore 325 20K V2 Power Bank
    // Ed Nisley – KE4ZNU
    // 2024-07
    /* [Layout Options] */
    Layout = "Show"; // [Show,Build]
    Part = "Cradle"; // [Cradle,Battery,Pad]
    /* [Extrusion Parameters] */
    ThreadWidth = 0.40;
    ThreadThick = 0.25;
    HoleWindage = 0.2;
    Protrusion = 0.1;
    //—–
    // Dimensions
    /* [Hidden] */
    ID = 0;
    OD = 1;
    LENGTH = 2;
    EmbossDepth = 2*ThreadThick + Protrusion; // recess depth + Protrusion beyond surface
    DebossHeight = EmbossDepth; // text height + Protrusion into part
    Projection = 10; // stick-out to punch through shell sides & suchlike
    FadeColor = "Green";
    FadeAlpha = 0.25;
    //—–
    // Useful routines
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    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);
    }
    //—–
    // Battery
    // Based on Anker PowerCore 325, simplified shapes
    // Includes port punchouts
    Battery = [162.0+0.5,81.5+0.5,24.0]; // X=length, Y=max, Z=max
    module BatteryShape(Jacks = true) {
    USB = [[Projection,20,12],[Projection,18,10]]; // clearance around USB output jacks
    USBOffset = [[0,20.0,0],[0,62.5,0]]; // from -Y edge to center of jack, Z centered
    BatteryRad = 7.0; // corner rounding radius
    BatterySides = 2*3*4;
    hull()
    for (i=[-1,1], j=[-1,1])
    translate([i*(Battery.x/2 – BatteryRad),
    j*(Battery.y/2 – BatteryRad),
    0])
    cylinder(r=BatteryRad,h=Battery.z,$fn=BatterySides,center=true);
    if (Jacks)
    for (i=[0,len(USB)-1])
    translate([(Battery.x + USB[i].x)/2 – Protrusion,-Battery.y/2 + USBOffset[i].y,0])
    cube(USB[i],center=true);
    }
    //—–
    // Battery cradle
    RackWidth = 90.0; // flat width between rack rails
    CradleWall = [4.0,4.0,3.0]; // wall thickness
    CradleRadius = 2.0; // corner rounding
    CradlePad = 1.0; // cushion on battery bottom
    BatteryBase = CradleWall.z + CradlePad; // actual bottom surface of battery
    CradleOA = [Battery.x + 2*CradleWall.x,
    min((Battery.y + 2*CradleWall.y),RackWidth),
    BatteryBase + Battery.z/2];
    echo(str("Cradle OA: ",CradleOA));
    module Cradle() {
    difference() {
    hull()
    for (i=[-1,1], j=[-1,1]) { // box with tidy rounded corners
    translate([i*(CradleOA.x/2 – CradleRadius),
    j*(CradleOA.y/2 – CradleRadius),
    1*(CradleOA.z – CradleRadius)])
    sphere(r=CradleRadius,$fn=6);
    translate([i*(CradleOA.x/2 – CradleRadius),
    j*(CradleOA.y/2 – CradleRadius),
    0*(CradleOA.z/2 – CradleRadius)])
    cylinder(r=CradleRadius,h=CradleOA.z/2,$fn=6);
    }
    translate([0,0,Battery.z/2 + BatteryBase]) // minus the battery
    minkowski(convexity=3) { // … slightly embiggened
    BatteryShape();
    cube(2*CradlePad,center=true);
    }
    translate([0,0,CradleWall.z – ThreadThick + Protrusion/2]) // recess top legend
    cube([55,20,EmbossDepth],center=true);
    translate([0,0,(EmbossDepth – Protrusion)/2]) // recess bottom legend
    cube([70,15,EmbossDepth],center=true);
    }
    translate([0,4.0,CradleWall.z – DebossHeight – Protrusion])
    linear_extrude(height=DebossHeight,convexity=20)
    text(text="PowerCore",size=6,spacing=1.20,
    font="Arial:style:Bold",halign="center",valign="center");
    translate([0,-4.0,CradleWall.z – DebossHeight – Protrusion])
    linear_extrude(height=DebossHeight,convexity=20)
    text(text="20K V2",size=6,spacing=1.20,
    font="Arial:style:Bold",halign="center",valign="center");
    linear_extrude(height=DebossHeight,convexity=20)
    mirror([0,1,0])
    text(text="KE4ZNU",size=10,spacing=1.20,
    font="Arial:style:Bold",halign="center",valign="center");
    }
    //—–
    // Build things
    // Layouts for design & tweaking
    if (Layout == "Show")
    if (Part == "Battery")
    BatteryShape();
    else if (Part == "Cradle") {
    Cradle();
    translate([0,0,Battery.z/2 + CradleWall.z])
    color(FadeColor,FadeAlpha)
    BatteryShape();
    }
    else if (Part == "Pad")
    linear_extrude(height=CradlePad)
    projection(cut=true)
    BatteryShape(Jacks = false);
    // Build layouts for top-level parts
    if (Layout == "Build") {
    if (Part == "Cradle")
    Cradle();
    if (Part == "Pad")
    projection(cut=true)
    BatteryShape(Jacks = false);
    }

  • Rail Trail Brush Clearing

    Rail Trail Brush Clearing

    Having an aversion to getting slapped in the face by Blackthorn branches overhanging the Dutchess Rail Trail, I generally give up waiting for anybody else to do the job:

    Brush clearing B - 2024-07-14
    Brush clearing B – 2024-07-14

    They’re not all Blackthorn (Prunus spinosa), but Ailanthus altissima grows like a weed around here and requires heavy cutback:

    Brush clearing C - 2024-07-14
    Brush clearing C – 2024-07-14

    It’s not just small branches:

    Brush clearing A - 2024-07-14
    Brush clearing A – 2024-07-14

    Apparently, there was no law against that …

    Brush clearing E - 2024-07-14
    Brush clearing E – 2024-07-14

    A recent storm dropped many trees across the trail and the maintenance folks deploy bigger saws than I can carry:

    Brush clearing D - 2024-07-14
    Brush clearing D – 2024-07-14

    Three months after we were told they had ordered replacement tiles, I’m beginning to think I must buy some on Amazon and do this job myself, too:

    Overocker ADA - continued disintegration - 2024-07-21
    Overocker ADA – continued disintegration – 2024-07-21

    Maybe it’ll get done when the weather cools …

  • Laser Test Paper Beam Alignment Targets

    Laser Test Paper Beam Alignment Targets

    Having failed at making flexible plant tags, I figured using laser test paper to make laser test targets might work:

    Test paper - target patterns - 2024-07-03
    Test paper – target patterns – 2024-07-03

    They descend from my original dot-mode laser beam targets:

    OMTech 60W laser - beam alignment - 2022-03-22
    OMTech 60W laser – beam alignment – 2022-03-22

    The dots just barely punch through the back side (open in a new tab & zoom for more dots):

    Test paper - target patterns back side- 2024-07-03
    Test paper – target patterns back side- 2024-07-03

    The plastic coating chars and buckles with each pulse, but remains in place:

    Test paper - 2 shot - uncleaned - 2024-07-03
    Test paper – 2 shot – uncleaned – 2024-07-03

    Wiping the surface removes the loose coating / ash / debris to expose the underlying charred paper core:

    Test paper - 2 shot - wiped - 2024-07-03
    Test paper – 2 shot – wiped – 2024-07-03

    Those are two pulses marking the ends of each axis, so the machine remains well aligned after the fourth-corner tweak.

    A single pulse shows the beam has a nice round shape with well-defined edges:

    Test paper - 1 shot - wiped - 2024-07-03
    Test paper – 1 shot – wiped – 2024-07-03

    In principle, the beam should be more intense toward the middle, but I suspect that’s beyond the paper’s ability to resolve the energy; the beam either burns through the coating or it doesn’t. In all those targets, the back surface of the paper remains undamaged.

    Manila paper targets seem to have better energy resolution and take much less time to produce:

    Beam Alignment - Mirror 2 detail - 2023-09-16
    Beam Alignment – Mirror 2 detail – 2023-09-16

    The black test paper will certainly come in handy for something, though.