Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Category: Software
General-purpose computers doing something specific
(The camera in the lower right doesn’t yet record videos, so you must imagine what I saw.) I forgot capturing this screenshot:
Prusa MK4 – Bird Nest – platform camera
The nozzle was busily adding to the tangle, so I shut the printer off and trotted to the Basement Shop™ to find two more parts lying dead on the workbench:
Prusa MK4 – Bird Nest – B
This was entirely my fault, as I’d ignored PrusaSlicer’s warning about inadequate adhesion for the camera mount link standing in the corner:
Prusa MK4 – Camera Mount Links – slicer preview
That’s the PrusaSlicer preview after adding a wider brim and painting more support structures on all three parts. Given larger footprints, the next attempt completed without drama, which is the normal outcome.
Moral of the story: Tall skinny parts need more surface area on the platform than you think, even with excellent adhesion.
Although you’d want to set that up to run automagically when the RPi starts up, for now I just fire it off as needed through an SSH session, with the ampersand letting it run after that terminal session closes.
The RTSP port (5886) and stream (wrens) can be anything you like, which comes in handy when squirting streams through port-forwarded firewall pinholes using a router that cannot handle different external and internal port numbers.
Mary suggested converting wild bamboo up the hill into tunnel nests (per a xerces.org paper) for native bees buzzing around flowers in the yard, so:
Bee Tunnel Nest – downspout installation
I hung bundles of larger tubes in trees out back, in hopes of attracting huge carpenter bees.
3D printed mounts hold smaller bundles on the windows to let us keep an eye on the proceedings:
Bee Tunnel Nest Mount – installed
Which look better when not seen though two layers of glass in desperate need of Spring Cleaning:
Bee Tunnel Nest Mounts
The tabs provide a bit of pressure to hold the mounts in place, although I don’t know if they have enough springiness or will survive contact with the elements:
Bee Tunnel Nest Mount – tab section – solid model
The key advantage of not building bigger bee motels: these little bundles don’t need annual cleaning / maintenance and will eventually fall apart.
If the bees find them suitable, more power to ’em!
And I realized the cut-off ends fit in the rotary. Witticisms engraved on bamboo could become the New Hotness:
Laser engraved bamboo
Stipulated: I’m barely half-right about being a wit …
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
At last, I can make plausible-looking punched cards:
Test Card 3 – punched
Then chop most of them up to make a layered eagle:
Apollo Eagle – V3 – overview
Back in the beginning, the grand overview explained the card production process, but now I can pull all the blog posts into a more coherent story.
Start by making trays to hold the 1/3 Letter sized printed cards and the final cut cards. A coat of paint improves the result:
Card Storage Tray – front
Then make a fixture to position the 1/3 Letter printed cards in the laser and a simple cover for the honeycomb to direct the air flow:
Punched cards – laser fixture overview
The current versions of the Python program to convert a line of text into the SVG images required to print and punch the cards, plus the Bash scripts handling all the command line parameters, are now in a single GitHub Gist . I used the source code from the Apollo 11 CSM AGC for historic reasons.
The Bash scripts invoke the Python program twice to produce both the printed layout:
Punched Cards – test card – printed
And “punched” holes surrounded by the perimeter cut for the laser:
Because my printer produces slightly off-size printed images, the script uses Inkscape to convert the SVG into a PNG, then downscales the image by a few percent (a different percent on each axis). It composites the card logo onto the PNG and slams the result onto a Letter page in the proper place to hit the 1/3 Letter sheets.
The perspective makes the dispenser look chonkier than it really is.
A wrap of black silicone tape around the spool embiggens it for a snug fit inside the tape core. A casual inspection of other tapes suggest enlarging the spool by a few percent would help, but it’s Good Enough™ as-is.
The two end thumbscrews fasten the 4×1 Gridfinity baseplate to the dispenser; both from Gridfinity Refined:
Gridfinity Tape Dispenser – baseplate
If I had my wits about me, I’d have used a nicely contrasting color for the baseplate, but it is what it is.
Although they’re called “thumbscrews”, the slot is sized for a US quarter (or cart coin).
An OpenSCAD one-liner produces an SVG model of the baseplate:
projection(cut=true) import("Grid 4x1.stl");
Import SVG into LightBurn, delete the magnet pockets, and Fire The Laser on some EVA foam:
Gridfinity Tape Dispenser – foam base
A layer of 3M 300LSE tape holds the foam in place, because neither side sticks well to the goo on a craft adhesive sheet due to their low surface energy. I stuck an oversize rectangle to the foam with the thin adhesive side before cutting, which required a second pass at higher speed.
The thumbscrews also close off the holes in the dispenser bottom through which I poured 275 g = 10 oz of sand for better traction. Steel shot is reputed to be Even Better, although most of the BBs are in the long-arm weight.
The dispenser model includes a printed serrated blade which works as poorly as the author suggested. A length snapped from an ancient Strombecker 4-I (“four eye”) blade in the Box o’ Big X-Acto Blades fits perfectly, works wonderfully well, and is sufficiently inconspicuous to warrant the warning label. An X-Acto #26 Whittling Blade would probably snap down equally well.
As long as the voltage limit is over about 10 V, it will (likely) never matter, as the LED forward drop doesn’t vary much with temperature. Setting it to something sensible keeps it out of the way.
The middle trimpot apparently sets a voltage for a comparator to light an LED when the battery current drops below that level as it reaches full charge.
Although the regulator touts its high efficiency, it does run hot and a heatsink seemed in order:
LED Garage Light – heatsink
Stipulated: the fins run the wrong way and it’s sitting in the updraft from the main heatsink. It’s Good Enough™.
The switch on the top comes from the collection of flashlight tailcap switches and controls the 12 V input power. It’s buried up to its button in a generous dollop of JB Kwik epoxy, which seemed the least awful way to get that done.
The solid model looks about like you’d expect:
LED Lamp Driver case – switch housing – show solid model
The OpenSCAD code exports the (transparent) lid as an SVG so I can import it into LightBurn and laser-cut some thin acrylic. Two tape snippets hold the lid in place pending more power-on hours, after which I’ll apply a few dots of cyanoacrylate adhesive and call it done.
The case builds in two pieces that glue together to avoid absurd support structures:
LED Lamp Driver case – switch housing – build solid model
A 3D printed adapter goes between the desk lamp arm and the lamp heatsink bolt:
LED Lamp Driver case – arm adapter – solid model
The OpenSCAD source code files for the case and adapter arm as a GitHub Gist:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters