Thursday, April 09, 2026

The Antikythera Mechanism 5: Back Gears

The back gears lie between the large b1 gear and the outputs on the back, consisting of the Metonic and Saros spirals and the Callippic, Olympiad and Exeligmos dials. There are two slightly different versions of the configuration, from the Freeth 2012 and 2021 papers. I used the more recent one, which differs from the other only in swapping the position of the gears on the n-axis. The back gears are better supported than the planet gears, as most of them are on axles running between the midplate and the backplate. However, as we will see, there are some issue with the stability to deal with.

The following diagram, S20 from Freeth 2021's supplement, shows the arrangement of the gears.


Some co-axial sets of gears such as f1 and f2 can often be combined into a single printed object. The f-axis is also an example of an axis with no output. The diagram shows its axle as not extending to the backplate. By extending it and adding a spacer, we can make it more stable. Similar considerations apply to the h and p axes. The m axis can't be extended in this way as there isn't enough space around n3. Some axes extend through the midplate, for example d and m. For these, the gears are printed as separate objects, connected by a hexagonal extrusion on one which engages with a hexagonal socket on the other. I experiments with setting the size of the extrusion the same as the socket and 0.1mm smaller. Very close tolerance like this are a bit of a guess with 3D printing. Different printers, slicers and filament may end up with the fit being a bit different. If they don't fit, they can be sanded down until they do, and if they are too loose, they can be glued. I have this value set as a variable in Fusion, so it can be changed across all the parts that use it. I also noticed that the fit varies from one orientation to another. When I initially printed the m1 and m2/3 gears, they fit was quite loose, but rotating them 30 or 60 degrees relative to each other gave an adequately tight fit. In the end all the gears with hex joins seemed to work fairly well, but for the m and d axes, I allowed for a M3 screw to help hold them together, if it should be needed.

The axes which come through the backplate to form the output have a hex socket on the end, which a pointer will plug into. Most of these axes consist of two parts: the gear with an extended hub meeting up with the midplate, and an axle plugging into the gear and extending through the backplate. The n-axis is a bit different due to an extra gear, and the i-axis has the axle going to the midplate rather than the backplate due to the tight space. In some cases, I added a ring round the axle of hub to keep it stable. Here is an example of the entire n-axis in cross section to illustrate:


In this version, the hub of gear where it passes through the midplate is printed. In a later revision, I replaced this with a dowel pin.

Both the midplate and the backplate are large, much bigger than will fit on my print bed. The design by FizzyChickens splits these into smaller pieces which are clipped together and glued. It's still a lot of material to print, and large flat pieces like this are prone to warping. I decided on a different design, where I made a skeleton with just the necessary fixing points and enough mechanical support to make them rigid. These still have to be printed in two large parts, plus a circular bracket on top and two smaller brackets. The result is quite robust and also takes a lot less print time. Here is what it looks like:


A few M3 screws hold it together. Alternatively, it could be glued, maybe using M3 screws temporarily to keep everything aligned until the glue takes effect. There are two small brackets, intended to go underneath the frame. I later got rid of these as I don't think they are needed and they take up valuable space. The external back panel will need to be made from a complete panel. Maybe laser cutting it would be best.

The e3 gear is too large to fit on the print bed. Initially, I intended to split it up the same way that I split the large gear in the Swingtime clock, by dividing it in half and gluing the parts together with metal pins to help the alignment. The e3 gear is attached to another large gear called e4, and this is small enough to print as a single piece. So I decided to split e3 in two and attach it to e4 with screws along the spokes, plus a few extra ones on a tab. I arranged the position of the split so that it does not divide the hub in two, which makes for smoother movement. The three pieces look like this:


In a later revision, I also added some horizontal pins to the halves of e3 for alignment and extra stability.

Did it work?

The prototype back gear assembly worked somewhat, but not very well, as you can see in this video:

The calendar and eclipse prediction gear trains work well individually. They are supposed to work together, connected via the e-axis gears, and driven from b2, which is attached to the back of b1. In the last segment of the video, you can see that the mechanism seizes up. This is caused by (I think) a combination of friction and the larger gears tilting. In particular the very large e3/e4 gear and the d2 and m1 gears tilt a lot. The friction can be reduced a bit by lightly sanding the gear teeth as well as the parts of the gears that run through the frame.

