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.

Author: Ed

  • Harbor Freight Slitting Saw Arbor

    A three-pack of 100-tooth 2 inch cutoff saw blades followed me home from Harbor Freight a while ago. Although they’re intended for a craptastic HF tabletop saw, I thought they might come in handy on the Sherline for slicing lengths of brass tubing. The reviews for the saw indicate the blades are no good for steel, barely adequate for brass, and dandy for wood; they have nowhere near enough teeth for a screw cutoff blade.

    None of the arbors in my collection fit a blade with a 3/8 inch hole, so a bit of lathe work produced one while the 3D printer cranked out a GPS+audio case:

    Cutoff saw arbor in Sherline toolholder
    Cutoff saw arbor in Sherline toolholder

    The shaft is 3/8 inch drill rod and the collars are 3/4 inch drill rod, both of O1 oil-hardening steel that will remain forever unhardened, fitting into a Sherline endmill toolholder. I drilled-and-bored the collars to a slip fit on the shaft, then epoxied the rear one in place:

    img_2156 - Cutoff saw arbor - parts
    img_2156 – Cutoff saw arbor – parts

    I drilled a 0.6 inch deep blind hole in the shaft and tapped it 10-32 all the way down for a 1/2 inch SHCS. A bag of assorted 10-32 taps produced a bottoming tap that came in handy, but I put tapping in the same category as parallel parking: I’ll walk half a mile to not parallel park the van. Couldn’t avoid it this time.

    The flat on the shaft came from a bit of hand filing, which was easier than setting up the mill.

    The front collar’s undercut ensures just the rim contacts the blade. The photo shows the vanishingly thin layer of epoxy on the rear collar that mooshed out as I clamped the stack together:

    • Fixed (rear) collar
    • Waxed paper with a 3/8 inch hole punched in the middle
    • Cutoff blade
    • Split lockwasher for a bit of space
    • Loose (front) collar
    • Socket head cap screw

    After the epoxy cured, a pass through the lathe skimmed off that thin epoxy layer and trued up the fixed collar face to eliminate the last bit of wobble. The radial runout remains just enough so that one tooth tings before the others engage, but I’m not entirely convinced that’s due to the (minimal) shaft-to-blade clearance.

    In use, putting the split lockwasher between the loose collar and the SHCS provides a little clamping compliance.

    At some point, I’m sure this thing will come in handy…

  • ThinkPad 560Z BIOS Battery Replacement

    Quite some time ago I picked up a trio of IBM Thinkpad 560Z laptops from the usual eBay suppliers as part of a DDJ column project. One turned into a digital picture frame, our Larval Engineer has another (because it was maxed out with 128 MB of RAM), and I just fired up the third (96 MB!) to discover whether it could serve as a text-only terminal without too much trouble.

    Alas, the BIOS battery was dead. I’d replaced the dead OEM cell some years back with a (surplus) lithium cell that’s a bit too small, so it only lasted a few years rather than a decade, but the cells were on the shelf. Soooo, I put in another one, just like the other one:

    Thinkpad 560Z BIOS battery
    Thinkpad 560Z BIOS battery

    After nudging the date & time into the current millennium, it then failed to boot Ubuntu 8.04: evidently the mighty 4 GB CompactFlash drive (jammed into a CF-to-IDE adapter) has bit rot.

    It’s a prime candidate for the text-only version of Tiny Core Linux, except that a 560Z can’t boot from either USB or CD-ROM, which means getting the files on the “hard drive” requires extraordinary fiddling. Drat!

    FWIW, when this battery fails, I think the (empty) main battery compartment has room for a CR123A cell that should outlast the rest of the hardware. I could blow two bucks on a replacement from eBay, but what fun is that?

  • Could This Be A Hacked Router?

    Found this interesting SSID on a drive up Albany way:

    Hacked router SSID
    Hacked router SSID

    I wonder how long it’s been like that? If the router’s owner doesn’t use WiFi, then it could last forever.

    Rule of Thumb: Disabling admin access from the router’s WiFi port is just good practice…

  • Monthly Subconscious: Interesting Cavity Flashlight Journey

    I believe this has nothing to do with the TSA:

    Interesting cavity flashlight journey
    Interesting cavity flashlight journey

    In words:

    we desire interesting cavity flashlight journey

    inherit hideous roach rescue legend

  • LED Curve Tracer: Repeatability

    Measuring the same LED many times should produce the same data every time. Here’s an LED measured ten times in quick succession, with each data point consisting of the average of three ADC conversions:

    Repeatability - 3 samples
    Repeatability – 3 samples

    Ten more measurements of the same LED, but with each data point being the average of ten ADC conversions:

    Repeatability - 10 samples
    Repeatability – 10 samples

    Not much to choose between the two, although averaging more readings does reduce the scatter just a bit. The ADC resolution is 5 mV, which is painfully obvious along the X axis. The Y axis has a smaller spread because it’s the independent variable: the firmware sets the MOSFET gate voltage to produce a given current and the ADC steps are relatively larger (the input voltage is only 75 mA × 10.5 Ω = 800 mV, tops).

    I think it’s close enough for my simple needs.

    The ADC code looks like this:

    //-- Read AI channel
    // averages several readings to improve noise performance
    // returns value in mV assuming VCC ref voltage
    
    #define NUM_T_SAMPLES 10
    
    float ReadAI(byte PinNum) {
      word RawAverage;
    
      digitalWrite(PIN_SYNC,HIGH); // scope sync
    
      RawAverage = analogRead(PinNum); // prime the averaging pump
    
      for (int i=2; i <= NUM_T_SAMPLES; i++) {
        RawAverage += (word)analogRead(PinNum);
      }
    
      digitalWrite(PIN_SYNC,LOW);
    
      RawAverage /= NUM_T_SAMPLES;
      return Vcc * (float)RawAverage / 1024.0;
    }
    

    And the Gnuplot routine that produces the graphs, including a bit of cruft that reminds me how to make two Y axis scales:

    #!/bin/sh
    #-- overhead
    export GDFONTPATH="/usr/share/fonts/truetype/"
    base="${1%.*}"
    echo Base name: ${base}
    ofile=${base}.png
    echo Output file: ${ofile}
    #-- do it
    gnuplot << EOF
    #set term x11
    set term png font "arialbd.ttf" 18 size 950,600
    set output "${ofile}"
    set title "${base}"
    set key noautotitles
    unset mouse
    set bmargin 4
    set grid xtics ytics
    set xlabel "Forward Voltage - mV"
    set format x "%6.3f"
    set xrange [1.8:2.1]
    #set xtics 0,5
    set mxtics 2
    #set logscale y
    #set ytics nomirror autofreq
    set ylabel "Current - mA"
    set format y "%4.0f"
    #set yrange [0:${rds_max}]
    #set mytics 2
    #set y2label "right side variable"
    #set y2tics nomirror autofreq 2
    #set format y2 "%3.0f"
    #set y2range [0:200]
    #set y2tics 32
    #set rmargin 9
    set datafile separator "\t"
    #set label 1 "Comment" at 0.90,0.35 font "arialbd,18"
    plot	\
        "$1" using (\$5/1000):((\$1>0)?\$2/1000:NaN) with linespoints lt 3 lw 2 lc 1
    EOF
    
  • Trouser Hangers: The Good, The Bad, and The Ugly

    So I finally looked at why one of the trouser hangers made a nasty gritty noise. Turns out that, no suprise, when you rub steel against steel long enough, it wears away:

    Trouser hanger - abraded steel
    Trouser hanger – abraded steel

    Another hanger had a huge roller that worked wonderfully well:

    Trouser hanger - elaborate roller
    Trouser hanger – elaborate roller

    That one was obviously over-engineered, but a simple roller also works well:

    Trouser hanger - simple roller
    Trouser hanger – simple roller

    They cheapnified this one just a bit too much, because it’s not quite a roller any more:

    Trouser hanger - ineffective roller
    Trouser hanger – ineffective roller

    A bit of rummaging turned up enough hangers with working rollers, so it’s all good now…

  • Tour Easy: Front Tire Aneurysm

    Front tire aneurysm
    Front tire aneurysm

    Found this aneurysm on the front tire just before a grocery ride, so I stuffed a spare tire and tube into a pannier before rolling away. As expected, it didn’t blow out, but …

    I think this started with a gash in the Kevlar belt that didn’t quite penetrate the cords holding the tire together. As you’ve seen, our tires collect a remarkable number of cuts due to broken glass.

    The cords inside the tire seemed fine, although the weave was somewhat distorted. The inner rubber layer wasn’t punctured, despite what it looks like here.

    The tube also looked fine, despite riding on a tire liner for at least a year. The tube abrasion failures in the rear tire must be due to something other than just the combination of tube and liner; perhaps the tube flexes just enough to erode at the discontinuities.

    This tire went directly to the trash!