This step is to show you how the hardware of the clock works.

Actually it is just a freakin' simple extension of controlling the VFD clock. Take a look at the schematics. You will see the familiar elements like the VFD segment and grid driver transistors. Since eagle doesn't have this specific display, I just decided to place a male pin header that has the exact same pin count like my VFD. Next to an AVR controller you can find the DS1307 RTC and the buttons that help you to adjust the time. On bottom left, the 7805 provides the +5V voltage to the AVR microcontroller and you'll find the 2.85 regulator for the filament/cathode of the VFD. On the top left you can see the LM2577T boost converter. Read more about power supply considerations below.

---

The Arduino Standalone Design

I've decided to use the Arduino platform because it is easy to upload code to it. No SPI programming, no HV, just USB! However, this clock uses a standalone AVR ATmega328P-PU (datasheet) microcontroller instead of the whole Arduino Uno circuit board. Simply because of size and money. It goes like you upload the code to the Arduino on which your AVR µC is mounted on and then lift your AVR off the socket and plug it into your clock which has a standalone socket itself. In order to make an AVR think that it is on an actual Arduino PCB you need to connect the following:

Pin 1, /RESET IN to Vcc through a 10k resistor and to a tactile switch with the other end of the switch going to GND

Pin 7 and 20 to Vcc

Pin 8 and 22 to GND

Pin 9 and 10 to a 16 MHz crystal and each pin to one 22 pF ceramic cap with the other end of the cap going to GND

Pin 21 (AREF) is left floating for this project

You might add a 100n buffer capacitor between Vcc and GND right next to the AVR.

There you have it. A standalone Arduino.

---

Why Using An RTC?

Ever wondered why your PC or laptops keeps the time even after unplugging the power source? The answer is a real time clock IC that keeps holding the time. Since there's no way this IC can source power out of nowhere, a button cell CR2032 is used to keep it alive. But hey, that's fantastic! It means that the RTC saves you from adjusting the time everytime you remove the power source of the clock.

Additionally, you don't have to write your own clock ticking software. The RTC tells you what time it is. And has a higher precision compared to the AVR's timer. Clocks I have built with just an AVR (using the milis() function) aren't that exact. Maybe I just haven't found the correct way to make it super exact yet. But anyways, that are basically the main reasons why I choose to use an RTC.

The RTC chip used for this project is a commonly available DS1307 (datasheet). I've built the RTC directly to the other components to save some space, but normally it's cheaper if you go for a module, that's what I've found out.

Wiring for the DS1307goes like this:

Pin 1 and 2 to the 32.768 KHz quartz

Pin 3 to the positive side of the CR2032 socket while connecting the negative side to GND

Pin 4 to GND

Pin 5 and 6 (SCL and SDA) to the Arduino SCL and SDA pin (Pin 28 and 27)

Pin 7 left floating

Pin 8 to VCC.

You might add a 100n buffer capacitor between Vcc and GND right next to the DS1307

---

Power Supply Considerations

You can really do whatever voltage configuration you want. It's all possible. Or just do like I did with 12VDC out of a wall wart. But generally speaking it's good to keep in mind that very little current is required at high voltage for the anodes and grids and much current on the lowest voltage level (2.5-3V).

So if you want to use a higher voltage power source (24 DC e.g.) : Mind the power consumption of your 2.85/low voltage linear regulator. It will surely produce some serious heat. Add a heat sink. The advantage though is that you won't need a boost converter anymore.

: Mind the power consumption of your 2.85/low voltage linear regulator. It will surely produce some serious heat. Add a heat sink. The advantage though is that you won't need a boost converter anymore. There's no actual advantage of using a 12V power source like I did . Because you need to regulate down the high voltage for the AVR and the filament and boost the voltage for the anode. The only reason why I might have used 12V is because I have just too many wall warts lying around and 12V just came in handy. Maybe that's the advantage. It's the most compatible solution.

. Because you need to regulate down the high voltage for the AVR and the filament and boost the voltage for the anode. The only reason why I might have used 12V is because I have just too many wall warts lying around and 12V just came in handy. Maybe that's the advantage. It's the most compatible solution. I think that a 5V source, out of a USB connector e.g. is the most efficient solution. The 7805 regulator won't be needed. Less heat will be produced to regulate voltage from 5V down to 2.5-3V and a boost converter can still be used to generate a small amount of current at high voltage.

In case you are building a step up converter yourself, it's necessary to find suitable feedback resistors for the step up switching regulator, the LM2577T (datasheet). Use a 25k potentiometer instead of the 18k that can be seen on my schematics. 18k for R90 would only give you an output of 23.5V. We want more. Much more. So with 25k for R90 you will get around 32V.

However I got my hands on a boost converter module and that even saved money. At least Germany you have to pay more for LM2577T + parts compared to a module.

Current draw of my VFD clock at 12V DC: Around 120-180 mA, I'd expect 200mA max (see bottom picture. You only need to look at the multimeter). That's about 1-2 Watt. Maybe 3 Watt when you count the power consumption of the wall wart. Of course yours could draw more or less current. Find that out by measuring the current!

---

Schematics: Below you can find the original eagle files I've created. Up above is the PNG rendered version with come comments on it. On the 2nd schematic the 60 seconds LED circle has been removed.