The gear tilting is the bigger problem. The historical Antikythera mechanism includes supports near the rim of these gear which help keep them level. Although this increases friction locally, the net effect is to keep everything in alignment. I decided to try this out in two ways. For e3/e4, I added small brackets to the frame which lightly hold the rim of the gear. For d2 and m1, I added a thin flange to the gears themselves. In the HAM, supports attached to the midplate are used for both. The results are a bit better:

It still has a way to go, but is getting closer.

More changes

I made most of the gears 3mm thick in this version with just a few either 4mm or 5mm. I think it's better to make more of them at least 4mm. For the gears with a hub through the midplate, but which do not have a gear on each side (for example the n-axis), I had made the hub 10mm in diameter. There isn't really a need to do this, and for the next iteration, I replaced the hub altogether with a 3mm dowel for most of these. The e3/e4 brackets in the video hold the gear on both sides, when one side will do.

I broke the b3 gear tube during testing. It will eventually be much longer and go all the way through the planet mechanism. I'm not even sure this can be printed reliably and so I will probably replace it with a brass or steel rod. Similarly, I might replace some of the printed tubes in the planet mechanism with brass tubing. I've not decided about this yet.



Saturday, March 28, 2026

The Antikythera Mechanism 4: Superior Planets Prototype

The prototype for the superior planets (Saturn, Jupiter, Mars and the true sun) uses similar design principles to the inferior planets. It's hard to video it in operation as there are parts that won't stay in place until it is combined with the front plate and the inferior planets. You can see the pin for the Mars gear slipping out its slot. I'll use a longer one in the final version.

The video shows first the Saturn and Jupiter trains and then the Mars and true sun ones. In the assembled version they will be linked by the sp1 gear. The superior planet plate is truncated so it will fit on the print bed. For the final version, I'll need to either find a larger printer or split it into parts.

There is only one new design element here: the use of an axle to hold the pair of eccentric gears used for the epicyclic motion, for example like this in the Jupiter gear train with the axle highlighted:


The two circular hole are for screws to hold the axle to the superior plate, and the remaining hole is for a dowel pin on which the eccentric gear will run.

I used black non-silk PLA for some parts of the prototype. Getting the dowels pin in is much harder with this filament, probably due to slight differences in how much the filament expands or squishes when printing and because it is less slippery than silk PLA. I filed out the holes in some cases to make pins fit more easily.

Next, to the back gears, a larger and more complex part of the mechanism.

Tuesday, March 24, 2026

The Antikythera Mechanism 3: Inferior Planets Prototype

The inferior planets mechanism is a part of the Antikythera mechanism which models the motion of Mercury and Venus as seen from Earth, as well as the mean position of the sun and part of the information about the phase of the moon. This part of the mechanism was not found amongst the recovered fragments and so has to be hypothesised from the required motion and some hints provided by fixings on the parts that were recovered. There are several versions, with the most recent one in Freeth's 2021 paper. The previous version was also proposed by Freeth, in a 2012 paper.

I decided the make the inferior planets mechanism as a prototype for the design. I cut some corners, in particular only printing part of the large b1 gear and printing short versions of the tubes which will ultimately carry the output pointers. Here is a very shaky video:

It moves fairly smoothly, so the dimensions and tolerances are about right. Some things I want to change or experiment with:
  • the two dark coloured gears in the middle are wrong. After printing them and the b1 fragment, I noticed that they should have a tube which runs through b1 and is fixed to a (not yet implemented) back plane. See Freeth 2021 supplement section 6.2.6 for details.
  • the idler gears attached to the "strap" (upper plate) wobble too much.
  • co-axial gears such as the purple and grey mercury gears (called mer1 and mer2, following Andronis) can be joined in a simpler way.
  • some of gears can probably be made thinner. My version is scaled from the original by roughly a factor of 2 in the XY plane, but I needed to almost triple the Z direction size. Freeth reports the strap and b1 as an estimated 16.2mm apart while my version has them 41mm apart. I'd like the reduce this.
  • there are a few places where the mechanism is sticky. I need to see if this is due to printing or a design issue. I have done very little to clean up the parts and reduce their friction, so it's more likely the former. A couple of places where there really was interference have already been corrected.

