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: Home Ec

Things around the home & hearth

  • Medium Ricotta Lid Box: QR Code vs. Chipboard

    Medium Ricotta Lid Box: QR Code vs. Chipboard

    Another box from the festi.info box configurator to collect more lids in a kitchen drawer:

    Medium Ricotta Lids box
    Medium Ricotta Lids box

    This was really a thinly veiled excuse for a deeper look at the QR code generator encoding the myriad parameters required to create the box and see what happens when you try to burn such a complex thing into chipboard.

    Spoiler: chipboard has very low contrast and really does not work well with high-density QR codes.

    Although the festi.info box generator can produce QR codes, I used qrencode (available in your Linux distro) on the command line to generate QR code image files with specific settings:

    qrencode --level=M --size=6 --dpi=254 --output='Ricotta Lids 2 lb - chipboard.png' 'http://festi.info/boxes.py/ABox?FingerJoint_angle=90.0&FingerJoint_style=rectangular&FingerJoint_surroundingspaces=2.0&FingerJoint_bottom_lip=0.0&FingerJoint_edge_width=2.0&FingerJoint_extra_length=0.0&FingerJoint_finger=2.0&FingerJoint_play=0.0&FingerJoint_space=3.0&FingerJoint_width=1.0&x=200.0&y=120.0&h=60.0&outside=0&bottom_edge=h&thickness=1.4&format=lbrn2&tabs=0.0&qr_code=0&debug=0&labels=0&reference=0&inner_corners=corner&burn=0.04&language=en&render=0'
    
    

    The key parameters:

    • --level → error correction level
    • --size → size of the smallest square (“module”) in pixels
    • --dpi → DPI of the output image file

    The default file type is PNG. The unusual 254 DPI makes each pixel exactly 0.1 mm wide and a peculiar 169.33 DPI = 0.15 mm came in handy for the first pattern.

    The final parameter is the character string to encode, which you should definitely quote to prevent the shell from wrecking things while trying to help you.

    A pattern with 4×4 pixel modules didn’t scan at all:

    Chipboard QR code - 15pct 0.15mm 4x4 - overview
    Chipboard QR code – 15pct 0.15mm 4×4 – overview

    A closer look shows the modules have ragged edges due to laser timing variations during the engraving scans and gaps between successive scans because the spot size is less than the 0.15 mm scan interval:

    Chipboard QR code - 15pct 0.15mm 4x4 - detail
    Chipboard QR code – 15pct 0.15mm 4×4 – detail

    Increasing the module to 6×6 pixels at a 0.1 mm scan interval :

    Chipboard QR code - 15pct 0.10mm 6x6 - overview
    Chipboard QR code – 15pct 0.10mm 6×6 – overview

    A closer look shows the larger module reduces the relative size of the timing errors, while the decreased line spacing tidies up the blocks:

    Chipboard QR code - 15pct 0.10mm 6x6 - detail
    Chipboard QR code – 15pct 0.10mm 6×6 – detail

    Reducing the power from 15% to 10% reduced the contrast to the point of illegibility:

    Chipboard QR code - 10pct 0.10mm 6x6 - overview
    Chipboard QR code – 10pct 0.10mm 6×6 – overview

    A closer look shows the engraving barely punches through the surface and has somewhat more ragged edges due to the tube’s pulsating startup current at very low power:

    Chipboard QR code - 10pct 0.10mm 6x6 - detail
    Chipboard QR code – 10pct 0.10mm 6×6 – detail

    I also tried 5×5 modules with similar results.

    The laser spot size sets the engraving scan interval, which then determines the DPI value for the QR code image. With all that matched up, you can send the images directly to the laser in Passthrough mode, without having LightBurn resample the pixels and change the module’s shape.

    Looked at from a different angle: given the laser spot size and the module size, the QR code image size is not under your control.

    From another angle: given a QR code image size in, say, millimeters, and the engraving scan interval, the module size is not under your control.

    All this is moot if you print QR codes on a high-resolution / high-contrast printer. It’s just the gritty nature of laser cuttery that limits what you can accomplish.

    And, of course, using a material less awful than chipboard will definitely improve the results.

    If you want a similar box of your own, here ya go:

    Medium Ricotta Lids - chipboard QR code - default
    Medium Ricotta Lids – chipboard QR code – default

    The URL is too ugly to print, but you can copy it from this link.

  • Refresh Tears Eye Lube Storage Boxes

    Refresh Tears Eye Lube Storage Boxes

    A recent Squidwrench meeting provided the opportunity to make a couple of racks for an assortment of Refresh Tears / Liquigel bottles:

    Refresh eye lube - storage cases
    Refresh eye lube – storage cases

    I used chipboard to find out if the cross plates would stiffen the floppy 1.1 mm sheets enough for this light duty. Indeed, the overall structure becomes a nice rigid box, even though the feet and corners can’t withstand much abuse.

    The finger joints use the default settings, which produce a lot of fingers along the edges. This turns out to be a Good Thing, as it gave the yellow wood glue plenty of opportunities to bond the sheets together.

    Combining the default 5° slope with nine bottles along each level wastes a tremendous amount of vertical space. The adjacent racks hold three much larger cans per level, so roughly the same space doesn’t look like much. In retrospect, a 3° slope should work for smaller bottles.

    And, yes, the squash on the lower shelf store nicely and become yummy meals all winter long.

    The overstuffed URL generating the patterns:

    http://festi.info/boxes.py/CanStorage?FingerJoint_angle=90.0&FingerJoint_style=rectangular&FingerJoint_surroundingspaces=0.0&FingerJoint_bottom_lip=0.0&FingerJoint_edge_width=1.0&FingerJoint_extra_length=0.0&FingerJoint_finger=2.0&FingerJoint_play=0.0&FingerJoint_space=2.0&FingerJoint_width=1.0&Stackable_angle=60&Stackable_bottom_stabilizers=0.0&Stackable_height=2.0&Stackable_holedistance=1.0&Stackable_width=4.0&fillHoles_bar_length=50&fillHoles_fill_pattern=no+fill&fillHoles_hole_max_radius=3.0&fillHoles_hole_min_radius=0.5&fillHoles_hole_style=round&fillHoles_max_random=1000&fillHoles_space_between_holes=4.0&fillHoles_space_to_border=4.0&top_edge=%C5%A0&bottom_edge=%C5%A1&canDiameter=30&canHeight=75&canNum=18&chuteAngle=5.0&thickness=1.15&format=lbrn2&tabs=0.0&qr_code=0&debug=0&labels=0&reference=0&inner_corners=corner&burn=0.04&language=en

    And the eyeburning QR code:

    Refresh Eye Lube - chipboard QR code
    Refresh Eye Lube – chipboard QR code
  • Bobbin Storage Trays

    Bobbin Storage Trays

    Long ago, I gave Mary a box of 100 empty bobbins for her Kenmore 158 sewing machine, with the intent she would never again have to unwind a bobbin to put new thread on it. This worked so well I did the same thing for her Juki, with the result she needed somewhere to store all those filled bobbins.

    Her work table has a shallow drawer, so we tried this out:

    Bobbin Storage Case - installed
    Bobbin Storage Case – installed

    They’re a matched set cut from 1.5 mm TroCraft Eco:

    Bobbin Storage Case - cutting overview
    Bobbin Storage Case – cutting overview

    Watching all those little rectangles fall out just never gets old:

    Bobbin Storage Case - cutting detail
    Bobbin Storage Case – cutting detail

    I ran off a test tray in ordinary chipboard that works just as well, but lacks the pleasant appearance and feel of the TroCraft. Clear 1.5 mm acrylic would probably work, at the cost of requring a much neater glue job where the dividers meet the walls.

    The spacing is a bit tight to pluck a bobbin from its slot between two others, but now she has enough space to arrange them as needed, with empty spaces around the most-used colors. I offered to carpet the drawer with bobbin trays, but she suggested waiting until these fill up.

    The well-stuffed URL specifying the tray:

    http://festi.info/boxes.py/TypeTray?FingerJoint_angle=90.0&FingerJoint_style=rectangular&FingerJoint_surroundingspaces=0.5&FingerJoint_bottom_lip=0.0&FingerJoint_edge_width=1.0&FingerJoint_extra_length=0.0&FingerJoint_finger=2.0&FingerJoint_play=0.0&FingerJoint_space=2.0&FingerJoint_width=1.0&Stackable_angle=60&Stackable_bottom_stabilizers=0.0&Stackable_height=2.0&Stackable_holedistance=2.0&Stackable_width=4.0&Hinge_grip_percentage=0&Hinge_outset=0&Hinge_pinwidth=0.5&Hinge_style=outset&Hinge_axle=2.0&Hinge_grip_length=0&Hinge_hingestrength=1&CabinetHinge_bore=3.2&CabinetHinge_eyes_per_hinge=5&CabinetHinge_hinges=2&CabinetHinge_style=inside&CabinetHinge_eye=1.5&CabinetHinge_play=0.05&CabinetHinge_spacing=2.0&Lid_angle=90.0&Lid_hole_width=0&Lid_second_pin=0&Lid_second_pin=1&Lid_spring=both&Lid_style=rectangular&Lid_surroundingspaces=2.0&Lid_bottom_lip=0.0&Lid_edge_width=1.0&Lid_extra_length=0.0&Lid_finger=3.0&Lid_play=0.05&Lid_space=2.0&Lid_width=1.0&Click_angle=5.0&Click_bottom_radius=0.1&Click_depth=3.0&RoundedTriangleEdge_height=50.0&RoundedTriangleEdge_r_hole=2.0&RoundedTriangleEdge_radius=30.0&RoundedTriangleEdge_outset=1.0&Mounting_d_head=6.5&Mounting_d_shaft=3.0&Mounting_margin=0.125&Mounting_num=2&Mounting_side=back&Mounting_style=straight+edge%2C+within&HandleEdge_height=20.0&HandleEdge_hole_height=75.0&HandleEdge_hole_width=40%3A40&HandleEdge_on_sides=0&HandleEdge_on_sides=1&HandleEdge_radius=10.0&HandleEdge_outset=1.0&sx=21*7&sy=12*7&h=20.0&hi=10.0&outside=0&bottom_edge=s&top_edge=S&back_height=0.0&radius=0.0&gripheight=30&gripwidth=00&handle=0&thickness=1.65&format=lbrn2&tabs=0&debug=0&labels=0&reference=00&inner_corners=corner&burn=0.04

    Which can now be specified as the biggest QR code I’ve ever seen:

    Bobbin Tray - TroCraft Eco QR code
    Bobbin Tray – TroCraft Eco QR code

    That makes my eyes hurt …

  • Laser-Cut Envelope Opener

    Laser-Cut Envelope Opener

    As practice in using the laser to engrave a figure to a known depth, this seemed appropriate:

    Envelope Opener - original
    Envelope Opener – original

    The black envelope opener on the right came in a long-ago surplus deal and worked really well, which I cannot say for the retail replacements I got a few years back.

    The tan envelope opener on the left is an obvious case of IP theft, copying the size and shape using a scanned image:

    Classic opener - knife blades - scan
    Classic opener – knife blades – scan

    The two blades seemed like good candidates, with the lower one winning the contest:

    Kobalt 78010 Mini Utility Knife Blade mask
    Kobalt 78010 Mini Utility Knife Blade mask

    Although the pack of “mini utility knife blades” sports a Lowe’s Kobalt part number, they no longer carry that item. You can find plenty of identical blades elsewhere, so they’re not a rare collectible and I have plenty of backup.

    Put the outline of the opener on a cut layer, put the blade on an engraving layer, orient appropriately, and make a mirror-image duplicate:

    Envelope Opener - LB Layout
    Envelope Opener – LB Layout

    The original opener is a touch over 3 mm thick, so the settings engrave 0.25 mm into the surface to make a blade pocket, then cut the shapes from 1.5 mm TroCraft Eco:

    Envelope Opener - cutting
    Envelope Opener – cutting

    After all the cutting was done, it looks about as you’d expect:

    Envelope Opener - interior layout
    Envelope Opener – interior layout

    Slather with yellow PVA wood glue and apply too many clamps:

    Envelope Opener - clamping
    Envelope Opener – clamping

    Next time around, I’ll round off the edges before assembly, but that’s in the nature of fine tuning:

    Envelope Opener - detail
    Envelope Opener – detail

    The TroCraft sheet engraves so cleanly that, were I to go into mass production, I’d set up a fixture for grayscale engraving shaping the perimeters.

    Obviously, this makes no economic sense, but it does produce a considerable amount of satisfaction, which is pretty much all that matters for such things.

  • DIY CPAP Mask Liner

    DIY CPAP Mask Liner

    Mary cut out a simple cloth liner for her ResMed F20 CPAP mask (a.k.a. “cushion”) and snipped away at the fabric until it felt about right. I scanned the result and turned it into a bitmap mask (which is entirely different from a CPAP mask):

    Mask liner - scanned
    Mask liner – scanned

    Given that as a start:

    • Import the scanned image into LightBurn
    • Fair a few curves around the perimeters by hand, rather than attempting to trace the thing
    • Rationalize the sizes
    • Make it symmetric
    • Cut a few prototypes while tweaking the fit

    Which leads to a pattern like this:

    CPAP Mask Liner - F20 knit - spline fit
    CPAP Mask Liner – F20 knit – spline fit

    The rectangular upper part forms a simple eyeshade that also keeps minor leaks from disturbing her sleep. Your mileage may vary, depending on how much you toss and turn during the night.

    We found the fit depends on the fabric, with woven fabric requiring a taller opening:

    CPAP Mask Liner - F20 knit woven - LB layout
    CPAP Mask Liner – F20 knit woven – LB layout

    The engraved legend verifies I used the proper design for the fabric:

    Laser cut CPAP Mask Liner - F20 - knit fabric
    Laser cut CPAP Mask Liner – F20 – knit fabric

    The opening has tabs holding it in place while cutting, at least until we get this down to a routine.

    Then make enough for a while:

    Laser cut CPAP Mask Liner - F20 - production
    Laser cut CPAP Mask Liner – F20 – production

    The usual woodstove odor vanishes after half a day sitting atop the clothes washer. Putting them in a mesh bag and tossing them into the regular wash refreshes them after use.

    The LightBurn SVG layouts as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.

  • Shower Faucet Handle Rebuild & Tightening

    Shower Faucet Handle Rebuild & Tightening

    The shower faucet handles have been getting looser, but once a decade seems reasonable. This time around, however, the setscrews had dug themselves so far into the splined plastic fittings that they had run out of thread:

    American Standard Shower Handle rebuild - gouged setscrew sockets
    American Standard Shower Handle rebuild – gouged setscrew sockets

    Wipe out the crud, clean out what’s left with alcohol to encourage stick-to-it-ivity, and fill the cavities with JB Kwikweld epoxy:

    American Standard Shower Handle rebuild - epoxy fill
    American Standard Shower Handle rebuild – epoxy fill

    When it cures, file a flat across the sockets:

    American Standard Shower Handle rebuild - flatted
    American Standard Shower Handle rebuild – flatted

    Reinstall in reverse order with a dot of NeverSeez on the setscrews for good measure.

    Just so you don’t have to look it up, this is what the cold water faucet innards looked like a decade ago:

    Shower faucet valve stem
    Shower faucet valve stem

    Ought to be good for another decade, right?

  • Flypower Wall Wart: FAIL

    Flypower Wall Wart: FAIL

    The IR sensor on the under-cabinet LED lights I installed half a dozen years ago became increasingly flaky. Its wall wart power supply was on the hot side of uncomfortably warm, so I had an obvious culprit.

    The data plate says it’s UL Listed, which is comforting:

    Flypower LED wart - data plate
    Flypower LED wart – data plate

    The open-circuit output of a 12 VDC power supply should not look like this:

    FlyPower 12V 1A - no load
    FlyPower 12V 1A – no load

    The horizontal scale is 100 ms/div, so those ramps seem much more languid than you might expect from a 60 Hz wall wart.

    Adding a 16 Ω load to draw maybe 750 mA got its attention:

    FlyPower 12V 1A - 16ohm load
    FlyPower 12V 1A – 16ohm load

    The average may be 12 V with too-large dips at the expected 120 Hz, but looky at all the hash riding the output!

    No wonder the IR sensor was having such a hard time. When the LEDs are off the voltage ramps between 16 and 5 V. When it eventually turns on the supply has impossible noise levels.

    So I cracked the case and extracted the electronics:

    Flypower LED wart - components
    Flypower LED wart – components

    Those caps over there on the left rear don’t look healthy, do they?

    Flypower LED wart - failed caps
    Flypower LED wart – failed caps

    No. No, they don’t and you shouldn’t be able to see the wiring inside the inductor between them, either.

    Probing the Box o’ Wall Warts produced a similar-ish wart that only required harvesting and splicing the teeny coax plug from the failed adapter to put the LED strips back into normal operation.

    The identical supply for the identical LED strips on the other side of the kitchen continues to work fine and feel only warm-ish, so I’ll let it be.