Perpetual Calendar With Automatic Day of the Week
by shiura in Living > Organizing
43 Views, 0 Favorites, 0 Comments
Perpetual Calendar With Automatic Day of the Week





This calendar automatically keeps the day of the week correct for one year, from March 1st to the end of February of the following year. Unlike the incremental mechanism found in perpetual calendars of fancy mechanical watches, any drum can be rotated freely in either direction (CW and CCW) without limitation. This makes it convenient to check the day of the week for any specific date.
The calendar features three planetary gear sets that maintain the relationships among the four drums. You will need a few screws (M2 flat head tapping screws) in addition to the 3D-printed parts. While most parts can be printed without supports, a few components do require them.
You can scale this calendar up or down. The original size is slightly bulky, but it can be reduced with well-tuned FDM printers. Most examples shown in the image are 75% scaled versions. I confirmed that a 60% scaled version also works well assembled with 2mm tapping screws.
This new version (ver. 2) now supports multi-color 3D printers. It also features a click-stop mechanism, making it much easier to align the characters in a straight line. Additionally, the gear design has been improved, resulting in reduced backlash.
Currently three versions are provided,
- Month - Date - Day order, in English
- Day - Date - Month order, in English (use STL files with suffix "-uk")
- Month - Date - Day order, in Japanese (use STL files with suffix "-jp")
If you build this calendar, please share your work by posting it as "I Made It" here to encourage others!
Supplies

- 6mm - 8mm M2 flat head self tapping screws. You can find them at online stores such as Amazon or AliExpress.
- Lubricant compatible to plastic. Silicone grease is recommended.
- (for shrunk version) 1.5mm and 2mm drill bits.
Print All Parts






- Print all parts with supplied posture.
- Support structure is not needed except "main-axis.stl".
- Print 4 copies of "click-spring-4copies.stl".
- To decrease the backlash, use the STL files with suffix "-tight". The square-shaped keys are very tight, but if your printer is sufficiently precise, it can be inserted to the holes of the sun gears.
For multi-color printers
- Colored parts (STL files with suffix "-letter" and "-paint") are sharing the same coordinates as the base parts. Load paired parts at once, then give different colors for letters and index marks.
For single-color printers
- Do not use the STL files with suffix "-letter" and "-paint". In this case, letters are just debossed, but still visible.
- It is better to use support structure to print sharp letters.
Downloads
Assemble


Please take a look at the assembly guide video above.
Learn




This calendar consists of three planetary gear sets that maintain the relationships between four drums. In general, a planetary gear mechanism has three ways of input/output rotation angles: the sun gear, the ring gear, and the planetary gear carrier. By connecting planetary gears sequentially, we can combine multiple angles (essentially forming a first-order polynomial) to the output shaft.
The gear ratio is carefully chosen so that the absolute gear ratio from each input drum (month, upper and lower digits of the date) to the "day of the week" drum is consistently 2. This results in 14 positions (slots) on each input drum. This configuration is essential for accommodating 10 indices (lower date digit) or 12 indices (months) on the drum. Since the gear ratio is an integer (2 or -2), all drums can rotate endlessly without breaking the correct relationships.
Next, I will explain how the indices are arranged. The modulus (remainder) of the day offset plays a key role in this arrangement. For the lower digit of the date drum, digits are placed sequentially, and the four vacant slots are filled with the counterparts of mod 7. The upper digit (denoted as i) is arranged using the remainder of 10i / 14. This results in four possible values (0, 1, 2, and 3) arranged at 8 positions, leaving six vacant slots. To prevent confusion between 0 and a blank slot, I intentionally marked the vacant slots with an "x".
For the month drum, the offset of the first day from March 1st is calculated. The remainder of the offset divided by 14 is used to arrange the months. This configuration leaves two vacant slots, which are filled with the counterpart values. To address the leap year issue, the sequence starts from March and ends in February. Fortunately, there is no overlapping of the modulus of three months, which make the arrangement possible.
Reverse Order Version

Reversed order version (Day - Date - Month) is added.
- Please use the following models (STL files with suffix "-uk") instead.
- Actually, the calendar mechanism is reversed, left-to-right. The screw to adjust the day of the week is on the left. Assemble this calendar from left to right.
Japanese Version (日本語版)







月に数字を、また曜日に「月火水木金土日」を配置した日本向けバージョンがあります。
- 以下のファイルを、月と曜日の円筒の代わりに用いてください。
- これらは幅が狭いので、土台にも foot-short.stl を使用してください。
日本語版の動画や図版もここに掲載しておきます。Step 3 の日本語訳は以下のとおりです。
- このカレンダーは、4つのドラム間の関係を維持するために、3つの遊星歯車セットで構成されています。一般に、遊星歯車機構には、入力/出力回転角度の方法が3つあります。すなわち、サンギア(太陽歯車)、リングギア(外歯車)、およびプラネタリーギアキャリア(遊星ギアキャリア)です。遊星歯車を順次接続することで、複数の角度(つまり、一次多項式の形)を出力軸に加えることができます。
- ギア比は慎重に選択されており、各入力ドラム(「月」、日付の上位桁および下位桁)から「曜日」ドラムまでの絶対ギア比は一貫して2です。この結果、各入力ドラムには14個のポジション(スロット)が生じます。この配置は、10個の数字(日付の下位の桁)または12個の「月」をドラムに収めるために不可欠です。ギア比が整数(2または-2)であるため、すべてのドラムは正しく関係が維持されたまま無限に回転できます。
- 次に、インデックスの配置方法を説明します。日付のオフセットの剰余が、この配置における鍵となります。日付ドラムの下位桁については、各桁を順次配置し、空いている4つのスロットにはmod 7の対応する値を埋めます。上位桁(iと表記)は、10i / 14 の剰余を用いて配置します。この結果、4つの値(0, 1, 2, 3)が8箇所に配置され、6つの空きスロットが生じます。0と空白を混同しないように、空きスロットには「x」マークを付けました。
- 月ドラムについては、3月1日からの初日オフセットを計算し、そのオフセットを14で割った剰余を使って月を配置します。この構成では、空いている2つのスロットを反対側の月で埋めます。うるう年の問題を解決するために、3月から始まり、2月で終わります。幸運なことに、3つの月の剰余が重複することはないため、配置が可能になります。