Nixie-Clock schematics and PCB-layout

As I said in the previous post, I now provide the Nixie-Clock schematics and the PCB layout. All the CAD work was done using the free gEDA-suite.

In the schematics each of the twelve pins of each tube is a part on its own. The part T411 means tube 4, pin 11.

All the gEDA CAD project files and the schematics can be downloaded within the archive nixie_schematic_pcb.zip. I provide all the files under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/.

As I also said in the last post, I had some issues with the design as I provide it here. If you want to rebuild the design or do your own design based on this one, you have the chance to correct the issues.

The main issue is that the 32 kHz crystal connected to the ATtiny84 cannot be used. It was intended to be used as a precision clock to count the time if no DCF77 signal can be received. But if the controller clock speed is 32 kHz, the process of shifting the display data into the shift-registers is so slow, that you can see the shifting on the tubes. A workaround in a new design would be to use latched shift-registers, where the data can be latched to the outputs of the shift-registers after the complete shifting process is already finished. Since the current design was built using ordinary shift-registers, I had to run the controller with its internal 8 MHz clock, so that the shifting process is not visible. Another and even better solution would be to use a controller which runs with a fast internal clock, but has a timer module which is clocked by the external 32 kHz precision crystal.

The problem with using the controller’s internal 8 Mhz oscillator is, that if the DCF77 time signal can no longer be received, the clock’s accuracy is very bad. So if you are somewhere outside (or inside europe) where you can’t receive the DCF77 signal at all, the clock might be not good for you. Since at my home I can receive the DCF signal, I did not implement a mechanism to set the time manually. If the time is received once via the DCF receiver, the time is set, even if the signal is lost afterwards (but then the accuracy is bad). There is a header where three buttons can be connected and be used to implement a functionality like setting the clock manually.

I think in a not-that-far-away-future project, I will make a complete redesign of the clock using a 32-bit ARM Cortex-M0 or M3 processor. It would be a great project to get in touch with a 32-bit architecture. The plan is to use more surface mount components to shrink the PCB and to include a LAN or WIFI module so the clock can make use of a or act as a time-server and to implement the ability to use the GPS time from an external GPS receiver.

Update (2013-05-06): 

Another solution to avoid the slow display output when using the 32 kHz crystal would be to use a MCU which runs on its own fast clock for a fast display update, but has the ability to clock a timer-peripheral with the external 32 kHz crystal to count the time.