Tuesday, April 30, 2024


Pretty Good 400μm tall RepRapMicron Logo, 20μm Feature Size.

This one came out well. I've made a test square in gcode that gradually spirals down 2μm a side, and I reset the Z height every time I run it until I touch the surface, then back it out to correspond with the height of the first side of the square that touches. This needs to be done to a precision of 1μm, and because it's a fairly consistent and binary scratch/no scratch I'm pretty sure I'm getting 1μm accuracy on the Z height. The lines are wavey because the relatively blunt tip on the hypodermic is hitting surface imperfections and pushing around them, as you can see at the roughly 4 o'clock position on the outline:

This might get better with a finer tip as there is less material on the probe for potential collisions and a sharper cutting edge. I'll try that next. As you can see from the image, the smallest feature - the thin bottom curve on the μ - is a 20μm gap. This is approximately the pixel size of a good home MSLA printer. The line width is somewhat less than 10μm which is the best I've ever managed with a hypodermic needle tip.


Second Crack At Logo

Getting closer. You can see the 'u' if you squint...

Getting the Z height right is the tricky part, there being no bed levelling. I'm not sure what increment to move the Z axis down at. Might set up a file that draws a square moving down 0.001mm per corner and keep doing those until I hit the surface.

Other developments: UV LED turned up, and it sets the resin I've got. Using the UV hole to illuminate the slide from underneath with white light helps too - I just put a piece of white paper under it and shine the side microscope LED onto the paper.


First Crack At Automated Drawing

So this is not the most graceful or successful attempt to draw a RepRap logo with a μ in the middle of it, but you can see where I'm headed. It was meant to be 400μm tall but looks a little less. The calibration squares are 50μm on a side. What I think is happening here is that I'm driving the point firmly into the substrate and actually bending the point around as the slide moves.

The cool part though is that this was controlled from the standard cncjs app, so I'm eliminating all my dodgy homebrew interface.

That's what I can do with a standard hypodermic needle. Now I have a little more confidence I'll give one of my fine points a go next.

Monday, April 29, 2024


Introducing "Titch"

Here's the first Block Stage prototype which might one day manage actual fabrication. As it has half a chance of working, I've given it a name: "Titch"

It is a reinforced OpenFlexure Block Stage with a larger flexure angle (to increase work area) and a probe platform. The probe holder is now canted at 45 degrees so I don't have to bend probe tips. Various holes have been made to make it possible to screw the thing together, and I've upgraded the NEMA17 motor adaptor plates. The whole thing is screwed down to a board together with two USB microscopes: One for gauging probe height, the other with a more expensive 5MP camera for viewing the XY motion. It can be moved around the bench without knocking everything out of alignment. The USB microscopes are still no match for the proper turret microscope but should resolve well-illuminated scratches down to 15-20μm - good enough for lining stuff up.

Having a basic XYZ configuration it can be driven with either GRBL or standard RepRap firmware like Marlin. As the angle of the delta struts is no longer an issue, the endstops have been temporarily ditched and I'll roughly centre it with a Mk I Calibrated Eyeball.

The stage is much smaller and so instead of microscope slides I am using 22mm x 22mm x 0.13mm microscope slide cover slips (7 cents each here). Attachment is currently with duct tape which is actually working out quite well.

Having less glass in them, the cover slips will let more UV through when it comes to curing resin. The OpenFlexure housing has been modified to have a hole through the stage, and a cavity at the back to stuff a UV light source into. The hole is offset, the theory being that the resin and dunking probe tip will go in the shade when the UV is turned on to cure the resin.

Titch is gloriously uncalibrated but I've given it a test flight with cncjs software and it seems to be moving everything consistently. I don't know the actual resolution but it was reliably drawing parallel lines about 30μm apart using a sturdy hypodermic tip. I'll let you know how it goes, and publish the STL files when I've ironed the kinks out.

Sunday, April 28, 2024


First pass at proper prototype

Well, that didn't work so good. the base part was overly long, lots of holes needed to be drilled to access construction screws, and the anti-backlash bands didn't fit. Darn. I've reworked it, and the reworked version with holes already in it and a bit more reinforcement etc. is now printing. Also, I blew a stepper controller. More updates when the next print is completed.


The μRepRap Is Dead. Long Live The μRepRap.

Time to announce the decommissioning of the original OpenFlexure delta stage so I can salvage parts to build the new block stage. If I don't announce it, I'll never get round to it, because I'm kinda fond of the thing and it did teach me a heck of a lot. But progress. So here's a photo of it and the optics I use just prior to the salvage operation.

Wednesday, April 24, 2024


Z axis variations