Reducing wobble

As you can see in the video, some of the gears wobble a lot. They skew away from the vertical, sometime causing the mechanism to bind. This happens when either the arbor passes loosely through a thin component - in this model either the gear itself or the strap. In addition, you also need something to stop the arbor just dropping out of the loose hole. In the video you may be able to see some shaft collars on top of the strap to do this. You can improve this a bit by making sure the hole is just large enough for the arbor to run smoothly and not more. Thickening the part or adding a hub/bush also helps when the spacing allows it. The idea is really to have the arbor anchored securely at each end. The geometry does not always allow this. Some earlier versions (like Freeth 2012) has arbors with a bracket to hold them steady, but Freeth 2021 largely does away with this.

I tried a redesign with a larger diameter arbor, 5mm instead of 3mm, and found it didn't make a lot of difference. Another thought I had was the have the arbor contain a bearing like a miniature ball bearing. It might help if the arbor is tight in the bearing, and the bearing is tight in its mount (for example the strap), though you might still need a shaft collar.

One other experiment I did was to use print-in-place bearings, for example in the middle item here:

In this case, the arbor sits tightly in circular bearing in the middle, which then rotates freely in the plate. There is about 0.2mm or 0.3mm spacing between them. The bearing widens up inside like this:
With a good enough printer, this prints quite well and you can move the bearing easily once you have broken it free by turning it a few times. It still does not work very well for preventing wobble, so I won't push this any further.

Gear wobble or tilt is an issue which came several times in the prototype of other sections, and I will come back to it with further solution later on.

Second prototype

For the second prototype I changed the gear heights to be 3mm apart from a few which are deeper for clearance purposes. All arbors are now rigidly fixed in either b1 or the strap and the gears run loosely on them. As a consequence, the arbors now also need a shaft collar or some other way of stopping the gears from falling off the shafts. I wasn't very happy about this at first as it costs vertical space. However, I found a nice solution, which is to hollow out the gear hubs and embed the shaft collar into the gear. You can see this on the video at the 15 second mark, for example. For the tall gears such as mer1/mer2, I printed them with a hexagonal piece on one which fits into a recess on the other. It holds together well with just a friction fit, but could be glued for extra strength.


Here is a view of the shaft collar, and of the space it fits into. The angle of the top of the recess means that the part can be printed without support.
 


Saturday, March 21, 2026

The Antikythera Mechanism 2: Design Principles for 3-D Printed Version

I plan to have a go at making a 3-D printed adaptation of the Antikythera Mechanism. See the previous episode for background.

A side note: from now on when I want to refer to the original mechanism, I'm going to refer to it as the HAM (Historical Antikythera Mechanism), to save some typing.

My guiding principles for the design are:

  • make something that works well.
  • stick the original mechanism for the overall configuration, but not for the precise dimensions.
  • make practical decisions guided by the limitations and advantages of 3-D printing.

For example, the HAM used gears with triangular teeth. It is a consequence of the tools available when it was made. Triangular teeth don't print well and there are better modern alternatives. Another example: the gears of the HAM, as measured from the imaging data, use a variety of different module values. The gears are if we change the modules to more consistent values, with some consequent changes to the geometry.

Another way of saying this is that I am aiming for functional equivalence with the HAM rather than strict adherence. So now here is a list of some design considerations. The notes here were made at a fairly early stage in the design and some of the details were changed later.

Choosing the gear sizes

The largest gear in the HAM is referred to as b1. This name, along with the others that I'll use below comes from the Freeth 2012 and 2021 papers. The gear has 223 teeth and an outside diameter of 65mm, giving it a module of 0.578. For an involute gear, the teeth would be about 1.3mm from base to tip. Teeth this small won't print well and are likely to be fragile, and it would be better to scale it up. One option is to fit the whole gear on the bed, constrained by the 210mm dimension, another is to split the gear in two and fit the diameter on the bed, constrained by the 250mm dimension. Splitting a gear into parts and then gluing them together (or some other way of attaching them) does work. I gave some information in a previous blog post, and did it in my build of the Swingtime clock.

