I'm registered for nearly seven years now but only have followed this site as a reader.
In the past I built some tube clock kits, but is much more satisfying to have my own project where I have the freedom to implement what I really need and in a way I like it.
The main problem with the VFD, nixie and other kits I bought is that either features are missing (like DCF77 support or cathode poisening prevention which nearly killed a set of IN-18 tubes), more or less severe firmware bugs including crashes when selecting certain settings or design flaws often in the high voltage part of the circuitry e. g. causing some penetrant chirping noise in one case.
So it was time to start my own project. As I earn my daily bread by working as a hardware and software engineer in a small office it was an easy decision to use modern parts so that I could use our inhouse SMD assembly line to produce my PCBs. Furthermore I decided not use the cheapest possible parts but to make a professional design, especially regarding the power supply where as mentioned before bad and cheap design decisions caused me some headaches before.
I took the chance to collect good ideas from the other projects and add my own ones that I sorely missed in the other projects. As it is my first project I decided to use VFDs as the much lower voltages (compared to nixie tubes or even the thyratrons) are easier to handle.
I decided to use the direct driven DT1704 tubes as just at that time I could get my hands on a box of these. Compared to modern VFD tubes like the Russian IV-11 or similar types they have a very special look due to the missing gate and back plate. As colon tubes I use the IV-15 indicator tube but have planned fitting options to also support the DM160 (both are not compatible). For brightness control I use one of these beautiful old CdS resistors, the ORP-52 which also comes in a glass tube. I further decided to do without any additional LED lighting because it would be stylistic inconsistency.
The clock is built around the STM32F042 controller (now swapped for an STM32F072 which has more flash) which has quite a lot of peripherals and is comfortable to program and debug.
As mentioned earlier my clock combines some nice ideas I saw in other projects plus some - maybe unique - features:
The display driver can dim the tubes in 256 levels, furthermore the display driver offers a variable crossfade effect for all segments. Dimming and crossfading are done at frequencies high enough that no flicker is visible. The display driver is able to display text on the 7-segment tubes as good as possible. The display manager above the driver implements a display stack which makes it easy to prioritize the outputs of the various clients like time display, temperature display, menu, user input, error messages etc. Longer output is scrolled (with variable speed), depending on the active client the crossfade speed can vary (e. g. to reduce the crossfade effect when displaying the menu where text often is scrolled).
The display manager distinguishes a night mode, a day mode and an off mode. In night and day modes the brightness can be controlled automatically or can be set to a fixed value, the colon tube display can be chosen individually (blinking, static, AM/PM display). In night mode a threshold can be set below which the tubes are completely turned off. And finally the off mode exactly does that - turning the tubes off. Times and week days can be chosen for these modes.
Normally time is displayed, automatic display of date and/or temperature every minute can be configured. There is an error manager informing about failures like low battery or sensor failures. Above that a hierarchic menu can be displayed and above that user inputs are done (the leaf level of the menu).
As mentioned the clock supports an LDR for brightness control (some preconfigured types like the ORP-52 directly can be selected, a generic configuration by entering the R10 and the Gamma values is possible). For temperature measurement two sensors are used, an onboard LM75 and an analog sensor IC in a TO-92 case which is less sensitive to the power dissipation of the board and tubes.
The clock uses a piezo beeper and is capable to output sound in varying volume. In theory it could play digital audio if there is enough memory.
The temperature measurement can be calibrated for thermal capacity and thermal resistance as well as the dynamic behaviour of tube heating and the segment driver which is necessary to compensate the temperature rise caused by the power dissipation of the buck and boost converters, the heating of the tubes and the segments.
I decided to implement four keys for navigation, Menu/OK, Back, Previous and Next which makes navigation through the hierarchical menu easy.
The clock has a fully functional USB port and implements a full USB stack which is necessary when powered by a computer to request the necessary power. Furthermore it is possible to configure the clock through USB. Needless to say that the clock uses an officially assigned PID.
The clock is mainly intended to work with a DCF-77 receiver and implements a Mini-DIN connector compatible with that of the Blue Dream so the corresponding receivers can be used. It also supports a wake output at this connector. The DCF input does not need any configuration as the decoding algorithm does not depend on a given polarity of the signal.
These connectors are somewhat special - LocoNet and XPressNet are the most common model railroad bus systems, both (XPressNet only through an extension by OpenDCC) support so called fast clock messages, so the clock can be used as an accelerated model railroad clock. This part of the software is not yet ready because I do not own a command station yet supporting a fast clock.
Just a few keywords what can be configured:
DST, Time, Date, language, key click, time zone, six alarms (week days, sound, aux output are configurable), 24h mode, date format, leading zero, day mode, night mode, off mode, crossfade effects in menu (and above) and below, scroll speed, auto-brightness (configured for three different ambient brightness levels)
One time alarm and count down alarm are planned.
There is an info menu giving various information like firmware version, USB and battery voltages, ambient brightness, display brightness and some debug and setup helpers like the raw temperature output or a DCF status.
I have attached some photos I quickly shot for a friend of mine. The colon tubes and the LDR were not yet mounted.
Currently I'm doing a slight rework of the PCB and will then build a small quantity of these.
not yet - I also wanted to take some better fotos but was quite busy with other things than my hobbies over the last weeks.
I'm really curious if others are interested in this clock because:
Manufacturing 4 layer PCBs is cost-effcient from 5+
As I don't have the tools the top shell of the case will be made of wood by my local carpenter, especially regarding the paintwork it makes not much difference if manufacturing one case or a small series
The bottom shell will be made of brushed stainless steel, same problem here
Hi Torsten, very nice! What sort of price point are you looking at? Any chance that you'll support the Russian IV tubes? I have literally shed loads of them, and there are not that many VFD clocks around at the moment. I think they'll get "cool" in a few years.
I cannot tell the target price in detail yet. For my prototype the PCB was by way the most expensive part. The electronics is about 60€ plus taxes (plus some through hole parts missing in my pick&place list). Although I like to support "local" (= German or at least European) manufacturers I plan to order a small batch of PCBs at e. g. Fineline (who is working with Chinese partners) or directly at a Chinese manufacturer specialized on prototypes like iTead because I would get the PCBs for ~30% of what I would have to pay for a German/European product. So I would expect that for a PCB as a kit (SMD parts already soldered, through hole parts would have to be soldered by the buyer) a realistic price tag would be around 120€..150€.
For the case parts I don't have precise price tags yet.
My major goal is not to earn my living with this project but to get a reasonable price which is only possible when producing at least a small batch of these. The setup costs for the machines are the critical point here.
Regarding the Russian VFDs - I also have a lot of different tubes at home, so after the Tung-Sol/Sylvania project I definitely will try out some design with these.
But I think the old Tung-Sol DT1704x / Sylvania 8843 tubes look somewhat special because they have no gate and no supporting structure (or in case of the DT1704C/D a transparent MICA sheet).
I'm also thinking about a project for Dalibor's Nixies where I'm waiting for my delivery. I was thinking about buying his complete clock, but I'm not a great fan of the showcase design and I don't want to depend on an external web service provider to configure my clock.
I would be glad to buy one of your clocks and make a review!
I've been doing some work on a tiny device that emulates GPS signals - at the scale it is very small compared to your clock, but if I can help with anything, let me know!
I assume you will need a ready to use clock with case and tubes.
I still have very few changes on my desk, one last thing I want to change is an emergency power supply through the battery to enable an alarm with a failed main power supply. This requires the use of larger batteries (AAA or at least AAAA) to keep the battery impedance low because the STM32 series has no means to power on the CPU core alone from the backup battery.
Over the last four weeks my project was postponed because one of my best friends died. But I think I will be ready to order PCBs by the end of September.
I cannot make any promises regarding GPS because the input is filtered (for use of time signal receivers) and is not connected to the serial line because both of them are used for the fast clock implementation.
But I found out that there are 60kHz time services e. g. in Great Britain or the USA, so if you know of decoders for these that can be used without restrictions I could check if I could integrate these.