Now I can actually move around and scratch things with the probe I'm noticing an awful lot of variation in the Z axis. Whenever I move to a new bit of the slide, the height is out. I don't know if this is just the setup I have, or if it's a thing with the delta stage in general.

However, I've got a lot of data and micron-scale experience from the delta stage. Time to move on to the XYZ stage that has a smaller work area (4x4x2mm) but higher accuracy. Allegedly down to 250nm. That'll take a while to do, so I'll be playing with the delta for a bit longer while I sort it out. The good news is that the XYZ stage should work with standard 3D printer firmware and I can ditch a lot of the more painful delta work.

So there are a few things I still want to explore with the delta, mostly involving photopolymer resin tests. I have resin, and a 3W UV lamp is on order. I doubt I'll break any resolution records in the initial tests, but if I can make objects smaller than a millimetre that don't look like a jellyfish I'll be happy.

Tuesday, April 23, 2024


Head Crash At 50μm

Here's how it works so far. Getting the Z height dialled in is tricky, and I can no longer really see what I'm doing - I'm looking for a spot of light coming through the Sharpie layer on the slide. I have moved to a different marker pen which has a much finer grain to the ink.

So this image shows a trail of Z height adjustment leading up to a 50μm square with a line drawn in the middle of it (actually a 20/30μm split). Note that the Z height is moving within the thickness of a layer of Sharpie ink as I guide it in. Probe tip appears to be about 5μm.

Then disaster. I switch from 0.001mm steps to 0.1mm steps to guide the probe out of the way, go the wrong direction on Z, and plough into the slide. The huge gash resulting (top right) is about the thickness of a human hair. The image was taken on a turret microscope after I removed the slide. My best USB macro camera has a fraction of that magnification, and I'm working on a new mount to get it closer. I'm guiding the Z height initially by looking at a side view from another USB macro camera. I'll post a picture of the setup when I fire it up next.

Upside: I'm now showing a feature 20μm in size, which beats the resolution of a high-end resin printer if I can keep it up.


0.1mm Cross - Can I call it microns now?

Here is a cross made from 0.1mm squares, or 100 microns on a side. Etched into sharpie on a glass slide with a 0.3mm base conical nichrome tip. This is not my sharpest tip but at least the lines are relatively consistent in width on X and Y unlike the hypodermic needle tip. I'm now running into the limits of Sharpie as a substrate. I think I can call it micron scale now with some plausible justification.

Calibration slide shows 0.05mm or 50 micron squares.

Monday, April 22, 2024


0.2mm square vs. calibration slide

Nothing like proving your results. On the left we have my notional 0.2mm square (somewhat dusty by now) scratched into a sharpie-covered slide. On the right we have my new 0.01mm/div calibration slide. The small squares in the centre are 0.05mm a side each. So yes, I'm at about 0.2mm and can prove it. I'll freely admit I need to get my steps/mm dialled in a bit better but my efforts are pretty much within the error of line widths. With the big microscope though it's possible to see that even with the (relatively) chonky hypodermic needle tip the interior corners of the square are nice and sharp.

We can also see that the hypodermic tip is cutting a swath about 25 microns in one direction and 50 microns in a perpendicular direction, which one might expect as the things are obliquely sharpened.

The image of the square is at an angle basically because I mounted the slide in the μRepRap at an angle when I cut it. Bits of equipment just got in the way...

I've made headway into being able to set up the Z axis in software, so I might risk a slightly sharper, conical tip. I'll make one out of 0.3mm wire and try not to make it too pointy.

Sunday, April 21, 2024


Back again. Implementing CNC-like controls

EverythingOpen conference presentation done, back to project work. I'm implementing CNC-like controls to home the axes and set the zero positions for XY and Z to allow CNC-like control.

This is not a straightforward as it seems. I can't just tell the GRBL to home because the XYZ on the GRBL does not correspond to the XYZ of the stage. So to do a HOME I have to first position the stage XY to zero, then move stage Z to zero. This stops me dragging the probe over the stage, and I think that bit works.

Setting new zero positions for XY and Z before beginning "work" has a similar problem, so I have to design a relative zero for all axes and factor that in for all move commands. Haven't done that yet.

Finally, I'll want to read in a gcode file and move the stage around. Again, this requires translating stage positions into relative positions, then moving the towers with GRBL. I'll experiment with using jscut http://jscut.org to generate the gcode from SVG files. I'll probably have to implement some kind of scaling system for the gcode because I'm not sure how jscut will handle very tiny numbers (Inkscape certainly fails on this).

Monday, April 08, 2024


Heads Up - Off to EverythingOpen for a couple of weeks