Here are some numbers for different choices:

  • Fit to bed. Module = 0.93, diameter = 209, tooth depth = 2.09, scale = 1.61.
  • Split and fit half to bed. Module = 1.1, diameter = 247.5, tooth depth = 2.475, scale = 1.90.
  • Split and fit on a diagonal of the bed. Module = 1.156, diameter = 260.1, tooth depth = 2.601.

The last one is tricky. With a bit of careful positioning, you can a gear split in two fit on the Prusa print bed like this:


The modules of the original gears vary between roughly 0.42 and 0.48. I decided to simply use a module of 1.0 wherever possible and adjust the geometry to fit. For the large gear b1, it only has to mesh with one other gear (a1, which drives the whole mechanism), and I decided to stick with module 1.1.

Another gears, the combined e3 and e4, is also very large. I'll return to how to split it into pieces in a later episode.

A few of the other gears need slightly different modules to fit correctly. This applies to gears on the back part of the mechanism, driving the Metonic and Saros cycles and other outputs. The gears on the front side, driving the planetarium were not recovered and so their configuration and sizes are conjectured. I elected to use a module of 0.950 for the outer planets, which is close to twice the module used in Andronis's amclock version. For the inner planets, this didn't quite look right and so I changed it to 0.954, except for a few gears which needed a slightly smaller module.

Gear teeth profiles

The gear teeth in the HAM are triangular. It is the easiest shape to make with hand tools. However, it is not an efficient shape for transferring power through the gear train, and triangles do not print very accurately. The alternative choices are to use involute gears teeth or cycloid gear teeth. Involute gear teeth are the most common type. Cycloid gear teeth are commonly used in clocks due to lower friction and wear. They can also print better, as the sides of the teeth are more or less parallel for most of their length.

Involute and cycloid gear teeth

I don't think it makes a lot of difference in this design. My design tool is Autodesk Fusion, which has an add-in for generating involute gears. There isn't one for cycloid gears (though I have recently found, but not tried, a third party one), and alternatives such as Rainier Hessmer's program for generating SVGs are not very convenient to use. I'll use involute gears.

There are a few places where HAM uses a crown or contrate gear, that is a normal gear driven by another one at 90 degrees to it and with teeth standing upright. The modern alternative is bevel gears. This won't work in all cases, as sometimes the angle of the bevel makes the teeth intrude into the interior of the gear. The 223-tooth b1 gear has additional posts attached to it, and the beveled teeth came too close to them in a prototype. In such cases, a crown gear can be used with involute teeth.

Laying out the gears

I laid out the gears by constructing sketches in Fusion, with a circle for each gear. The diameter of the circle was the pitch diameter plus a small amount called the depthing, of which more in a moment. I then added Fusion constraints:
  • tangent constraints for gears that mesh.
  • coincident constraints for gears on the same arbor.
  • horizontal and vertical constraints for some gears that should be aligned, for example the centers of the b1 gear and the arbors of the Metonic and Saros pointers.
  • a few distance constraints for the eccentric epicycle gears. The distances came from the formulae in Freeth 2021.
  • the angle of the "strap", a small platform mounted on b1, which Freeth says is at 11 degrees.
Most of the gears positions ended up fully constrained. A few could still be moved and I adjusted their positions to look similar to published layouts.

Gears should be set so that their pitch circles just touch, but in practice a small amount of extra space is sometimes needed for smooth running known as the depthing. I used a Fusion variable to specify the depthing, with the initial value set to 0. Later on, I made a small test print of two gears mounted on a base and found that they did not move very smoothly, and so adjusted it to 0.2mm. Fusion recalculated the positions and updated the sketches. I also created a component for each gear and positioned them in the right places to make sure they looked about right.

The sketches look like this:

(Superior planets, from above; back gears, from below; inferior planets, from above.)

Here is the gear tester:


Miscellaneous practical issues

Arbors and connected gears

