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.
One of my most treasured possessions is a Curta Type 1 mechanical calculator. It's a beautiful and compact device for addition, subtraction and indirectly for multiplication and division. There are many web sites and videos devoted to it, so I won't recapitulate the details here. I recommend curta.org as a starting point, or wikipedia for a summary.
This is mine:
It originally belonged to my father. He left it to me, along with some unusual slide rules which I might write about another time. I can remember him using it in the early 1970s, sitting in his armchair with a pile of experimental results to analyze. Some time around 1973 or 74, he got a HP-35 and then later a TI-57, and he stopped using it.
I put a short clip of it on YouTube to show how smooth the mechanism is.
Subtraction is done by adding the ten's complement (with a special case). You can see this in the second half of the video. The fact that it is so smooth is an indication of how little friction there is and how precisely it is made. There are two excellent videos which explain how the mechanism works: part 1, part 2. I really recommend watching all the way through, as it gives a detailed explanation of how subtraction works, as well as many points of detail which make it so nice to use. The underlying approach is not unique to the Curta, and in fact originates with Leibniz. You can see similar principles in this video about the Arithmometer. The genius of the Curta is to make it compact, lightweight and easy to use.
The serial number tells me that the manufacturing date is February 1962. It's odd to think that when I remember my dad using it, it was only about 10 years old, and it's now over 60. It is only a few months younger than I am.
The reason to write about the Curta now is that I am thinking of making a 3-D printed one, using Marcus Wu's 3:1 scaled design. I've looked at this before, but decided it was beyond my capabilities and the affordances of my printer. The latter has improved; the next few weeks or months may provide whether the former has advanced enough.
Igus is known in the 3D printing world for their bushings, which are sometimes used instead of linear bearings. I recently noticed they sell printer filament as well, see https://www.igus.com/3d-print-material/3d-print-filament. The filament is expensive; for example I150 is $72 for 750g, about 4 times what you would typically pay for PLA. They have several filaments and they seem to be quite different in characteristics. I've written a lot about making clocks, where low friction is critical to some parts of the gear train. By the time you get to the escapement wheel and the gears nearby, they are operating at very low torque and a tiny amount of frictional force could be enough to stall the whole gear train. Steve Peterson, in the build notes for his SP13 clock, comments that the weight of a house fly landing on the escapement wheel would be enough to stop it. The Igus I150 filament looks interesting, as it is said to have low friction as well as being easy to print. There is a posting on Steve's forum from someone who used I150 and seemed to get good results, as shown by needing a lower than typical weight to run the clock.
The Igus web site has a link to request a sample of the filament. Unfortunately, there sample link for I150 does not work. I emailed to ask about this, and a very helpful sales person told me they don't have any samples of I150 at present, and asked if I was interested in I180 instead. It looks difficult to print and requires an enclosed printer, which I do not have. As an alternative, they offered me I151. I am not sure quite how I151 and I150 are related. Comparing the technical specifications side by side, I151 has a higher Shore hardness and density, and a lower flexural strength. I assume that the similar numbering of the filaments means they have similar composition, and this video (https://www.youtube.com/watch?v=xD5_0mWAmZo) seems to confirm it.
A few days after the email discussion with Igus, a FedEx package arrived containing two samples of I151, each about 40g.
Igus provides profiles for the Prusa MK4, and I used these as a starting point. The profile has a layer height of 0.3, which I reduced to 0.2. Note that the I151 and I150 profiles are a bit different, for example, I150 has a higher maximum volumetric flow rate. All my tests use the I151 profile as a starting point.
The first test was to see how easy it was with standard print surfaces. Typically, I start with a textured PEI sheet. A filament such as PETG can stick too well to smooth PEI and damage it (or damage me as I try to dig it off with a scraper). It printed easily on the textured PEI with no warping. The test object was a 20x20x10 cuboid: not a very tricky test, though one which will trip up difficult to print filaments such as Nylon. I dried the filament in a filament drier for a few hours first. The default print temperatures in the profile are 240 on 85. On smooth PEI, the adhesion was very strong, close to what you get with PETG. The only time I saw any warping was on one print where I accidentally 210 on 60, after selecting the wrong profile. One print stuck so hard that the bottom layer cracked when I pulled it off the bed. As with PETG, glue stick on smooth PEI is a good compromise: the print sticks well, but not too well, and there is no warping.
I looked for a couple of things in the print quality. The first is to examine the vertical edges. On a good filament such as Hatchbox PLA, they will be completely straight. Silk PLA often shows some bulges, which may mean that gear teeth printing using the filament won't engage very cleanly. It's not usually a showstopper, but can reduce the efficiency of the gear train. All of the test prints I did looked good in this respect. However, I was a bit surprised to find that the surface texture of the sides of the print was a little rough. It wasn't, as already noted, distorted, and there were no visible pits or zits, it just felt slightly grainy. It's interesting that the raw filament also feels like this out of the package. You can see the texture if you look closely (I don't have a microscope to try to take a picture of it). It's like a less pronounced version of what you get when printing with the fuzzy skin setting. I don't think I have ever known other filaments with this feel, except for some of the exotics such as wood fill. So perhaps I151 has some extra filler in it to provide its special properties and this is what I am observing.
I tried a bunch of things to try to fix this, including copying the extrusion widths and infill settings from a PLA profile and reducing the extrusion multiplier. The default extrusion widths in the profile seem a bit odd: they set the first layer to 200%. The only change which really made a difference was dropping the temperature to 220 (240 for the first layer). It reduced the feeling of graininess, but did not make it go away altogether. The best print in this respect was the one where I accidentally used my PLA setting (210 first layer, 200 after), though the low first layer temperature led to some slight warping in this case, and I am worried about getting a nozzle jam at such a low temperature.
The card that comes with the filament says "Part cooling should be adjusted to the minimum necessary temperature". The supplied profile sets this to 20% min/80% max. As a (rather goofy) experiment, I turned cooling off altogether and unsurprisingly ended up with a squishy mess. I then also tried changing it to same settings as PLA (100% after 3 layers and some other changes), based on the thought that I was seeing better surface textures with lower temperatures. This made the surfaces rougher.
For a final test, I printed one of the gears from Steve Peterson's SP5 clock. There isn't enough in the sample to print a full set, so this is just for visual inspection. The print quality is good: the gear teeth look precise with no bulging, and no lifting from the print bed. The hole for the arbor was undersized and needed to be drilled out, and there is some stringing, but that's similar to many other filaments. The print has the same surface texture issues and I think would not do well when low friction is needed. I did this both with the unmodified profiles from Igus, and with the reduced temperature and other changes I made. It seemed to be important to set elephant's foot correction to 0.
This picture shows the I151 print and one in gold silk PLA. The bright sunlight emphasizes the surface texture, and show how rough the I151 is.
I am unsure what to do next. Videos and forums posts comment on how smooth the surface of I150 prints feels. So there are several possibilities: I151 is different from I150; there is some sweet spot in the settings which I haven't found; and that this is a bad batch. It's hard to believe that the rough surface texture would result in anything other than more friction. For a cheaper filament, I'd just by a small roll and discard it if it didn't work out (I did this with some Nylon recently). But at $72 for the smallest roll they sell, I really have to think about it.
I've recently completed the 3D printed watch with tourbillon, designed by Christoph Laimer and published on Thingiverse in 2016. Here it is in operation:
You might notice that it does not remotely keep time: a minute on the watch is only about 43 seconds in real time. I'll say more about that later. A few more pictures:
In brief, the watch works like this. There is a mainspring in the base, which drives the minute train. The minute train is linked to the tourbillon, which locks and unlocks it and so provides the timing. The minute train drives the bronze (greenish) ring gear. Another gear takes the movement from this ring gear into the hour train, which ends up driving the gold ring gear.
I got my first 3D printer in mid-2015, and when this design came out in January 2016 I decided to give it a go. It completely failed to run, and I set it aside. This is not a surprising outcome. The printer was not very accurate, and I had no idea how to debug clocks and watches or even really much understanding of how they work. Time has passed, and now I have a Prusa MK4. It much more precise than my first printer, and also a lot faster. A consequence of the speed is that I am willing to print at much finer layer heights than before. On my first printer, I was probably using 0.3mm for large parts and 0.2mm for smaller ones. With the MK4, I nearly always use 0.15mm without worrying about how long the prints will take.
On the debugging side, I now have a better understanding of how clocks and watches work, and this helps in building up the mechanism in stages and do partial tests. The tourbillon itself is a self contained unit and I first tested it in isolation. Then I checked that the minutes train worked smoothly, separate from the tourbillon, then the minutes and hours trains together, and finally the whole mechanism.
Most of the parts are from the original design. The tourbillon spring is the medium strength one from A flight of hairsprings. I used the Massey pin in the balance wheel mechanism. It makes the balance wheel less prone to jam against the fork. The bridge on the top is modified from the logo-less version from the torque modification of the design. I decided not to use the hands from the original design as they don't attach very well, and instead printed the black notch you can see above directly into the ring gears.
Now to why the timing is off. When I first put the tourbillon together, I found that it would seize. The reason for this is that the balance wheel was swinging a long way on each tick. While it was at the ends of its movement, the fork could flop around. When the balance wheel swung back, the fork might not be in the right place for the balance pin to engage with it and everything locked up. Using a stiffer spring limits how far the balance wheel swings and so avoids this problem. However, it means the timing is no longer right. For a real timepiece, this would be an issue. But in my case, I intended it more as an objet d'art: something to look at. It isn't really a practical clock, as you can't tune the timing or even set the hands. If it ticks at the wrong rate, that's OK.
I modified a few of the parts. Many interior holes were too small. For the ratchet and ratchet bushing (check the thingiverse page if you want to know which parts these are), I slightly opened them up by editing the STLs in blender. For all of the gears in the minutes and hours trains, I could have drilled out the holes. Instead, what I decided to do was to modify them as follows. All of these gears run on 2mm arbors, so I made the axis hole slightly larger than this for the 2mm or so at each face of the gear (in Blender, again). The rest of the axis hole I made 2.4mm diameter. This means that when I drilled out the holes, I only needed to cut through the 2mm part at each end, so there is not much chance of the drill going askew. The rest of the interior of the axis hole does not touch the arbor, thus reducing friction. Steve Peterson uses this in his clocks, and I've mentioned it in a previous post.
The teeth on most of the gears are tiny, only about 1.5mm from tip to base. You need accurate printing followed by a close visual examination for any blobs or wisps of filament for them to work smoothly.
The filaments are Flashforge burnt titanium PLA for the body, gold and bronze silk PLA for the gears and moving parts, and PETG for the main spring. The burnt titanium filament looks very nice, but is not so good to work with. You get a lot of stringing and blobs, and the printed surfaces are slightly rough. The ring gears have a large contact area, so you really need something smooth and with low friction. Silk PLA is ideal for this.
The design also calls for a rather bizarre range of small screw sizes. I think many of these could be replaced with more standard sizes (or at least to use one or two sizes throughout) with minor design changes. I didn't try this, though it's noteworthy that the design included the original CAD model in Fusion 360 format, making such modifications easier.
How long will it run? From a full winding, I can get 20-25 minutes. I expect this will decrease over time as the mainspring weakens. Here is a 10x timelapse starting with a fully wound spring and letting it go until it stopped. With a nudge it will run for another minute or two.
And also a look at the mechanism in slow motion:
This is a remarkable design by M. Laimer (aka TheGoofy). It was one of the first 3D printed timepiece designs and it outclasses many more recent designs in the care and thought that went into it as well as the attention to its visual appearance. I would definitely rate it higher than, for example, the Tourbillon Mechanica, which just looks messy to me, or the many published tourbillon design which just don't run well. Very nice.
It is sometimes difficult to print small gears. Typical problems are teeth pulling up or distorting or simply the whole thing coming loose and sticking to the nozzle. I don't believe there is any universal solution to this, so here are a few tactical things you can do. Obviously start by making sure that your printer is well calibrated, the print surface and nozzle are clean, and that the bed is levelled. I usually clean the nozzle by heating it to just under the print temperature then removing any stuck on filament by lightly brushing it with a brass wire brush. It helps to put a mirror on the print bed so you can see what you are doing. I have a concave shaving mirror that also magnifies. My Prusa MK3S is set up for levelling using a slight modification together with an associated process known as "bed levelling without wave springs" (it's a misleading name reflecting the history of how the author of the process got there), and if you put in the time with this you can get a very accurately levelled bed.
The problem with small gears is that you can get small segments in the teeth which result in a lot of nozzle moves and retractions. Due to the viscosity of the filament, the move may pull the feature it has just printed off the print surface or plow through a small feature which is isolated from other features and so doesn't have much attachment area. Generally once you are past the first layer, things will go OK. You might get some stringing or blobs, but you can fix these up when the print is complete.
A first thing you can do is examine the features in the slicer preview and adjust settings to try to avoid such features. For example if you see something like the small triangles and dots in this example, you may be in for a problem:
There are several parameter changes which may help. It's not possible to say that any of them will definitely improve the slicing. The best thing is try them, look at the result and see if it appears better:
increase or decrease the number of perimeters. Stick to a minimum of 2. More perimeters give you greater strength and rigidity. If the gear doesn't take much load (for example, the gear train from minutes to hours) then 2 will be strong enough.
reduce or turn off elephant's foot compensation. It makes the first layer smaller, so making it more prone to these small features. If your printer is well-calibrated, you may not need it anyway.
switch between the Arachne and classic slicing algorithms. Sometimes one just does better than the other.
If you have access to the model you might also be able to tweak it, but that's a bigger task and doesn't always help.
Another setting that can be useful is external perimeters first. This won't change the slicing, but guarantees that you have a single solid outline for the remaining tracks to stick to.
It's been a while since I wrote anything more about my prototype clock. I haven't been working on it much.
There are a couple of changes since the last version. I reorganized the orientation of the gears to space them out a bit, so that there is less chance of them rubbing. I also replaced the previous ratchet with a gravity one. The original ratchet used very thing springy pawls which had a tendency to break off. I replaced this with an arrangement similar to the one used in Favre's clock 24, in which the pawls simply drop into place as the weight drum turns.
I finally got a working seconds hand. In earlier designs, there is a gear that turns once per minute, and this can either be mounted on a non-moving arbor, or attached to an arbor which then also turns the seconds hand. In most cases, as soon as I configured it the second way, the clock stopped working reliably. I believe now that the reason is friction between the seconds arbor and the minute "tube", which surrounds it. For a number of the gears, there is a long tube, either to bring out the motion to the front of the clock (for the minutes and hours hands), or to provide a bit of stability and stop the gear tilting. Like several of the gears seen here:
Doing it this way means there is a lot of contact area between the tube and whatever arbor or runs on. I changed this so that in such cases, the tube opens up inside, so that only the very ends have an inner diameter close to that or the arbor. This made a huge difference in the amount of friction, and the seconds hand now runs reliably.
The biggest remaining flaw is the short run time, as I discussed in a previous post. To increase it, I would need to change the diameter of the weight drum or the ratio of the gearing between the ratchet and the minutes gear. But I think I am done with this prototype and won't carry it through to a more fleshed out design. I've learned a lot from it.
One last thing which interests me is replacing the weight with a remontoire like the one used in the swingtime clock. To try this, I removed the weight drum an ratchet and just attached a small amount of weight to the gear between the seconds and minutes. You really don't need much weight for it to work:
Two binder clips are enough. If you are lucky, it will work with one.
For a last round of experiments on prototype 4, I looked at the effect of the weight and drum size. I had been fixing the seconds wheel to its arbor with a set screw. I think this still resulted in extra friction, either from constraining the meshing with the other gears, or (more likely) because of friction between the seconds arbor and the minute tube. For the next experiments, I removed the set screw. The second arbor (and hand) no longer turn, of course, but the friction is significantly less.
How does the weight affect the running of the clock? I tried different weights, and in each case measured the swing of the pendulum against a ruler. Some minor trigonometry turns this into the swing in degrees, each side of the center. Here's a graph of how things change, showing the angle against the weight in grammes. The values are approximate:
Two things are noticeable here. First, in this low friction configuration, you can reduce the weight to a really low value. It would still just about run with only 160g, though at this level any slight upset (such as a strong draft of air) could stop it. Second, it's really apparent that a small relative increase in the weight matters a lot more for small weights than for larger ones: the relationship is not linear.
I measured the the weight to drop at about 17.6 cm/hour. The drum is 50mm in diameter, so you expect this to be more like 15.7 cm/hour. I haven't adjust the pendulum length, and I estimate the clock is running about 10% fast, so from it's point of view, it is 17.6cm per 66 minutes, which is 16.0 cm/hr, closer to what it should be. At this rate, the clock would run for 10 hours on a 1.6m (5 foot) drop.
Next, I swapped out the weight drum for one with half the diameter. Now we would expect 7.85 cm/hr. The measured value was 9.4 cm/hr, or after correcting for the clock running fast 8.5 cm/hr. It's a bigger discrepancy than before; I'm not sure why. This would give a run time of a little under 19 hours. The minimum weight in this case was around 400g. Even with my larger 1100g weight, the running was a little flaky, and this proved to be that minute wheel was sliding backwards on it arbor and sometimes interfering with the escape wheel. As I've iterated on the design, I've been using slacker tolerances on the spacers, and I think I've taken it too far.
Finally I did a crude version of doubling by looping the weight cord through the top of the weight and clipping the end of it to the frame. It runs, though a little weakly at 1100g, giving 4.8 cm/hr. After the 10% correction, this would run for 37 hours on a 1.6m drop, which is starting to look good.
The smallest weight I tried was around 700g, and it ran better with this than I expected.
I wanted to try using a reduction gear from the weight to the minute wheel, but the frame design doesn't allow enough space for anything other than 1:1.
What next?
This is as far as I intend to take prototype 4. I have a number of ideas for the next version:
Change to cycloidal gears. There is some argument that they have lower friction (ref 1, ref 2), though I think I have seen this disputed. In any case, redesign the gears so that there is more clearance.
Change the geometry by flipping G1 to put the escape part at the front and the pinion (gear) at the back. Then G2 can be flipped as well. This may help reduce the change of G3 running into the G2 hub.
Make a fixed position for the pendulum. It still needs to be movable, to set the beat, but the experiments I did on its horizontal position show that it doesn't matter.
Stronger clicks in the ratchet. One broke off.
Redesign the escape wheel teeth. This goes with the previous one. They need to be designed to that the slice better. Currently both of them have odd profiles due to the slicer switching the number of perimeters at the narrow points.
Make the two intermediate wheels, G3 and G5, smaller, by changing the gear ratios around. The point of this is so that the pillars between the front and back of the clock can be moved to make more space for different ratios in the winding gear. Alternatively make pillars which are curved to allow extra space.
Consider changing the period of the pendulum, and the number of teeth on the escapement gear and the seconds wheel so that they are not commensurate (i.e. don't have prime factors in common). This reduces the risk of a specific pair of gear teeth being a problem.
Change the seconds, minutes and hours arrangement that end up at the hands. In prototype 4, the seconds arbor is a 3mm rod, the minutes uses a brass 4mm tube, and the hours uses a printed tube as part of the gear. I'm considering an arrangement where there is a 3mm arbor (or smaller) rigidly fixed into the frame, and each of the seconds, minutes and hours gears has a printed tube, nested on the arbor. It will take more space but might overcome the extra friction I think I saw when the seconds wheel was rigidly fixed to the arbor. Other options might work here.
Make the spacers have stricter tolerances. You want some endshake on each gear, but they have become too slack as I've made the tolerances gradually looser.