Monday, September 29, 2025
RepRapMicron Z Axis Constraint
Ok, V0.04 tagged in github, on to V0.05
I've made a simple complementary Z Flexure that straps onto the V0.05 Axis Driver. This is needed because the probe just dangles off the end of it, while the X & Y axes have additional constraints built-in. Without this flexure, the probe could shift back and forth. There should be a similar flexure on the other side.
I'll probably have to shorten it by 10mm to make it fit amongst all the other stuff dangling over the Stage (it's parametric, fortunately). The Axis Driver will need a few slight mods to make sure there are captive nuts in place to secure the Z Flexure. Also I'll need a new Probe assembly that bolts on to the end of the Axis Driver, and most likely a new method of supporting the Z Axis Driver because I doubt it'll fit the Z Tower very well. But I has optimisms.
Sunday, September 28, 2025
V0.04 And V0.05 Happily Coexisting
Much progress with the linear axis driver as I recover, now my guts are where they should be once more. The drivers' longer arms had to be re-shaped because they collided with the Nut Bar, the limit switch can now be repositioned, an overall shape is emerging for the Axis Driver base, and the pantograph flexures no longer hang up on each other.
You can see that the blue and yellow flexures are held in slightly different cases. Those are just what developed as I was adjusting the available travel up and down the Drive Screw. The latest improvement though is adding a Lower Nut Bar that provides a bearing surface right next to the Drive Screw Coupling (only fitted on the blue one, not that it's terribly visible). This reduces the tendency of the drive screw to wobble. It might seem obvious to do that, but I've been telling myself that it shouldn't be necessary. Well, after some introspection lying in a hospital bed I think I was being stupidly stubborn and I've put one in.
As result the new driver seems more consistent, even though it looks like it's made from a kid's construction toy - which it essentially is - and I'll create a proper case design for V0.05 now I know where the bits need to go. I've managed to keep the shape compatible with the V0.04 too. That way I can move to V0.05 and still give people who want to play with the new driver on old hardware the option. I've not adapted it for the Z axis yet, so that'll sill need a V0.04 Driver for a while.
So, testing with the new X & Y axes. The "FAB" logo was done at 25μm/pixel, the "Hello World" at 30μm. A major advance here is that the slide was not manually repositioned at all - the new Axis Driver has a significantly enlarged working area and stays sufficiently linear throughout it. To me there appears to be a lot less overall variation in dot spacing. The 'o's are the same size and silly things no longer happen to the 'W'.
I'm not happy enough with the Z axis though, which I tweaked from image to image. That's why the dots are different. Originally I just wanted to get on with deposition experiments, but that'll need multiple layers. I've reached the point where I want the Z axis to be repeatable like the X & Y axes are now, rather than merely sufficient for initial experimentations. I could waste a lot of time on layers if the Z isn't being consistent.
So priority list: Everything on github, new version, new Z driver, deposition experiments.
Wednesday, September 24, 2025
FPath: Borrowed Precision
The goal of the FPath Project is to follow the Feynman Path - in other words have machines make smaller machines which then make smaller machines.
Up to this point I have mostly concentrated on developing the optical closed loop feedback control software to support the project. With the conclusion of Experiment 008, I have begun to make a rather modest foray into things small.
Experiment 008 takes a look at some very inexpensive and commonly available stepper motor driven micro linear actuators to see if they might be suitable for the creation and manipulation of millimeter scale objects.
Turns out they are. There are, of course, some caveats. You definitely have to use closed loop feedback control with these things - they have so much slop and backlash that open loop control would simply fail.
Have a look at the Experiment 008 Video and you can see these el-cheapo linear actuators reliably tracking to an accuracy of better than 50 microns.
Labels: Closed Loop Feedback, FPath, Micro Stepper Linear Actuators, Nanotechnology
Monday, September 22, 2025
The End of Maus V0.04?
In the photo below you can see that the new Pantograph Driver is a wee bit too long to fit on the V0.04 XY Table framework, and there's a bit of a gap. I think it would be wise at this point to draw a line under V0.04 because it's going to start to get incompatible with V0.05 printed hardware pretty soon. Not entirely sure what V0.05 will look like yet, which is why it's a selection of Metriccano holes, but the general form is coming together.
As well as the length issue, that thin, green connection between the XY Table and the Y axis can't continue to be flexible, and once I make that rigid V0.04 Axis Drivers won't work so well. I'm also going to redesign the XY flexures so that the axis pairs are crosslinked to reduce rotation - no guarantees that things will still fit the old frame after that. On the plus side I'm going to be more enthusiastic with the captive nuts, so it won't be a pain in the armpit to assemble.
I'm not anticipating any changes in the required software or electronics. Indeed, using off-the-shelf controller systems is part of the ethos behind this project. Some tweaks to the GRBL config will be required for the increased range of motion though, and I suspect I'll be able to drive the X & Y axes somewhat faster in V0.05 so the max. speed config items will change too.
If anyone - and I know there are about 12 of you - out there would like me to do anything with V0.04 before I draw the line, now would be a good time to speak up :)
All that said, I'll keep compatibility with V0.04 hardware as long as I can, because I have other deposition experiments to do that I'd like to get on with before V0.05 is finalised. They really need the extended range of motion that V0.05 will bring to the table (ahah) though.
I'm going under the knife tomorrow, so I'll give you until I get out of hospital to make your peace with V0.04 - I'll properly tag it in github if/when everyone is happy. [Edit: surgery went well, but won't be doing much for a week]
Sunday, September 21, 2025
Comparing V0.04 and Pantograph Axis Drivers
As the probe tip is shot to heck, I have little compunction about dragging it over the slide. So before I replaced it I thought I'd do a little test. I simply drew an X=Y line from (-2000,-2000) to (1500,1500) μm. The X axis is driven with the Pantograph Driver, the Y with the V0.03/4 driver. The track makes for interesting viewing.
This shows that towards the extremes of the Y axis the drive is oscillating to the point where sometimes it is going backwards! However there is a small patch in the middle that is reasonably linear, and that's my actual work area.
The X axis is demonstrating reasonable linearity throughout. There's a bit of a curve, and I suspect that's our stage rotation issue rearing its head - and I'm confident of reducing that significantly in V0.05
My hypothesis here is that as the Y axis is driven by a pivoting arm, and that at the extremes of travel the horizontal distance between the Drive Screw and the arm's pivot is reduced. This then forces the drive screw out of alignment and the wobbling begins. The X axis does not suffer from this as it is linear rather than rotational and the horizontal distance between the central pivot linkages and the Drive Screw does not change (I hope).
To test this, and simultaneously end up with a machine that works better, I suspect the most productive thing to do would be to fit the Y axis with a Pantograph Driver. The problem here is that the Z axis suffers from exactly the same problem and I would be tempted to replace that as well, which would delay resin experiments.
So I shall restrain myself and only do the Y axis, try some resin stuff, and if that's unhappy replace the Z axis as well. This is all possible now due to the presence of a limit switch on the Pantograph Driver. This is much easier to fiddle with than the one on the V0.03/4 Driver and I'll probably incorporate it in the final design.
Hmm, that's a bit of a warts-and-all shot under the workbench. Anyway, please remember that I've only got a day before surgery (don't worry about it) and may not be able to do much for a week afterwards if things are not as straightforward as expected. Here's hoping all goes to the original plan.
Friday, September 19, 2025
How Small Can The Dip Pen Go If You Cheat?
Bit of a blast from the past here, but someone was using dip pen techniques on the nanoscale (kinda) back in 2012! Their hardware was significantly different, but the feature size they demonstrated is encouraging for the μRepRap approach - particularly when we get to second generation microscale hardware. The deposition method has a name already, which I suppose I'd better start using. Dip Pen Nanolithography (DPN).
Here's the paper by one Marcel A.C. Thomas at MIT:
https://dspace.mit.edu/bitstream/handle/1721.1/75683/820011104-MIT.pdf
Thomas was trying to achieve something else: aligning large molecules dissolved in the ink by dragging them out with the pen tip, rather than just depositing blobs of resin in shapes. Illustration from the paper:
The positioning resolution achieved by their hardware was in the order of 50-60μm, so not miles away from μRepRap. However their aim was to create arrays of patches of aligned molecules rather than structures, so that was probably all they needed.It does suggest though that as we start working on smaller scales we will have the opportunity to use the self-arranging abilities of some materials to "cheat" in the same way that RepRaps do by using commonly available fasteners and belt drives.
Pantograph Axis Driver - First Probe Movement Test
For what could charitably be described as a quick lash-up, the Parallelogram/Pantograph Axis Driver has held up quite well in its first ever test controlling a probe:
Obviously something funny going on with the "W" there. I haven't even got round to properly lubricating the drive screw and adding all the fasteners, which may account for some of it.
The probe was probably stabbing down a bit hard so the dots are slightly elongated, but compared to the previous post I think they're more regularly spaced on the X axis. There might be a slightly different aspect ratio simply because I have not calibrated the X motor for the new axis.
For those wanting to see it fitted, here you go:
Wednesday, September 17, 2025
Quick Test Of V0.04, Hello World, Sub-Optimal Alignment
Well I really bent the probe up while fiddling around, and I'm not happy with the X or Z axis Drive Screw alignment (they're still wobbling side-to-side), but this looks a lot like a "Hello World":
So, as the Parallelogram Axis Driver is so close, I might just put the lash-up onto the X axis and see if it's any worse rather than muck around with aligning the V0.04 drivers perfectly. Might make a new probe though, that one's toast.
Anti-backlash And A Coupling Change
The parallelogram driver now fits together nicely, and I've added an anti-backlash mechanism with the same kind of bearing used on the old Axis Driver. The overall length is now only 20mm longer than the old one, and it has about 25mm of travel on the Drive Screw. With a ratio of 2:1 that would equate to +/-6mm of movement, all of it notionally linear. If it works, that'll be a significant improvement on the +/-2mm of movement on the old one. Updated OpenSCAD file here: https://github.com/VikOlliver/RepRapMicron/blob/main/maus/maus_parallelogram_axis_driver.scad
As you may see in the photo above, and gleaned from the title, there is an anti-backlash system. There is also a drilled-out nut bearing in that red horizontal bar (which I am now naming the "Nut Bar"). Assembly is simplified too, with none of the test-fitting of the nut bearing as previously required and easier alignment adjustment. Movement appears smooth without binding at the extremes, but the motor has yet to have a plug fitted, so that's a bit speculative for now.
I also noticed a defect in the flexible coupling on the motor: For unknown reasons, the slicer was reducing one part of it to a single filament line and this was breaking. I've thickened it, and it's printing solidly again. No idea why that happened, but I've updated on github and printables. May explain a bit about previous coupling issues rebuilding the V0.04 machine.
Couple of things to fix: The mount puts the Drive Nut about 6mm too high on the Drive Screw, which will limit range-of-motion testing. Also it is very difficult to access the screws that hold the motor in place - that's also a problem with the old Axis Driver. Doesn't matter for assembly, does matter for repairs and prototyping.
Guess I'd better fit that plug, now that the lash-up is worth testing. Oh, and get some more 20mm M3 screws, because I really hate mixing posidrive and slot head.
Sunday, September 14, 2025
Alternative Driver Configurations
A couple of ways this parallelogram flexure can be used. Obviously, these are just lash-ups and the actual frames will be designed somewhat more competently with end bearings, anti-backlash, limit switches etc. They do at least demonstrate a much greater range of motion than the existing drivers.
The one above is more compact (50mm longer overall that the V0.03/4 driver), with shorter members. It'll drive the free end up and down. Nice, but somehow there is a motion stage that it needs to fit to somewhere. I like it though.
This one drives the free end horizontally, so is more likely to be out of the way of the final stage hardware. But it needs longer support structures, which will themselves flex, and is rather bulky to handle overall.
The exercise here is to get constrained linear motion and 2:1 linear reduction out of the driver, so that it can be driven by any old GRBL hardware. Either way I drive it, there is obviously one unconstrained direction. But the stages themselves are constrained, so I just have to make sure that movement in the unconstrained direction doesn't matter. Half of me wants to go "go linear and damn the reduction" but it'll be needed in later versions so I am persisting for now.
Notes to self: Mount points on the parallelogram centre need to be correctly spaced for 10mm centres. Driven end must not rub on support structure. Driven end for vertical driver needs to have a rest position above the drive screw, and the motor needs to be dropped by 10mm+.
Saturday, September 13, 2025
Pantograph Axis Driver - A Bit of A Stretch
While I was away I did that panotgraph axis driver with the cranked arms. When trying to practically mount it, I realised it's a bit long. Here's a photo of the new one and a V0.03 Axis Driver:
The problem is the length. If I have to drive one end, and support the other, I need a structural member 140mm long, and that's going to have unavoidable flex to it. Ideally I'd have the supporting member no longer than the 60mm of the V0.03/4 driver. If I just shorten it up by half, the joints will have to bend beyond the limits of what I can do with PLA. There are a few options, and I'll probably take them all:
1. Fix the middle, not the end. This will work, but I'll need to change the ratio as fixing the middle on this version would give a 1:1 ratio, i.e. no advantage whatsoever. When I change that ratio I need to make the left-hand half a bit longer, but there's some benefit to he had there.
2. The arms don't have to be at 45 degree angles. It's the length of the arm that determines how much the flexures have to bend by. So if I scoot things together and sort of pre-flex the arm, I still get the mechanical advantage but there's less stress on the flexures. My model assumes 45 degrees, which is a pain, but that's fixable.
3. Make the beams narrower. They're a bit overkill at the moment. Can probably take a bit of overall length off there too.
There's probably a completely different solution involving clever linkages and complementary flexures. I remember seeing something a while ago, but to be honest couldn't figure out how it worked and can no longer find the references. May have been a fever dream or optimism. I'll give it one more go, and if I can't figure it out I'll get on with the depositing stuff again.
Monday, September 08, 2025
Pantograph Axis Driver With Cranked Arms
Putting cranks into the arms of the Axis Driver has allowed me to put the anchor points and drive nut outside of the range of movement of the flexure. This means that I can put a drive screw vertically through the centre of one end of the mechanism without poking the screw into one of the arms.
I took the opportunity to fix a whole load of my broken maths assumptions, and the structure appears to be behaving when I try a variety of movement reduction ratios. It's also a bit more compact, and thus more stable.
As range of motion is now a bigger deal from a prototyping and fabrication perspective, I'm going for a 2:1 reduction ratio in this prototype. In theory that should still allow movement of less than a micron, which is plenty when the smallest feature I can make is around 10 microns. Not too dissimilar a ratio from what you get out of a conventional 3D printer.
Unfortunately I'm not near my printer for a few days, so this is going to have to remain theoretical for a bit. I'll upload to github when I get back and have tested it, unless anyone hassles me in the comments below :)
Monday, September 01, 2025
Another Open Micromanipulator Project
Followers of μRepRap might be interested in the MicroManipulator project here. This is using some bespoke hardware, but it is all Open Source. By driving ordinary stepper motors as servos and using an array of magnetic rotation sensors and handmade bearings, he's managing to get movement resolution down to 50 nanometres.
As yet no fabrication capability, but there's no reason a μRepRap probe and deposition system couldn't be strapped onto it. There's some interesting control software there that might be useful too.
Anyway, here's the video intro https://www.youtube.com/watch?v=MgQbPdiuUTw