Arbors are the shafts on which the gears turn. In many cases they are also used to connect gears which have to turn together. HAM has many examples where the shaft is circular at points where it passes through a bearing, and square or some other regular shape where gears need to fit rigidly to it so that they can turn together. My preference is to use 3mm steel or brass shafts or in some cases a printed shaft where it can be a larger diameter.

Where the arbor serves to connect gears together, they can in some cases simply be printed as a single object instead. This isn't always possible, for example two gears which are on opposite sides of a plate. For these cases, the two gears can be connected using a hexagonal socket on one and a corresponding extrusion on the other. Episode 5 will say more about this.

I like to try to use standard sizes for the arbors, so that you can buy pre-cut dowel pins instead of having the cut them myself.

Tubes

The front side (planetarium) outputs are carried on a set of ten concentric tubes. These could be brass: tubs with many diameters and thicknesses of either 0.5mm or 0.2mm are widely available. Alternatively they can be printed. Printed tubes are weaker and may have more friction. The strength doesn't matter much as they don't carry a lot of load, and the friction can be kept down by not making them too tight and by sanding them inside and out to eliminate layer lines. Based on some prototypes, ones with at least two perimeters (0.8mm thick) and at least 0.2mm spacing work fine (though 0.5mm may be better). For the innermost one, driving the lunar output, a solid brass arbor might be best as it does take a little more load.

The full set of tubes is different in the Freeth 2021 version and the ones before it. The 2021 has, in order from innermost to outermost, Moon, Mean Sun, Nodes ("dragon hands"), Mercury, Venus, True Sun, Mars, Jupiter, Saturn and Date.

(A series of tubes.)

Part thickness, hubs and bushes

