Borduhr 8 DAYS Chronograph
Preface
I am coding this clock just out of fun and because I admire beautiful clocks. Instead of buying a vintage dashboard clock, I decided to rather create my own one. The clock face design is fictive as I did not intended to copy an existing clock. However, I was well inspired by some famous aircraft clock models mostly from the (pre-, post- and) Second World War.
Description
Measured on several platforms, the CPU-Load of Borduhr should remain below 2% – but mostly even below 1%. Another goal is to keep it scalable (resizing the window). This gave me a big headache but the result was worth it in my opinion. Why did I name this clock «BORDUHR – 8 DAYS»? Because I just could not think of a better, short name yet. «Borduhr» is the german term for «aircraft dashboard clock». «8 DAYS» is shown just for nostalgic reason and for fun.
Note that the label «SWISS MADE» of my «Borduhr» is correct indeed – I am living in the «clock-country» Switzerland and try to continue the art of designing clocks. It is just that this one is made out of pure software instead of gear wheels.
Installation
Pre-Requirements
Kindly note that there is no installation as such needed of running “Borduhr”. As it is coded in Tcl/Tk, of course one has to install the interpreter first.
- Linux: For most distributions, it is a matter of:
sudo apt install tcl && sudo apt install tk - Windows: go to www.irontcl.com and follow the installation instructions.
- Sourcecode: Or get the sourcecode of Tcl/Tk and compile on your own. This is no big deal and should be straight forward under Linux.
Unzip and execute Borduhr
Then, unzip borduhr into your chosen destination.
- Linux:
chmod +x ./borduhr.tcl(if the file is not yet executable)- run
./borduhr.tclin a terminal shell or make a desktop launcher
- Windows: double-click on borduhr and select
wish.exeas the program, that could run this code.
Settings
Kindly note, that there is no such thing as a full fledged settings window wizzard or
whatever. You have to edit the settings.conf manually. However, the benefit is
that it is highly configurable without big difficulties. Nevertheless, to take a backup of this
file might be a good idea.
To configure the night mode, you have to edit settings-uv.conf
manually.
I don’t want to go into much detail but enlighten a few important details.
Syntax
As you may have noticed, the syntax of the settingsfile is simply TCL. Typos like missing quotes or braces will most probable result in a error.
Windowmanager
initialClocksizeis setting up the size of your clock-window. Depending on your monitor resolution and your taste, this might be a value as small as200x200up to1000x1000or even higher values.initialClockPositiondefines a fixed window-position, e.g.+200+300. If set to"", an apropriate window-position is determined by your window-manager.
Font Size
fontFactor: in general, all text you can see on the clockface is relative to the window-size. The advantage of this is that one has only to twiddle once to set the ideal font size.
Why is this fontFactor needed at all?
Short answer is: To be flexible enough to handle the fonts of your configuration.
Long answer: It was a bitter experience that prompted me to take this path. Still, I am not fully satisfied as it is kind of a workaround.
To show you an overview, why this is fontFactor is used… The real font size you
see on the clockface is depending on:
- the defined fonts in
settings.conf - Operating System
- Windows has its own font rendering engine
- Linux has its own font rendering engines
- Monitor
- HiDPI monitors are still a bit new and font scaling is not always handled correct due
to:
- Operating System in use (again!)
- different Linux distribution with different dpi-handling
- detection of the amount of dots per inch by Tcl/Tk. My monitor was detected as 96dpi instead of 157dpi for example, depending on the Tcl/Tk version I used (OK with 9.0, wrong with 8.6)
- HiDPI monitors are still a bit new and font scaling is not always handled correct due
to:
- chosen text zoom factor for readability
- Windows does that
- Linux distributions do that
After all, no matter how much effort I put into automatically determining the optimum font size, the font size was not displayed satisfactorily on one or other test platform. The only consolation for me is that toolkits other than Tcl/Tk struggle with this behaviour as well.
Colors
- you might use color names with
quotes around such as e.g.
"lightgreen" - you can define colors as a hex triplet E.g.
"#333"or a -
six digit hex number as used in Web colors. E.g.
#aadd99
Menu icons
The menu images are in fact PNG images of 16x16 pixels converted into a big base64 format
string. These strings can be used directly in Tcl/Tk. I think that this is a very neat way to
include many small icons in the sourcecode! Under Linux, execute base64
<image.png> to convert images into base64.
Functions
The red pushbutton (red pusher) on bottom right is used for triggering the stopwatch and works as follows:
- first click: start the chronograph, indicating a red square in the hours subdial
- second click: stop the chronograph and show the estimated time, indicating a red-white square in the hours subdial
- third click: clear the chronograph and set back the hands to zero, indicating a white square in the hours subdial
The black pushbutton button on bottom left is used as follows:
- single click to open the popup menu (F10):
- Day mode (F2): This mode switches the clock to daylight condition again.
- Night mode (F3): This mode switches the clock to fluorescent colors. This was realized with a UV lamp (black-light headlamp), that illuminates the cockpit instruments from behind. This caused a reaction within the radium dials and as a result the dials and gauges lit up. This would not to give away the position of the fighters in night operations.
- Stopwatch (F4) (same as hitting the red pushbutton (described above)
- Alarm Time (F5)
- Countdown (F6)
- Help (F1): That’s the one you are currently reading
- About (Shift-F1): self explaining dialog
- Quit (Ctrl-Q): Close this clock. You do not need it :)
Features
- Platform independant. I test it regularly with:
- Linux (Debian Bookworm) on x86
- Windows 11 on x86
- Linux Wine emulator (emulating Windows 10)
- others platforms (such as MACOSX) may be supported in future.
- works at least with TCL/TK 8.5.6 and 9.0
- Library independent. No other dependencies to e.g. tcllib or other (binary) libraries (*.dll, *.so) are required.
- High readability with red second hand and green minute- and hours hand.
- integrated 12-hours chronometer complication
- hours subdial: So called complication located on top below number 12. Can time periods of up to 12 hours.
- minutes subdial: Complication located next to number 9. Can time periods of up to 60 minutes.
- seconds subdial: Complication located next to number 3. Can time periods of up to 60 seconds.
- Day name indicator: Weekday complication located above number 7.
- Calendar subdial: integrated analog day/date complication located on bottom above number
6.
- long orange arrow-hand is for the day
- short blue arrow-hand is for the month
- AM / PM complication located below number 1
- AM: from Latin ante meridiem, translating to “before midday”
- PM: from Latin post meridiem, translating to “after midday”
- Annual complication: Full year display located above number 5
- Colors and fonts are highly configurable over
settings.conf. However, the design itself cannot be configured unless the sourcecode is altered. - Window-position of the clock is configurable:
- either leave that task to the windowmanager itself or
- set a fix window-position
- Resizable! No fixed window sizes – this makes it even more flexible.
- Day/night mode. After switching, the clock face is glowing as if lighted with a ultraviolet lamp.
Specialties
I have never liked the fact that the big second hand is part of the chronograph function instead of the smaller one (on my wristwatch) – so please forgive me but I’ve exchanged those functions. In my opinion, this design makes it easy to distinguish the main watch from the stopwatch.
I thought that it would be a cool function to add not only a long day-hand but also a smaller month hand. You will get used to it soon. Still, I don’t know how to display the year in a cooler analog way. Maybe I can find a solution while having a look at the perpetual watches that are around.
Note that the numbers containing a 1 on the clockface is in fact a (sans-serif) I as lots of clock of that time. Due to the fact that I could not find such a font and fonts in general cannot be loaded into Tcl/Tk without installing it, I decided to handle it in this way. Hope that this is pleasing you anyways as vintage dashboard clocks mostly use this type of 1.
Precision
Please note that this application is as precise as your system is. Under Linux, as long as NTP synchronisation is activated, the precision is in other words as accurate as it could be with this technology. See also: timesyncd service. Don’t care too much if you are using a modern distribution as Debian or Ubuntu. All is setup perfectly and by default already in most cases.
Limitations and trade-offs
- The drawings are built on the native and powerful canvas widget. Unfortunately, it does not do antialiasing to smoothen the drawings (except for fonts). On my 4K display, this is not a big issue, but on displays with lower resolutions, it can be disturbing. Nevertheless, I chose my colorsetting wisely to workaround it. Hopefully, the Tcl/Tk coredevelopers are going to change that soon.
- No measuring of fractional seconds for the chronometer. As far as I tested, this would be noticeable in a much higher CPU load.
- Just one tick per second, no smooth movement of the second hand. (compare to the mechanical masterpieces that move the second hand eight or even ten times a second!)
- Bold fonts are not supported yet (Do you really need this?)
- Loading a gazillion of themes with custom clockfaces are not supported.
- Round window without borders and titlebar is not supported as Tcl/Tk does not support transparent windows yet. Despite that, I detest round windows.
Thanks
My thanks goes to:
- John Ousterhout et all for the invention and the development of Tcl/Tk
- John Gruber, the inventor of markdown. His simple syntax definitions made it possible, that I found the motivation to document this piece of software.
- John MacFarlane, the developer of Pandoc to convert the README into html.
- the developers of wkhtml2pdf, so the Html-file can be converted to a PDF
Feature requests?
For any kind of feature you would like to see or bug reporting or thank you’s:
History and Research
(Skip this chapter if you think history is useless!)
Just for fun again, I did a little research on analog dashboard clocks for airplanes. The following list of manufacturers and clock models does not claim to be exhaustive or perfect. It is intended to provide interested reader with small bits of information on historical aircraft dashboard clocks and its makers. My additional comments are reflecting just some oppinions about the clocks.
There are still countless connections that I don’t understand yet: Which caliber was originally designed in which watch manufactory and used by which other companies in their own housings really? The more I research on the internet, the more I get confused… Please send me a correction of all errors as well as missed clock brands and models. I should buy and read a good book about these dashboard clocks!
All those clocks are masterpieces in engineering and design on its own. Some of them are still ticking today without having been revised since then. The readability of the clocks with the mostly deep black dial and the snow white numerals is unsurpassed. Allmost all of them are labeled 8 DAYS, indicating that they could run for 8 days after winding it fully up.
Allion a Versailles
The model type of the Allion a Versailles dashboard clock is unknown to me. It was built at the end of world war one. Not much is known of theses watches, but it is marked that the caliber is imported from Switzerland. Installed in the airplane Voisin VIII.
Borletti
I do not know much of this clock either except it was built in 1939 in Italy and the model is 2354
Breguet
I know only two models of the manufacturere Breguet. It is a beautifully designed watch with a 15 minutes stopwatch.
- Type 11 (caliber 551 by Valjoux)
- Type 12 (caliber 555 by Valjoux)
Breitling Wakmann
In 1947, Breitling entered into a joint venture with Wakmann. Wakmann was importing and co-branding the cockpit clocks for military and civilian aircrafts. To name a few: Beechcraft, KLM, Cessna, Piper, Lockheed, USAF, Vickers.
- A-11, A11-ET
- 618-12-10, 618-24-10 (12 hours scale or 24h scale as used in the army)
- 624
- 633
- 635
- 640
Carley & Clemence
Seems to be a british company, producing a clock that looks the same as the Jaeger LeCoultre Chronoflite but is using a completely different Swiss movement. The MK IIIA was installed in aircrafts such as the Spitfire.
Dodane
It is stated that Dodane used the caliber 5 of Valjoux for the model Type 11
Elgin
Elgin was a National US watch company from 1864 to 1968. See also at Hamilton for more information about the joint venture for the model 37500
- AC-34898
- AN-5743-1
- E-37500 (See Hamilton E-37500 for my comment)
Hamilton
The watch company Hamilton and Elgin entered a joint venture to produce the E-37500.
- E-37500. This is a fantastic design with lots of complications. A masterpiece of engineering!
- CDIA
- A-13A
Jaeger LeCoultre
Jaeger LeCoultre created a clock called Chronoflite that is apparently the origin of the Russian AChS1 (АЧС-1). The tiny and long descriptions on the clock face are not to my taste. However it might be useful to read the instructions directly on the clock face.
- A-10 Chronoflite
Junghans and Kienzle
Obviously, Junghans and Kienzle made the same dashboard clocks for the german army. Speciality: A small, moveable red arrow behind the glass serves as a marker, e.g. for the start time. What a nice and useful feature. Those clocks are resembling the Breguet models. Are the calibers related to Valjoux 551 and 555 somehow?
- FL. 22600
- FL. 23885 (BO-UK 1)
- FL. 23886 (installed in the Messerschmitt Bf109 for example)
Leonidas
Originally, the manufactory Leonidas is from St. Imier but merged with Heuer in 1964. Beautiful designed dashboard clocks!
- 429
- 1-665
- many more
LIP
Lip is a french watch and clock company. Too large numerals for my taste used on their model Typ 14 and a rather bold complication for the stopwatch.
Longines
Longines is also a Swiss manufacturer founded in Imier. Albert Wittnauer introduced these clocks to America. Apart from that, he also sold altimeters, turn and bank indicators and compasses.
- 2966378 (used in France during WW1)
- 102 (20281)
- 2081
- A-6 and A-11 (Wittnauer using a caliber 63)
- AN5743-L2.(Wittnauer using a Longines caliber A-11) A simple and classic dashboard clock design.
Mathey Tissot
Mathey Tissot is a swiss watch maker of Neuchâtel. He is not associated with Tissot, another Swiss watchmaking firm, as I assumed first.
- Type 11 (caliber 551 by Valjoux)
- Type 12 (caliber 555 by Valjoux)
Molnija
The AChS1 (АЧС-1) from Molnija is also known as the Russian MIG watch, although it was installed on many different aircrafts. Its caliber and design is based on the Jaeger LeCoultre clocks. What a cool design this is!
- AChS1 (АЧС-1)
- 59ChP
- 60ChP
- 81322
Lemania
Lemania is another swiss manufacturer that produced watches and clocks (including the movements) for or the British military and other armed forces from the 1940s to the 1970s.
- NL6520 (This incredible model has a complication with a hand to show if it’s AM or PM. How well is this done!)
- Nero 7510
Omega
The well known Swiss company Omega has built clocks for the German Company Askania SA (Berlin) during the 1930s.
- FL22601, caliber 59 D8 from Omega. Equiped with a red arrow to remember the flighttime.
Revue Thommen
Revue Thommen is another well known company that is still producing watches and clocks. The following models are fully analog:
- Type A-11
- Type B-13
Sinn
The German Company Sinn created also clocks for use in aviation.
- NaBo 16, caliber 55 from Valjoux
- NaBo 17, caliber 551 from Valjoux used e.g. for Starfighter F-104, Breguet Atlantic, Bölkow Bo 105
- Nabo 25/8 (Lemania 7566 caliber)
- NaBo 56 (caliber B17 from Revue Thommen
Smith
The English company Smith was producing dashboard clocks using calibers that are made by Jaeger Lecoultre. Beautiful design of the dial!
- Mk II
- Mk IIIA
Seikosha (精工舎)
The company Seikosha, now known as Seiko created watches for airplanes too. Those are very rare nowadays.
- Type 92
- Type 93
- Type 100
Waltham
The American company Waltham had buildt several clocks for airplanes.
- XA
- AN 5743
- Type A 13A MIL-C-6499
Zenith
The well known Swiss company Zenith built wonderful dashboard clocks
- EFAP
- Type 20
- and many more I’ve never seen.