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

If it used to work, it can work again

  • Wheelbarrow Wheel Transplant

    Wheelbarrow Wheel Transplant

    The rubber in pneumatic tires / tubes rots when left out in the open for a year or three, so I volunteered to replace the dead-flat tire (on the wheelbarrow I rebuilt last year) with the “flat free” solid foam tire+wheel harvested from an irreparably damaged wheelbarrow. Which, as it turned out, had lost one bearing and the remaining bearing wasn’t in good shape:

    Wheelbarrow Wheel - victim bearing
    Wheelbarrow Wheel – victim bearing

    The bearings in the pneumatic wheel were in comparatively good shape:

    Wheelbarrow Wheel - donor bearing
    Wheelbarrow Wheel – donor bearing

    So I knocked the good bearings out, cleaned up / re-lubed them with squirts from my lifetime supply of genuine Mobil Vactra No. 2 Sticky Way Oil, and hammered tapped them into the solid-tire wheel.

    Whereupon I discovered the two wheels have different hub lengths and, unfortunately, the axle clamps in the recipient wheelbarrow lacked enough adjustment range.

    Well, I can fix that:

    Wheelbarrow Wheel - axle clamp cutting
    Wheelbarrow Wheel – axle clamp cutting

    I briefly considered cleaning and repainting the wheel, but came to my senses when I considered the tire’s condition:

    Wheelbarrow Wheel - transplanted
    Wheelbarrow Wheel – transplanted

    I suppose when the tread flakes off, the interior foam will rapidly erode, but we’ll burn that bridge when we encounter it.

    The alert reader will have immediately noted the grease fitting on that rusty wheel: you’re supposed to periodically fill the entire hub with sufficient grease to push the crud out of the bearings. IMO, that’s so deep in silk purse territory as to be irrelevant.

    The remaining useful parts from the defunct wheelbarrow will, most likely, come to good use next year …

  • Lawn Chair Re-strapping: Countdown Hold

    Lawn Chair Re-strapping: Countdown Hold

    I planned to replace the vinyl straps on our set of (salvaged) lawn / patio chairs and made a pair of rivets for one long-missing strap:

    Lawn chair strap rivets
    Lawn chair strap rivets

    The overall project is on indefinite hold, as a Steel-blue Cricket Hunter (*) has decided at least one of the chairs is an ideal place to start a family:

    Lawn chair - wasp nest under construction
    Lawn chair – wasp nest under construction

    The patio under the chair is littered with blades of grass and twigs that didn’t quite fit through the 5 mm vent hole in the tube, but that long stem went in just fine:

    Lawn chair - wasp nest grass stem
    Lawn chair – wasp nest grass stem

    We have seen the wasp airlifting crickets near the chair, so provisioning has begun. The cricket seemed not only larger than the hole, but also larger than the wasp; we assume the wasp knows what she’s doing.

    The new wasp will hatch this year, pupate over the winter, then hatch and emerge next summer, but I plan to replace the straps after the construction season ends.

    I have no idea how to clean out whatever’s accumulating in there …

    (*) I learned them as Steel-blue Cricket Killer, but the crickets are just paralyzed, not completely dead.

  • Bathroom Sink Pop-up Drain Rod Status

    Bathroom Sink Pop-up Drain Rod Status

    Three years later, the bathroom drain stopper once again disconnected from the pop-up rod and gave me a chance to inspect how the brass is surviving:

    Bathroom drain pop-up pivot
    Bathroom drain pop-up pivot

    After five years, the epoxy plug is either creeping out of the end or the end is corroding back a bit, but there’s plenty more where that came from.

    The original steel rod disintegrated after nine years, so it’s still a horse race.

  • Miroco LED Floor Lamp: MOSFET Replacement

    Miroco LED Floor Lamp: MOSFET Replacement

    The only LED floor lamp I bought which didn’t require extensive hackery to lower the business end to suit Mary’s preferences failed after two years. The warm white LEDs continued to work fine:

    Miroco LED Floor Lamp - warm white LEDs
    Miroco LED Floor Lamp – warm white LEDs

    But the cool white LEDs were permanently on at a very low level and did not respond to any of the brightness controls:

    Miroco LED Floor Lamp - cool white LEDs
    Miroco LED Floor Lamp – cool white LEDs

    You can’t tell, but the cool whites are on in the first picture, too.

    The symptoms suggested the driver transistor for the cool whites has failed partially on, although I’d expect it to be either a dead short or completely open.

    The lamp being a year or more out of warranty and having come from one of the myriad Amazon sellers banned during the Great Paid Review Purge, there’s nothing to do but remove the four screws from the back of the control lump and see what’s inside:

    Miroco LED Floor Lamp - PCB packing
    Miroco LED Floor Lamp – PCB packing

    How this was assembled I cannot say, because the three wires going to the LED head (on the far right) have less than an inch of slack. Maybe they pulled wire into the head while screwing things together?

    I think the HC8T1212 microcontroller sticking out of the foam is a distant descendant of the Motorola (remember Motorola?) MC68HC05 family. I’m mildly surprised they didn’t use a 32-bit ARM / MIPS / whatever micro, with WiFi capability and a strong desire to siphon my private bits.

    The two pieces of closed-cell foam seemed firmly glued to the PCB, but eventually yielded to brute force. Scraping brittle yellowish goo off the right end revealed the LED ballast resistors and the wire labels:

    Miroco LED Floor Lamp - ballast resistors - LED wiring
    Miroco LED Floor Lamp – ballast resistors – LED wiring

    Note the bar-taut Y- wire going to the warm-white (“yellow”?) LEDs.

    The black foam left a mess over most of the PCB, but diligent scraping eventually revealed the driver transistors:

    Miroco LED Floor Lamp - A6SHB MOSFETs
    Miroco LED Floor Lamp – A6SHB MOSFETs

    You can’t read it, but the topmarks were A6SHB: an old Siliconix (remember Siliconix?) SI2306 30 V / 3 A MOSFET. Turns out you can get new-production SI2306 transistors from the usual Asian foundries through eBay, which I did.

    It’s not the neatest soldering job ever, but it’ll suffice:

    Miroco LED Floor Lamp - A6SHB MOSFET replaced
    Miroco LED Floor Lamp – A6SHB MOSFET replaced

    The colorful wires over on the right added enough length for a pair of Tek current probes:

    Miroco LED Floor Lamp - 200 mA-div
    Miroco LED Floor Lamp – 200 mA-div

    The top (cyan) trace is the (repaired) cool LEDs, drawing 600 mA from the 10 V supply, so the 0.5 Ω ballast dissipates 180 mW. The bottom (green) trace is the warm LEDs at 500 mA through a 0.75 Ω ballast for 190 mW. That end of the control lump does feel a bit warm after a while, but nothing out of the ordinary.

    Stuff the foam back in place, tuck the longer wires around the edges, snap the cover in place, reinstall the screws, and the lamp is at least as good as new.

  • LitUp LED Light Pad: Direct Wiring

    LitUp LED Light Pad: Direct Wiring

    Unfortunately, reinforcing the USB Micro-B jack on the side of the LitUp LED Light Pad only delayed the inevitable: the light became erratic even without the slightest touch. The pad consists of three acrylic sheets glued together around the entire perimeter, so there’s no way to get access to the no-user-serviceable-parts within. Apparently, you’re supposed to just throw it out.

    On the other paw, it’s already dead, so there’s nothing to lose:

    LitUp LED Light Pad - failed USB jack
    LitUp LED Light Pad – failed USB jack

    A little deft razor knife work chopped through the rear sheet without doing any (more) damage to the PCB within. The LEDs can still be convinced to light, but the USB jack is definitely wrecked.

    Applying some ChipQuik let me extract the jack without (too much) more damage. Rather than replace it, I just soldered a pigtail USB cable to the obvious PCB pads:

    LitUp LED Light Pad - direct power wiring
    LitUp LED Light Pad – direct power wiring

    If I’d noticed that little solder ball, I’d have removed it before filling the cavity with hot melt glue and squishing the cut-out piece of white acrylic in place.

    A little black duct tape should keep the wiring stable enough for the foreseeable future:

    LitUp LED Light Pad - redirected cable
    LitUp LED Light Pad – redirected cable

    That was another (relatively) easy zero-dollar repair that should not be necessary.

  • Replacement Muntin Clips

    Replacement Muntin Clips

    Terminology I had to look up:

    • Window: something in a wall you can see through
    • Sash: a sliding panel in a window
    • Mullion: vertical post separating two windows
    • Muntin: strips separating glass panes in a sash

    TIL: Muntin, which I’d always known was called a Mullion.

    With that as preface, one of Mary’s quilting cronies lives in a very old house updated with vinyl windows sporting wood muntins arranged in a grille. The wood strips forming the grille end in plastic clips that snap into the sash, thereby holding the grill in place to make the window look more-or-less historically correct, while not being a dead loss as far as winter heating goes.

    Time passed, sun-drenched plastic became brittle, and eventually enough clips broke that the grilles fell out. An afternoon quilting bee produced a question about the possibility of making a 3D printed clip, as the original manufacturer is either defunct or no longer offers that particular style of clip as a replacement part.

    Well, I can do that:

    Window Muntin Clips
    Window Muntin Clips

    The original is (obviously) the transparent injection-molded part in the upper left. The other two come hot off the M2’s platform, with the one on the right showing the support material under the sash pin.

    The solid model looks about like you’d expect:

    Window Muntin Clip - solid model
    Window Muntin Clip – solid model

    There is obviously no way to build it without support material, so I painted the bottom facet of the sash pin with a PrusaSlicer support enforcer:

    Window Muntin Clip - PrusaSlicer
    Window Muntin Clip – PrusaSlicer

    The pin comes out slightly elongated top-to-bottom, but it’s still within the tolerances of the original part and ought to pop right into the sash. We’ll know how well it works shortly after the next quilting bee.

    The doodle with useful measurements amid some ideas that did not work out:

    Window Muntin Clip - Dimension Doodle
    Window Muntin Clip – Dimension Doodle

    The OpenSCAD source code as a GitHub Gist:

    // Window Muntin Clips
    // Ed Nisley KE4ZNU June 2022
    Layout = "Show"; // [Build, Show]
    /* [Hidden] */
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    ID = 0;
    OD = 1;
    LENGTH = 2;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    //———————-
    // Dimensions
    ClipOA = [13.0,18.7,8.0];
    TongueAngle = 70;
    TongueOA = [14.0,10.0,1.8 – 0.2]; // minus Z windage for angular slices
    BuildGap = 5.0;
    //———————-
    // Useful routines
    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);
    }
    //———————-
    // Pieces
    module Shell() {
    // Clip base as 2D polygon
    // Magic numbers from measurements
    cx = ClipOA.x;
    cy = ClipOA.y;
    cz = ClipOA.z;
    ClipPts = [
    [0,0],[0,cz],[0.3,cz],
    [1.0,cz-1.0],[2.0,cz-2.3],[2.0,cz-3.0],[1.3,cz-3.5],
    [1.3,1.6],[17.4,1.6],
    [17.4,cz-3.5],[16.7,cz-3.0],[16.7,cz-2.3],[17.7,cz-1.0],
    [18.4,cz],[18.7,cz],[18.7,0.0],[0,0]
    ];
    difference() {
    translate([-ClipOA.x,-ClipOA.y/2,0])
    rotate([90,0,90])
    linear_extrude(height=ClipOA.x,convexity=3)
    polygon(convexity=3,points=ClipPts);
    translate([-(ClipOA.x – 3.0/2 + Protrusion),0,0])
    cube([3.0 + Protrusion,ClipOA.y – 2*1.3,4*1.6],center=true);
    }
    }
    module Tongue() {
    tx = TongueOA.x;
    ty = TongueOA.y;
    tz = TongueOA.z;
    tt = ty – 2*sqrt(2)*tz; // width at top of tapers
    td = ThreadWidth; // min size of features
    intersection() {
    rotate([0,-TongueAngle,0]) {
    difference() {
    union() {
    hull() {
    for (j=[-1,1]) {
    translate([td/2,j*(ty – td)/2,td/2])
    cube(td,center=true);
    translate([td/2,j*(tt – td)/2,tz – td/2])
    cube(td,center=true);
    }
    translate([10.0,0,0])
    rotate(180/12)
    cylinder(d=ty,h=td,center=false,$fn=12);
    translate([10.0,0,tz – td/2])
    rotate(180/12)
    cylinder(d=tt,h=td,center=false,$fn=12);
    };
    translate([10.0,0,-5.2])
    rotate(180/12)
    cylinder(d=5.0,h=5.2,center=false,$fn=12);
    translate([10.0,0,-5.2])
    rotate(180/12)
    resize([0,0,2.0])
    sphere(d=5.0/cos(180/12),$fn=12);
    }
    if (false)
    translate([10.0,0,-10]) // stiffening hole
    rotate(180/6)
    PolyCyl(0.1,20,6);
    }
    }
    cube([2*ClipOA.x,2*ClipOA.y,2*IntegerMultiple(13.0,ThreadThick)],center=true);
    }
    }
    module Clip() {
    Shell();
    Tongue();
    }
    //———————-
    // Build it
    if (Layout == "Show") {
    Clip();
    }
    if (Layout == "Build") {
    Clip();
    }

  • Kenmore HE3 Washer: End of Life

    Kenmore HE3 Washer: End of Life

    After eighteen years and one basket / tub replacement, our venerable Kenmore HE3 clothes washer has reached End of Life:

    • Kenmore washer - eroded tub A
    • Kenmore washer - eroded tub B
    • Kenmore washer - eroded tub C

    I had looked in there (between the door gasket and the tub) to find any foreign objects making the horrible noise and again, perhaps a week later, when I replaced the shock absorbers, after which the corroded spider in the back finally broke enough to let the basket flop around continuously during the spin cycle and erode the tub rim.

    In round numbers, we heard the first sign of trouble three weeks ago: a very loud, but only occasional, KLONK due to protrusions on the side of the basket or the fractured part of the spider on its back hitting indentations in the tub. The KLONK remained intermittent during half a dozen loads, until it became pretty much continuous.

    We installed the washer in early 2004, replaced the tub and basket in 2010, and it’s now 2022: the first spider failed after six years and its replacement lasted twelve. After nearly two decades, the tub and basket are no longer available from the usual appliance part sources, so (even if I wanted to) I cannot repair the washer.

    Another washer, also a front-loader, also highly rated, will arrive shortly. For the first time ever, we bought an Extended Service Plan good for five years. The alert reader will note the difference between the first failure and the length of the plan, but reviews of similar new machines suggest having Lemon Replacement coverage. In this situation, I am willing to pay for the talismanic effect of coverage that may never pay off, if that makes any sense.