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

  • ShopVac Repairs

    A stainless steel 10 gallon (*) 5 Peak HP (**) ShopVac followed me home from the side of the road. It seemed to be in easily repairable condition and looks like a definite improvement for my collection.

    One handle had a broken screw boss, probably from the same event producing the crack across the top, over on the right:

    ShopVac - broken screw boss
    ShopVac – broken screw boss

    The self-tapping screw (taken from the other end of the handle) looked to be about #10, so I melted a 10-32 brass insert into roughly the right position with a soldering gun:

    ShopVac - brass insert in handle boss
    ShopVac – brass insert in handle boss

    An aluminum sheet bandsawed into shape will reinforce the crack, with a generous dollop of hot melt glue holding everything in place:

    ShopVac - repaired handle - bottom view
    ShopVac – repaired handle – bottom view

    I don’t plan to carry it around by the handle, so perhaps it’ll outlast your expectations.

    From the top, it looks pretty much the way it should:

    ShopVac - repaired handle - installed
    ShopVac – repaired handle – installed

    The front caster mount lost both of the 1/4-20 bolts previously holding it to the canister, so I installed a pair of nice stainless steel bolts and nyloc nuts:

    ShopVac - new front foot bolts
    ShopVac – new front foot bolts

    The motor runs fine, a new bag & filter arrived the next day, and it’s all good.

    Disclaimers from ShopVac’s Fine Print section:

    * Tank capacity refers to actual tank volume, and does not reflect capacity available during operation.

    ** “Peak Horsepower” (PHP) is a term used in the wet-dry vacuum industry for consumer comparison purposes. It does not denote the operational horsepower of a wet-dry vacuum but rather the horsepower output of a motor, including the motor’s inertial contribution, achieved in laboratory testing. In actual use, Shop-Vac® motors do not operate at the peak horsepower shown.

    https://www.shopvac.com/

    Translation: they lie.

  • Weatherproof Outlet Cover Re-Chaining

    The yard camera now resides outdoors and plugs into one of three outlets on the patio, all of which have weatherproof covers attached by a bead chain to the trim plate:

    Patio Outlet - new chain installed
    Patio Outlet – new chain installed

    That’s the after-repair condition, as two of the three chains were broken when we bought the house.

    Stipulated: the covers needed scrubbing, but sometimes ya gotta stay focused on the Main Goal.

    Two feet of 3.4 mm brass bead chain (because spares: ya gotta have stuff) arrived from eBay, I dismounted all three covers, and discovered the bell-shaped brass caps on the old chains were perfectly serviceable after six decades:

    Patio Outlet - chain retainers
    Patio Outlet – chain retainers

    The outlets are wired to circuit breaker 28, of course.

    Having enough chain to go around, each cover now sports a slightly longer leash than before:

    Patio Outlet - chain assembly
    Patio Outlet – chain assembly

    Reinstall in reverse order, the camera rebooted as it should, and it’s all good out there:

    Pressure-washing Patio Railing
    Pressure-washing Patio Railing

    That was easy …

  • Whirlpool Refrigerator Drawer Support Re-Re-Re-Gluing

    Spring cleaning provided the opportunity for Yet Another Episode in my long-standing battle with the Whirlpool refrigerator entropy generator:

    Whirlpool Refrigerator - drawer support gluing
    Whirlpool Refrigerator – drawer support gluing

    That little thing supports half the weight of the two drawers across the bottom of the refrigerator; how such a thin plastic member was supposed to be adequate to the task continues to escape me.

    If we had to pay real money for all the repairs I’ve made to that piece of crap, we’d have replaced it long ago. The only thing that hasn’t failed so far is the compressor, so driving it until it drops continues to make sense; replacing a working anything seems like a bad idea.

  • American Standard Kitchen Faucet: Valve Shaft Mystery

    The latest in a continuing series of annoyances from our American Standard kitchen faucet: it became increasingly hard to turn it on with the handle all the way to the left in the “hot” position. Bear in mind this valve is less than a year old and I replaced its predecessor two years before that, after maybe a decade of service from the OEM valve.

    Pulling it apart revealed the problem, which requires a close inspection.

    The view from the “cold” side:

    American Standard faucet cartridge - cold side
    American Standard faucet cartridge – cold side

    And from the “hot” side:

    American Standard faucet cartridge - hot side
    American Standard faucet cartridge – hot side

    See it?

    The valve handle stem pivots on the 4 mm shaft passing through the black “engineering plastic” shape inside the red hot-limit ring. This top view shows the overall layout:

    American Standard faucet - hot limit ring
    American Standard faucet – hot limit ring

    The shaft has worked its way leftward, toward the “hot” side, until it bumped into the limit ring. The right end of the shaft hasn’t come completely out of the inside of its pivot, but it’s apparently gone far enough to stop pivoting freely.

    This may also explain how the previous hot-limit ring worked loose: the misplaced shaft applies torque to the limit ring as we move the lever to the “cold” side. I don’t know how the ring worked its way upward from its positioning notches. Overall, it seem plausible.

    Installing a new valve isn’t going to get us a better design, so I must figure out how to keep the shaft in the middle of its travel. Perhaps replacing it with a slightly longer shaft will work around the problem, because it simply can’t slide in either direction.

    Loosening the three screws holding the cartridge down (and applying pressure against the seals) reduces the force required to move the faucet, even with the shaft in the wrong position. This suggests the valve body distorts slightly, so I loosened all three and (roughly) equalized their torque; the valve isn’t leaking and we’ll see what happens next.

  • Garden Soaker Hose Connector Repair

    Two of Mary’s garden soaker hoses failed their pre-installation checks with leaks from around their connectors. The problem seemed to be a break in the hose inside the connector, with water spewing out of the connector around the hose. Having previously fixed a gash in another hose, I figured I might have some success at fixing these leaks.

    The general idea is to squish enough silicone rubber inside the connector to seal around the hose, then clamp the hose and connector snugly enough to hold the rubber in place:

    Soaker Hose Connector Clamp - Show view
    Soaker Hose Connector Clamp – Show view

    The enlarged recess fits around the brass connector shell, which is squashed loosely around the hose and from which the leaking water emerges. Of course, because this is a different hose, the previous model didn’t quite fit and I had to doodle up new geometry:

    Soaker Hose Connector repair - Dimension doodle
    Soaker Hose Connector repair – Dimension doodle

    As before, I bandsawed aluminum backing plates to ensure the plastic didn’t get all bendy in the middle:

    Soaker hose connector leak clamps
    Soaker hose connector leak clamps

    The hose clamp (!) around the connector on the far right ensures a split in the brass shell doesn’t get any larger.

    They’ll spend the rest of their lives under the garden mulch, where nobody will ever see those bulky lumps. Life is good!

    The OpenSCAD source code as a GitHub Gist:

    // Rubber Soaker Hose End Connector Clamp
    // Helps hold silicone rubber in connector
    // Ed Nisley KE4ZNU June 2019
    Layout = "Build"; // [Hose,Connector,Block,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);
    //———-
    // Dimensions
    // Hose lies along X axis
    Hose = [200,26.5,11.6]; // X=very long, Y=width, Z=overall height
    RimThick = 10.3; // outer sections
    RimOD = RimThick;
    RimFlatRecess = 1.0; // recess to front flat surface
    OuterOC = Hose.y – RimOD; // outer tube centers
    RecessM = 0.8; // back recess chord
    RecessC = OuterOC;
    RecessR = (pow(RecessM,2) + pow(RecessC,2)/4) / (2*RecessM);
    RidgeM = 1.6; // front ridge chord
    RidgeC = 7.5;
    RidgeR = (pow(RidgeM,2) + pow(RidgeC,2)/4) / (2*RidgeM);
    HoseSides = 12*4;
    Connector = [5.0,33.0,13.0]; // oval brass: X=snout Y=width Z=dia
    Block = [20.0,50.0,4.0 + Hose.z]; // overall splice block size
    echo(str("Block: ",Block));
    Kerf = 0.5; // cut through middle to apply compression
    ID = 0;
    OD = 1;
    LENGTH = 2;
    // 8-32 stainless screws
    Screw = [4.1,8.0,3.0]; // OD = head LENGTH = head thickness
    Washer = [4.4,9.5,1.0];
    Nut = [4.1,9.7,6.0];
    CornerRadius = Washer[OD]/2;
    ScrewOC = Block.y – 2*CornerRadius;
    echo(str("Screw OC: x=",ScrewOC.x," y=",ScrewOC.y));
    //———————-
    // 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(d=(FixDia + HoleWindage),h=Height,$fn=Sides);
    }
    // Hose shape
    // This includes magic numbers measured from reality
    module HoseProfile() {
    rotate([0,-90,0])
    translate([0,0,-Hose.x/2])
    linear_extrude(height=Hose.x,convexity=4)
    difference() {
    union() {
    for (j=[-1,1]) // outer channels
    translate([0,j*OuterOC/2])
    circle(d=RimOD,$fn=HoseSides);
    translate([-RimOD/4,0]) // rear flat fill
    square([RimOD/2,OuterOC],center=true);
    translate([(RimOD/4 – RimFlatRecess),0]) // front flat fill
    square([RimOD/2,OuterOC],center=true);
    intersection() {
    translate([Hose.z/2,0])
    square([Hose.z,OuterOC],center=true);
    translate([-RidgeR + RimOD/2 – RimFlatRecess + RidgeM,0])
    circle(r=RidgeR,$fn=HoseSides);
    }
    }
    translate([-(RecessR + RimOD/2 – RecessM),0])
    circle(r=RecessR,$fn=2*HoseSides);
    }
    }
    // Outside shape of splice Block
    // Z centered on hose rim circles, not overall thickness through center ridge
    module SpliceBlock() {
    difference() {
    hull()
    for (i=[-1,1], j=[-1,1]) // rounded block
    translate([i*(Block.x/2 – CornerRadius),j*(Block.y/2 – CornerRadius),-Block.z/2])
    cylinder(r=CornerRadius,h=Block.z,$fn=4*8);
    for (j=[-1,1]) // screw holes
    translate([0,
    j*ScrewOC/2,
    -(Block.z/2 + Protrusion)])
    PolyCyl(Screw[ID],Block.z + 2*Protrusion,6);
    cube([2*Block.x,2*Block.y,Kerf],center=true); // slice through center
    }
    }
    // Splice block less hose
    module ShapedBlock() {
    difference() {
    SpliceBlock();
    HoseProfile();
    Connector();
    }
    }
    // Brass connector end
    module Connector() {
    translate([-(Block.x/2 + Protrusion),0,0])
    rotate([0,90,0])
    linear_extrude(height=Connector.x + Protrusion)
    hull()
    for (i = [-1,1])
    translate([0,i*(Connector.y – Connector.z)/2])
    circle(d=Connector.z);
    }
    //———-
    // Build them
    if (Layout == "Hose")
    HoseProfile();
    if (Layout == "Block")
    SpliceBlock();
    if (Layout == "Connector")
    Connector();
    if (Layout == "Show") {
    ShapedBlock();
    color("Green",0.25)
    HoseProfile();
    }
    if (Layout == "Build") {
    SliceOffset = 0;
    intersection() {
    translate([SliceOffset,0,Block.z/4])
    cube([4*Block.x,4*Block.y,Block.z/2],center=true);
    union() {
    translate([0,0.6*Block.y,Block.z/2])
    ShapedBlock();
    translate([0,-0.6*Block.y,Block.z/2])
    rotate([0,180,0])
    ShapedBlock();
    }
    }
    }

  • Ooma Telo 2: Speaker FAIL

    The tiny voice inside our Ooma Telo 2 box died, although the VOIP phone service continued to work fine. A bit of searching showed the speaker seems to be the weak link.

    Well, I can fix that.

    Start by prying the recessed top panel off the case:

    Ooma Telo 2 - upper case latches
    Ooma Telo 2 – upper case latches

    Remove the circuit board to expose the tiny speaker, taking care not to rip the tiny wires out of the tiny connector:

    Ooma Telo 2 - OEM speaker to PCB
    Ooma Telo 2 – OEM speaker to PCB

    You can’t measure a dead speaker, but it seems to be an 8 Ω unit.

    The speaker sits in a rubber surround, with a foam rubber cushion against the PCB, tucked into a walled garden stiffening the case:

    Ooma Telo 2 - speaker port
    Ooma Telo 2 – speaker port

    I don’t happen to have a tiny 8 Ω speaker, but I do have a bunch of small speakers (Update: 28 mm OD), so I bulldozed those walls with a flush cutting pliers and a bit of cussing to make room:

    Ooma Telo 2 - modified speaker port
    Ooma Telo 2 – modified speaker port

    Nibble an adapter ring to match the rim of the new speaker, thereby routing the sound out those little holes, and hot-melt glue it in place:

    Ooma Telo 2 - speaker adapter
    Ooma Telo 2 – speaker adapter

    Hot-melt glue the new speaker in place atop the adapter, taking care to fill all the edges / cracks / crevices below it with an impenetrable wall of glop:

    Ooma Telo 2 - replacement speaker installed
    Ooma Telo 2 – replacement speaker installed

    The sealing part turns out to be critical with these little speakers, because a leak from front to back will pretty much cancel all the sound from the cone.

    Cut the wires off the old speaker, affix to the new one, replace the PCB, snap the case lid in place, and it sounds better than new.

    Millions of transistors in those ICs, but Ooma can’t spec a good speaker? Maybe they should have used a bigger speaker to begin with; ya never know.

  • Dell U2711 Monitor: FAIL

    My landscape monitor, a six-year-old Dell U2711, died after a few days of flickering and failure-to-start. As you’d expect with any old electronics, particularly from Dell, it’s the electrolytic caps:

    Dell U2711 Monitor - failed caps
    Dell U2711 Monitor – failed caps

    All of the black-cased caps on the board had bulged cases:

    Dell U2711 Monitor - failed FOAI cap - detail
    Dell U2711 Monitor – failed FOAI cap – detail

    They’re (allegedly) made by FOAI, for whatever that’s worth.

    They’re not really capacitors any more:

    Dell U2711 Monitor - 100 uF 5 ohm cap
    Dell U2711 Monitor – 100 uF 5 ohm cap

    I replaced all of them with cheap eBay caps to no avail. Spot-checking the other (“brown”) caps on the logic board showed they were still good, but the power supply board is firmly glued in place and I can’t get to the HV cap.

    A new monitor arrived two days later and it’s all good again.