Minimal updates for a week or two as I'm preparing for and heading to EverythingOpen in Gladstone, Australia to present on the Quirkey accessibility keyboard. This takes me away from the hardware which is a bit of an embuggerance in the development department. I'm deliberately not fixing a broken axis at the moment so I concentrate on the presentation, trip prep., instructions for house-sitter, last minute house maintenance etc.

There is some new software I'm working on though, to create test gcode patterns. I have that and new stage designs to work on while stuck in airports and hotels, so expect to be fully occupied.

Sunday, April 07, 2024


How far can the μRepRap concept be pushed?

Just posted this on the wiki, and posting here for comment:

"As with the original RepRap, it is hoped that once the first μRepRap is operational, it will be able to replicate. Unlike the original, the replicant will not be identical to its parent but will be a much smaller functional equivalent. Control of the replicant will be difficult, but not impractical. Options include perpendicular magnetic fields, inducing vibrations to operate ratchet mechanisms or tuned structures, or at its most basic cranking the mechanism with the tip of a probe until something better can be worked out.

It might also be possible to fabricate a μRepRap that is scaled down further. Assume that a RepRap has a precision of approximately 0.2mm on a 200x200mm work area, and a μRepRap has approximately 1 micron resolution on a 10x10mm work area. We see roughly two to three magnitudes in reduction in scale. If flexure systems also scale, then it might be possible to use a μRepRap to create a smaller printer with a resolution on the nanometre scale. Unlike current attempts to operate with nanometre precision with macro scale hardware, errors in the device due to thermal expansion and other material-related noise would be much reduced. It would at least be interesting to see how far this limit could be pushed."

Friday, April 05, 2024


The band broke up, and I'm thinking about the dark side.

I keep snapping the 'O'-rings on the OpenFlexure stage, probably because I'm pushing the range of movement more than the average microscope user. That's going to have to change, probably using anti-backlash nuts like the old Darwin printer's Z stage. There are a few other things I want to hack about: Proper motor mounts, extra platforms and attachment points, new flexures, better gearing, more access the the mechanism, cable guides etc. but it's going to have to wait until I've finished presenting at EverythingOpen. Once I've decompressed from that trip I'll be able to focus on μRepRap properly. I have some photosensitive resin ready for dip-pen tests too, but blowed if I can find my stash of UV LEDs anywhere.

I plan on having a darkened resin reservoir on the slide, and illuminating from below. This will avoid having to shield the probe or the resin reservoir during UV exposure cycles. Hopefully cheap soda lime glass slides will let enough UV through.

Thursday, April 04, 2024


Endstop switch feet for OpenFlexure Delta Stage

I should probably have mentioned this earlier, but in order to run the stage it helps a lot to have some way of levelling it. So I modified the OpenFlexure Delta Stage feet (STL files here) to accept microswitches, which can be wired up as the negative endstops for the GRBL CNC driver. This is never going to level the thing to the nearest micron, but it gives you a convenient way of getting to some kind of starting point. Once you have levelled it, you can just return the axes to zero before powering the stage off. I'll add a home button to the Control Panel later.

Wednesday, April 03, 2024


Modular code update

I've separated the GRBL/delta Control Panel code out into three modules to make it easier to maintain. They're not "proper" python modules yet, but it all works https://github.com/VikOlliver/RepRapMicron. Now it actually has a V0.01 version number!

[Updated update: Now modules are used properly]

Monday, April 01, 2024


Software on GitHub

I've tried to make the software I'm using to control the prototype available on Gitlab, but I don't seem to be able to set it to public. So, back to GitHub it is: https://github.com/VikOlliver/RepRapMicron


As a quick update, here's progress. We're down to a 0.2mm square etch now:


Output From First Prototype

Cut to the chase, first output proving the delta mechanism and code. A 0.5mm square drawn inside a 1mm square:

In the lower right corner you can see an M3 screw thread (and its shadow). This has a pitch of 0.5mm, so I used it for scale (which is undoubtedly not perfect yet, but close). I'm sure I can do a lot finer, but this is the first ever test and I'm using a relatively huge needle point that I can actually see with modest magnification. Sorry about the lighting, fix that in the next version.


The hardware is a modified OpenFlexure Delta Stage with the multipath lighting platform on it, which I have uploaded here. Attached to that stage is a probe arm, 3D models found here. The probe arm mechanism allows coarse manual positioning.


The feet of the modified stage contain microswitches (files found with the probe arm), which allows the GRBL firmware on the RAMPS board to roughly level and position the stage using the standard homing algorithm. I'll upload the configuration later, but it is using Robotini GRBL Servo code with the Configuration.h file modified to allow simultaneous homing of X, Y & Z axes.


The PC-side probe control software is ugly work, but I am working up the courage to post it. Have patience. Update: I put the code up.

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]