Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Tag: Improvements
Making the world a better place, one piece at a time
A bit of rummaging produced a desk lamp arm, minus whatever lamp it originally held, ready to hold the second photo lamp, after a bit of epoxy on one locking knob:
Lamp arm clamp screw rework
The flanged nut will seat on the wrecked part of the knob, with the epoxy holding it in place and somewhat reinforcing the perimeter. I’m not sure this will last forever, but it’ll be a start.
Printing a second cold shoe, though, worked perfectly, and everything fit:
Another attempt at replacing the Wyze camera firmware went much more smoothly, producing a pair of small cameras with better network manners:
Wyze Camera hacks – Cam 1 overhead workbench
That’s a VLC screen capture from the RTSP stream; obviously, I must up my clutter control game.
I formatted a 32 GB MicroSD card with a 512 MB partition, which may not be strictly necessary, copied the MicroSD CFW bootloader (as demo.bin, sheesh), and it installed without drama.
I resized the partition to 32 GB, installed the firmware (per the FAQ) into the root directory, tweaked the configuration files to match my situation, popped it in the camera, plugged the power cable, and It Just Worked™.
Herewith, a checklist of config directory files requiring tweakage:
wpa_supplicant – WiFi SSID and password
timezone.conf – America/New_York for us
osd.conf – can be tweaked through the Web interface
The router isn’t bright enough to route different port numbers on its Internet side to different LAN IP addresses with the same port address, so each camera must stream from a different port number. I don’t plan many world-available video streams, but a friend does enjoy watching the birds during feeder season.
With the RTSP stream up & running, I flashed the U-Boot bootloader (again, minus drama) and tweaked its uEnv.txt configuration file:
Change the memory layout to allow 1920×1080 video
ethaddr – set to match hardware MAC address
gateway – router IP
ipaddr – match the staticip.conf value
serverip – router IP (unclear what this does)
The cameras now produce no objectionable network activity, dramatically down from the Wyze firmware’s desperate attempts to contact various servers, every five minutes, around the clock. I have no way of tracking connections made with direct dotted-quad IP addresses, rather than through the pihole, but … this is a distinct improvement.
The cover for Mary’s favorite seam ripper cracked long ago, has been repaired several times, and now needs a replacement:
Seam Ripper cover – overview
The first pass (at the top) matched the interior and exterior shapes, but was entirely too rigid. Unlike the Clover seam ripper, the handle has too much taper for a thick-walled piece of plastic.
The flexy thinwall cover on the ripper comes from a model of the interior shape:
Seam Ripper Cover – handle model
It’s not conspicuously tapered, but OpenSCAD’s perspective view makes the taper hard to see. The wedge on top helps the slicer bridge the opening; it’s not perfect, just close enough to work.
A similar model of the outer surface is one thread width wider on all sides, so subtracting the handle model from the interior produces a single-thread shell with a wedge-shaped interior invisible in this Slic3r preview:
Seam Ripper Cover – exterior – Slic3r preview
The brim around the bottom improves platform griptivity. The rounded top (because pretty) precludes building it upside-down, but if you could tolerate a square-ish top, that’s the way to go.
Both models consist of hulls around eight strategically placed spheres, with the wedge on the top of the handle due to the intersection of the hull and a suitable cube. This view shows the situation without the hull:
Seam Ripper Cover – handle model – cube intersection
The spheres overlap, with the top set barely distinguishable, to produce the proper taper. I measured the handle and cover’s wall thicknesses, then guesstimated the cover’s interior dimensions from its outer size.
The handle’s spheres have a radius matching its curvature. The cover’s spheres have a radius exactly one thread width larger, so the difference produces the one-thread-wide shell.
Came out pretty nicely, if I do say so myself: the cover seats fully with an easy push-on fit and stays firmly in place. Best of all, should it get lost (despite the retina-burn orange PETG plastic), I can make another with nearly zero effort.
The Basement Laboratory remains winter-cool, so I taped a paper shield over the platform as insulation from the fan cooling the PETG:
Seam Ripper Cover – platform insulation
The shield goes on after the nozzle finishes the first layer. The masking tape adhesive turned into loathesome goo and required acetone to get it off the platform; fortunately, the borosilicate glass didn’t mind.
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
Somewhat to my surprise, Aneng AN8008/AN8009 multimeter PCBS sport what looks like a reasonably accurate current sense resistor on the 10 A input:
AN8009 10 A current shunt – top view
The legend says 0.01R and the conductor doesn’t look quite like pure copper:
AN8009 10 A current shunt – side view
The indentations look like clamp marks from the bending jig, rather than “calibration” notches made while squeezing the wire with diagonal cutters and watching the resistance on another meter.
One might quibble about the overall soldering quality, but one would also be splitting hairs. I doubt the meter leads could withstand 10 A for more than a few seconds, anyhow.
If you buy enough of something, you can buy pretty nearly anything you want, even cheap precision resistors!
Having recently acquired a pair of photo lights and desirous of eliminating some desktop clutter, I decided this ancient incandescent (!) magnifying desk lamp had outlived its usefulness:
Desk Lamp – original magnifiying head
The styrene plastic shell isn’t quite so yellowed in real life, but it’s close.
Stripping off the frippery reveals the tilt stem on the arm:
Desk Lamp – OEM mount arm
The photo lights have a tilt-pan mount intended for a camera’s cold (or hot) shoe, so I conjured an adapter from the vasty digital deep:
Photo Light Bracket for Desk Lamp Arm – solid model
Printing with a brim improved platform griptivity:
Photo Light Bracket for Desk Lamp Arm – Slic3r preview
Fortunately, the photo lights aren’t very heavy and shouldn’t apply too much stress to the layers across the joint between the stem and the cold shoe. Enlarging the stem perpendicular to the shoe probably didn’t make much difference, but it was easy enough.
Of course, you (well, I) always forget a detail in the first solid model, so I had to mill recesses around the screw hole to clear the centering bosses in the metal arm plates:
Photo Lamp – bracket recess milling
Which let it fit perfectly into the arm:
Desk Lamp – photo lamp mount installed
The grody threads on the upper surface around the end of the slot came from poor bridging across a hexagon, so the new version has a simple and tity flat end. The slot is mostly invisible with the tilt-pan adapter in place, anyway.
There being no need for a quick-disconnect fitting, a 1/4-20 button head screw locks the adapter in place:
Photo Lamp – screw detail
I stripped the line cord from inside the arm struts and zip-tied the photo lamp’s wall wart cable to the outside:
Photo Lamp – installed
And then It Just Works™:
Photo Lamp – test image
The lens and its retaining clips now live in the Big Box o’ Optical parts, where it may come in handy some day.
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 table must sit across the threshold of a walk-in / sit-down shower, with the shower curtain draped across the table to keep the water inside.
Starting with another patio side table, as before, I installed a quartet of 5 mm stainless screws to lock the top panels in place and convert the table into a rigid assembly:
Arm Supports – wide table – overview
Because the shower floor is slightly higher than the bathroom floor, I conjured a set of foot pads to raise the outside legs:
Patio Side Table Feet – OpenSCAD model
The sloping top surface on the pads compensates for the angle on the end of the table legs:
Arm Supports – leg end angle
I think the leg mold produces legs for several different tables, with the end angle being Close Enough™ for most purposes. Most likely, it’d wear flat in a matter of days on an actual patio.
Using good 3M outdoor-rated foam tape should eliminate the need for fiddly screw holes and more hardware:
Arm Supports – leg pads
The feet fit reasonably well:
Arm Supports – leg pad in place
They may need nonskid tape on those flat bottoms, but that’s in the nature of fine tuning.
And, as with the narrow table, it may need foam blocks to raise the top surface to arm level. Perhaps a pair of Yoga Blocks will come in handy for large adjustments.
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
For reasons not relevant here, I recently conjured a pair of tables to support an injured arm (ours are OK!) in the bathroom: one table fitting in the narrow space adjacent to a toilet and the other across the threshold of a walk-in / sit-down shower.
The raw material came from a plastic side table intended for outdoor use:
Arm Supports – OEM Patio table
That’s the Patriotic Blue version, which seemed the least offensive of the colors on offer at the local store.
The plastic pieces unsnap easily enough:
Arm Supports – top panel disassembly
The legs also come apart by pulling outward at the crossover points. You may need to clean the flashing from all the joints, as they’re only as finished as absolutely necessary.
A table about half the width seemed about right, so I sawed the two top plates off their struts, then angled the strut ends to match the new leg angle:
Arm Supports – trimming table struts
Because it’s now completely floppy, I drilled holes for 5 mm screws through the struts:
Arm Supports – cross-drilling struts
In the process, I discovered stainless steel nyloc nuts tend to gall on stainless steel screws:
Galled stainless steel cap screw and nyloc nut
I lost a pair of screws + nuts before I got a clue and began adding a drop of machine oil to each screw before tightening the nuts. Haven’t had that problem with the 3 mm SS screws, so there’s always something new to learn.
With all the screws in place, the half-table becomes a rigid contraption:
Arm Supports – narrow table – bottom view
The top looks like it’s suffering from severe barrel distortion, but it really started out looking that way:
Arm Supports – narrow table – overview
The slat sides are all curved, except the far edge that was once in the middle of the table and now fits against the wall.
It may be slightly too short, but we can stack foam slabs on the top, probably held in place with cable ties.
Memo to Self: lube all the stainless steel screws!