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

  • Alligator Clip Lead Refurbishing

    So this happened when I grabbed an alligator clip lead:

    Dual Alligator Clip Collection
    Dual Alligator Clip Collection

    My coax cable and clip lead collection includes everything from “I’ve had it forever” to “Recent cheap crap”, including much of Mad Phil’s collection. Some of the recent crap included Chinese clip leads with what can charitably be described as marginal connections:

    Alligator clips - bent wire
    Alligator clips – bent wire

    The insulation may provide some compliance in the crimp, but the alligator clip itself consists of cheap steel which won’t hold a crimp, even if it was crimped firmly to start with.

    As a rule, the crimps aren’t particularly good:

    Black Dual Alligator - as manufactured
    Black Dual Alligator – as manufactured

    The most obvious effect is high end-to-end resistance:

    Black Dual Alligator - before - A
    Black Dual Alligator – before – A

    Yes, yes, 122 Ω in an alligator clip lead is high.

    The test setup isn’t particularly intricate:

    Black Dual Alligator - test setup
    Black Dual Alligator – test setup

    The lackadaisical crimps also have unstable resistances:

    Black Dual Alligator - before - B
    Black Dual Alligator – before – B

    So I figured I may as well repair the lot of ’em.

    I stripped the lead back to expose fresh copper, soldered it to the clip, then re-crimped the clip around the insulation for some token strain relief:

    Black Dual Alligator - soldered
    Black Dual Alligator – soldered

    I won’t win any soldering awards, but the resistance is way better than before:

    Black Dual Alligator - after
    Black Dual Alligator – after

    If more than half an ohm seems a tad high for a foot of copper wire, you’re right. My slightly magnetized bench screwdriver shows it’s not copper wire:

    Copper-plated steel wire
    Copper-plated steel wire

    I’d say it’s copper-plated steel, wouldn’t you?

    Those of long memory will recall the non-standard ribbon cable I used as a 60 kHz loop antenna. In this case, the Chinese manufacturer figured nobody would notice or, likely, care. Given the crappy overall quality of the end product, it’s a fair assumption.

    I was mildly tempted to replace the wire with good silicone-insulated copper, but came to my senses; those “high voltage” silicone test leads will be Good Enough for higher-current connections.

    While I was at it, I pulled apart my entire collection just to see what was inside and fix the ailing ones. These clips date back to the dawn of time, with what started as excellent crimps:

    Crimped Alligator Clips - as manufactured
    Crimped Alligator Clips – as manufactured

    Alas, after I-don’t-know-how-many decades, they’re not longer gas-tight, so I soaked a dollop of solder into each one:

    Crimped Alligator Clips - soldered - Made In Japan
    Crimped Alligator Clips – soldered – Made In Japan

    Chekkitout: “Made In Japan”.

    Someone, perhaps me wearing a younger man’s clothes or, less likely, Mad Phil in a hurry, solved a similar problem with bigger blobs and no strain relief:

    Crimped Alligator Clips - cut and soldered
    Crimped Alligator Clips – cut and soldered

    So, now I have a slightly better collection of crappy alligator clip leads. The copper-plated steel wires will eventually fail, but it should become obvious when they do.

    Test your clip leads today!

  • Bathroom Drain Rod Status

    The bathroom drain rod slipped out of the pop-up stopper, giving me the opportunity to see how well it’s surviving:

    Bathroom drain lever - 2019-08-03
    Bathroom drain lever – 2019-08-03

    After not quite two years, it’s not obviously rotting away.

    Life is good …

  • CNC 3018-Pro: Home Switches

    The CNC 3018-Pro doesn’t absolutely need home switches, but (in principle) they let you install a workholding fixture at a known position, home the axes, pick a preset coordinate system for the fixture, and not have to touch off the axes before making parts.

    Having used Makerbot-style endstop switch PCBs for the MPCNC, this was straightforward:

    3018 CNC - Endstop switches - overview
    3018 CNC – Endstop switches – overview

    The X and Z axis switches simply press against the appropriate moving parts:

    3018 CNC - X and Z Endstops
    3018 CNC – X and Z Endstops

    The little tab stuck on the tool clamp provides a bit of clearance around the upper part of the X axis assembly.

    The Y axis switch needed a slightly tapered tab to extend the bearing holder:

    3018 CNC - Y axis endstop
    3018 CNC – Y axis endstop

    It’s made from a random scrap of clear plastic, hand-filed to suit, and stuck on the bearing to trigger the switch in exactly the right spot.

    You can find elaborate switch mounts on Thingiverse, but I’ve become a big fan of genuine 3M outdoor-rated foam tape for this sort of thing: aggressive stickiness, no deterioration, possible-but-not-easy removal.

    The switches need +5 V power, so add a small hack to the CAMTool V3.3 control board to let the connectors plug right in:

    3018 CNC CAMTool - Endstop power mod - installed
    3018 CNC CAMTool – Endstop power mod – installed

    The solid models borrow their central depression around the switch terminals from the MPCNC blocks:

    3018 Home Switch Mounts - Slic3r preview
    3018 Home Switch Mounts – Slic3r preview

    The OpenSCAD source code as a GitHub Gist:

    // 3018-Pro Mount for Makerbot Endstop PCB
    // Ed Nisley KE4ZNU – 2019-07
    /* [Build Options] */
    Layout = "Show"; // [Build, Show]
    /* [Hidden] */
    ThreadThick = 0.25; // [0.20, 0.25]
    ThreadWidth = 0.40; // [0.40]
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    Protrusion = 0.01; // [0.01, 0.1]
    HoleWindage = 0.2;
    ID = 0;
    OD = 1;
    LENGTH = 2;
    //- Shapes
    // Basic PCB with hole for switch pins
    // origin at switch actuator corner, as seen looking at component side
    SwitchClear = [15.0,5.0,2.0]; // clearance around switch pins
    SwitchOffset = [12.5,9.0,0.0]; // center of switch pins from actuator corner
    PCB = [26.0,16.4,2*SwitchClear.z]; // switch PCB beyond connector, pin height
    XBlock = [PCB.x,PCB.y,5.0];
    module XMount() {
    difference() {
    cube(XBlock,center=false);
    translate(SwitchOffset + [0,0,XBlock.z – SwitchClear.z/2])
    cube(SwitchClear + [0,0,Protrusion],center=true);
    }
    }
    YBlock = [PCB.x + 10.0,PCB.y,20.0];
    module YMount() {
    difference() {
    translate([-10.0,0,0])
    cube(YBlock,center=false);
    translate([0,-Protrusion,10.0])
    cube(YBlock + [0,2*Protrusion,0],center=false);
    translate(SwitchOffset + [0,0,10.0 – SwitchClear.z/2])
    cube(SwitchClear + [0,0,Protrusion],center=true);
    }
    }
    ZBlock = [PCB.x,PCB.y,6.0];
    ZPin = [20.0,10.0,5.5];
    module ZMount() {
    difference() {
    cube(ZBlock,center=false);
    translate(SwitchOffset + [0,0,ZBlock.z – SwitchClear.z/2])
    cube(SwitchClear + [0,0,Protrusion],center=true);
    }
    translate([0,-ZBlock.y,0])
    difference() {
    cube(ZPin,center=false);
    translate([ZPin.x/2,-Protrusion,4.0])
    cube(ZPin + [0,2*Protrusion,0],center=false);
    }
    }
    //- Build things
    if (Layout == "Show") {
    translate([0,YBlock.y,0])
    XMount();
    translate([0,-YBlock.y/2])
    YMount();
    translate([0,-(ZBlock.y + YBlock.y)])
    ZMount();
    }

    The dimension doodles:

    3018 Home Switch Mounts - Dimension Doodles
    3018 Home Switch Mounts – Dimension Doodles
  • CNC 3018-Pro: CAMTool Modification for MBI-style Home Switches

    The Protonteer board I used on the MPCNC required a few additional pins for power to Makerbot-style home switches, so it’s no surprise the CAMTool V3.3 board on the CNC 3018-Pro gantry mill requires a similar hack:

    3018 CNC CAMTool - Endstop power mod
    3018 CNC CAMTool – Endstop power mod

    The white jumper plugs into the single +5 V pin in the row and is soldered to a straight wire running along the entire row of header pins. I pushed the black plastic strip to the bottom, soldered the wire along the pins atop it, then clipped off the pins so they’re about the right height when flush against the PCB.

    Use a two-row socket to hold the new row in alignment with the existing header:

    3018 CNC CAMTool - Endstop power mod - alignment
    3018 CNC CAMTool – Endstop power mod – alignment

    Slobber on some epoxy and let it cure:

    3018 CNC CAMTool - Endstop power mod - epoxy curing
    3018 CNC CAMTool – Endstop power mod – epoxy curing

    And then It Just Works™:

    3018 CNC CAMTool - Endstop power mod - installed
    3018 CNC CAMTool – Endstop power mod – installed

    Well, after you install the switches and tell GRBL to use them …

    Reminder: If you intend to put limit switches on both ends of the axis travel, you must clip the NC lead from both MBI switches. One switch per axis will work the way you expect and that’s how I’m using them here.

  • CNC 3018-Pro: Assembly Tweaks

    If you regard your new CNC 3018-Pro Router kit as a box of parts which could, with some adjustments and additional parts, become a small CNC router, you’re on the right track.

    In my case, the aluminum extrusions arrived somewhat squashed inside their well-padded foam shipping carton, which leads me to believe the factory responsible for tapping the bolt holes in the ends must be a fairly nasty place. In any event, the hammerhead T-nuts for the gantry struts simply didn’t fit into some sections of the slots, although they worked fine elsewhere.

    So, file a smidge off the rounded sides of a few nuts:

    3018CNC - 2020 T-nuts - filed
    3018CNC – 2020 T-nuts – filed

    Which let them slide into place and rotate properly despite the bent channel:

    3018CNC - 2020 T-nuts - trial fit
    3018CNC – 2020 T-nuts – trial fit

    The assembly instructions used a word I’d never encountered before:

    3018CNC - Gantry plate position
    3018CNC – Gantry plate position

    Turns out ubiety is exactly correct, but … raise your hand if you’ve ever heard it in polite conversation. Thought so.

    I’ve not noticed any harm from rounding off the position to 46 mm; just position both struts the same distance from the rear crossbar and it’s all good.

    The struts behind the CAMTool CNC-V3.3 electronics board were also squashed, prompting a bit more filing:

    3018CNC - CAMTool v3.3 board - trial fit
    3018CNC – CAMTool v3.3 board – trial fit

    The CAMTool board is basically an Arduino-class microcontroller preloaded with GRBL 1.1f and surrounded with spindle / stepper driver circuits.

    As with the MPCNC, I’ll dribble G-Code into it from a Raspberry Pi. Alas, the struts behind the CAMTool board are on 75 mm centers, but the Pi cases on hand have feet on 72-ish mm centers. Pay no attention to the surroundings, just drill the holes in the right spots:

    3018CNC - RPi case - drilling
    3018CNC – RPi case – drilling

    Add more T-nuts and short button head screws, with rubber pads between the case and the struts:

    3018CNC - RPi case - mounted
    3018CNC – RPi case – mounted

    It’s coming together!

  • Xiaomi-Dafang Hacks: FTP Server for Camera Files

    Since the PiHole runs all the time, it now hosts an FTP server to stash snapshots from the cameras onto a 64 GB USB stick. I installed ProFTPD, which Just Worked with a few configuration tweaks:

    UseIPv6             off
    ServerName          "PiHole"
    DefaultRoot         /mnt/cameras
    RequireValidShell   off

    The cameras use the BusyBox ftpput command to stash their images (with the hostname prepended), which requires a few changes to motion.conf in the cameras:

    ftp_snapshot=true
    ftp_host="192.168.1.2"
    ftp_port=21
    ftp_username=$(/bin/hostname)
    ftp_password="make up your own"
    ftp_stills_dir=$(/bin/hostname)

    The last line uses a separate directory for each camera, although they quickly ran into the FAT32 limit of 64 K files per directory; reformatting the USB stick with an ext3 filesystem solved that problem.

    Fortunately, nothing much ever happens around here

    New Utility Pole Arrives
    New Utility Pole Arrives
  • NuTone 8663RP Bathroom Vent Fan: Effective Repair

    My high hopes for the UHMW bushing supporting the impeller lasted the better part of a day, because direct contact between the impeller and the motor bearing produced an absurdly loud and slowly pulsating rumble:

    Bath Vent Fan - bushing installed
    Bath Vent Fan – bushing installed

    My hope that the UHMW would wear into a quieter configuration lasted a week …

    Back in the Basement Shop, some free-air tinkering showed the impeller produced enough suction to pull itself downward along the shaft and jam itself firmly against the motor frame. My initial thought of putting a lock ring around the shaft to support the impeller turned out to be absolutely right.

    So, make a small ring:

    Bath Vent Fan - small lock ring - c-drill
    Bath Vent Fan – small lock ring – c-drill

    With a 4-40 setscrew in its side, perched atop the impeller for scale:

    Bath Vent Fan - small lock ring - size
    Bath Vent Fan – small lock ring – size

    It just barely fits between the impeller and the motor frame:

    Bath Vent Fan - small lock ring - installed
    Bath Vent Fan – small lock ring – installed

    This reduced the noise, but the hole in the impeller has worn enough to let it rotate on the shaft and the rumble continued unabated. The correct way to fix this evidently requires a mount clamped to both the shaft and the impeller.

    Fast-forward a day …

    A careful look at the impeller shows seven radial ribs, probably to reduce the likelihood of harmonic vibrations. After a bit of dithering, I decided not to worry about an off-balance layout, so the screws sit on a 9 mm radius at ±102.9° = 2 × 360°/7 from a screw directly across from the setscrew in another slice from the 1 inch aluminum rod:

    Bath Vent Fan - mount ring - tapping
    Bath Vent Fan – mount ring – tapping

    Centered on the disk and using LinuxCNC’s polar notation, the hole positions are:

    G0 @9.0 ^-90
    G0 @9.0 ^[-90+102.9]
    G0 @9.0 ^[-90-102.9]

    As usual, I jogged the drill downward while slobbering cutting fluid. I loves me some good manual CNC action.

    Put the mount on a 1/4 inch tube, stick it into the impeller, and transfer-punch the screw holes:

    Bath Vent Fan - mount ring - impeller marking
    Bath Vent Fan – mount ring – impeller marking

    Apparently, some years ago I’d cut three screws to just about exactly the correct length:

    Bath Vent Fan - mount ring - test fit - bottom
    Bath Vent Fan – mount ring – test fit – bottom

    I knew I kept them around for some good reason!

    The 9 mm radius just barely fits the screw heads between the ribs:

    Bath Vent Fan - mount ring - test fit - top
    Bath Vent Fan – mount ring – test fit – top

    Some Dremel cutoff wheel action extended the motor shaft flat to let the setscrew rest on the bottom end:

    Bath Vent Fan - mount ring - shaft flat
    Bath Vent Fan – mount ring – shaft flat

    Then it all fit together:

    Bath Vent Fan - mount ring - installed
    Bath Vent Fan – mount ring – installed

    The fan now emits a constant whoosh, rather than a pulsating rumble, minus all the annoying overtones. It could be quieter, but it never was, so we can declare victory and move on.

    Dropping fifty bucks on a replacement fan + impeller unit would might also solve the problem, but it just seems wrong to throw all that hardware in the trash.

    And, despite making two passes at the problem before coming up with a workable solution, I think that’s the only way (for me, anyhow) to get from “not working” to “good as it ever was”, given that I didn’t quite understand the whole problem or believe the solution at the start.

    But it should be painfully obvious why I don’t do Repair Cafe gigs …