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

  • Third Eye Hardshell Mirror Repair

    Alas, the mirror I installed this spring didn’t survive our bicycling vacation; it succumbed to the second of three stuff-all-the-bikes-in-a-truck schleps arranged by the tour organizers. Being that sort of bear, I had a spare mirror, duct-taped it in place, lashed it down with some cable ties, and we completed the mission.

    So.

    Back to the Basement Laboratory Plastic Repair Wing.

    The strut broke just behind the ball at the mirror, which implies the mirror plate got stuffed against something, rather bending the strut. The ball joint still worked, so I maneuvered the stub perpendicular to the mirror.

    Drilling the strut
    Drilling the strut

    Normally I’d try to re-glue the joint as-is to get the best fit, but past experience shows that if it breaks once, it’ll break there again. I wanted to put some reinforcement into the strut, not just depend on a solvent glue joint. Some rummaging in the brass tubing stock produced a 1/16-inch diameter aluminum (!) tube about 18 mm long: just what’s needed.

    So I filed the deformed plastic flat & perpendicular to the stubs, mounted the strut in the 3-jaw chuck on the Sherline’s table, lined the spindle up with the axis, and poked a 1/16-inch hole into the strut. The alignment looks decidedly off in the picture, but it’s actually spot on: what you’re seeing is some swarf clinging to the far edge. Honest!

    Then I grabbed the mirror plate in the 3-jaw, lined up on the stub, and drilled maybe 4 mm down, which was roughly to the middle of the ball. The tubing was a firm push-fit in the hole and I hope it won’t over-stress the plastic into cracking.

    Gluing the mirror strut
    Gluing the mirror strut

    Run the spindle up, remove the drill, grab the strut in the chuck (actually, I had to swap in the larger chuck first), dab some Plastruct solvent glue on both ends, align the strut with the stub (they’re actually square in that section), run the spindle down to ram the tubing into the strut, then a bit more to apply pressure to the joint. I made the total hole depth about 2 mm longer than the tubing, so as to avoid the embarrassment of having the ends not quite meet in the middle.

    No CNC; pure manual Joggy Thing action.

    Let it cure overnight.

    It’s now back on Mary’s helmet, with a pair of black cable ties ensuring that it won’t pop off, and seems to be working fine. I’m sure the ball joint will fail later this year, although that won’t be due to this repair.

    Mirror on helmet again
    Mirror on helmet again
  • CPU Heatsink Fuzz Redux

    A friend donated an old Aptiva with an AMD K6 CPU to my collection. It’s too slow & power-hungry to be useful, so I harvested some useful bits and passed the corpse along to the recyclers.

    As fate would have it, I have an upcoming project that needs a cooler, so I popped the fan off the top (it’s rotated a quarter-turn: those tabs lock over the edges of the heatsink) to see what’s inside…

    Fuzz in AMD K6 CPU Cooler
    Fuzz in AMD K6 CPU Cooler

    That accumulation was pretty much invisible from the outside, with most of the fuzz clotted around the periphery of the fan duct. The fan blows downward into the heatsink, which acted (as usual) as a good dust filter.

    A bit of vacuum cleaner work and it’ll be just fine.

    Memo to Self:

    1. The bottom of the heatsink is a 42×78 mm copper block with the heat pipes soldered into notches. Clearance from the block to the step below the widest part of the fins is 18 mm and the fins are 25 mm above the block surface.
    2. Fan = 12 @ 70 mA. Reasonably quiet.
    3. The small blue heat sensor (at about 8 o’clock in the picture) is upstream of the heatsink and, thus, measures ambient air . It’s essentially open-circuit at room temperature, but a diode test shows 1.4 V in either direction. That suggests it’s not a thermistor or thermocouple, but the CPU is old enough that it’s likely not a fancy IC, either. A puzzlement.
  • Arduino Connector & Hole Coordinates: Mega 1280 board

    The Arduino Mega uses the ATMega 1280 chip to get more memory and far more analog & digital & PWM I/O pins, but remains more-or-less header-pin-compatible with the older Duemilanove and Diecimila boards (notes on the header coordinates for those boards is there).

    Arduino Mega - ATmega1280 chip
    Arduino Mega – ATmega1280 chip

    Herewith, some useful coordinates for the Mega board in (X,Y) format using the default 0.001 grid: 1 unit = 0.001 inch (a.k.a 1 mil). Values are taken directly from the Eagle PCB layout.

    The board outline is bounded by (2100,4000) on the upper right, with (0,0) at the lower left by the power jack. It’s not rectangular, but a conversation with Mr Belt Sander could remove the tab sticking out to the right beyond JP1/JP2 if that were really important.

    The header names are not the same as on the old boards. Bolded values seem unusual.

    • PWMH 1×8 @ (1300,2000) ← X is not 1290 as before!
    • PWML 1×8 @ (2150,2000)
    • COMMUNICATION 1×8 @ (3050,2000)
    • JP1 2×8 @ (3750,1550)
    • JP2 2×8 @ (3750,750)
    • POWER 1×6 @ (1550,100)
    • ADCL 1×8 @ (2350,100)
    • ADCH 1×8 @ (3250,100)
    • ICSP 2×3 @ (2555,1100) ← +5 X offset
    • Reset switch @ (2920,1100) ← -30 X offset

    The PWMH header is 10 mils to the right of its position on the older boards, but still not on the same grid used by the other headers: it’s now offset by a nice, even 50 mils. This probably doesn’t matter for most headers, given the sloppy fit. If you have a finicky board setup, you’re in trouble.

    Here’s what the PWMH and PWML headers look like, measured against a Duemilanove board on the top. The offset is not due to perspective!

    Arduino Mega PWMH header offset
    Arduino Mega PWMH header offset

    The Mega board has four 0.125-inch diameter mounting holes (they use 125.984, which is a hard-metric 3.2 mm). The first one is at the same position as on the Duemilanove board.

    • (600,2000)
    • (600,100)
    • (3550,2000)
    • (3800,100)

    Three fiducials:

    • 1 @ (780,2000)
    • 2 @ (2319,1603) ← deliberately offset from the grid?
    • 3 @ (3800,100)

    Memo to Self: As always, verify these numbers before you start drilling!

  • Improved Tour Easy Chain Tensioner

    A discussion on that post reminded me of this old project: replacing the chain pulleys in the midships chain tensioner on my Tour Easy recumbent.

    The problem is that the original pulleys used steel bearings in a plastic race, for reasons that I cannot fathom. They last for a few thousand miles, then get very wobbly and noisy. The solution, as nearly as I can tell, is to replace them with pulleys using cartridge bearings.

    This is what one looks like after four years slung below my bike. Surprisingly, the bearings still feel just fine, even though they’re not really sealed against the weather.

    Tour Easy - Cartridge Bearing Chain Tensioner
    Tour Easy – Cartridge Bearing Chain Tensioner

    Gotcha: the OEM pulleys are not the same OD / number of teeth as pulleys found in rear derailleurs.

    Soooo, after a bit of Quality Shop Time, I had these…

    Tour Easy Replacement Idler Pulley
    Tour Easy Replacement Idler Pulley

    This is where you really want an additive machining process, as I turned most of a big slab of aluminum into swarf while extracting each pulley.

    The first step is to drill holes around the perimeter where the chain rollers will fit, plus drill out as much of the center bore as possible. Then mill down to the finished thickness across the roller holes and helix-mill the bore to size.

    Side 1
    Side 1

    Flip it over and mill the other side to the proper thickness.

    Run it through the bandsaw to chop off all the material beyond the outer diameter.

    Grab what’s left in the three-jaw chuck and mill around the perimeter to get a nice clean edge.

    Side 2
    Side 2

    And then it Just Works. I made another for Mary’s bike, but she said it was too noisy (which is why they used plastic rather than aluminum) and I swapped it for a Terracycle idler.

    This is from back in the Bad Old Days before EMC2’s version of G-Code supported loops. You don’t need to see that code, trust me on this.

  • Monthly Aphorism: On Production Quotes

    • We can ship that many, but you must give us time to build the factory.

    Once Upon A Time, back in the IBM Video Disk project, a friend (herein known as LLT) built a demodulator for the video data streaming off the disk. This being the development phase of the project, cost was not much of an object, so he used a quartet of high-speed TRW TDC1003J digital multiplier-accumulators running in pipelined parallel to handle the data rate.

    While a 175 ns MAC isn’t a big deal these days, it was a state of the art TTL chip back then: a finned-heatsink 64-pin DIP package that cost approximately a bazillion dollars. The board was maybe two feet on a side in classic Wire-Wrap style.

    We called them Multifryers: each chip drew 750 mA at 5 V. That board had many cooling fans.

    Then, One Fateful Day, came a request to quantify just exactly how much it would cost to build a production version of the player. LLT pointed out that the demodulator board itself would cost more than a really spiffy car, but to no avail: he had to come up with a cost estimate for a fairly large production volume of the as-built hardware.

    So LLT calls up TRW and asks for a quote on thus-and-so-many parts, with delivery to-be-determined. There’s a long silence, after which they tell him they’ll have to get back to him on that.

    Time passes.

    Eventually he gets the quote. He had to tell them to not start building the factory right away, because the project was most likely doomed. Much relief was expressed…

  • Banishing a Mysterious Rear-Wheel Squeak

    So the bike started making a weird whistling squeak. Noises on a bike are never a good sign, but it took me nearly two weeks to banish this one…

    Differential diagnosis:

    • Toward the rear: not pedals, not chainring
    • Only while pedaling: not sprocket cluster bearings
    • Depends on chain speed: not sprocket

    Conclusion: it’s the chain.

    My shop assistant had done a massive chain-cleaning and lubricating exercise when we got back from vacation, so I guessed that a few links (of 250-ish) had escaped proper lube. I gave ’em a dose that didn’t help, so I went Old Skool on the thing.

    Coiled it flat in a saucer, immersed it in denatured alcohol to displace air and water-based cleaner inside the links, then drained the alcohol. Poured a generous layer of light machine oil over the whole affair, let it sit for a day. Drained for a pair of rainy days by hanging from a floor joist in the basement. Used up a bunch of rags while wiping the thing down (I have an oily-waste can, they’re not sitting in a wastebasket).

    Misrouted chain in rear derailleur
    Misrouted chain in rear derailleur

    Put it back on the bike, only to discover the chain was now vibrating something awful. Checked the rear end and found that I’d managed to route the chain through the rear derailleur along almost the right path…

    Fixed that and the squeak was still there. OK, it’s not the chain.

    The only remaining possibility: derailleur jockey pulleys.

    Took ’em off without dismounting the derailleur and, lo and behold, the steel-on-plastic bearing surfaces were bone dry and a bit dusty. They’re supposed to be self-lubricating, which is probably true for the first few thousand miles, but I cleaned ’em out and added a dab of grease.

    Problem solved… for a while, at least.

    The only downside is that the chain will be flinging oil for the next month, no matter how often I wipe it down. There’s a good reason I stopped using light machine oil on chains!

  • Mobile Amateur Radio Power: Check the Fuseholders

    The Yaesu FT-857 I have in the car has been not turning on lately, which I feared had something to do with being cooked inside a closed van for a week on the top level of a Camden parking garage during the hottest part of the summer.

    But, no, as it turned out, that had nothing to do with it: when I got the radio on the workbench, it powered up just fine. Back in the car, it’s dead.

    Which implies a power problem. The radio power comes from 10-AWG zip cord, through a pair of 40 A fuses, directly from the battery. The zip cord terminates in Anderson Powerpoles (of course) under the driver seat, mated to the end of the cable that came with the radio. That cable uses craptastic Molex connectors (equally of course) that are instantly suspect when any problems arise, plus a pair of smaller in-line 3AG glass fuses.

    Voltage at the Molex connectors: anything from 4.8 V to 11.9 V, depending on imponderable factors. Voltage at the Powerpoles: ditto. So maybe it’s not the Molex connectors, after all.

    The 40 A fuses are the kind the high-power automotive sound system folks use, complete with gratuitous goldish-plated everything. These I got surplus at a minute fraction of sticker price and mounted on the air filter housing, thusly:

    Engine compartment fuses for radio power
    Engine compartment fuses for radio power

    I plugged a 12 V bulb in place of the radio, then went a-measuring. Voltage downstream of the hot fuse: 0 V. Tah-dah, it’s a bad fuse!

    Nope, the fuse element is intact.

    The zip cord terminates in ferrules penetrated by 1/8-inch setscrews. Applying a wrench, I find that the setscrews are somewhat loose, although nothing catastrophic. Tighten all four screws and the radio turns on just fine.

    Case closed!

    Until the next day, when the radio doesn’t turn on. Reinstall the lamp, re-measure, once again find 0 V downstream of the hot fuse.

    Pull the fuse out again and it comes apart in my hand.

    Defective 40A fuse
    Defective 40A fuse

    Huh. That would explain everything.

    I suspect the fuse was marginally defective from the factory and finally failed after that prolonged heat wave. Living in the engine compartment isn’t easy under the best of circumstances, so I’ll give this one a pass.

    Being that sort of bear, I plucked a spare fuse from the ziplock baggie of fuses & bulbs that’s tucked into the van’s jack compartment, popped it in place, and the radio works fine again.

    Problem solved, for sure!

    Side note: those fuseholder screws go through the air filter housing, into nuts with Loctite, and I ruined the threads to absolutely prevent the nuts from coming off. You really don’t want a nut loose inside the engine air intake, downstream of the air filter and upstream of the throttle…