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.

Category: Machine Shop

Mechanical widgetry

  • Raspberry Pi Streaming Radio Player: Marginally Viable Product

    The least horrible way to get events from the keypad turned out to be a simple non-blocking poll from Python’s select library, then sucking the event input queue dry; the main loop now does what might be grandiosely overstated as cooperative multitasking. Well, hey, it reads lines from mplayer’s output pipe and processes keypad events and doesn’t stall (for very long) and that’s multi enough for me.

    It extracts the stream title from the ICY Info line, but I still haven’t bothered with a display. It may well turn out that this thing doesn’t need a display. The stream title will be enclosed in single quotes, but it may also contain non-escaped and non-paired single quotes (a.k.a. apostrophes): the obvious parsing strategy doesn’t work. I expect titles can contain non-escaped semicolons, too, which will kill the algorithm I’m using stone cold dead. Some try - except armor may be appropriate.

    This code does not tolerate a crappy WiFi connection very well at all. I eventually replaced a long-antenna WiFi adapter with an actual Ethernet cable and all the mysterious problems at the far end of the house Went Away. Soooo this code won’t tolerate random network stream dropouts very well, either; we’ll see how poorly that plays out in practice.

    The hackery to monitor / kill / restart / clean up after mplayer and its pipes come directly from seeing what failed, then whacking that mole in the least intrusive manner possible. While it would be better to wrap a nice abstract model around what mplayer is (assumed to be) doing, it’s not at all clear to me that I can build a sufficiently durable model to be worth the effort. Basically, trying to automate a program designed to be human-interactive is always a recipe for disaster.

    The option for the Backspace / Del key lets you do remote debugging by editing the code to just bail out of the loop instead of shut down. Unedited, it’s a power switch: the Pi turns off all the peripherals and shuts itself down. The key_hold conditional means you must press-and-hold that button to kill the power, but don’t run this on your desktop PC, OK?

    Autostarting the program requires one line in /etc/rc.local:

    sudo -u pi python /home/pi/Streamer.py &
    

    AFAICT, using cron with an @REBOOT line has timing issues with the network being available, but I can’t point to any solid evidence that hacking rc.local waits until the network is up, either. So far, so good.

    I make no apologies for any of the streams; I needed streams behind all the buttons and picked stuff from Xiph’s listing. The AAC+ streams from the Public Domain Project give mplayer a bad bellyache; I think its codecs can’t handle the “+” part of AAC+.

    All in all, not bad for a bit over a hundred lines of code, methinks…

    More fiddling will happen, but we need some continuous experience for that; let the music roll!

    The Python program as a GitHub Gist:

  • Vacuum Tube LEDs: Octal Tube on a CD

    Mounting an octal tube socket in a CD requires nothing more than printing one from the same OpenSCAD code that produced the Noval socket:

    Vacuum Tube Lights - octal socket - Slic3r preview
    Vacuum Tube Lights – octal socket – Slic3r preview

    Then apply a 1-1/8 inch Greenleee punch to a randomly chosen scrap CD, match-drill two screw holes, push the knurled inserts into the socket, and screw everything together:

    Octal socket in CD - screw detail
    Octal socket in CD – screw detail

    I totally forgot about the raised ring around the central hole, so the OpenSCAD source code now moves the screws outward to 47 mm OC for a bit of head clearance. The 6-32 screws don’t look nearly so large next to that big Bakelite base.

    The 2.36 mm tube pins fit perfectly into the (square!) socket holes without reaming.

    This 6SN7GTB would definitely benefit from a ersatz plate cap with an LED shining down on the mica spacer; fortunately, the getter flash is on the side, not the top. You can see the plate cap atop the adjacent duodecar tube diffracted in the grooves, so a CD “chassis” will add some pizzazz to a rather drab tube:

    Octal socket in CD - LED diffraction
    Octal socket in CD – LED diffraction

    In person, you see distinct RGB spots, not a continuous spectrum.

    This tube has a completely broken-off base spigot (the keyed cylinder around the evacuation tip), so (I think) more light gets through the base than from a cut-off spigot end. Perhaps the plate cap will add enough light to turn the base LEDs into an accent.

  • Vacuum Tube LEDs: Fire in the Noval

    Replacing the original Noval socket in the string with the platter-friendly version, bracing the wiring with duct tape, balancing it on my desk, and firing it up:

    Noval socket - red phase
    Noval socket – red phase

    The green phase looks nice, too:

    Noval socket - green phase
    Noval socket – green phase

    Those screws are too big.

    The getter flash covers the entire top of the tube; shining an LED down through the evacuation tip won’t work and even a laser doesn’t do much. That saves me the trouble of trying to create a cap that doesn’t wreck the tube’s good looks.

    I originally planned to use white / natural PETG for the socket, but the more I see of those things, the more I think black is the new white. The sockets should vanish into the background, to let the tubes (and their reflections) carry the show.

    The (yet to be designed) base must vanish under the platter edge, too, which puts a real crimp on its overall height. I’m not sure how to fit an Arduino Pro Mini and an FTDI board beside the existing socket; perhaps this calls for a unified socket-base design held on by those screws, rather than a separate socket inside a base enclosure.

    Even though I know the tubes are inert and cool, I still hesitate before removing them from their sockets with the Neopixels running: you simply do not unplug a hot, powered device!

  • Vacuum Tube LEDs: Noval Tube on a Platter

    Replacing the hex nut traps with knurled insert cylinders slims the ends of the socket:

    Noval Socket - knurled inserts - bottom - Slic3r preview
    Noval Socket – knurled inserts – bottom – Slic3r preview

    Making the raised part of the socket fit the 25 mm ID of a hard drive platter swells the midsection of the socket, but the platter won’t need any machining or punching:

    Noval Socket - knurled inserts - top - Slic3r preview
    Noval Socket – knurled inserts – top – Slic3r preview

    The octal and duodecar sockets will require a punch to open up the platter hole and all sockets require two drilled clearance holes for the screws. Given that I’ll eventually do this on the Sherline, maybe milling the hole for the bigger tubes will be faster & easier than manually punching them.

    I moved the screw centers to 35 mm (from the historically accurate 28 mm) to accommodate the larger center, not that anybody will ever notice, and enlarged the central hole to 7.5 mm (from 5.0 mm) to let more light into the tube base.

    The support structures inside the (now much smaller) knurled insert cylinders might not be strictly necessary, but I left them in place to see how well they built. Which was perfectly, as it turns out, and they popped out with a slight push:

    Noval socket - knurled inserts - support structures
    Noval socket – knurled inserts – support structures

    They’re just the cutest little things (those are 0.100 inch grid squares in the background):

    Noval socket - support structures
    Noval socket – support structures

    Anyhow, the knurled inserts pressed into their holes with a slight shove:

    Noval socket - installing knurled insert
    Noval socket – installing knurled insert

    The chuck jaws were loose on the screw cutoff stud and stopped at the surface, putting the knurled inserts perfectly flush with the socket:

    Noval socket - knurled inserts - installed
    Noval socket – knurled inserts – installed

    The surface looks very slightly distorted around the inserts, although it’s still smooth to the touch, and I think the PETG will slowly relax around the knurls. Even without heat or epoxy, they’re now impossible to pull out with any force I’m willing to apply to the screws threaded into them. Given that the platter screws will (be trying to) pull the inserts through the socket, I think a dry install will suffice for my simple needs.

    Match-mark, drill #27 6-32 clearance holes, and the screws drop right in:

    Noval socket - installed
    Noval socket – installed

    Those stainless steel pan-head 6-32 screws seem a bit large in comparison with the socket. Perhaps I should use 4-40 screws, even though they’re not, ahem, historically accurate.

    The tube pin holes get hand-reamed with a #53 drill = 1.5 mm. That’s a bit over the nominal 1.1 mm pin diameter, but seems to provide both easy insertion and firm retention. For permanent installation, an adhesive would be in order.

    Buff off the fingerprints, stick the tube in place, and it looks pretty good:

    Noval socket - tube on platter
    Noval socket – tube on platter

    Yeah, those screws are too big. Maybe a brace of black M3 socket head screws would look better, despite a complete lack of historicity.

    Now to wire it up and ponder how to build a base.

    The OpenSCAD source code as a GitHub Gist:

  • Vacuum Tube Prices, Then and Now

    Quite by coincidence, a Pile o’ Stuff disgorged a 1975 Radio Shack Catalog listing three dense pages of vacuum tubes, including a 21HB5A:

    Radio Shack 1975 Catalog - 21HB5A Tube Listing
    Radio Shack 1975 Catalog – 21HB5A Tube Listing

    These days, you buy New Old Stock 21HB5A tubes from eBay for about the same in current dollars with shipping:

    eBay - 21HB5A Tubes
    eBay – 21HB5A Tubes

    I should stock up and light up!

    Vacuum Tube LEDs - IBM 21HB5A Beam Power Tube - green violet phase
    Vacuum Tube LEDs – IBM 21HB5A Beam Power Tube – green violet phase

     

  • Makerspace Starter Kit Available

    For a variety of reasons that aren’t relevant here, I must dramatically reduce the amount of stuff in the Basement Laboratory / Machine Shop / Warehouse.

    If you (or someone you know) has / is starting / will start a makerspace or similar organization, here’s an opportunity to go from zero to hero with a huge infusion of tools / instruments / make-froms / raw material / gadgets / surplus gear.

    Think of it as a Makerspace Starter Kit: everything you need in one acquisition.

    You’ve seen much of the stuff in these blog posts during the past five years, although I tightly crop the photos for reasons that should be obvious when you consider the backgrounds.

    A few glimpses, carefully chosen to make the situation look much tidier than it really is:

    This slideshow requires JavaScript.

    I’m not a hoarder, but I can look right over the fence into that territory…

    I want to donate the whole collection to an organization that can figure out how to value it and let me write it off. Failing that, I’m willing to sell the whole collection to someone who will move it out and enjoy it / put it to good use / part it out / hoard it.

    We can quibble over the value, which surely lies between scrap metal and filet mignon.

    As nearly as I can estimate from our last two moves, I have 6±2 short tons of stuff:

    • Metal shop: old South Bend lathe / vertical mill-drill / bandsaw / hand tools / arbor press
    • Cabinets / shelves loaded with cutters / tools / micrometers / calipers / whatever
    • Gas & electric welding equipment, gas foundry furnace
    • Walls / bins / drawers of fasteners / wire nuts / plumbing fittings / pipe clamps / you-name-its
    • Bookshelves of references / magazines / databooks; I’ll keep at most one set of the magazines with my columns
    • Ham radio equipment / antennas / cables
    • Radial saw, blades, clamps, tooling, and a lumber / plywood stockpile
    • Labeled boxes of make-froms on steel shelving; you get the shelves, the boxes, and their contents.
    • Solvents, chemicals, metals, minerals, elements, etc.
    • Electronic / optical / mechanical surplus & doodads
    • Stockpiles of metal rods / pipes / beams / flanges / sheets / scrap parts
    • Tools & toys & treasures beyond your wildest imagination

    When we left Raleigh, the moving company estimator observed “This will be like moving a Home Depot!”

    You must take everything, which means you must have the ability & equipment to handle 6±2 tons of stuff in relatively small, rather heavy, not easily stackable lumps. You’ll need 1000+ square feet of space with at least a seven-foot ceiling on your end to unload the truck(s) and create a solid block of stuff with skinny aisles between the shelves. This is not a quick afternoon trip for you, your BFF, a pickup truck, and a storage unit.

    I plan to keep the Sherline, the M2 3D printer, various small tools, some hardware / parts / stock, most of the electronic instruments (antique-ish, at best) and components, plus odds and ends. I’ll extract or clearly mark those items, leaving your team to move everything else without (too many) on-the-fly decisions.

    I can provide photos and descriptions, but, realistically, you should evaluate the situation in person.

    Although we’re not planning to move in the near future, if you’re thinking of moving into the Mid Hudson Valley and always wanted a house with a ready-to-run Basement Shop, we can probably work something out. Note: all of the online real estate descriptions, including Zillow, seem confused, as the two houses on our two-acre property contain the total square footage / rooms / baths / whatever. Contact us for the Ground Truth after you’ve contemplated the satellite view.

    As the saying goes, “Serious inquiries only.”

  • Adaptek AVA-2902E/I SCSI Card: Low Profile Bracket Hack

    I picked up an Adaptek AVA-2902 SCSI card from eBay to use with an ancient Epson Perfection 636 SCSI scanner from the heap, but it came with a high-profile bracket wrapped around its DB-25 connector:

    SCSI card bracket fix - before
    SCSI card bracket fix – before

    The old-school serial port card sitting atop it (from one of the off-lease Optiplexes in the stable) has a low-profile bracket that seemed promising, so I swapped the brackets.

    Alas, the SCSI card positioned the DB-25 just a smidge higher than the serial card, putting the right-angle top of the bracket about 2 mm above the ledge, where it prevented the locking cover from engaging. I filed the bracket’s DB-25 mounting holes into ovals, using up all the slop around the connector shell, to no avail.

    So I snipped off most of the bracket’s top, grabbed it in the bench vise, smashed the corner with a drift punch, and bashed the whole affair 2 mm lower. It fit reasonably well, although there’s an air gap near the bottom of the bracket where it tapers down to the guide slot. The SCSI connector barely fit, with some persuasion, under the locking cover:

    SCSI card bracket fix - installed
    SCSI card bracket fix – installed

    Close enough for me; the scanner (looming over the SCSI connector) works fine and delivers much better image quality / color balance than the crappy HP 7400C with an auto-feeder that I’d been using.

    SCSI cables look like gas pipes in this day & age of tiny USB cables and teensy HDMI connectors