The Dodge Ram ProMaster cargo van we rented to haul our bikes to Glens Falls (and bring some furniture back) sat on their 2500 truck chassis, thus weaponizing an obvious phishing email waiting for me on our return:
Subject: About the Dodge ram 2500
Kindly review full details of your order.
The From and To addresses were identical, which is always a tipoff, as was the fact neither were any of my addresses. The email had an attached PDF, of course, although the context suggested handling it with the same nonchalance I’d use with any lump of high-level radioactive waste.
That brief text tripped my junk filters, but, somewhat to my surprise, all the scanners at VirusTotal passed Order 372.PDF without complaint (since then, one scanner woke up, smelled the scam, and tagged the file as “PDF/Phishing.A.Gen”).
Converting the PDF to plain text with pdftotext produced an empty file, so the PDF payload isn’t a script.
Passing the PDF through strings revealed a URL for a (probably compromised) server unrelated to the (obviously bogus) email address, wrapped with layout verbiage suggesting a clickable link:
During our most recent trip, I stopped at a new-to-me gas station, managed to figure out the pump’s UI enough to swipe my card and fill the tank, then utterly failed at the Print Receipt? prompt:
A quick hike to the adjacent pump suggested pressing the illegible key above Enter, but the UI timed out before I got back and the promised “moment” never ended. The attendant generated a receipt showing I’d paid for the gas and told me to jiggle the pump nozzle, which didn’t improve the situation. We eventually agreed he’d handle it later and I drove away, never to return, hoping that the next customer didn’t get a free fill on my dimedollar C-note.
Surely I’d know what to do, were I a regular customer …
It arrived with a plastic bullet at the end of the lanyard:
Which I immediately replaced with brass, because Steampunk:
That made the plastic housing look weak, so, in a series of stepwise refinements, I conjured a much better case from the vasty digital deep:
All of the many, many critical dimensions lie inside the case, where they can’t be measured accurately, so each of those iterations could improve only one or two features. The absolutely wonderful thing about OpenSCAD is having it regenerate the whole model after loosening, say, the carabiner slot by two thread thicknesses; you can do that with a full-on relational CAD drawing, but CAD drawings always seems like a lot of unnecessary work if I must figure out the equations anyway.
The back sports my favorite Hilbert Curve infill with a nicely textured finish:
It’d surely look better in solid brass with Hilbert curve etching.
Black PETG doesn’t photograph well, but at least you can see the M2 brass inserts:
The first prototype showed the inserts needed far more traction than the usual reamed holes could provide, so I added internal epoxy grooves in each hole:
Recessing the screw heads into the top plate made them more decorative and smoother to the touch. Button-head screws would be even smoother, but IMO didn’t look quite as bold.
After seeing how well the grooves worked, I must conjure a module tabulating all the inserts on hand and automagically generating the grooves.
The yellow star holds up the roof of the reel recess in the build layout:
Slic3r produced the rest of the support material for the carabiner exit slot:
Those two support lumps on the right don’t actually support anything, but tweaking the support settings to disable them also killed the useful support on the left; come to find out Slic3r’s modifier meshes don’t let you disable support generation.
The top plate required support all the way around the inside of the bezel:
I carved the original plastic housing in half, roughly along its midline, and discarded the bottom section with the belt clip (it’s on the far left of the scrap pile). The top section, with PCB firmly affixed, holds the lanyard reel and anchors the retracting spring in a central slotted peg. No pictures of that, as it’s either a loose assembly of parts or a spring-loaded bomb and I am not taking it apart again.
The lanyard passes through an eyelet that pays it out to the rotating reel. I’d definitely do that differently, were I building it from scratch, because mounting the eyelet in exactly the proper position to prevent the lanyard from stacking up on the reel and jamming against the inside of the housing turned out to be absolutely critical and nearly impossible.
The top plate presses the original housing against the carabiner, with the cut-off section inside the carabiner’s circular embrace, which just barely worked: the PCB bezel is a millimeter smaller than the shoulder of the housing.
All in all, I think it came out really well for a 3D printed object made by a guy who usually builds brackets:
The glitch comes from a not-quite-seated cell, showing that a poor connection matters.
The package touts “up to 800 mA·h, 750 mA·h min”, with asterisks and superscripts leading to “Based on IEC 61951-2(7.3.2)“, access to which requires coughing up 281 bucks. So it goes.
A full charge made them happier:
The as-delivered 530 mA·h capacity represents 73% of the 725 mA·h after the first charge, so I suppose they’re more-or-less within the “Maintains up to 70% charge after 10 years of storage” claim. The 16-10 date code suggests they’re hot off the factory charger, so they must ship with somewhat less than a full charge.
Comparing the capacity in W·h makes more sense, because most devices (other than the Planet Bike blinky light these will go into, of course) use a boost converter to get a fixed voltage from the declining terminal voltage.
They arrived bearing just over 600 mW·h:
After charging, that went a bit over 850 mW·h :
Call it 71% of full capacity on arrival. Close enough.
The Planet Bike blinky will be somewhat dimmer with two NiMH cells delivering 2.3-ish V, compared with the initial 3-ish V from a pair of alkaline cells. I generally burn the alkalines down to 1.1 V apiece, so perhaps they’ll be Good Enough.
Now, if I were gutsy, I’d install a rechargeable lithium AAA cell, with a dummy pass-through adapter in the other cell socket, and run the blinky at 3.7 V. At least for a few moments, anyhow …
We rode the Feeder Canal trail during a recent bike vacation in exotic Glens Falls NY:
The numerous downed branches along the trail and countless twigs on the trail came from a brush-clearing operation:
As luck would have it, a twig snagged between my front tire and fender, snapping the clips holding the fender in place:
Should it not be obvious, each ferrule formerly had two parallel jaws (on the left) gripping the fender, with the tiny screw digging into the fender. I affixed the fender to the broken clips with copious amounts of duct tape and we continued the mission.
It should be obvious why those ferrules are not suitable for 3D printing.
However, with the recent rear fender clip serving as inspiration, this didn’t take long:
The front fender fits a 20 inch wheel and is somewhat wider and flatter than the rear fender (I think they bent the same plastic strip around a smaller mandrel), so I did a quick copy-and-paste hack job on the OpenSCAD source code, rather than trying to parameterize the daylights out of the previous model.
The posts around the wire stays are 6 diameters deep and reamed to fit; the stays won’t be flopping around even without fiddly mechanical hardware retaining them. The holes extend about halfway into those posts to mimic the dimensions of the original ferrules.
All of us can predict where the next break will occur, right? That’s OK: I want this to break, instead of wrecking the fender, so the only question is how much abuse those simple joints can withstand. The printing orientation wraps the perimeter threads from the posts around the clip, making it about a strong as it can be.
The ferrules should splay outward by a few degrees to match the angle from the fender to the fork eyelets, but that’s in the nature of fine tuning.
The arch accommodates a strip of double-sided foam tape holding the clip in place along the fender curve, with those cute little hooks capturing the fender to keep the tape in compression:
I really must get some black foam tape …
The picture shows the fender sitting well away from the tire, due to the upper fender mount bending in response to the splash flap snagging on curbs and random debris; the wire stays didn’t seat completely into the posts.
So I re-bent the upper fender mount (not the extender!) to its original angle, thereby moving the bottom of the fender much closer to the tire. Now the stays seat fully, the clip holds the fender firmly in place with no rattles, and it’s all good.
Although this ring looks much more professional, it didn’t quite fit the microscope, being designed for a round snout rather than a squarish one. This snout has a 47-ish mm threaded ring intended for filters & suchlike, so I built an adapter between that and the 60 mm ID of the LED ring:
The ring came with three long knurled screws which I replaced with much tidier M3 socket-head screws going into those holes:
The part going into the snout threads is deliberately (honest!) a bit small, so I could wrap it with soft tape for a good friction fit. The Barbie Ring didn’t weigh anything and I wound up using squares of double-sticky foam tape; it could come to that for this ring, too.
The adapter features a taper on the bottom for no particularly good reason, as the field-of-view tapers inward, not outward:
Seen from the bug’s POV, it’s a rather impressive spectacle:
The control box sports a power switch and a brightness knob. Come to find out the ring is actually too bright at full throttle; a nice problem to have.
An octet of Eneloop AAA cells arrived, I wanted to measure their as-delivered charge (the package says “Factory Charged With SOLAR ENERGY”, so you know it’s good), and discovered I’d given away my AAA cell holders. You can actually get inter-series adapters on eBay, but what’s the fun in that? Plus, I didn’t want to delay gratification for a month; you know how it is.
It’s basically an AA-size sleeve that fits over the AAA cell, with a lathe-turned brass post conducting juice from the + terminal of the inner cell outward:
Not much to look at when it’s assembled:
The AAA cell fits deliberately loose, because this goes into a metal clip holding everything firmly in place for the battery tester:
The source code tabulates the sizes of several cylindrical cells, exactly zero other pairs of which have been tested; I expect most won’t work correctly. In particular, the table entries should include the contact button OD and thickness for each cell, so that I can turn out the proper terminal for each pair of cells. If I ever need a different adapter, I’ll beat some cooperation out of that, too.
Discovered I needed an adapter after breakfast, started testing cells after lunch. Life is good!