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

  • Manjaro Linux VNC Setup

    I installed the XFCE flavor of Manjaro Linux (beside Win 8.1 Pro) on a new-to-me Dell Latitude 7250 serving as our new Token Windows box and carry-along-able Linux laptop.

    Manjaro being an offshoot of Arch, they have plenty of guides and references, with How to Set up X11VNC Server being most useful at the moment. This box needs only a VNC server and apparently works with ‑xdamage for faster updates.

    With the laptop plugged into an external display and Manjaro set up to use both displays, the X11VNC server feeds both to the client with the proper positioning, producing a truly panoramic, albeit scaled, view:

    WinFlip - X11VNC dual screen
    WinFlip – X11VNC dual screen

    TightVNC on Windows does much the same thing, although (AFAICT) Windows doesn’t allow different background pictures on the two screens; that’s irrelevant to my mmmm use case.

  • MPCNC: Z-Axis Probed Height Map to Solid Model

    I set up an orthotic shoe insert on the MPCNC and unleashed the Z-Axis height probe on it:

    Orthotic - bottom probing
    Orthotic – bottom probing

    In principle, the grid keeps the object aligned with the machine axes and the blocks put the upper surface more-or-less parallel with the platform. The XY origin, at the G28 location I’ve been using for tool changes, is on the midline of the sole, with Z touched off by probing the platform beside the sole.

    The only interesting part of the orthotic is the rigid white plastic plate, which extends about 20 mm into a pocket in the black foam, so the probe area excludes the bendy part.

    I’m abusing the bCNC Auto-level probe routine to get the height map, because it produces a tidy file of XYZ coordinates with three header lines describing the overall probe area:

    -50 140 39
    -50 50 21
    -2 35 500
    
    -50 -50 0.11
    -45 -50 0.06
    -40 -50 0.005

    The first two lines give the X and Y coordinate ranges and number of samples. The third line is the Z axis range and probe speed (?). After that, it’s just probed XYZ coordinates, all the way down.

    Meshlab can import ASC files consisting of XYZ coordinates, with the ability to skip a specific number of header lines:

    Meshlab ASC file import - header lines
    Meshlab ASC file import – header lines

    If you don’t skip those three lines, then you get three additional points, far off in XYZ space, that will confuse the next step.

    Checking the Grid Triangulation box (the default) produces a nicely lofted sheet:

    Orthotic - R bottom triangulated
    Orthotic – R bottom triangulated

    It is, however, a single-sided sheet, not a manifold 3D object. After a few days of screwing around, I’m unable to find any (automatic, reliable, non-manual) way to solidify the thing in Meshlab, so just save it as a PLY file in ASCII format:

    Meshlab PLY file export - unchecked Binary Encoding
    Meshlab PLY file export – unchecked Binary Encoding

    Import it into Meshmixer, Ctrl-A to select the whole thing, click (Select →) Edit → Extrude, pick Y-Axis and Flat EndType, then extrude a convenient base in the negative direction:

    Meshmixer - Y-Axis extrusion
    Meshmixer – Y-Axis extrusion

    For whatever reason, some 3D programs show machine-tool coordinates with Z pointing upward and others aim the Z axis at your face. Both must have made sense at the time, because Meshmixer defaults to swapping the Y and Z coordinates on import / export.

    The Density slider controls the number of generated faces in the extruded section, so tune for best results.

    I have no idea what Harden does.

    Accept the result and you have a solid object suitable for further modeling.

  • 3D Foot Scanning

    The Poughkeepsie Library makes a 3DSystems Sense scanner (V1) available to patrons and, after a bit of to-and-fro, I managed to get a not-awful scan of Mary’s right leg:

    Mary - R foot - complete
    Mary – R foot – complete

    This was accomplished under field conditions in a cramped room hosting a Spanish-language “introduction to computers” class. We propped her leg across the edge of a table with her sock as a cushion.

    The depth image resolution seems to be 1 mm and the software attempts to stitch multiple views from different angles into a consistent 3D model. The scanner requires a steady hand and a steady model to successfully glue new data onto the existing model; what seem small misalignments derail the matching.

    The software has several presets, of which “Head” produces the best results. I have no idea what the algorithm thinks of her foot; maybe it’s been trained on some truly ugly faces.

    Exporting the solid model as either STL or PLY allows import into (Windows-only) Meshmixer, wherein I sawed off the pieces we won’t need:

    Mary R foot trimmed
    Mary R foot trimmed

    If only I had a foot fetish …

    The 3DSystems software requires a fairly specific Windows 8 (or 10, which is so not happening) + Intel hardware configuration, which recently arrived as a $250 off-lease Dell Latitude 7250 laptop. It works fine through VNC, so I can use it from the Comfy Desk.

    However, using a 3D scanner in your own home isn’t actually private:

    3DSystems Sense Scanner - EULA
    3DSystems Sense Scanner – EULA

    All your data are belong to them:

    3D Systems may also automatically collect and report back to 3D Systems information about the Software and Licensee’s usage along with limited information about the Device, 3D Printer, and/or other third-party applications. If 3D Systems implements automated data collection practices then Licensee may opt out of providing such data if Licensee has a license that authorizes Commercial Use.

    Oh, and then you must activate the software before using it. The library IT folks tell me I can install & activate the scanner on my system without derailing their setup. I have my doubts, but we’ll see how it goes.

    I must get into photogrammetry, ideally from the sofware libre branch as described there. The openMVG repo seems promising.

  • Monthly Image: Spider vs. Marmorated Stink Bug

    Fortunately, Brown Marmorated Stink Bugs haven’t been as catastrophic as predicted when they arrived a few years ago, perhaps because native critters have learned to deal with them:

    Spider vs. Marmorated Stink Bug
    Spider vs. Marmorated Stink Bug

    Looks like a week’s worth of spider chow!

  • Pride Lift Chair Control Dimming

    For reasons not relevant here, we recently decontaminated a second lift chair, this one in bariatric size (so it doesn’t suffer from fuzz-shaving struts) with a six-switch control pod:

    Pride lift chair control - dimmed LEDs
    Pride lift chair control – dimmed LEDs

    The green LED-lit buttons were so bright I took it apart to see what could be done; the picture shows the considerably dimmed result.

    Start by prying outward on the tab at the USB charging port:

    Pride lift chair control - USB port latch
    Pride lift chair control – USB port latch

    Done right, you can then release the latches along the sides:

    Pride lift chair control - side opened
    Pride lift chair control – side opened

    It’s impossible to photograph the PCB with the LEDs active, but here’s what it looks like without power:

    Pride lift chair control - PCB overview
    Pride lift chair control – PCB overview

    The eight (!) SMD LEDs align with light pipes around the switch openings:

    Pride lift chair control - button keys
    Pride lift chair control – button keys

    The black dots come from Sharpie ink daubed in the shallow recesses intended to nestle around the LEDs. Note that the four switch caps have unique keying, so you can’t put them back incorrectly without some effort.

    While we’re inside, here’s a closer look at the cable entry point, just in case I must replace the industrial-strength coily cord:

    Pride lift chair control - cable entry
    Pride lift chair control – cable entry

    Unfortunately, it has a five-conductor cable, so a cheap phone coily cord (remember when phones had coily cords?) won’t suffice.

    The PCB sports a pair of PICs, one of which seems to handle the buttons. I betcha the cable dates back to the days of hard-wired power switches, with the PIC now handling the intricate logic of deciding which motors to actuate for each function, then controlling MOSFETs as fake switch contacts.

    The other PIC snuggles against the USB interface, which the manual describes as a charging-only port. It might also serve as a programming interface for the main PIC; admittedly the notion of a firmware upgrade for a lift chair seems far-fetched.

    Reassembly is in reverse order with a resounding snap at the conclusion. It works fine and you (well, I) can now look at the control pod without sunglasses.

  • Hiatus

    Several home projects of steadily increasing priority will interfere with writing up Basement Laboratory projects through early November:

    Mary - R foot - complete
    Mary – R foot – complete

    Ground truths:

    • No barnacles on her foot
    • No sea creature eating her leg

    I’ll be posting infrequently during the next few weeks.

    All remains right with our world …

  • Raspberry Pi vs. eBay Camera: Assembly Completion

    I picked up a pair of Raspberry Pi V1 cameras, both of which arrived unstuck to their breakout board:

    RPi V1 camera adhesive
    RPi V1 camera adhesive

    Requiring the customer to peel off the white layer and stick the camera to the PCB helps keep costs low. They’re $4 if you’re willing to wait two months or $7 from a “USA Seller”.