The gears in the HAM are mostly 1 to 3 mm thick. For the 3-D printed version, the minimum is 3mm. Ideally gears which drive other ones should be thicker. If the gears are too thin, then any tilt when under load will risk them slipping apart, and the thickness also helps reduce tilt. Figure 6 of Amabile 2022 (reproduced from Lin & Yang's book) illustrates which gears should be thick and which thin.

Some gears in the HAM have no vertical spacing between them even though they run independently. The faces of the gears rub against each other (at least, I think this is the case, from some of the publications about the HAM). With plastic gears, the friction that results is a more serious problem than with metals ones, where the surfaces can be polished. I extended the vertical space, usually by adding a hub to the gear or a bush to whatever it is mounted on.

Discs and spokes

Most gears in the HAM have solid discs (b1 is a rare exception). I prefer more open designs with a hub and spokes. It makes the mechanism more visually interesting, and takes a bit less material and printing time. It can also make the prints better: sometimes I've found that prints with a full disc are more prone to warping.

Fasteners

Parts of the HAM were riveted or soldered together, or held in place with a pin through an arbor. Clickspring's videos show many examples. In ancient Greek times, this would have been because other forms of fastening either hadn't been invented or were not commonplace. I use screws in most places instead.

Print settings

The base print setting is PrusaSlicer's 0.15 structural. Some changes may be useful:
  • more perimeters, to add extra strength. Sometimes this makes the slicing look less good, for example little blocks in the gear rim.
  • aligned seams. It easier to locate the seams and then file them down when they are aligned.
  • Arachne slicer in most cases.
  • scarf joint seams if they are too obvious.
  • maybe extra top and bottom layers for strength.
  • 25% infill, cubic or gyroid.
  • elephant’s foot reduction increased to 0.25mm or 0.35mm. It's important to get no elephant's foot where gear engage; sometimes I see it with the standard setting.
It may also work to vary the layer heights between 0.15 and 0.2mm so that pairs of gears which engage do not have the same value. This might reduce friction slightly.

Thursday, March 19, 2026

The Antikythera Mechanism 1: Introduction

The Antikythera mechanism is an artifact from ancient Greece, discovered in a shipwreck off the coast of the island of Antikythera in 1901. Investigations and analysis have shown that it is an analogue model of the solar system, used to predict positions of astronomical bodies and eclipses, together with a calendar and with several additional indicators. There are many popular and scholarly publications about it on the web. Two good introductory articles are the one in Wikipedia and Tony Freeth's article in Scientific American from 2022. The heart of the mechanism consists of several gear trains, ultimately driven by a single crank. A person would have turned this crank, and the gear trains translate it into the motion of various outputs: the Metonic cycle (a sun-moon calendar), the Saros cycle of possible eclipses, the positions of the planets, sun and moon as seen from Earth, the phase of the moon, and others. Of the many videos on the web, I recommend Freeth's one and Jo Marchant's Darwin lecture.

The scholarly research is wide ranging, and the parts of it that I find most interesting are the ones which deduce the mechanical characteristics. There is a great deal of detective work. CT scans and image processing have allowed the size and configuration of many of the gears to be determined, although some parts of the mechanism are damaged or missing entirely.  Comparison of gear ratios with astronomical cycles led to an understanding of what parts of the mechanism are for. A "user manual" in the form of inscriptions on the external surfaces of the mechanism provides further information about its purpose and operation. In some of the more recent work, hypotheses have been put forward for the missing parts of the mechanism, notably the gears that drove the planet positions, by looking at possible mechanisms and deducing what would fit the physical constraints of the surviving parts. Some of the research has been largely settled for a while, such as the gear trains for the Metonic and Saros cycles, while other parts have been updated more recently, such as the planet mechanism. The astronomical model is centered on Earth, and so it has to account for the motions of the planets, sun and moon as seen from Earth. They appear to speed up and slow down and even to reverse direction. This motion can be modelled to some degree of accuracy with two gears, one off center with respect to the other, coupled by a pin and slot. The references above give more detail.

(Fragment A recovered from the Antikythera shipwreck. Image attribution: Giovanni Dall'Orto., Attribution, via Wikimedia Commons)

Several published papers include detailed diagrams of the gear trains and tables listing the number of teeth and size of the gears (or equivalently, their modules). Two of Tony Freeth's articles are particularly useful:

  • Freeth, T. and A. Jones (2012) The cosmos in the Antikythera Mechanism. ISAW Papers 4, available at http://dlib.nyu.edu/awdl/isaw/isaw-papers/4/. Includes gear schematics. There are measurements for the planet gear trains, but not for the Metonic/Saros part of the mechanism.
  • Freeth et al.  (2021). A Model of the Cosmos in the ancient Greek Antikythera Mechanism. Nature (Scientific Reports). https://www.nature.com/articles/s41598-021-84310-w. Presents a revised version of the planet mechanisms. The supplement (linked from the same page) has videos showing the assembly, and a table with the sizes of many of the gears. A very valuable resource.

There have been a number of projects to reproduce the mechanism, either as computer models or actually manufactured. Michael Wright made a replica in the 1970s, and Mogi Vincentini made a computer model from it. Freeth has used computer models to illustrate his published papers and to show that his proposed mechanism fits together. There is a lengthy series by Clickspring in which he builds a replica using original tools; at the time of writing it is not yet complete. A bronze version was made by Nicholas Andronis. He has also made a scaled up wooden version. Spencer Conner has another version made out of brass. He made a number of changes to modernize the design. There is a 3-D printable version, for which plans can be purchased, and a rather magnificent wooden version. I have also seen videos generated from other CAD models which may or may not have been made physically, and a 3-D printed version which even goes so far as to reproduce the damage to the casing.

There are plenty of YouTube videos with misleading information. It did not come from aliens or time travel. It's not an ancient mystery. It is an archaeological relic and scientific enquiry by thoughtful people has elucidated its structure and functioning. If you see a video which is an episode of someone's podcast or which employs AI, you should probably skip it. Unless you like that kind of thing, of course.

(Back panel of a reconstructed mechanism, showing the Metonic and Saros dials. Image attribution: Gts-tg, CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons)
(Front panel of a reconstructed mechanism. Image attribution: Chris Olszewski, CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons)

Dr. Andronis's site at https://www.amclock.net/ deserves further mention. He has detailed instructions and engineering drawings for his bronze version. The instructions include assembly and operating instructions, and many notes on practical issues such as adjusting the size of the parts to make them fit. He includes a table giving the tooth counts and sizes of all the gears, pulling together information from multiple sources. There are a couple of errors: some entries in the table quote the diameter of a gear under a column marked as radius and then also have an (incorrect) radius which is half of this, while others have the correct values; and there is one gear which I could not find on the engineering drawings, but can be reconstructed from the table.

I have been looking for a substantial new 3-D design and printing project, and the Antikythera mechanism is it. At the time of writing, I have prototypes for most of the mechanism, but still have a way to go before it operates smoothly. Perhaps I will succeed, perhaps it will end up in the Closet Of Abandoned Projects. What I want to make is a functional reconstruction: it should work, and use modern design techniques when that makes it work better, even if this means departing from the original mechanism in appearance.

The manual on Dr. Andronis's site says Warning: The only thing you learn from designing and building Antikythera Mechanisms is how to build a better Antikythera Mechanism next time. Well, perhaps, but as in many of my previous projects, the journey may turn out to be the destination.

Tuesday, November 25, 2025

Printing holes for a snug fit

I often want to design and print parts which fit on a metal shaft with a diameter of a few millimetres. 3D printers don't accurately print holes. The diameter of the hole in the printed part is typically less than designed for, due to factor such as the plastic squishing and expanding horizontally or the plastic expanding as it leaves the nozzle. If the part is intended to run freely on the shaft, it's not a problem. Just drill the hole out, for example with a pin vice, and maybe sand or file it if needed. I have also tried using a reamer to improve the finish, though I am not sure it makes any difference.

It is a little more of a challenge to make parts with holes that provide a snug fit. This would be for the case when you want to the part to be rigid, or at least firm, on the shaft. You can design the part with a hole for a set screw. I have often done this with 2mm and 3mm screws. I usually design the part with a hole 1.8 or 2.8mm for the screw and then use a M2 or M3 machine screw. It generally works quite well. I have had less success using grub screws. I think their thread isn't deep enough to cut into the plastic. Tapping the hole works. It is still not always a satisfactory solution as some parts don't have a good surface for placing a hole or for getting a screwdriver. Think of a gear with a hub the same height as the teeth, for example. Also, there are cases where you want a fit that will hold under normal use, but where the part can move on shaft if enough force is applied.

I decided to try experiments with a few different ways of making a snug fit. In each case, the shaft is a nominal 4mm in diameter and made from stainless steel. The measured size was about 3.95mm. Usually I find steel shafts are slightly under the nominal size and brass shafts are slightly over. The obvious method is just a simple hole, which I did at 4.0, 4.1 and 4.2mm diameter. I also used a 6mm hole with ribs in it. The ribs are 0.4mm wide. You have to use the Arachne slicing algorithm for them. Finally, tried a 4.0mm hole with a 10mm by 1mm cut out. The designs look this like:

Slicing for the ribbed version shows that there will be a single line of filament:
The tips of the ribs are designed to be 4mm from the center. Note that it prints well, but not perfectly, with some stringing between the ribs.

One preliminary comment before the results. In the past, I think we would have worried about things like whether the printer was square, calibration of the motion system and extruder, whether the filament was precisely 1.75mm diameter and so on. In my view, these are not really concerns for current printers  and filaments.

The shaft would not fit at all in the 4.0 and 4.1mm holes and was a bit loose in the ribbed version. It was fitted OK in the 4.2mm hole but was still a bit loose. The fit for the cutout hole was good: I could get the shaft in with a little force, and then it held very firmly. I could make it slip when turning the part on the shaft only with a lot of force.

These tests were with Hatchbox black PLA, using PrusaSlicer's 0.2 structural setting and the filament profile for Hatchbox PLA, Arachne slicing, and some extra elephant's foot compensation. The latter was because the first one or two layers sometime squish a bit more, and may be a tight fit for these layers but not for the others.

With Amazon Basics Gold Silk PLA using the Generic PLA Silk filament profile, the results were more or less the same. The only difference is that the 4.1mm hole was usable and was a tight fit. This wasn't what I expected. Maybe it is because silk filament is sometimes a bit more slippery.

There are no big conclusions to draw here. I hope it will provide some guidance for my designs in future.

Friday, October 25, 2024

Ways of finishing text on 3D printed object

As part of a project to make a 3-D printed Curta calculator, I've been looking at various ways of creating and finishing text on a 3-D printed object. In the Curta, this is used for the results dials and the digit selectors, and for some text on the body.

Some possible techniques are:

  • make a mask or stencil using a Cricut and apply paint.
  • cut the text into vinyl using a Cricut and stick it to the surface.
  • print the text onto self-adhesive paper and stick it on.
  • print the text onto paper, glue it on, and then spray-coat with lacquer.
  • deboss the text into the surface and fill with the characters with paint.
There are undoubtedly other possibilities. For example, I saw one video using silicone caulk, with washing up liquid to help mask the surface. And if you have a multicolor printer, you have more options.

For the painted versions, there is a further question of whether the prepare the surface by sanding it smooth, so that the paint does not track into the layer lines. It seems obvious that you should do this. With some filaments, the act of sanding makes the surface take on a distressed appearance. In this case, you may be able to paint the surface to restore its color first.

Most of my experiments are with the debossed text technique. I stipple paint into the text, then wipe off the excess with a dry paper towel. When the paint is partially dry, I clean the remaining excess from the surface with alcohol on a paper towel. It worked best when I did this several times, as the alcohol makes the paint that it still in the text run a little more. It helps to clean a patch then dry it, then clean the next patch and so on. I used an acrylic paint. It's better straight out of the tube rather than mixed with any water, as it is more solid and doesn't run as much. I also tried a solid marker (basically very thick paint) and this works as well.

Over time, I refined the technique for this, to minimize the amount of extra paint. When I wiped away the excess with alcohol, I also tried to dry it immediately to limit extra leeching of paint from the digits.

Here are some example results.



The first thing to say is that none of these look as good as the results that Marcus Wu, designer of the 3-D printed Curta, obtained by preparing and painting the surface, then using a stencil. However, he also invested a lot of time in it, and wanted to get high quality for when he gave away his model to a Famous Person. I'm willing to compromise.

Key:
  • row 1
    • a. grey filament straight off the printer (unsanded).
    • b. black filament after sanding with grades from 150 to 3000 and cleaning up.
    • c. text printed on self-adhesive paper.
  • row 2
    • a. grey filament after finishing, with silver paint.
    • b and c. grey filament after finishing, with red paint.
  • row 3
    • a. black filament after finishing, with white paint.
    • b. black filament after finishing, with white paint from a solid marker.
  • row 4
    • a. unsanded blue filament, with red paint. Unlike all the other painted examples, I did an extra round of cleaning up several days after painting it, and this removed a little more paint from the layer lines without causing any additional running from the text.
    • b. unsanded blue-grey filament, with white paint.
    • c. blue-grey filament after finishing, with white paint.
Observations and comments:
  • 1b shows how sanding can distress the surface of the print. In 3a and 3b, some of the white or grey marks between the text are the result of sanding, rather than paint.
  • 2b and 2c show that you can get different results even with the same materials and finish. I think 2c is worse because the paint may have been a little more dilute. I was still experimenting with whether to mix any water in with it.
  • 3a and 3b are similar in how much the paint spread. So the more solid paint from the solid marker does not make much of a difference. It might fill the text a bit better, though the comparison is not exact, as I think I debossed it by 2mm for 3b, compared to 1mm for all the others.
  • the text version in 1c is one of the best. I do have some concerns about the longevity of the glue. Spraying it with lacquer would help, though to do this well you need to be able to let the lacquer dry without dripping. You can also get a seam where the paper wraps round, not shown in this photo.
  • 4a and 4b show that you can get good results even if you don't sand the surface. 4b is better than 4c.
Here is a more recent print, using variable height layers, and after a bit of refinement of the technique.

My general conclusion is that printed paper gives the best results of the techniques I tried, provided it holds up over time. I think the painted debossed text works OK if you want something functional but with imperfect appearance, and that printing without sanding down the layer lines is as good or better than sanding them. However, it's also worth noting that I am not very skilled when it come to doing this sort of thing, and some more adept could probably do better painted versions that I did.