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

  • Layered Paper: Inkscape Random Block Setup

    Layered Paper: Inkscape Random Block Setup

    The random block layered paper design starts as an Inkscape layout, although the amount of manual intervention required to make it happen suggests it’s not really worthwhile. With that in mind, this is how to make it happen …

    Draw a 9×9 mm square with these properties:

    • Undefined fill: each block will become different
    • Flat color stroke set to black with 100% alpha
    • 0.2 mm stroke width: so LightBurn will see it

    Because the squares will be on 10 mm centers, draw a 159 mm square:

    • No fill (this is different from Undefined fill)
    • Flat color stroke set to LightBurn T2 color
    • 0.2 mm stroke width

    Align the big square on the grid, which should have 10 mm spacing because that’s convenient. This will become the way you align the array of squares in the LightBurn layout, so you really want the array to fit neatly and symmetrically inside the 159 mm square.

    Iterate 16 times, all in T2 layer color:

    • Create a layer with a name like H000 through H337
    • Create a corresponding text string
    • Align fussily
    • Duplicate the 159 mm square
    • Put the block and the text string on the new layer
    • Lock the square and text so they can’t move

    Which will look like this:

    Random Blocks - 16x16 159mm - Inkscape layer labels
    Random Blocks – 16×16 159mm – Inkscape layer labels

    Unlike LightBurn, the color is not linked directly to the layer, so each of those text strings is on the corresponding named layer and there are 16 duplicates of the large box at exactly the same coordinates. Plus the original 159 mm square, which remains unlabeled and unlocked.

    Select the black 9 mm block and create a 16×16 clone army array:

    Random Blocks - 16x16 159mm - Inkscape clone setup
    Random Blocks – 16×16 159mm – Inkscape clone setup

    The Initial Color is critical:

    Random Blocks - 16x16 159mm - Inkscape clone color
    Random Blocks – 16×16 159mm – Inkscape clone color

    The layer names come from the 6.25% hue steps, starting with H=0, which will look like this:

    Random Blocks - 16x16 159mm - Inkscape hue steps
    Random Blocks – 16×16 159mm – Inkscape hue steps

    Note that LightBurn absolutely does not care about the colors. All it will get is the outlines corresponding to the strokes, with the colors collecting them into separate groups for the paper layers.

    Go to the Layers window, select the original block (which is likely on Layer 1 or some such), cut it, and paste it somewhere outside the 159 mm square where it won’t cause any trouble.

    Iterate 16 times in the Layers window:

    • Select one of the 256 clone squares, which will have an automagic name like use1272
    • Right-click, hit Select Same → Fill Color
    • Right-click, hit Move to Layer …
    • Pick the layer name matching the hue

    Select all the squares and Distribute randomly:

    Random Blocks - 16x16 159mm - Inkscape rearrange
    Random Blocks – 16×16 159mm – Inkscape rearrange

    Then Align them in a grid:

    Random Blocks - 16x16 159mm - Inkscape grid distribute
    Random Blocks – 16×16 159mm – Inkscape grid distribute

    The 0.8 mm Spacing is the distance between 9 mm blocks with 0.2 mm strokes.

    Shift-click on the 159 mm square to add it to the selection, then hit the two center-align buttons to center the 16×16 array in the square:

    Random Blocks - 16x16 159mm - Inkscape center align
    Random Blocks – 16×16 159mm – Inkscape center align

    Save that sucker as an Inkscape SVG and it’s ready to import into lightBurn.

    With all that done, you can generate different random layouts by:

    • Select the existing 16×16 array (but not the outer 159 mm square; Undo is your friend)
    • Randomize the array
    • Align it
    • Center it

    The colored blocks remain in their corresponding layers, so you need not go through all that overhead ever again.

    Whether that’s worthwhile is up for grabs, but now I have a faint chance of getting it right the next time.

  • Layered Paper: Random Blocks

    Layered Paper: Random Blocks

    I wanted to see / feel what 18 paper layers would look & feel like:

    Random Blocks - framed
    Random Blocks – framed

    That’s a black mask layer atop 16 cut layers of cheerful colored paper in rainbow order and a solid purple sheet at the bottom:

    Random Blocks - framed detail
    Random Blocks – framed detail

    The layer runs at 100 mm/s with 20% of a 60 W laser. The relatively low speed, combined with right-angle corners, produces very crisp results unlike the rounded-corner Subpixel holes.

    The holes form a 16×16 grid and cutting the first few layers with 250-ish holes takes a bit under three minutes apiece:

    Random Blocks - cutting red layer
    Random Blocks – cutting red layer

    The sheets sit in the Letter sheet fixture and get four round holes in the corners for the assembly fixture, plus a binary sheet ID helping me with the stacking order:

    Random Blocks - assembly process
    Random Blocks – assembly process

    The hole patterns come from Inkscape through LightBurn, in a grindingly intricate manual process crying out for automation. This is a feasibility study to see if the result is worthwhile and, yeah, it looks promising. More about all that later.

    If someone had asked Young Me what I’d be doing in half a century, dabbing colored paper with a glue stick would not have been one of my choices and not just because glue sticks hadn’t been invented back then.

    Another couple of years and I’ll be ready for the Activity Room at the Olde Folkes Home.

  • CNC-3018XL: Reversing the Axes

    CNC-3018XL: Reversing the Axes

    The CNC-3018XL fit into its new home with the Run/Hold buttons toward the front:

    3018CNC - new orientation
    3018CNC – new orientation

    Which is rotated 180° from its previous orientation, putting Quadrant I and the most-positive coordinates in the left-front corner. Rather than stand on my head while trying to use the jog keypad upside-down, I reversed the axis directions by changing the GRBL Direction port invert mask value from its previous 4:

    $3=7

    Because the home switch positions haven’t changed, reverse the Homing dir invert mask from 0:

    $23=3

    The XY origin remains in the center of the platform, so the G54 XY offset didn’t change. The Z offset puts the Pilot pen tip 10 mm above the platform, which will change as you (well, I) touch it off on the paper:

    G10 L2 P1 X-169.0 Y-149.5 Z-44.0

    Jog to the left rear corner (with Z at the home position) and set the G28 park position:

    G28.1

    Jog to the right front corner (also Z homed) where (manual) tool changes take place:

    G30.1

    Configure bCNC for manual tool changes without probing at the G30 position:

    bCNC probe config
    bCNC probe config

    The machine will move to the tool change position at each Tn M6, the operator (that would be me) inserts tool pen n as needed, pokes the Run button, and watches it draw pretty pictures in a resolutely techie manner:

    3018CNC - Spirograph test pattern
    3018CNC – Spirograph test pattern

    For completeness, the current GRBL settings:

    $$
    $0=10
    $1=100
    $2=0
    $3=7
    $4=0
    $5=0
    $6=0
    $10=1
    $11=0.010
    $12=0.020
    $13=0
    $20=1
    $21=0
    $22=1
    $23=3
    $24=100.000
    $25=2000.000
    $26=25
    $27=1.250
    $30=1000
    $31=0
    $32=0
    $100=401.284
    $101=400.000
    $102=400.000
    $110=3000.000
    $111=3000.000
    $112=3000.000
    $120=1000.000
    $121=1000.000
    $122=1000.000
    $130=338.000
    $131=299.000
    $132=44.000
    $#
    [G54:-169.000,-149.500,-34.450]
    [G55:0.000,0.000,0.000]
    [G56:0.000,0.000,0.000]
    [G57:0.000,0.000,0.000]
    [G58:0.000,0.000,0.000]
    [G59:0.000,0.000,0.000]
    [G28:-335.000,-3.310,-3.450]
    [G30:-1.000,-297.000,-1.000]
    [G92:0.000,0.000,0.000]
    [TLO:0.000]
    [PRB:0.000,0.000,0.000:0]
    

    The weird $100 X axis step/mm value is correct, because QC escapes are a thing.

  • Kenmore 158 Sewing Machine: COB LEDs Redux

    Kenmore 158 Sewing Machine: COB LEDs Redux

    Having harvested the COB LED lighting from the Kenmore 158 Mary gave to a friend, I took advantage of a sewing pause to install the hardware on the 158 she now uses:

    Kenmore 158 - needle light detail
    Kenmore 158 – needle light detail

    That’s the sandblasted presser foot atop the original glare-y metal plates.

    For the record, this is inside the machine’s power connector:

    Kenmore 158 - power connector wiring
    Kenmore 158 – power connector wiring

    Power for the original glowworm incandescent light comes from the two rightmost terminals: 120 VAC switched by the machine’s power button. Those terminals now go to a new, much more flexy, cable for the 12 VDC power supply, with a step-up supply for the needle LEDs.

    An overview of the wire routing:

    Kenmore 158 - COB LED wire routing
    Kenmore 158 – COB LED wire routing

    There’s now a 9-pin JST SM connector between the repurposed serial cable and the LEDs, mostly so I can add another light bar to the front in the unlikely event it becomes necessary.

    The rear light bar wire once again burrows into the machine above the presser foot lever:

    Kenmore 158 - COB LED bar wire routing
    Kenmore 158 – COB LED bar wire routing

    All the LED wiring fans out through the endcap:

    Kenmore 158 - COB LED needle heatsink
    Kenmore 158 – COB LED needle heatsink

    You can just barely see the edge of the strip of LEDs epoxied to the bottom of the machine nose, on the right of the needle.

    If I were inclined to rebuild the needle LEDs, I’d use flexy silicone wiring instead of the Teflon insulated coax. The black insulation wouldn’t be nearly as pretty, but it’d be *way* easier to cut to length and solder.

    The patient survived the operation and sewing should resume shortly …

  • Be Careful Where You Hide

    Be Careful Where You Hide

    We’ve seen several new rabbits munching greenery in the back yard, but this little one may be studying auto repair under our neighbor’s car:

    Rabbit - automotive hiding place
    Rabbit – automotive hiding place

    Unlike mice, even a small rabbit won’t take up residence in the air cleaner.

    The weird granulated look comes from a Pixel 6a camera zoomed all the way tight through two layers of 1960-era window glass at an acute angle. The bad camera you have is always better than the good camera you don’t.

  • CNC-3018XL: Foam Feet

    CNC-3018XL: Foam Feet

    The 3018XL plotter now lives on a different bench than it grew up on and the stepper motors resonate the plywood benchtop wonderfully well. After finding the machine weighs enough to flatten small foam blocks under the Official Feet, I cut out four 60×80 mm foot pad brackets:

    3018XL - foam foot pad bracket
    3018XL – foam foot pad bracket

    They’re attached to the 2040 frame extrusions with M4 screws into tee nuts; the third hole is there just in case it became necessary. I’m not sure whether MDF will bend under that offset load, but having all four brackets perfectly fit into two pieces of MDF left over from previous projects was a compelling justification.

    Some utility knife work produced the foam pads from a big sheet of polyethylene packing material:

    3018XL - foam foot pad - installed
    3018XL – foam foot pad – installed

    A piece of double-sided duct tape with amazingly gooey adhesive joins foam and bracket.

    If the resonance was annoying to my deflicted hearing, it must have been pretty bad. Now, even Mary thinks it sounds OK.

    Now, to discover whether the machine’s weight squashes those big foam blocks.

  • Snowflake Coaster: One Year Later

    Snowflake Coaster: One Year Later

    After more-or-less constant use under a cup in the bathroom, a Snowflake Coaster has reached the end of its life:

    Snowflake coaster - 1 yr use
    Snowflake coaster – 1 yr use

    The acrylic flake is fine, but the wood has mildewed:

    Snowflake coaster - 1 yr use - detail
    Snowflake coaster – 1 yr use – detail

    It’s second from the left in the bottom row:

    Snowflake Coaster - assortment
    Snowflake Coaster – assortment

    All except the pair in the left column had a coat or two of rattlecan clear, which suggests wood-ish coasters need something much more durable, along the lines of clearcoat epoxy. No surprise there!