-
Almost not sideways. But not not sideways.
07/17/2026 at 04:07 • 0 commentsIf this note is still here, and you might consider making one of these things for youself, start here not here. Really. Click away while you can. We'll wait...
...
...
You're still here? Ok.
For context: the previous log serves as a checkpoint where anyone interested in making and using one of these things for real can stop reading because this and foreseeable updates are going off into deep weeds for a while before getting back to anything actually useful.
My tension at this point is that I've been accumulating a backlog of project evolution to log, but the evolution is a bit sideways and not yet to a point of "here! build this!" or "hey! look at this!" and I rilly rilly really don't want anyone who's thinking "hmm, I might actually do that" to think "hmm, it looks like I should wait for this immanent update". Really. If you're thinking about making and using one of these things for real: there is nothing about to drop that's going to make you wish you'd waited.
So what's this half-year (so far) of "sideways"?
tl;dr: another failure to change one thing at a time.
Dear Reader: I don't know that writing this out will benefit anyone other than me trying to keep my own story straight, and to shift a partial load of backstory out of anticipated Log entries that might possibly reflect more forward progress.
From the previous log: one fine day I discovered solid sliding contact between layers of the XY stack. It appeared to have been so for some time and through a few revisions without hindering normal operation. I could have just said "so it is" and let it be so. But trying to pass that off as a working mechanical design seemed like a slouch too far.
![]()
So here's a story that runs more-or-less linear through the part that could have been easy, then diverges.
The printed parts of this X+Y stack are all PLA -- the printable plastic that's stiffer than most (all?) alternatives that aren't exotic. When it's not too hot. And too hot isn't very hot. The X & Y steppers run hot enough to make compatibility with PLA a question from the start. That's why the motor+screw units live at the outboard edges of each layer and with open-ish ventilation around the motors. Empirical results so far indicate that the thicker middle part carries the Y motor without trouble, but the thinner top part softens enough to let the X motor droop.
The greater vulnerability of the top part/X motor is no surprise.
Working clearances reduce direct support for the motor to a long thin cantilever:
![]()
With the interior of the part body thinned out so much, support for the motor leans more on the stiffness of the perimeter. The motor+screw unit fits right along the front edge, which runs between the front corners which are supported by the left & right edges, which have greater section depth through their cantilever projections beyond the supporting rod ends:
![]()
The front face supports the front edge of the otherwise floppy font third of the top surface -- from which the motor hangs. It also has a big hole in it for airflow to cool the motor. Continuity of edges above & below the big hole help the face resisted bending, but the resulting parallelogram is weak in shear, which pops the 'stiffness of the perimeter' baloon. Reducing the vent area seems like the wrong answer to a heat problem.
![]()
So the X motor is held up by some long, thin, warm cantilevers. Clipping a couple of corners of the big hole might have helped. A little. Maybe.
...And that all turns into a sliding interface with the part below, as highlighted in the first image above. Which works. For inaesthetic reasons.
Hmm...
How about shifting the motor+screw to the other end of the front edge?
![]()
aside: I was already considering that shift as part of a deferred cable routing aspiration which I had "...convinced myself to stop thinking about ... But d[id]n't not consider it anymore." But the current round of failure to change one thing at a time has finally killed it off. By replacing it with a different cable routing aspiration which benefits from the same shift for a different reason. I think the original and simplest idea that might have been most quickly implemented to solve the motivating problem was that moving the motor to the corner would permit (i.e. reduce inhibition inhibiting) restoring the integrity of the perimeter by moving the big hole from the front face to the top surface directly above the ̶h̶e̶a̶t̶e̶r̶ motor.
I think that would have improved both mechanical support and also ventilation. Better ventilation would reduce heating and softening of the material. All good. Except for the risk that wrapping a relatively thin wall close around the motor might introduce enough new bad to bury the good. Based on nothing, I think it would probably have worked.
I think but don't know because I didn't actually get a part printed before the next idea.
...
Being closer to the corner, a brace under the motor (i.e. under the screw next to the motor) could tie into the extra-deep section of the left edge a little back from the corner. Then the dubiously thin & heated corner of the perimeter could go away and open up the corner completely around the motor.
![]()
The brace would tie into the left edge with a relatively short joggle. That still depends on the stiffness of the perpendicular segment, but it's a relatively short segment with at least a little more than minimum thickness in it. The part that needs to be stiff is still pretty close to the hot, but the hot is even more better ventilated.
![]()
I think there's fair odds it would have worked.
I think but don't know because I didn't actually get a part printed before the next idea.
...
Consider:
In the status quo, the wall at the motor end of the pocket that locates the motor+screw unit is thin. It was kept thin to maximize the free air volume around the motor.
![]()
(How much did a thinner vs. thicker wall really improve ventilation & cooling? I don't know. Categorically, there are lots of guesstimated details where I haven't done any A/B testing or otherwise tried to determine which details really matter, which don't matter, or which really matter and are wrong. STEM projects, anyone?)
For a first try at relocating the motor, I just shifted the same pocket and thin wall over toward the corner.
![]()
For all the same rationalization as tying the under-brace to the left edge, that end wall now looks like it could serve as a cantilever of deeper section. But it's thin. But now the reason it was thin (if it ever mattered) is ventilated away.
So it could be thicker. And internally detailed to print solid. That, plausibly coupled to the left edge, would make a much more stout cantilever. Maybe stout enough to do the job without any janky under-brace.
![]()
Being shifted left, that thickened part of deeper cantilever section also aligns with less clearance cutaway (where bearing clearance doesn't have to also clear the bearing tie). So reinforcement of the more substantial cantilever can more substantially extend back into the top surface and over to the left edge.
![]()
![]()
I think there's fair odds it would have worked.
I think but don't know because I didn't actually get a part printed before the next idea.
...
If I correctly recall how this went, the obstacle to just printing that was a need for some decisions about details of (not shown here) how to preserve the option of attaching a workholding slab on top of the stack. That kept me in the mode of thinking about what could get pushed around where and where could the thing that was there go and constraint solving generally...
...and that left edge looked so much like it wanted to be straight.
![]()
So...
So... why not push the motor a little more left?
Because that would break the "box" -- the (130 mm)² hard footprint of the XY stack.
So...?ᵃ There's already cable and cable ties out there.But the internal routing aspiration hasn't died yet.
So...?ᵇ What's the big deal about the small square?The minimal footprint aspiration hasn't died yet.
And that's all a bunch of stuff where my overwrought side quest for fancy packaging distracts from this relatively straightforward, repeatable, potentially useful project.
An aside above mentions internal motor cable routing. Like the limit switch wiring which is already internal. Early in the project, after a load of fussing with the internal limit switch wiring, I deferred fussing with motor cable wiring. A little further into the project, I convinced myself of a good reason to forget about internal motor cable routing. A little more further into the project I saw a way around said good reason to forget about it, which involved the same shift of the X motor that looks like a way out of the currently motivating heat sag problem. And yet still managed to stay out of that rabbit hole.
And the whole box shrink thing. That's really super not this project. I've burned a lot of stare/ponder/sketch time on that. For reasons that aren't part of this project. And yet had managed to avoid doing anything about it.
Until...
...while one teensy detail shy of just printing parts that seemed likely enough to solve the motivating not-really-a-problem...
...the background noise of staring/pondering/sketching bounced out of the familiar entropic well and tumbled into a constellation of ideas that threatened to disturb >two years of peace over in the fancy box project.
Here ends the linear narrative.
![stolen Stimpy art - click for source stolen Stimpy art - click for source]()
As much of the divergent part as I ever get around to writing about, and some results that aren't "sideways", will appear over in the fancy box project.
In scope of this project, the 3d printed XY table had developed to it's latest form...
![]()
...as a recognizable evolution of the first idea that looked like it might work:
![]()
Now, not so much:
![]()
That's a lot of change. Hopefully it's as good as "sideways" and not backwards. At least it hasn't sagged yet.
I'm not pushing to publish the new thing yet because the pictured example still required some handcrufting to make it work. (Those aren't the shims you're looking for.)
Map out of the Log backlog
At the moment, I expect the next thing will be a Log entry over in the fancy box project. That's moved considerably more "forward", in that context, than the "sideways" leap described here.
Then maybe back here to describe what happened to the XY table. Either for real with well-sorted parts to build from, or "prospectively" anticipating that I'll eventually get this version well-sorted for repeatable reproduction.
I still don't foresee this XY revision going anywhere so exciting that it will be worth waiting for if you want to build your own little mill now.
-
Warm PLA sag: accidentally not really a problem
06/29/2026 at 00:19 • 0 commentstl;dr: dr won't hurt
These three iterations of the evolving "top" part show the same sag around the X motor:
![]()
So that's been happening for a while. I've let it go on without much thought because it hasn't caused much trouble.
Part in context:
![]()
left = left; right = front; X axis = down-left to up-right That was a predictable weak spot, analyzed by the method of build-it-and-see-how-it-breaks. The part gets thin over the motor frame and adjacent bearing clearance which weakens cantilever support for the motor. The left and right sides provide better cantilever support for the front corners which support the front edge which would better support the front side of the motor frame if no big chunk of ventilation were cut out from it. Tying across the top and bottom of the vent opening resists bending along the front edge, but the resulting parallelogram does little to resist shear. Diagonal bracing across the vent opening might help, but obstructing airflow doesn't feel like the right solution to a heat problem.
So stuff sags after a while. This has two effects:
- The motor and motor end of the screw drop. I've assumed imprecise vertical separation between the layers of the XY stack from the very first try at the basic idea, so tolerance for a little droop of the motor+screw unit was already in there, and proves more tolerant than expected. This has been a non-problem.
- Deformation relaxes the zip tie around the motor end of the motor+screw unit. This has been mostly a non-problem because that mostly doesn't affect axial constraint. Once (maybe twice?) the tie got slack enough to let the corner radius of the motor frame drop to the level of the relatively shallow end of the pocket into which the motor fits (maybe that needs a picture...) which let backlash grow enough to matter when I wanted really small backlash. So when mostly-not-a-problem got to be enough of a problem to notice, the fix was to replace the tie holding up the motor.
Flipping the motor down to the top side of the more substantial "middle" part would be easy, but that would expose the screw to falling debris, which I've been able to avoid so far.
A while (um, half a year by now...) ago I noticed that the sagging front edge of the "top" part was in solid contact with the "middle" part. I guess that explains why all three examples above had sagged to the same extent.
![]()
That apparently is also a non-problem because, even though the parts are firmly in contact through about half of the slide travel, the rounded part of the middle part has no edge and the bottom edge of the top part is burnished smooth. Where "firmly in contact" means firmly pinch and hold a sheet of paper forced in between the two parts. The fact that it all works fine shows that this makes a sliding interface with very little friction. Maybe I could sell that as clever mechanical design if it wasn't so obviously not.
So... nothing. If you're thinking about building one of these for yourself, don't stop for this.
What's not in this log update includes sequelae of discovering unintended sliding contact.
-
OT: MRRF is dead, long live (not)MRRF!
06/27/2026 at 21:54 • 0 comments(because I haven't noticed this elsewhere in Hackadaydom yet)
Made it to another MRRF -- er -- a month ago by now. The last MRRF. with the good folk of MakerHive commissioned to fill its place with a new thing under a new name.
From the organizers' 14 June (2026) fb post after closing the show:
[...] Sonny and I are in awe every year at how many and how far come to attend this festival.
As we say goodbye this afternoon, we ask that everyone support the new festival next year. I know they will do their best to keep the spirit of MRRF alive, while building onto it with their own ideas and communities. Please make sure to follow The MakerHive as they take on the torch and continue the festival with a new name and their amazing members organizing the evolution of MRRF.
-Sonny (Os1r1s)
-John (Johnoly99)![MRRF/Sonny/John image MRRF/Sonny/John image]()
MRRF/Sonny/John image -
yet another little differential gearbox
11/29/2025 at 20:30 • 3 commentsOk, I've been teasing pix of parts of this for half a year...
![]()
...while holding out for more of an eye-candy presentation idea. Not least because I don't have a "here, watch this..." video that shows the little machine in its 3d printed form.[a] But no such idea has landed. So, until that happens, here's an eye-spinach look at the latest little differential gearbox.
What's this guy's deal with differentials anyhow?
Well, it's like this...
An early question for an earlier variation on this minimal CNC theme was 'why?'. What (in low budget hobby/"maker" context) could a little CNC do that a laser cutter or 3d printer couldn't? How about a small bevel gear? Laser cutters can make spur gears but not bevel gears. FDM printers can't make precise small features (with a sane nozzle). SLA printers can make small 3d objects -- out of fragile material (tho resins are getting better). So the first differentiating example was a small bevel gear cut from acrylic.
But one bevel gear doesn't count. You can't even tell if it's right, let alone convince anyone it's interesting, without another bevel gear.
![]()
(And lemme just say here that those gears mesh intoxicatingly well. The little wobble in the gif above is only an artifact of the hasty setup and running out of duster gas to keep trying to catch video of a really smooth spin. Smooth driving torque against resistance too. It's one thing to read about involute geometry, and quite another to feel a self-made pair of own-design gears defying their coarse appearance. An instance of encouragement to keep the project going.)
So, then, on the road to Shelbyville, as an example of something that more common tools wouldn't have made better more easily in a fraction of the time, that was sufficient. But not satisfying. Giving a pair of gears something interesting to do escalated to giving them more friends and a little differential to live in:
![]()
who needs adjectives when English has nouns like 'differential'? And that was a fairly satisfactory example. For a while. There was that little thing about it ending up not quite as compact as I'd first had in mind because I was having a hard time (i.e. not) keeping consistently small runout... But life could go on.
Until, eventually, I started to get a better handle on runout.
And then, eventually, which is what they called 'later' in those days, I got around to scratching the "not quite as compact as I'd first had in mind" itch...
![]()
... and made another, littler differential.
![]()
If you're wondering what "differential" is about: when Big Finger stops one of the swirly side parts, the middle part keeps spinning and the other side swirly part spins faster. So trucks can deliver food into cities. That's still a fine demo wodget. Which, among other widgets, is useful because all this is easier to show than tell. But t's awkward that the catchy video about that shows an obviously different variation on the "Minamil" theme. But I don't have the next eye-candy demo video yet. O the wearying weight of first world problems.
So, that's the first chapter or three of "what's this guy's deal with differentials anyhow?"
And then......a couple of things. Two independent events described here in arbitrary order because I don't remember which was first or second and it doesn't matter.
Thing 1
I thought of a use for a cheap little RC car. Online Retail offers heaps of cheap little RC cars and controls that look like what I was looking for, so that seemed like the easy part.
Until, on the cusp of ordering one, I figured out that all the cheap ones use bang-bang control (go, not go, go backward, turn left, not turn, turn right), which would not do, and the jump up to cheapest with proportional control was too much less cheap for the idea in mind.
Until, on the cusp of not ordering one, I stumbled on the D12 Mini -- inaugural product of CXD, a fresh (then) spinoff from an RC brand of some good repute. And also found a source of the real thing (among unequal copies) in simplified packaging for pretty near the same scale of cheap as the cheap stuff.
![]()
not original rear wheels -- we'll get to that I'm not here to fanboi, but this is actually quite a thing. It's not every cheap toy that a pack of YT "influencers" will hasten to introduce by naming the designer (Mr. Huang) like anyone watching would recognize and grant automatic credibility to the esteemed person and his new venture.
Thing 2
I watched this video by Scott Mansell about F1 (big money race car) gearboxes. However extreme, they are basically kaiju motorcycle gearboxes. So it was mainly interesting for extreme particulars of a basically familiar device. Except for the big final output gear at the back end.
![]()
If you already know what I didn't, please feel free to skip down the page.
Puzzle. I couldn't figure where the differential fit between that big midline spur gear and the wheels. Or why it wouldn't be integral. No similarity with anything driving a single wheel was going to help. And they weren't talking about it... and still not talking about it...
Until, eventually, they got to talking about this bit:
![]()
(the same clip flashed by in the vid intro, but I didn't have a hook to hang it on at that point)
Look at all that stuff inside the gear! Inside the thin skin of the entirely hollow body of the gear, that is.
I had no idea.
And they still weren't helping because they went straight to talking about the variably limiting limited slip widgetry inside the diff inside the gear body. Now that I know how the diff part works, I can see how it works in that cutaway assembly. But that view didn't help much to learn how the diff part works because it's arranged for us (video audience) to look through the removed part of the part I needed to see to see how the diff works.
Simplified, the differential part of all that looks like this:
![]()
Not any new idea -- the Wikimedia metadata for that image cites a 1937 source -- just new to me.
If Mr. Mansell's birth, nurture, and life have unfolded in a sea of examples (bio), maybe there was just no chance that it could have occurred to him to explain the easy part while looking through it to the tricky part.
Or maybe I'm the only one who didn't know about planetary differentials.[b]
In any case, the revelation made an impression.
Narrative gap
It appears that getting this done and published this year will require a gap in the narrative structure. So let's just say that a chunk of the story got lost [Mon Dec 1 20:50:46 2025] btrfs[7805]: segfault at 0 ip 0000565b44894e65 sp 0000a94d20ffd210 error 4 in btrfs[565b4482b000+71000] not a single broken arrow headline and the extradition papers conveniently missing, but el Alcalde "suggested" that the little truck should get a differential anyhow.
Under the truckThe D12 Mini is a 1:16 scale rendition of the more established D12, which is a 1:10 scale rendition of a particular iconic kei truck.
The underside of a D12 not-mini looks like...
![]()
vendor image ...with a motor and reduction gearbox up front(ish) turning a driveshaft turning the pinion, all longitudinal so far, in a ring-and-pinion rear axle. (mmmm... bevel gears...) As built, that's a solid axle with a plain ring gear. But if you want a differential instead of a solid axle, you can get that from the robust ecosystem of replacement and upgrade parts. Easy.
Under the Mini? Not so permissive.
![]()
vendor image There's a cosmetic nod to the shapes of driveline parts ahead of the rear axle while a unit integrating a transverse motor, reduction, and the solid driven axle does the work. (It's also sprung w/2dof.)
Space for a differential?
The diff housing "pumpkin" is pretty clearly not where motivation gets to the axle. So perhaps it's empty? If I could shrink the spider gear part of the usual differential arrangement even smaller... then maybe use a hollow jack shaft between the driven gear and a little spider gear cage in the "pumpkin", then send a concentric half-shaft back out to the gear-side wheel through the hollow jack shaft?
That idea did not survive a closer look at the power unit.
![]()
that's a little confusing: the pinion gear on the motor shaft is behind the gears on the intermediate shaft which is not the motor shaft; hidden motor pinion(8t) drives big side of intermediate gear(30t); little side of intermediate gear(12t) drives big gear(30t) fixed on the solid axle (9.375:1 reduction)
No
There's no room for anything to turn with the axle other than what's already there.
But
"Thing 2": that diff memorably inside a gear...
They're even already a thing for RC cars. But not for CXD's "Mini"s.
No
Absurd. That gear is a squeak less than 2mm thick, and the solid body of the gear inside the roots of the teeth is under 14mm diameter. The stack up that has to fit in 1.95mm includes a side of the hollowed out big gear (which also has to support and transmit drive torque to ends of planet axles), clearance, a sun gear, clearance, the near ends of far-side planets, overlap between planet sets; clearance beyond the far ends of near-side planets; the other sun gear, clearance, the other side of the big gear (which also bears planet axles).[c]
But
The idea didn't go away.
Maybe
I tried some things that would have to work to make this work. Like small gears.
I've been using acrylic for little gears. It's probably not the best stuff for the purpose, but it's what I had on hand when I wanted to make the first little gear and it's been working well enough since. Acrylic stock on hand was (being of normal thickness) much thicker than gears that would have to work to make a working diff, which would mean wasting most of it down to sufficient thinness before even starting to cut a gear. Admittedly, that was unappealing more due to impatience than scarcity of material.
Not long before, I had unexpectedly good experience with milling FR-2 board for tough small parts. And stock on hand is less excessively thick, so at least thinning it would go faster.
Some little gears -- 0.3 module:
And single sector of what would have to be happening inside a magic differential gear:
I could rationalize rationale for cutting the not-a-gear body from acrylic, but really it was for the see-thru spectacle.Stock axles are 3mm steel rod. I had 3mm brass tube on hand, and figured that's at least strong enough for testing the idea and much easier to work with. Freezing the brass and heating the sun gears in hot water seemed to help for press fits that worked well for testing like this -- surprisingly so considering how little contact area there is for the thin gears.
That trial "sector" worked all too well -- on the second try -- so it was no excuse to quit.
Out of order: the first acrylic test part was the pin-in-cup in the top middle of this display group arranged for MRRF.
![]()
That (the pin-in-cup part) was a test of both the gear/axle fit and also clearance around the points of the gear teeth. There has to be enough clearance around the pin for a free-running fit, and enough clearance around the outside so that there's still clearance when the free fit around the pin allows the gear to move around some. Lesson from the first little differential. However, you can see that "free fit" around the pins didn't mean a lot of slop in this case so drag around the perimeter wasn't a problem. Small round holes & pins are a good demonstration of small backlash.
The big thing on the left in that group was (if I recall correctly) the first test sector which worked well enough to encourage a very slightly altered second try. Printed labels to the right indicate gear "module", or linear tooth pitch divided by π. Conveniently, m * number of teeth gives the diameter of the "pitch circle" (mid-tooth), And the common tooth profile extends m outside the pitch circle, so m*(teeth + 2) gives the outer diameter, and the "big" planet gear spans 3mm tip-to-tip across opposite teeth.
The m=0.25mm gear was a single test part which suggests that smaller is also possible. It's smaller even with one more tooth: 2.75mm outer diameter. An 8 tooth gear would be just 2.5mm across.
Yes
Success with the test sector encouraged trying a complete diff.
In a prior millennium, Ken Thompson wrote about a trip to post-Soviet Russia to fly ex-cold-war fast jets. In an otherwise colorful narrative he wrote: "It was the most amazing part of the flight, but not very spectacular to write about" then briefly stated an event that was surely more amazing to experience than spectacular to read about. [d]
I think this little widget is really neat. In person it has proven to be an effective ambassador to communicate "the point". Expecting/hoping so, I hustled to get a couple done for MRRF -- one to hide in the opaque drive unit where it could prove its function, and one to examine up close for the 'wow' impression. It does that.
But while working on it, I didn't see (i.e. didn't perceive) much that looked like an interesting photo or video opportunity. After finishing, video of the truck in motion would be remarkably uninteresting. YouTube reviewers offer lots of clips of D12 Minis spinning, sliding & "drifting" (loosely interpreted -- apart from a couple of gyro-add mods). This one just drives around with zero drama. Yawn. I can't even provoke interest with a bold claim that it's the diff that makes the difference, not the wheels (tho I like thinking it's the diff). A competent RC driver maybe could demonstrate more precise placement at higher speeds which could possibly sweeten the viewing a bit (if I did the A/B work to assess that it's the diff not the wheels). The best I can do is just to not show it being so sloppy (when over-driven -- it's a scale model not a race buggy). Shrug.
I can type "planetary differential inside the body of a 1.95 mm thick 30t 0.5 module gear", but I don't expect that to make a memorable impression for many readers. Not even if I push it to "with four planet pairs" or "that's ten gears, yo". So I still don't have a current demo video, and, after punting to illustrated text, I fear the "good part" here will be not very spectacular. But anyhow...
Here's a "big" gear made after the trial sectors proved workable. This may be the best "pretty picture" to show the scale and quality of parts, but I've already posted it a few times.
![]()
This not-very-thrilling photo looks a lot like the "close look" pic up the page, except for brass and clear-ish instead of steel and black parts:
![]()
Oh, and the "tires". My subs came from the paper path of ... I think it was a fax machine. They're almost exactly the right size -- so just slightly stretched to get closer to really exactly the right size. You can see the 3d printed wheels in the first photo of the little truck up the page. They're kinda fun but this isn't about that. The stock wheels are pressed onto the axle ends and I didn't feel like messing with that.
Anyone doing epicyclic gear mesh math while reading this far might be comforted so see this set of gears:
In an effort to make the fruit of this labor not entirely invisible, I ordered a second motor/axle unit to carve up for a look inside. Here's a wider (less cropped) view of the in-context photo at the top of the page:![]()
A really close look might reveal this "big" gear body differs very slightly from the one in the "pretty picture" above. When the first one worked with an opposing pair of planet pairs, I declared success, because if the second pair (of the first pair of pairs) worked, then of course the rest would too. Later, while trying to add the other pair or planet pairs, I remembered a question that I'd deferred earlier (i.e. an assumption made and forgotten). That thing about mesh math. So that (first) one still has only two planet pairs. It works great. The benefit of more planets is for each to bear a smaller fraction of the load. Fewer planets (two or three pair, because one pair leaves unbalanced mass and forces) would be easier / faster to build, but I went for more as a hedge against frailty of tiny gear teeth and untested material. As it happened, or has happened so far, they're not frail. Until (relatively) recently I had the two-planet-pair diff in the truck where it's underpopulation was modestly hidden inside the opaque motor/axle unit. That means that it's the one that has suffered the most violent abuse (in operation). No problem. I don't know if it would ever wear out or break, but until it does the fully populated diff now installed in the peek-a-boo axle shell is really just a show piece for conspicuous complexity. Just don't tell anyone.
One moving pictureBuried way down here. This might be the most dramatic presentation, in lieu of the video that doesn't exist. Yay motion, but no scale so it can't really stand alone.
![]()
In that view: the near-side wheel, out of frame up & to the left, is directly connected to the visible near-side sun gear as both rotate ccw. The near sun gear visibly meshes with two of the planet gears, which in turn mesh with two more planets which are offset away from the near side so that they do not mesh with the near-side sun gear but instead mesh with the obscured far-side sun gear, which is further offset so that it does not mesh with the naer-side planets but is free to be driven cw by the far-side planets. The visible far-side wheel is directly connected to and shows the cw rotation of the far-side sun gear.
Grab the CAD
Curtainfall
Those gears were enclosed for good reason. Otherwise they'd be picking up, and getting wrapped up in, anything the little truck rolled over that wasn't hard clean flat floor.
So here's a snap-fit cover to keep this wonder out of sight:
![]()
Epilogue: LSD?(limited slip differential)
An occasional joke about one of the little demo differentials is that next I should make a limited slip diff. It's funny because of course not.
But... something I read about variations on this planetary diff theme...
But not a concern because this little truck doesn't make enough torque to spin a wheel so badly that I'd ever care.
But the motor is a standard size and other motor makers make different trade-offs to get different results out of the same volume...
Nah. Not gonna waste any cycles on any of that.
Today.
Endnotes:
[a] Only a short stab in that direction, which doesn't and wasn't meant to do the job.
[b] But, if you want to know more, "planetary differential" is an awkward search term because when people writing about planetary gearing write "differential" they're almost never talking about driven axles of motor vehicles. Planetary differentials are also be called "spur gear differential", but that's also awkward for search because they're almost never the subject of anything about spur gears, nor must they be made with spur gears (vs. helical). It appears that the concept just doesn't get much press at all.
[c] For completeness: there is room for more substance to support the "near" ends of "far-side" planet axles; there is also room for the gear to grow a little more thick toward the inboard side. I may or may not get around to saying more about that elsewhere in this log entry.
[d] Bell Labs seems the more authoritative site, but that copy has lost the beginning of the text. This alternate source is unknown (to me) but has the whole text.
-
Workholding
08/21/2025 at 17:29 • 0 commentsCNC milling/routing involves holding the thing that's getting cut.
![]()
(If you aim to build one of these for yourself, start here not here! This is extra complexity you almost certainly do not need! More exclamation marks: !!)
I've been using double-sided tape to hold work since the second iteration of the laser-cut precursor to this project. It's hard to beat for simplicity, and it works well enough often enough to make some stuff. But sometimes it reminds me to think about mechanical workholding again. After a few years of no good ideas, I think this might work.
![]()
spaces for nuts below and places to drill for screws above -- with an arbitrary 10 x 10 patch of nuts just to show what 100/207 looks like That's
- a bunch of square nut pockets sunk into the formerly flat top of the "top" part, and
- a new flat slab on top of that.
Slab
I don't know what to call the new slab on top of the top part (of "bottom", "middle", and "top" parts of the XY stack). If it were square-rigged, it would be the t'gallant part. Maybe it will be just "slab" for now.
Outwardly, the slab is just a flat slab with ½-dozen screws through it. Between the solid top & bottom surfaces there are void holes aligned with the nut pockets in the top surface of the top part. More to the point, "holes" means vertical cylinder walls around the holes to bear compression.
Because ... why?
Wherever you want to screw/clamp/hold work on top of the slab, drill through the nearest "drill here" mark on the bottom of the slab to open the top and bottom (i.e. bottom and top) of one of the internal voids and drop a nut in the corresponding pocket.
The selectively populated 8 mm square grid of "drill here" marks is easier to see in the CAD render below than in the photo above. (even tho the marks are bigger in the photo)
![]()
"legal" points of 8 mm × 8 mm grid I don't know whether or not this idea is actually novel, but I don't recall seeing it anywhere else. I also don't know whether or not it is actually useful, because I haven't actually used it to make anything other than pretty pictures for this page.
Here is a (i.e. the) a worked example:
![]()
drill through "legal" grid points nearest where you want to place screws ![]()
drop square nuts into corresponding square nut pockets ![]()
secure the slab on top of the top; now there are robust metal threads under the drilled holes ![]()
workholding widgets ![]()
workholding widgets holding work -- in a repeatable(ish) position ![]()
!!: different length screws shimmed to near-exact lengths to fully engage nut thread without bottoming in shallow pockets!
MaybeOf course it works. Because what could go wrong? ¯\_ (ツ)_/¯
vibration
Screws working loose from vibration is the first risk that comes to mind. The bet here is that clamped PLA is springy enough to prevent that. If not: Thin square nylock nuts would be great but I haven't found such a thing yet. Common hex nylocks would require deeper pockets (thicker top or fewer pockets) and holding a hex nut shape against torque with PLA is less easy than holding square nuts. McMaster-Carr lists "thin profile" hex nylocks, which seem quite pointless in smaller sizes: 3.9 mm thick vs 4 mm for m3. It appears that barleycorn nuts run thinner per thread diameter: 4-40 thread at 2.85 mm diameter is 95% of m3 diameter (90% section area) and "thin profile" 4-40 nylock nuts are only 2.8 mm thick or 70% of m3 (4 mm), so "thin" 4-40 nylock nuts could be accommodated within current dimensions with some very thin pocket floors. There are also anti-vibration screws: e.g. with a patch of nylon on the thread, or "tri-lobe" shape (tho use with steel nuts would be off-label). Or maybe just 3 mm o-rings under the screw heads.
widgetry
Those totally credible-looking "workholding widgets" were totally just whipped up to make the few ̶p̶r̶e̶t̶t̶y̶ helpfully illustrative pictures above. For brevity (hah!), I've deleted a bunch of words that were here about why I'm downplaying the photo model widgets. As said up near the top of this log, I think you almost certainly do not need to fuss with this. So if you are motivated to fuss with this, it's presumably because you have a use case that makes it seem probably worthwhile, so you'll likely have a pretty specific idea of what you need and should make that. If someone works up and shares some really useful general-purpose clampy widgets for this scale, then great!
distortion
I have no idea how screw torque/tension, either slab-to-top or widget-to-slab, will affect the shapes of things, except that it will be inconsistent if torqued by hand.
naïveté
My Dunning-Kruger coach tells me this is fine.
Portable
While nuts mostly live "in" the top part, and the pockets in the top provide location and torque, they take up against the bottom of the slab in use. The slab and workholding and held work become a unit can be lifted off the top of the XY stack. As hinted in photos above: a separate copy of the top part -- or top few mm of the top part -- makes it possible to prepare a setup on a slab separately then move the set up slab to the machine for work.
![]()
nuts start in the X+Y top for location and torque but become part of the slab+work unit in use
But reallyAs already said, I haven't actually used any of that workholding widgetry, including not using it to cut the brass widget used for a photo model.
Here's what I'm actually using:
![]()
decreasingly thick spoil board double-stick taped to un-drilled slab, upon which I double-stick tape stuff. Same old double-stick tape on a double-stuck spoil board. At least with this arrangement I can take the slab off the XY stack for immoderate application of force to liberate well-stuck parts. That helps sometimes because really rigid material doesn't peel, and peeling is how taped things come apart with moderate force.
... and now I'm thinking that I might add the six slab-attachment screw/nut points into the vanilla flat-top top part where they can be either ignored or used to attach a plain slab for the benefit described just above.
Stiff(ish)
For stiffness, this arrangement depends mostly on the slab. To minimize reliance on the stiffness of the top part of the XY stack, the six attachment screws are located near where sliding hardware attaches to the bottom of the top of the stack. I've assumed, then, that it's ok for the top part to give up some stiffness by omission of its internal structure and breaking up the top skin. (and maybe giving up the supporting arch in a future revision)
psych
The slab could be made stiff simply by making it thick and/or dialing up lots of perimeters and infill. Obsessively not doing that has burned a pile of time & brain strain over the course of this project. Early in the project, between identifying a weak spot in the X top and working out the "arch" brace, I put some effort into modeling internal structure to provoke the slicer into adding plastic where it would actually reinforce something instead of just burying weakness in perimeters, infill, and thickness. While internal structure got into my head largely as a side-effect of not thinking of the arch brace first, it's become something of a cognitive addiction. The pursuit added a pile of time & brain strain to iterating the vertical axis where, if I may quote myself:
"Are resulting parts actually stiffer to operating loads than parts printed with more perimeters up to similar total mass of plastic? Maybe. Is the difference worth the extra design effort? Almost certainly not. Having done it, I have to admit the result is more vanity art project than engineering."
Did I learn? Of course not. Another pile of time & brain strain went into modeling something that would provoke the slicer to add internal span-wise & compression reinforcements in the slab without burying either my CAD or slicer (i.e. make updates take too many minutes) or print hours. Consider that 30 layers of ~200 screw positions in a 255-cell grid multiply any feature by 6 or 8000. I was very pleased with myself for eventually cracking that. Until, in the course of writing it up for this page right here, I realized a vastly very much more simple way to make it, eh, not very much less stiff. Speed-run stages of grief; click, shift-click, delete.
simple
The slab has no internal structure. The simpler way is: grid infill with adjusted density.
et voilà:
![]()
grid fill adjusted to do the right thing When asked for grid infill at 28.8% density, my slicer gives me the infill shown above with:
- a continuous wall-to-wall[1] reinforcing grid between the voids, and
- the ½-offset grid through the void centers which also reinforces their single-perimeter walls.
![]()
adjusted grid fill doing the right thing The void-intersecting grid doubles half (two opposite quarters) of each void wall and also adds the four perpendiculars. The two-quarter wall doubling depends on sufficient infill anchor length, or "Length of the infill anchor", or whatever your slicer calls it. Orca's default is working for me for now. That might be sufficient to bear workholding compression -- tbd.
Again 28.8% is the magic number for me for now. Grid fill. You may have to tweak the fill fraction to get the same infill grid spacing from your slicer.
I don't know why the infill density that matches void spacing also aligns almost exactly with the void centers. That seems like a poor bet to rely on. If not so well matched for you, adding a small single-layer appendage to a corner of the part should work to shift the slicer's infill pattern. Some (most? all?) slicers allow adding a primitive shape like a slab/box or disk/cylinder.
If you can't or would rather not get so involved in slicing your part: "enough" perimeters, fill, and maybe a vertical stretch for thickness should get the job done. This may be an exception to the general principle of favoring perimeters over infill for strength.
Or maybe slab stiffness just doesn't very much affect actual milling results ¯\_ (ツ)_/¯ . I'm still not actually objectively assessing which design choices or tweaky details matter.
[1] Yes, that's a result I've preferred to avoid by not using grid/cubic fill. I'm pretty sure that's not a concern here.
Build
Repeating: If you aim to build one of these little CNC mills for yourself, start here not here! This is extra complexity you almost certainly do not need!
If you're building your own "Minamil", I think it's virtually certain that you should not bother with this until you've got the basic machine working well enough to make stuff, and made some stuff, and organically encountered a workholding problem that makes fiddling with this look easier than fussing with double-stick tape.
hardware
- nuts
- m3 square
- nuts in photo example measure ~5.4 mm sides and ~1.9 mm thick
- up to 5.5 mm sides and 2.5 mm thick should work
- 6 required to attach slab
- more for workholding
- m3 square
- screws
- m3
- 6 required to attach slab
- length 10-12 mm
- max head diameter 6 mm
- more & longer for workholding
- length needed above slab + ~10 mm
- zip/cable ties
- not less than 7
- probably more
print
See STLs 4 XY & slicing for slicing/printing parameters. Mainly the "General" parameters.
download minamil3dp-XY-workholding-STLs-v0.9.1.zip from Files section @@@upload
filenames: "minamil3dp-{part}-v0.9.1.stl
- XYtop-workholding
- like XYtop in slicing notes
- slice upside down
- while probably not necessary, splitting for internal reinforcement will make the slab mounting screw hole walls more robust to compression.
- XYslab-workholding
- grid infill at adjusted density
- preview in slicer and adjust as described above
- Start with 28.8% fill density (because works for me for now) and adjust from there
- may need to add thin (~1 layer) simple shape to a corner to shift grid if spacing is good but misaligned with void grid
- slice right side up
- grid infill at adjusted density
- if you're feeling lucky: the widgets
- Arachne ok
- flat sides down - check hole through clamp for which side up/down
- lots of perimeters for clamp
assemble
- check & clean up XYtop-workholding per "part checks & cleanup" details at top of XY stage assembly notes
- insert six nuts into top part for slab attachment screws
- four straight in through sides (three positions visible in photo at top of the page)
- two "up" into bottom of top part then slide sideways into place (before X slide assembly)
- crushable ribs are meant for interference/friction to hold nuts in place
- replacing the two interior nuts, if they fall out of place, requires dis/reassembly of X/top axis :-/
- the cheap nuts I bought vary in size and are rarely square, so I've selected nuts with longish long sides and pushed them in sideways for firm friction fit
- consider a drop of CA or such if you can't make the nuts hard to shake out of place (especially the interior two)
- test fit slab to top part & remove
- slab should align with and lay flat on top of top part
- secure with six m3 screws 10 mm or 12 mm long
- nuts should pull up hard to tops of their spaces
- after removing slab, nuts should not move or rattle when moderately shaking top part
- pushing down on attaching screws when not tight will push the nuts down from the tops of their spaces
- I try to not do that
- I don't know whether a lot of down/up shifting will make the nuts looser until they fall out, or wear a notch in the interfering ribs that will help lock them in place
- ¯\_ (ツ)_/¯
- replace top part of XY stack
- i.e. X axis
- see notes on "disassembly" and "reassembly" at bottom of XY stage assembly; also review X assembly notes generally, which refer to Y assembly notes
- X axis only
- aside: this version of the top part kills the mid-page note about maybe assembling Y after X and commits to Y-before-X assembly order
- transfer bearing from original to new X top part
- transfer rods and pre-set rod zip ties per assembly notes
- remove, replace, and pre-set the inboard end zip tie for the lower X rod (on top of the middle part, near the bearing)
- if you removed the lower X rod completely from the middle part: remove, replace, and pre-set the outboard end tie and the rod
- transfer motor
- if the motor cable is dressed to middle part: its possible to transfer without disconnecting but probably not easier than cutting it loose to disconnect, then reconnect and re-dress the cable later
- if I haven't edited out the ambiguity before you get there: yes it's easier to insert the two cable dressing ties before installing the motor
- assemble the X axis with new top part
- transfer spoil board or whatever is on top of the old top to the top of the slab
- attach slab
- tighten screws "firmly", with similar torque on each
- tightening the back-right (+X, +Y) screws may require some combination of
- short-ish tool
- move the work surface fully left (+X) and partially forward (+Y) to place the back-right screw a little behind the spindle and the mid-right screw a little in front of the spindle
- if there is a sharp tool in the spindle:
- beware the sharp tool in the spindle
- or cover it
Whinge
Yes, it took ~3½ months after MRRF to kick out this "quick" note about a tick-the-box feature that I'm trying to steer you away from replicating so I can get on with the good stuff. Remember this teaser?:
![]()
-
A better Z axis that's actually better
08/09/2025 at 09:58 • 3 commentsThe previously shared Z axis was very much a rough proof of concept. It worked well enough to not demand revision while I worked on other aspects of the project. Two prior attempts to fix its faults proved out some ideas but introduced other faults. This version seems like time to say "build this not that".
![]()
Beware vocabulary: I haven’t found a reliable escape from using “tool” to mean both “Dremel®-like rotary tool” and “endmill”. Context or bust.
What
Vertical axis for the CNC mill described in this project.
Why
Because I don’t already see tragedy in this attempt to fix faults of earlier attempts to fix faults of the previously published version. That version worked well enough to warrant sharing so you can make your own copy of a capable tool. But it was a placeholder waiting for a better replacement. An earlier log entry describes problems with the first version, and solutions that worked in earlier attempts to come up with the better replacement. This try keeps the solutions without stepping in any new poo that I’ve smelled so far. Of course lots could be different and I’m not saying any of it is “best” or “right” or "done" but I'm pretty happy with it for now.
How
Briefly:
- Build X+Y stage
- Choose a rotary tool
- Choose clamp configuration
- Print parts
- Collect other parts
- Assemble
Biuld X+Y
You don’t really have to, but I think building the X+Y stage first will help because there are more words and pictures about how to put that together. Familiarity with detailed information there should help to make sense of less detailed info here.
Choose a rotary tool
In keeping with the low cost/less stuff theme of this project, the Z axis is designed to hold a vanilla Dremel®-like rotary tool for a milling spindle. Clamping and releasing the tool is meant to be easy, so you can use the daily-driver you may already have and drop it into your little mill when you want to do a little milling.
What will work?
The tool clamp is designed around a tool body pattern set by Dremel (i.e. Emmerson) in a prior millenium. I don’t know of any simple name for the type except that they look like this:
![]()
current Dremel product image Many Dremel tools that look like that are called “MultiPro”, but the form was up to “type 5” before they were called “MultiPro” and not all “MultiPro” tools look like that. Current Dremel products have mostly moved on to different shapes, but Dremel still (mid-2025) sells their low-end 100 & 200 models in this style, but you probably don’t want one of those because they lack speed control, but several generic labels are selling 5-speed clones that look like they come out of the same molds as used by whoever makes Dremel’s 100 and 200 units these days. The basic pattern includes a straight cylindrical body segment between a taper down to a threaded nose below and a fatter section above that includes brush bosses and a vent or switch at a fairly uniform height.
The tool-carrying sled
- clamps around the cylindrical part,
- clamps a ring screwed on the tool’s nose, and
- allows clearance for the extra stuff above including access to the switch or vent at the level of the brushes.
Like this:
![]()
For tools with the switch between the brushes, clip out the lattice for access.
For a Dremel 300, clip out the thin bits around the spindle lock boss.
The left four models fit as intended. I’ve used the first three and @janvorli on the Discord server has verified that his Dremel 300 (the fourth) fits. For tools with the switch between the brushes, clip out the lattice for access. For a Dremel 300, clip out the thin bits around the spindle lock boss.
I haven't tried the questionable two on the right, but only looked at photos and marked features that differ from what the clamp was designed to hold.
The long nose of the “type 3” on the right will shift the tool body upward. That might work fine. It looks like the switch would be reachable over the top of the sled body. The clamp band is meant to wrap over a cylinder; cranking it down with the bottom edge unsupported … will probably work ok.
The gray soft-touch overmold on the “type 6” extends into the clamping area. That will either skew the top edge of the clamp band or shift the tool upward which will skew the bottom edge of the band, as already mentioned for the “type 3”, and also the nose clamp – assuming the nose ring is still captured at least partially under the clamp. Some combination of cutting away the gray overmold, splitting a few layers off the top of the clamp band, and/or stretching the vertical offset of the nose ring might improve the fit. “Type 4”, by the way, is the earliest direct fit; earlier “type”s of that body style (long nose like this “type 3”) maybe work fine if the clamp band handles the skew ok.
Match nose ring/clamp to tool
For the tools that fit, the cylindrical sections are almost but not quite the same diameter. The slight differences slightly shift the tool centerline. To keep the tool axis vertical (i.e. parallel with the Z motion axis), the STLs here include nose rings sized to hold the nose directly in line with the different sizes of tool body, and clamps to match the different rings.
![]()
Nose clamp parts include:
- unlabeled “generic” ring and clamp, which fit the WEN tools and, I suppose, other generic tools with similar body shells
- “300” parts match a Dremel 300 – at least @janvorli’s Dremel 300; that ring is marked “300”
- “MultiPro” parts match at least the one MultiPro-type tool that I’ve tried, and maybe/hopefully more; that ring as marked "MPro"
For convenience, the nose rings also set the axial position of each tool so that the cylindrical part of the body falls under the clamp band.
The fits are defined mainly by the tool body diameters: 47.6[1] mm for the generic, 48.6 mm for the 300, and 46.8 mm for the MultiPro. Measuring wouldn’t be a bad idea, and I’d appreciate feedback if you measure different diameters for similar tools. Also the "generic" ring is modeled with 19 mm x 2 mm thread while the other two are modeled with 12 tpi per Dremel brand dremels. Apparently the two are similar enough to be interchangeable in practice.
(Maybe I should model and label the nose parts by diameter instead. But that’s not so simple because there’s a two-dimensional space of diameter and vertical offset. Given a range of diameters, the vertical offset would be easier to trim, pad, eyeball, or edit.)
[1] this is slightly wrong -- to be slightly corrected another day
More than one?
Very fine work requires attention to set up a cutting tool in the rotary tool with sufficiently small runout. That slows down tool changes, e.g. to finish details after roughing. With some loss of “low cost/less stuff”, you can use another rotary tool and keep the careful low-runout setups undisturbed while changing tools by swapping spindles (and offsets).
If you anticipate switching between different rotary tools: are they the same or different kinds?
If you expect to swap between different kinds (i.e. different body and nose ring diameters), remember that for the next part about clamp screws/nuts.
Choose clamp screw configuration
Here is a decision point about parts you’ll need and how to put them together.
You should know what rotary tool(s) and nose ring/clamp parts you expect to use. Otherwise please read back a step.
- Most simple:
If you plan to mount up one tool once and leave it there (i.e. change rarely), then you don’t need any thumb nuts or specific assembly sequence. You can just drive the clamp screws directly into the printed sled and expect that they will hold if mostly left alone. The plastic threads will be vulnerable to wear if exercised frequently.
- Simple:
If you want to easily clamp and release a tool that you also use for other things, or switch between tools that have the same diameters of body and nose ring, then you’ll need two thumb nuts, and attention to sequence of assembly.
- Also simple:
If you may be switching between tools with different body and nose ring sizes, then you’ll need four thumb nuts, and attention to sequence of assembly.
Print parts
download minamil3dp-Z-STLs-v0.9.0.zip from Files section
filenames: "minamil3dp-{part}-v0.9.0.stl"
FDM/FFF/filmatent 3d printing assumed.
Some part details have assumptions about slicing & printing baked in. But I haven’t done much to assess which details or assumptions really matter. So if you just print stuff, you might get parts that work fine.
To align your prints with design intent, for whatever it’s worth, slice & print as follows:
- Mostly plain PLA
- it’s cheap, and
- specs I’ve found suggest vanilla PLA is more stiff than “stronger” materials short of fiber-filled exotica
- And a little (~2g) PETG or other temperature-tollerant material for a few hot parts.
- 0.4 mm nozzle
- 0.2 mm layer height
- 0.45 mm shell thickness
- Classic perimeter generator (i.e. not Arachne – except exceptions)
- fill gaps off (or filter out < 5mm)
- detect thin walls off
- 10% gyroid infill
- four solid layers top and bottom
- no supports (with one exception)
- see part notes for number of perimeter loops
Why any of that? Read about “what ever was he thinking?” here.
The base and sled have modeled internal structure. Like this:
![]()
Slicers that I’ve used (Prusa, Orca) see the union of part and reinforcement as a single simple solid by default. See notes below about getting the internal geometry sliced and printed.
These internal structures follow a project theme of trying to get strength from shape instead of many perimeters and dense fill. These internal structures aim to concentrate rather than distribute additional material for reinforcement. Are resulting parts actually stiffer to operating loads than parts printed with more perimeters up to similar total mass of plastic? Maybe. Is the difference worth the extra design effort? Almost certainly not. Having done it, I have to admit the result is more vanity art project than engineering.
Notes per part:
- Zsled
- slice flat end down / pointy end up
- two perimeters
- for reinforcement:
- split object into two parts (vs two objects)
- for internal part, set:
- 100% infill (fill type probably changes to rectilinear – thin fill optimizations ok)
- one perimeter (i.e. different number of perimeters than main part)
- Zbase
- slice flat
- one perimeter
- for reinforcement:
- split object into two parts (vs. two objects)
- for internal part set two perimeters (i.e. different number of perimeters than main part)
- Zclampband
- slice vertically with
- curved edge on plate
- flat sides of screw holes on top
- support bridges of upper band
- check that bands slice as continuous loops
- may require reducing “gap closing radius” to e.g. 0.02mm
- see pix:
![]()
- slice vertically with
- Zclamptoggle
- print two
- slice with largest flat side down (screw hole at angle)
- at least two perimeters
- Znosering-{tool}
- slice big end down
- three perimeters
- Arachne works well
- Znoseclamp-{tool}
- slice flat/loop side down (screw holes vertical)
- three perimeters
- Zpulley
- print in PETG or other temperature-tolerant material
- slice with larger flat end down
- Zinsert
- print two
- print in PETG or other temperature-tolerant material
- slice on end / screw hole vertical
Collect other parts
Non-printable parts:
- see also here for more about each item
- details there and here should harmonize, but I haven't carefully verified that
- 2 x rods: 6 mm x ~160 mm (157 mm ≤ length ≤ 164 mm)
- 4 x bearings (3 x would work and might work fine)
- 28BYJ-48 geared stepper motor
- 5V windings
- convert to bi-polar
- just one – mount on either side
- 4 x m3 x 20 mm screws
- head diameter may be constrained to ≤ 6 mm, depending on configuration
- 4 x m3 washers
- designed for 9 mm diameter
- this is a little complicated because it turns out my m3 washers are not ISO standard but “large” per DIN 9021
- ISO washers (7 mm) probably work fine
- If 7 mm doesn’t work (clamp toggle breaks around undersize washer), print new and try
- less clamping force
- m4 washer (9 mm)
- #6-32 washer (~9.5 mm)
- 2 x m3 x 8-12 mm screws
- semi-arbitrary length
- shorter may work fine
- longer will fit, up to 25 mm
- 0, 2, or 4 x m3 thumb nuts, depending on configuration chosen above
- max diameter < 12 mm (i.e. not wingnuts)
- through hole (i.e. not blind)
- string -- notes in "Hoist" part of "Step 4" in this 'ible. Or TMI.
- zip ties
- need 12
- but multiply for do-overs, dis/re-assembly, etc.
- OPTIONAL: limit switch
- nevermind screws because attached with zip tie
Build
Hopefully, between the X+Y build info and spending lots of words on preliminaries above, it will be ok for this part to be relatively sparse.
- Build the sled & tool clamp
- Bearings
- Eyeball the “V” faces of the bearing pockets for printing defects. If you press a bearing hard into a pocket while rolling it a bit, it should polish a shiny straight line on each side of the pocket. Low spots in a mostly flat pocket side are ok, but stop and look closer if the bearing is only touching a couple of high spots. These were printed in a different orientation than the X+Y parts, so you might see different kinds of defects.
- Check that zip ties fit in the four corners.
- Secure the bearings.
- You can check bearing alignment by sliding a rod through each bearing to see where it meets the other bearing on that side. It won’t be immovably rigid, but the relaxed center of its range of wiggle should land right exactly in line with the next bearing. If not, cut the bearing loose and scrutinize that corner of the sled. When both bearings on a side are solidly secured, a rod should slide smoothly through the pair.
- Clamp
- Slide the two clamp toggles through the ends of the clamp band.
- The clamp band should flex enough to slide in through the side of the sled.
- pic:
![]()
- Once the band “pops” into place, all three parts will be captive inside the sled body.
- Remember choosing how many thumb nuts to collect?
- 0 thumb nuts
- Run a screw, with washer, through each toggle into the sled body. Leave about 5 mm clearance each side.
- Attach your choice of nose clamp with two more screws and washers, leaving clearance for the nose ring.
- If convenient, this is a good time to put the nose ring on your rotary tool, fit it into the clamp and adjust the screws to moderate clamping pressure with equal gaps under the ends of the body and nose clamps. Adjust by slacking one side before tightening the other. Then back each screw out a turn to remove the tool for now.
- 2 thumb nuts
- Choose which side you want to make adjustable – probably by your favored hand.
- Drive a screw, with washer, through the other toggle into the sled body, leaving about 5 mm exposed thread.
- Drive the other screw through the sled, band, and toggle from the back of the sled. Make sure the screw actually goes through the hole in the band, so it doesn’t have to make a new hole for itself. With care to avoid stripping the plastic threads, tighten the screw head solidly against the back of the sled to jam it in place.
- Repeat for the nose clamp.
- Put washers and thumb nuts on the two exposed screws.
- For example: "fixed" on one side and adjustable on the other:
![]()
- If convenient, this is a good time to put the nose ring on your rotary tool, fit it into the clamp and adjust the “fixed” screws so that both clamps have equal gaps under their ends when you crank down the thumb nuts. Slack the thumb nuts before adjusting the “fixed” clamp ends to avoid turning the screws while they’re loaded. On the adjustable side, I’m not strong enough to crank the thumb nuts too tight. Slack the thumb nuts to remove the tool. You shouldn’t have to mess with the “fixed” side anymore.
- 4 thumb nuts
- Drive all four screws through the sled from the back, taking care to make sure the body clamp screws go through the holes in the band and toggles. With care to avoid stripping the plastic threads, tighten the screw heads solidly against the back of the sled to jam them in place.
- Put the “generic”/middle size clamp on the nose.
- Add four washers and thumb nuts to the screws.
- Adjust at will. It’s a little more fiddly to adjust both sides when changing between different size tools, but it should be pretty durable. In principle, you could swap nose clamps to match different size nose rings, but the middle-size clamp seems to fit all three rings well enough.
- 0 thumb nuts
- Bearings
- Prepare the base
- Check the three “V” saddles for the rod on the left side.
- On the right side check the short flats at the bottom of each saddle.
- Check that a straight rod lies evenly across the three saddles on each side when the base is firmly pressed to a flat surface.
- Check that the limit switch fits in place with the holes through the switch body fitting over the short locating studs.
- Check that a zip tie can clear through each location: three on each side and two for the limit switch & cable.
- Pick a side for the motor and hoist cord, and insert the two PETG motor screw inserts on that side. They should be a moderately tight press fit with their ends flush with the surrounding face of the base part.
- Feed the switch cable through the passage above the switch, zip tie the switch into place with secure but moderate tie tension to avoid crushing the switch. Secure the cable with a tie for strain relief. Pull enough tension on the tie to prevent the cable from sliding through the tie, but without cutting the insulation.
- Join the sled to the base
- Start with the middle tie on each side because those are the two that are difficult to replace without sacrificing all installed rod ties to split the slide and start over.
- Install the middle zip tie on each side, leaving the loop open enough for a rod to pass through.
- On each side: insert a rod through the lower bearing of the sled, through the loosely installed middle zip tie on that side, then through the upper bearing.
- Pull the zip tie (each side) hand tight and align the rod so that the bottom ends sit in the saddles (“V” and flat) with the rod end against the bottom end limit edge.
- Secure the two ties. While the rods are probably not impossible to move, they should be fairly difficult to slide up or down in place, and should lay evenly across the three saddles of each side when the base is pressed to a flat surface.
- When the middle ties are secure, secure the top and bottom ends of each rod.
- The right side rod should find its place on the short flats of the saddles. If the slide does not run smoothly, try nudging the right side rod either way. (The first print of this version of Z axis is apparently the first iteration of this project where the parts are stiff enough to make over-constraint a problem.)
- Prepare motor & hoist cord
- Pass the hoist cord through one of the holes in the pulley.
- See steps 14 & 15 here to secure the hoist cord to the motor shaft, then press the pulley onto the shaft. Check that the cord & knot fit inside the sharp edge of the motor case around the shaft.
- Turn the pulley shaft so that the cord exits the pulley on the back side (wire side of the motor) between top center and bottom center of rotation i.e. so that the cord will wrap 1/4 to 3/4 turn around the pulley from vertical in the installed position.
- Attach the motor with two screws (“short” to 25 mm long) into the PETG inserts. Since the holes in the motor tabs are larger than the M3 screws, the screw holes are offset from concentric with the motor mount tabs. Hold the motor down (with respect to the axis) and rotate the motor as if loaded on the pulley to set the mounting tabs firmly against the screws while tightening the screws to secure the motor.
- Tie off the hoist cord to the sled so that the sled can just touch the bottom end of travel with the pulley in the position set above.
-
MRRF 2025
07/25/2025 at 07:50 • 0 commentsLots of project log backlog to catch up on. Again. Starting with:
MRRF. Successfully after not getting there last year.
Taking this project to the Midwest RepRap Festival (MRRF) a couple of times (2022, 2023) has encouraged and enriched continuing development of the idea.
A great drone flythrough video gives a quick visual impression of the event.
MRRF is mostly about 3d printing. A very few CNC machines of ye olde subtractive nature turn up too, so they haven't kicked me out yet.
"But what is this 'RepRap'?" you might ask. Increasingly many people aware of "3d printing" won't know that personal/home/hobby/cheap/accessible 3d printing all happened under a banner called "RepRap" before it graduated to global industry. ERRF already isn't called that anymore.
Anyhow...
I didn't take any pictures (again), but Shenanigans3d stopped by while live streaming his tour of the show (1:05:32 if the link doesn't drop you in at that time).
Hustle to make some new demo widget before the show contributed to letting logs lapse here. That turned into yet another yet smaller differential gearbox -- this time with a bona fide application(!) -- which will get its own log entry here *cough*soon*cough*. Apart from Mr. Shenanigan's autofocusonsomethingelse close-up, all I've got to show for now are a couple of in-progress pix:
![]()
![]()
People, like Mr. Shenanigans, stopping to look and talk for more than a minute seems like feedback that this project is actually interesting. Just for fun, here's an interview with another guy, "Steve". His thing is interesting in its own right and he reps it well (at 26:38). Did you know about the "CLSP" scene? I for sure didn't until I went over to see what was that thing like-but-unlike a sewing machine that he had. Relevant for this paragraph: the guy in the blue T-shirt and beard beyond the interviewer's left shoulder is another more-than-a-minute visitor there looking and talking though most of the duration of Steve's interview. People even remember from prior shows. Maybe the highlight of the trip was a quiet parting handshake from an old machinist.
-
On making a "simple frame" simply
04/07/2025 at 05:59 • 0 commentsTo repeat a theme: this project focuses on the CNC mechanics, and the shortest path to building your own and making it work includes not following me down the fancy box rabbit hole. Yet. This is enough to get started:
![]()
Made from a few rough scraps, drywall screws, and eyeball "measurements" If you have access to a table saw, or some other way to make straight square cuts, you can make a slightly less haphazard version of the same thing:
![]()
Same thing but looks better if you have means to make straight square saw cuts While square parts look good, that's still only "slightly less haphazard" because the four frame parts are sized by eye with no measured dimension. Keeping it simple!
Placement of Z over X&Y
The frame's job is to hold the vertical axis over the horizontal axes. That's the relationship that matters. Here are some dimensions to help set up that relative relationship. The numbers are millimeters, but "looks like this" is close enough.
![]()
View from front; bottom edge of fixed base of Z axis about 10.5-11 cm above the deck; tool axis about 2 cm in from left edge of XY stack ![]()
View from above; vertical face for mounting the Z axis about 7cm back from the front edge of the XY stack
Left and right clearances
![]()
View from front; leave room on the right side of the XY stack for your vacuum cleaner "crevice tool"; the X axis extends 75 mm to the left, so leave 8 or 9 cm on that side
Just a little bit less simple
Closing off the lower back of the frame will go a long way to making cleanup easier.
A bit of cardboard and tape will do the job:
![]()
For just a little more effort when cutting parts, a couple more pieces cut to the same width as the vertical transverse piece will both close off the back and also make the frame significantly more stiff. And if you're going that far, a third piece across the top will add another increment of stiffness to the Z axis.
![]()
Chunky material like the 3/4" (18mm) slabs illustrated here will probably be plenty stiff enough on their own for a minimal four-piece frame. If your material is thin or otherwise uninspiring, the three extra pieces shown above can very significantly stiffen the frame. If using the narrow horizontal pieces behind the top and bottom edges of the vertical Z axis support, they should be attached along those spanwise edges as well as at their ends.
Paul McClay
































And single sector of what would have to be happening inside a magic differential gear:
I could rationalize rationale for cutting the not-a-gear body from acrylic, but really it was for the see-thru spectacle.


In an effort to make the fruit of this labor not entirely invisible, I ordered a second motor/axle unit to carve up for a look inside. Here's a wider (less cropped) view of the in-context photo at the top of the page:






























