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

  • Seasonally Appropriate Teapot Knob

    Seasonally Appropriate Teapot Knob

    Long years ago, the Bakelite (or some such) lid on our rarely used teapot disintegrated, whereupon I replaced it with an aluminum sheet and metal knob. Admittedly, a metal knob was not the brightest idea I ever had, but it sufficed for a few uses over the intervening decades.

    Mary hosted this month’s quilting bee and, after having someone else bring a larger teapot for the occasion, suggested I Make. A. Better. Knob. After a bit of searching, this statue seemed appropriate for the season:

    Skull teapot knob
    Skull teapot knob

    It’s printed with PETG filament that should easily withstand the no-more-than-boiling-water temperatures found atop a teapot.

    I imported the original model into PrusaSlicer, shrank it to 50 mm tall and simplified the mesh, exported it as an OBJ file, imported it into OpenSCAD, mashed it together with a 1/4-20 threaded_nut from BOSL2, added the finger protector, and got a suitable model:

    Teapot Knob - solid model bottom view
    Teapot Knob – solid model bottom view

    The as-printed threads were a bit snug with $slop=0, but running the screw in with a dot of silicone grease to ease the way worked fine.

    I should rebuild the whole lid in PETG-CF sometime.

    The OpenSCAD code stitches the parts together:

    // Teapot Knob
    // Ed Nisley - KE4ZNU
    // 2024-10-11
    
    include <BOSL2/std.scad>
    include <BOSL2/threading.scad>
    
    StackHeight = 50.0;
    ThreadLength = 25.0;
    HeatbreakOD = 40.0;
    HeatbreakThick = 3.0;
    
        intersection() {
            union() {
                cylinder(d=HeatbreakOD,h=HeatbreakThick,$fn=2*4*9);
                up(HeatbreakThick)
                    translate([-121,-105])      // totally eyeballometric
                        import("stackofskulls - 50mm.obj",convexity=10);
            }
    
            union() {
                threaded_nut(100,INCH/4,ThreadLength,INCH/20,        // flat size, root dia, height, pitch
                                         bevel=false,ibevel=false,anchor=BOTTOM);
                up(ThreadLength)
                    cylinder(d=100,h=StackHeight);
            }
        }
    
    
    
    
  • SJCAM M20 Dashboard Camera: NP-BX1 Battery Deterioration

    SJCAM M20 Dashboard Camera: NP-BX1 Battery Deterioration

    A year of limited use (a little over 3000 miles) after setting up the SJCAM M20 action camera as a dashcam in the Forester has killed the junk-as-delivered Batmax NP-BX1 battery:

    Batmax NP-BX1 - 2022-H in 2024-11
    Batmax NP-BX1 – 2022-H in 2024-11

    Although the total capacity remains about the same as before, the voltage depression causes the camera (which expects to run from a high-voltage lithium cell) to crash immediately after the car’s USB power jack shuts off, preventing it from properly closing the video file.

    Another Batmax battery from the same batch works fine, so we’ll see if it can survive for another year.

  • Ceiling Lamp Nuts

    Ceiling Lamp Nuts

    While cleaning dead bugs out of the ceiling lamps, we discovered the kitchen light was missing one of the three nuts holding its cover in place. While spare nuts might be available, this seemed like a quicker & easier solution:

    Ceiling Lamp Nut - bottom view - solid model
    Ceiling Lamp Nut – bottom view – solid model

    The stepped interior fits a brass insert with 8-32 threads (not metric, to my utter astonishment) rammed in place with a heat-set tool:

    Ceiling Lamp Nut - insert staking
    Ceiling Lamp Nut – insert staking

    Using the nominal diameters seems to work fine, although I’m sure some finesse will be needed with smaller inserts.

    Printed four just to be sure, rammed three inserts, and they’re ready:

    Ceiling Lamp Nuts - as-built
    Ceiling Lamp Nuts – as-built

    The curved cap matches the original nut through the use of the Chord Equation to get the cap radius as a function of its height (sagitta) & base diameter. Admittedly, it looks kinda grotty with only a dozen layers, but it’s the thought that counts.

    The original nuts are heavy knurled steel and the new ones are cheap plastic, but nobody will ever know:

    Ceiling Lamp Nut - installed
    Ceiling Lamp Nut – installed

    Bonus: now I have two spare steel nuts for the next time …

    The OpenSCAD source code:

    // Nuts for LED ceiling light fixture
    // Ed Nisley KE4ZNU
    // 2024-09-27
    
    KnurlLength = 7.4;
    KnurlOD = 9.0;
    
    CapOD = 9.0;
    CapHeight = 2.0;
    CapRadius = (pow(CapHeight,2) + pow(CapOD,2)/4)/(2*CapHeight);
    echo(CapRadius=CapRadius);
    
    NumSides = 1*(2*3*4);
    $fn = NumSides;
    
    Protrusion = 0.1;
    
    difference() {
        union() {
            intersection() {
                translate([0,0,KnurlLength + CapHeight - CapRadius])
                    sphere(r=CapRadius);
                translate([0,0,KnurlLength])
                    cylinder(d=2*KnurlOD,h=KnurlLength);
            }
    
            cylinder(d=KnurlOD,h=KnurlLength);
    
        }
    
    // Ad-hoc 8-32 brass insert sizes
    
        cylinder(d=5.5,h=8.0);
        cylinder(d=5.9,h=5.7);
        cylinder(d=6.2,h=2.2);
        translate([0,0,-Protrusion])
            cylinder(d=6.2,h=2.2);
    
    }
    
  • Subaru Upholstery Peg

    Subaru Upholstery Peg

    One of the flat-topped pegs anchoring the fuzzy black upholstery / carpet to the back of the rear seats went walkabout a while ago, but the situation only became critical after I vacuumed the crud out of the car.

    Living in the future simplifies things:

    Upholstery Peg - solid model
    Upholstery Peg – solid model

    Rather than getting all fancy with barbed ends and suchlike, I just slathered the stem with hot-melt glue, jammed it in place, and waited a few breaths:

    Upholstery peg - installed
    Upholstery peg – installed

    The vivid yellow stuff is seat cushion foam.

    3D printing is wonderful for simple parts like that.

    The OpenSCAD source code is simple enough:

    // Upholstery pin for Subaru back seat
    // Ed Nisley KE4ZNU
    // 2024-09-13
    
    HeadThick = 1.5;
    HeadOD = 25.0;
    
    PegLength = 10.0;
    PegOD = 8.0;
    SlotWidth = 1.5;
    
    rotate_extrude(angle=360,$fn=32)
        polygon(points=[[0,0],[HeadOD/2 - 1,0],[HeadOD/2,HeadThick],[0,HeadThick]]);
    
    difference() {
        rotate(180/8)
            cylinder(d=PegOD,h=10.0,$fn=8);
    
        translate([0,0,HeadThick ])
            cylinder(d=PegOD/2,h=PegLength,$fn=8);
    
        for (a=[0,90])
            rotate(a)
                translate([0,0,PegLength/2 + HeadThick + 1.0])
                    cube([SlotWidth,10.0,PegLength],center=true);
    
    }
    
    
  • Improvised Garden Gate Latch Staple

    Improvised Garden Gate Latch Staple

    For reasons not relevant here, I ended up making a field-expedient repair to a garden gate latch:

    Improvised gate latch staple - installed
    Improvised gate latch staple – installed

    The hole in the post just to the left of the obviously improvised staple shows where the Original Staple had vanished, never to be seen again. It looks like the gate has shifted an inch or so to the right (or the post to the left), which would explain why the staple gradually worked loose.

    The improvised staple is a length of coat hanger wire bent into a square U, with the ends snipped off at an acute angle:

    Improvised gate latch staple - cut wire
    Improvised gate latch staple – cut wire

    Those points do look scary, don’t they?

    Then I gently tapped it into place, driving maybe ¾ inch of wire in the wood, flattening the loop a little more than I wanted, but not enough to make me try again.

    Not our gate, not Mary’s garden, but deer pose a threat to all veggies within, without regard to ownership.

    I have *a lot* of coat hanger wire for repairs like this …

  • Revised Measuring Spoon Drainer

    Revised Measuring Spoon Drainer

    A small tweak to the venerable spoon drainer adds a configurable cutout adapting it to a slightly different dish drainer rack:

    Measuring Spoon Drainer - solid model
    Measuring Spoon Drainer – solid model

    Which lets it snuggle into the corner:

    Measuring spoon drainer - installed
    Measuring spoon drainer – installed

    Both the old and new racks had coated steel loops stuck into rubberoid feet perfectly suited to collect water and eventually rust the loops. Given a new rack, I figured potting the feet in JB PlasticBonder urethane adhesive would help forestall the rust:

    Rubbermaid dish drainer - foot potting
    Rubbermaid dish drainer – foot potting

    I wish it were white, rather than black, but the only other color choice is tan and I can’t wish nearly that hard.

    Along those lines, however, the gray JB Weld epoxy coating on the cheese slicer and the smaller repairs on the big knife are doing fine after years of use. JB Weld is good stuff!

  • Razor Knife Blade Collet Repair

    Razor Knife Blade Collet Repair

    In the process of fixing something else, I discovered my favorite desktop razor knife had a loose blade. There being nothing like a new problem to take one’s mind off all one’s previous problems, I obviously had to fix it before proceeding:

    Razor Knife - broken collet thread
    Razor Knife – broken collet thread

    Come to find out the plastic screw tightening the blade collet had snapped. The remaining stub stuck out from the red ribbed nut just far enough to prevent sliding the nut out of the black plastic body, but jamming a small screwdriver through the body got enough traction to unscrew the stub. It’s threaded 8-32, despite being old enough to be Made in Taiwan.

    The red plastic feels like HDPE or a similar un-glue-able material, so it was going to need a mechanical splice. A tiny 2-56 setscrew falls in the class of things my buddy Eks describes as “If your design needs those, you’re doing it wrong”, but sometimes you gotta do what you gotta do.

    For the record, a 2-56 setscrew requires a 35 mil hex wrench. My tiny ziplock bag with tiny hex wrenches has one:

    Razor Knife - 2-56 setscrew
    Razor Knife – 2-56 setscrew

    The little wrench in the background measures 28 mils for 0-80 setscrews, of which I have none and don’t expect to get any.

    Anyhow, facing, drilling, and tapping the stub proceeded handily:

    Razor Knife - setscrew in thread stub
    Razor Knife – setscrew in thread stub

    You’d think I hadn’t faced off the end, but you’d be wrong. As far as I can tell, the end of the screw would be happy to break for as long as I’d be willing to try cutting it. Perhaps this indicates why it broke and suggests this repair will be temporary, at best.

    Doing the same to the collet required a clamp to fit its slightly oblong body:

    Razor Knife - laser-cut collet clamps
    Razor Knife – laser-cut collet clamps

    Those of long memory may recall the hooks.

    Which then worked exactly as you’d expect:

    Razor Knife - collet in lathe chuck
    Razor Knife – collet in lathe chuck

    That’s aggressive stick-out for a little plastic rod, but sissy cuts saved the day; it faced / drilled / tapped easily enough:

    Razor Knife - collet repair parts
    Razor Knife – collet repair parts

    Despite the non-glue-able plastic, I tucked some JB PlasticBonder into the recesses, screwed everything together, and coerced the 8-32 threads into alignment inside the plastic nut:

    Razor Knife - collet thread alignment
    Razor Knife – collet thread alignment

    Reassemble in reverse order after the adhesive set up:

    Razor Knife - repaired
    Razor Knife – repaired

    Done!

    Now, what was I doing?