Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Of late, the magnetic stirrer mixing my morning cocoa occasionally doesn’t start spinning when I turn it on, which calls for some investigation.
Removing the four obvious screws concealed under the rubber feet and prying off bottom cover reveals the trivial innards:
Magnetic stirrer – interior
The speed adjustment pot holds the little circuit board in place, with the green LED setting its jaunty angle.
The motor spins a pair of neodymium magnets:
Magnetic stirrer – magnet holder
I expected a gearbox instead of the direct drive setup.
Perhaps those whirling neodymium magnets have been slowly demagnetizing the motor’s internal (alnico?) magnets.
The motor brushes seem to be a pair of stiff wires, rather than carbon blocks, contacting the commutator, the wear from which may account for motor’s decreasing startup enthusiasm. Even though I didn’t expect a BLDC motor, this one may have been overly cheapnified.
Perhaps kickstarting the motor with the steel fork I use to fish the stirrer magnet out of the mug will get the thing going.
Having recently filed our income taxes, this email came as a mild surprise:
IRS Audit email
The From field seemed a bit sketchy, but, hey, maybe the IRS subcontracted their email vendor after having lost much of their staff in the name of efficiency.
A clothes rack Mary intended use with some work-in-progress quilts seemed entirely too wobbly for the purpose, so I tried tightening its screws. This did not go well, as some of the threaded inserts sunk into the vertical bars spun freely and, with a bit of persuasion, pulled straight out of their sockets:
The reddish fluid is Kroil penetrating oil I hoped would free the screws from the corrosion locking them into the inserts. After an overnight soak, they still required force majeure:
Clothes rack screws – threaded insert in vise
The two inserts on the left came from the top of the rack and the other two from the bottom:
Clothes rack screws – threaded insert corrosion
Similar inserts have a hex drive recess and, because these are for 1/4-20 screws, I expected an inch size hex key. Nope, they want a hard metric 6 mm:
Clothes rack screws – threaded insert reformed
I cleaned up the corroded inserts by the simple expedient of tapping them firmly onto the 6 mm wrench held in the vise:
The crud around the bottom fell out of previous contestants during their reformation.
I considered epoxying the inserts in place, but settled for tucking a thick paper shim into each hole:
Clothes rack screws – threaded insert shim
They’re entirely snug right now and, should they work loose, I’ll coat the hole with epoxy, roll up another shim, screw the insert in place, await curing, then declare victory and hope nobody must ever remove them.
The 1/4-20 screws in the top member sit deep in recesses that surely had decorative wood plugs when the rack left the factory. Alas, they’re long gone, which may have let water / moisture corrode the screws + inserts . I’m not much good for “decorative” items, so this must suffice:
Clothes Rack Screw Covers – solid model
A snippet of double-sided tape on one side of the hole keeps them in place:
Clothes rack screws – cover installed
They look better in person …
The trivial OpenSCAD source code:
// Clothes rack screw cover
// Ed Nisley - KE4ZNU
// 2026-03-13
include <BOSL2/std.scad>
/* [Hidden] */
NumSides = 4*3*3*4;
$fn=NumSides;
//----------
// Build it
// … with magic numbers from the rack
cyl(3.0,d=16.7,chamfer1=1.0,anchor=BOTTOM) position(TOP)
cyl(6.0,d=12.9,chamfer2=1.0,anchor=BOTTOM);
The 3D printed Clover Mini-Iron holder served well over the last decade (!), even after one of Mary’s buddies misplaced the iron during a quilting bee:
Clover MCI-900 Mini Iron holder – melted
She asked for a new holder that put the iron at a higher angle for easier gripping, which required only slight tinkering to boot the OpenSCAD code into the current decade:
Clover MCI-900 Mini Iron holder – higher angle
The letters stand one layer proud of the surface just to see what that looked like. I think it’s a nice touch.
The alert reader will note the cord end isn’t quite snugged into its recess. In normal use, the cord hangs over the edge of the sewing table and pulls the iron into place.
I embiggened the base to fit an aluminum plate from the stockpile, because that same cord tends to pull the holder around on the table. The plate puts enough weight on the silicone rubber feet to hold it firmly in place.
A layer of good double-stick tape strips bonds the aluminum plate to the PETG iron holder, after I once again discovered that craft adhesive sheets do not bond to PETG.
The hidden part of all three LED arrays in the dead garage light looked like this:
LED Garage Light – inadequate heatsink compound
Although the compound was still gooey, there wasn’t nearly enough of it. The few tendrils on the heatsink suggest the LED array had bowed upward, pulled away from the cast aluminum, and eliminated any direct conduction.
A bit of probing showed each LED array had 16 series groups of 4 parallel LEDS, with one group in each array failed open. That group was toward the end away from the inadequate heatsink compound: the LEDs died from heatstroke brought on by neglect.
The Drawer o’ LED Arrays disgorged a bag of surplus LEDs labeled “10 W 9-12 V 750 mA”:
LED Garage Light – epoxy replacement
It’s sitting on a generous blob of steel-filled JB Kwik epoxy that should do a great job of conducting heat. A bag of cheap constant-current supplies is on order.
Amazon has similar “10 W 9-12 V 350-450 mA” arrays.
Try as I might, I can’t get 10 W from those numbers, but I’ve never understood advertising math.
The OXO pepper mill replacing our worn-out pepper mill arrived filled with peppercorns and, during the ensuing nine months, we established its finest grind setting produced bigger pepper flakes than we prefer. I figured there had to be a way to get the ceramic stones just a little bit closer, even though it has no user-serviceable components inside.
So, we begin.
After rinsing out most of the pepper flakes (the remainder appearing in the pictures below) and determining the two obvious screws didn’t release the housing, the Jesus clip on the shaft extending through the peppercorn compartment came under consideration:
OXO Pepper Mill – E-clip on shaft
The washer beyond the clip bears on the black plastic spider. It turns out the thickness of that washer determines the distance between the grind stones at the minimum setting: making it thicker reduces the stone gap and produces a finer grind.
Knowing full well it would be impossible to get the clip back on the shaft in that position, I pried it off.
Spoiler: Don’t do that!
The grind adjustment lever turns the chunky black ring inside the gray housing:
OXO Pepper Mill – grind adjustment rings
Three protrusions on that ring step along notched ramps around the perimeter of the black spider in the clear housing on the right.
The shaft slides out to reveal the spring under the inner stone, with a second washer bearing against the bore of the gray plastic housing:
OXO Pepper Mill – upper shaft parts layout
As a result, the spring tries to push the shaft and inner stone out of the housing (toward the left). The protrusions on the grind adjustment control how far the shaft can move, with the washer + clip locking the shaft to the spider.
Gentle persuasion extracts the chunky black ring:
OXO Pepper Mill – grind adjust slider
The outer stone fits into a recess in the gray housing:
OXO Pepper Mill – outer stone
One might 3D print a washer fitting under that stone to close the gap between it and the inner stone, but the two screw holes interrupt the ledge enough to suggest the washer would be in two parts divided. If I didn’t have a mini-lathe, that’d be the best way to go.
But I have a mini-lathe, so I made a steel washer slightly thicker than the OEM washer under the clip:
OXO Pepper Mill – turning new washer
The OEM washer:
ID 6.7 mm
OD 10.2 mm
Thick 0.6 mm
Not knowing the right answer, I made a 1 mm washer, which is visibly thicker:
OXO Pepper Mill – 1mm vs OEM washer
Which let me reassemble the pepper mill in reverse order, only to establish reinstalling the Jesus clip deep down inside the housing is, in fact, impossible.
Taking everything apart again let me contemplate the inner stone on the shaft, leading to the discovery it could slide very slightly on the shaft. More pondering revealed a slight seam in what I had taken as a monolithic black cap:
OXO Pepper Mill – inner stone assembled
Applying gentle suasion between the stone and the cap with a plastic razor blade enlarged the seam into a gap. Much to my surprise, further prying popped the top off the cap:
OXO Pepper Mill – inner stone cap
Happy dance in full effect!
Removing the screw let everything slide off the top of the shaft:
OXO Pepper Mill – inner stone parts
Freeing that end of the shaft meant I could install the clip on the bench, add various parts while sliding the shaft through the housing, then tighten the screw to snug everything down.
As with most activities, it’s trivially easy when you know the trick.
Whereupon I discovered the new 1 mm washer jammed the two stones firmly together at the finest grind setting, so the correct washer will be somewhere between 0.6 and 1.0 mm thick:
Back to the lathe for a 0.8 mm thick washer
Dismantle pepper mill
Swap washers
Reassemble
Verify smooth turning at finest setting
Fill with peppercorns
Give it a twist
A shower of pepper flakes in a cup:
OXO Pepper Mill – finer grind
The mill undergoes a full qualification test tomorrow morning, but those flakes look much better.
Fun fact: the OXO pepper mill holds 2.0 oz of peppercorns, so we use 0.033 oz = 940 mg of pepper every day.
A three-wing garage light Came With The House in the basement, where it served to light up the foot of the stairs. One of the 48 LEDs in one of the three LED panels began flickering brightly and, over the course of a few days, that panel went dark. The next time I turned on the basement lights, all three panels were dark.
Removing the screw-in lamp base:
LED Garage Light – overview
A closer look inside:
LED Garage Light – detail
The middle of the PCB is darker than the perimeter, with the darkest area around the black inductor standing up near the green filter cap. A blackened lump on the solder side that may have once been an SMD resistor evidently served as a fuse.
All three panels are in wired parallel, so the failed panel reduced the load on the supply, thus increasing the voltage on the remaining two panels enough to kill them off, too.
Worth noting: the black wire goes to the positive side of the LED panel. You can just see the + mark near the two connectors on the left side.
I wired each panel to a lashed-up bridge rectifier with a widowmaker extension cord from a variable transformer controlling the voltage, but none of them responded to the 150 VDC peaks: they’ve suffered Real Death.
The electronics landed in the recycling box and the three heatsinks are now in the Big Box o’ Heatsinkery, where they will surely come in handy for something.
The surprisingly readable 09/21 date code on the case says it’s just over four years old. Similar garage lights now run around ten bucks each and I wouldn’t expect them to last more than a couple of years.