Shield for Arduino From Old Russian VFD Tubes: Clock, Thermometer, Volt Meter...

by kirilkirov01 in Circuits > Clocks

24885 Views, 131 Favorites, 0 Comments

Shield for Arduino From Old Russian VFD Tubes: Clock, Thermometer, Volt Meter...

20200419_172033_1.jpg
20200419_172151_1.jpg
20200419_172222_1.jpg
Page_3_Image_1.png
VFD Shield for Arduino: Clock, Thermometer, Volt Meter

This project took almost half a year to complete. I cannot describe how much work went into this project. Doing this project alone would take me forever so I had some help from my friends. Here you can see our work compiled in one very long instructable.

Features of this project:

  • Compatible only with Arduino UNO boards
  • Drives four IV-3/ IV-3a/ IV-6 VFD tubes. Those tubes are very power efficient, even are more efficient than Nixie, and look pretty cool. Energy efficiency is almost equal to an LED matrix. I think they look better than nixie.
  • Power supply 12V DC + 5V DC via Arduino board; a stabilized 12V supply is required
  • Enclosure design (CAD files) optional
  • possible applications: clock, thermometer, voltmeter, counter, scoreboard, ...
  • multiple Arduino example sketches available

I know that the text in this instructable is very long but please try to read and watch every text and photo here. Some photos are not great but this is everything I can do. I know I'm not the best photographer.

This project was originally posted in axiris but I modified and explained a lot of small things without them you will be asking yourself what has gone wrong.

Downloads

Supplies


You can see the count of every part, but I recommend you to print Part List.pdf to use it for a shopping list and later for soldering the parts on PCB. I've bought everything from local stores or desoldered it from non-working devices, but if you cant do just like I did, you can order the parts from Aliexpress or Amazon or another store.

Carbon Film Resistors 1/4W 5% Aliexpress link that has every resistor that you will need in this list

  • 1x 510 Ω
  • 2x 1K Ω
  • 1x 2K7 Ω
  • 1x 3K9 Ω
  • 13x 10K Ω
  • 12x 68K Ω
  • 12x 100K Ω
  • 12x 220K Ω

Ceramic/ MKT/ MKM Capacitors

Electrolytic Semiconductors

Discrete Semiconductors

Integrated Circuits

  • ICM7555 timer IC (must be CMOS version, do not use a standard 555 !) Aliexpress link

Connectors and Diverse Parts

If you want to make a clock you can use the optional battery-backed RTC DS1307, but if you want to make it smart use an esp8266. You can use the big esp8266 or the small esp8266-01, but I recommend using the small for the clock to look better. If you want to make it even smarter combine esp8266 with a 1-Wire sensor. The sketch supports DS1820, DS18B20, DS18S20, and DS1822. Temperature is displayed every minute.

Overview of the Project

20200217_014339.jpg
Page_3_Image_1.png

This Arduino shield is capable of driving 4x Russian IV-3, IV-3a or IV-6 seven-segment VFD tubes. 4x 3mm LEDs provide background lighting for the tubes. The design is completely based on through-hole components, no SMD components were used. As such, the PCB can easily be assembled by anyone who has some soldering experience. Also, the components used are cheap and easily available. As this was designed as a more educational, easy to build project it is not the best possible solution to drive these VFD tubes from a technical point of view. Instead of the BC547 and BC557 transistors, we could have used A2982W source drivers, or we could have replaced the transistors by a Supertex high voltage source driver IC with an internal shift register. Unfortunately, these may be hard to get and come very often in SMD packages.

Assembly Hints

20200420_210618.jpg

This instructable PCB is designed for someone who has advanced experience with assembling electronics. If you believe that it is too complicated for your skill level please do not try to assemble it or ask a friend to make it for you.

Take your time - this kit should take 2-3 hours to complete if uninterrupted or more. I make it for less than 2 hours, but I'm with more than 2 years of everyday experience in soldering.

Ensure your work area is well lit (daylight preferred), clean and tidy.

Assemble the board in the order as stated in the instructions here - read and understand each step before you perform each operation. Because after a mistake there is almost no turning back.

It is assumed that you understand that semiconductors (diodes, ICs, transistors) or electrolytic capacitors are polarized components. Appropriate markings are silk-screened on the PCB and shown on the board schematic.

The following tools and materials will be required to assemble the PCB:

  • A good quality soldering iron (25-40W) with a small tip (1-2 mm)
  • Wirecutter and pliers
  • Basic multimeter for voltage tests and for identifying the resistors.
  • A magnifying glass to read the small device markings is often helpful.
  • Solder – lead/tin solder is preferred. Lead-free solder, as now required to be used in commercial products in Europe, has a much higher melting point and can be very hard to work with. Do not use any flux or grease.
  • Desoldering wick (braid) can be useful if you accidentally create solder bridges between adjacent solder joints.

Power supply

The IV-3/IV-3a/IV-6 VFD shield needs the Arduino to be powered from a 12 V DC power supply to function properly. Use only a regulated switching power adapter capable of delivering 12 V DC / 300 mA.

Do not use an unregulated "transformer style" wall adapter. These deliver easily more than 16 V with a light load and will cause damage to the IV-3 VFD shield as the 12 V supply voltage is quite critical. You must be very careful not to reverse the polarity of the power supply or you are risking to kill the Arduino, VFD shield, power supply and possibly starting a fire or electrocute yourself.

Put some insulating tape on the metal shield of the USB connector of your Arduino before connecting the IV-3 shield to avoid solder connections touching the metal and being shorted.

PCB Overview and Circuit Diagram

Page_5_Image_1.png
Page_5_Image_2.png
Page_6_Image_1.png
20200420_054753.jpg

You can order the PCB from PCBWay. If you are a new user USE THIS LINK TO GET 5$ FOR FREE AFTER YOUR REGISTRATION after that your first 5 PCBs are free and you only need to pay for the delivery which is around 6 USD with China air post. As you can see in the last photo the shield is the same size as my debit card from Revolut. Photos shown here for some people may look like they are trying to read Chinese.

Assembly

Finally, we got to the assembly progress... In the following steps 5-19, we are going to assemble the PCB step by step. It may be helpful to keep the PCB overview and the circuit diagram at hand during assembly by printing it or leaving it on your PC while soldering. After every step, carefully compare your PCB with the pictures here and check for errors and solder faults.

Diodes and IC Socket

Page_7_Image_2.png

Mount the following diodes:

  • D1: 1N400x or equivalent
  • D2...D5: 1N5819 schottky diode

Watch the polarity and be careful to mount the right diode in the right place.

Solder D2 and D3 from the component side and trim the wires on the solder side as short as possible as they are positioned above the metal USB connector shielding of the Arduino.

Mount the 8 pole IC socket for IC1. Do not place IC1 in the socket at this stage.

Electrolytic Capacitors

Page_7_Image_1.png

Mount the following electrolytic capacitors:

  • C5...C8: 22µF 50V radial electrolytic capacitor
  • C9, C10: 100µF 25V radial capacitor
  • Bend the leads 90 degrees and mount the capacitors flush to the PCB. Watch the polarity. I know I'm getting you annoyed with this Watch the polarity already, but it's very important.

It is recommended to solder C6, C7 and C8 from the component side and to trim the leads as short as possible on the solder side as they are positioned above the metal shield of the Arduino USB connector.

Ceramic Capacitors

Page_8_Image_3.png

Its no problem to use another shape its important to be the same value and material for these capacitors.

Mount the following ceramic capacitors:

  • C1: 2n2
  • C2, C3: 8n2 or 22nF (*)
  • C4: 100n

Please note that the values of C1...C3 are somewhat critical as C1 defines together with R5 the operating frequency of the voltage tripler and C2, C3 define the filament current for the VFD tubes.

(*) mount 8n2 for IV-3 and IV-3a tubes, mount 22nF for IV-6 tubes.

10K Resistors

Page_8_Image_2.png

Mount the 10 kilo-ohm resistors (brown – black – orange – gold)

R6...R18

Mount them vertically as in the picture.

68K Resistors

Page_8_Image_1.png

Mount the 68 kilo-ohm resistors (blue-grey – orange-gold)

R19...R30

Mount them vertically as in the picture.

220K Resistors

Page_9_Image_3.png

Mount the 220 kilo-ohm resistors (red – red – yellow – gold)

R43...R54

Mount them vertically as in the picture.

100K Resistors

Page_9_Image_2.png

Mount the 100 kilo-ohm resistors (brown – black – yellow – gold)

R31...R42

Mount them vertically as in the picture.

Remaining Resistors

Page_9_Image_1.png

Mount the remaining resistors:

  • R1: 510 ohm (green – brown – brown – gold)
  • R2, R3: 1 kilo-ohm (brown – black – red – gold). You may need to adjust the value depending on the tube backlight LEDs you plan to use.
  • R4: 2.7 kilo-ohm (red – violet – red – gold)
  • R5: 3.9 kilo-ohm (orange – white – red – gold)

Arduino Headers

Page_10_Image_3.png

Mount the Arduino stackable headers. The headers will not really be used to stack other Arduino shields on top of this shield but they help to determine the mounting height of several components and the VFD tubes.

Push the headers through the PCB and plug them in your Arduino. Turn upside down and solder 1-2 pins for each connector. So the connector spacing will be correct. Remove the shield from the Arduino and solder the remaining pins.

Power Transistors

Page_10_Image_2.png

Mount the following transistors:

  • T26: BC639
  • T27: BC640

Do not replace these transistors with standard types. Mount them so that the top of their housings is lower than the Arduino headers.

Insert IC1 ICM7555 (*) into its socket and plug the shield into an Arduino and apply power. The voltage measured between the cathode of D5 and the Arduino ground should be around 32...34V. I didn't do this because I'm sure in me, but you better do it.

Use a CMOS version (ICM7555, TLC555 LMC555, …), do not use a standard 555 timer!

NPN Transistors

Page_10_Image_1.png

Mount the BC547B transistors

T1 … T13

Mount them so that the top of their housings stays below (or is flush with) the Arduino headers.

PNP Transistors

Page_11_Image_3.png

Mount the BC557B transistors

T14 … T25

Mount them so that the top of their housings stays below (or is flush with) the Arduino headers.

Tube Backlighting LEDs (optional)

Page_11_Image_1.png
Page_11_Image_2.png

You can use 3mm standard LEDs in any color for tube backlighting purposes, even RGB color fading LEDs.

Bend the leads of the LEDs so that the LEDs fit in the 3mm holes underneath the VFD tubes, then solder them to the PCB. Pay attention to polarity. The short lead of the LED (cathode) is soldered to the pad closest to the LED name silk-screen marking (D6 … D9).

It may be necessary to insulate the leads of D9 to avoid them touching the ISP connector on the Arduino.

The LEDs are connected to a PWM output on the Arduino and can be dimmed using the software. This will however not work properly when you use RGB color fading LEDs.

If it is easier for you, it is also possible to mount the LEDs after the VFD tubes are soldered in place. Due to the mounting technique, it is also easy to replace the LEDs later on if you decide you would like to have another backlighting color.

VFD Tube Mounting

Page_12_Image_3.png
Page_12_Image_1.png

This is one of the most important steps of building your shield.

Guide the tube wires gently through their respective holes on the PCB. Make sure the short lead on the tubes goes through the hole without solder pad.

Now the digits should face the front of the PCB.

If you have difficulties getting the wires of the tubes through the holes you can cut them as a "spiral" so you can move 1 wire at a time through the holes. Pay attention to make the shortest wire not too short as we are going to mount the tubes with some distance from the PCB.

Once the tubes are in place align them more or less by hand. The bottom of the tubes should be approximately 1-2 mm below the top of the Arduino stackable headers.

If you are using the optional acrylic enclosure, you can use the top and bottom plates as an alignment tool.

Solder two leads of each tube to the PCB. Once this is done, you can still adjust the tube alignment by reheating the solder joints.

If you are satisfied with the tube alignment, you can finally solder the remaining tube wires in place and trim the excess leads with a small wire cutter.

Do not try to change the alignment of a tube after it is soldered in place as this may cause mechanical stress and may lead to a defective tube.

Final Test

Page_13_Image_3.png
Page_13_Image_2.png

Finally the test... Upload the demo sketch to the Arduino and disconnect the Arduino from the computer's USB port.

Plug the finished VFD shield on top of the Arduino. Make sure no metal part of the Arduino touches the solder joints of the VFD shield.

Connect the 12 V DC power adapter to the Arduino power connector and turn the power on.

After a few seconds the VFD tubes should start counting from 0 to 9 in an endless loop. The decimal separator dots of the VFD tubes should form a binary 4 bit counter.

Tube backlighting should dim every few seconds and turn on again.

Check the tube filament wires carefully. They should glow very faintly with a deep red color. If they are glowing too much, lower the values of C2 and C3. On the other hand, if the filament barely glows and the digits are too dim, you can experiment by increasing the values for C2 and C3.

Acrylic Enclosure (optional)

Page_13_Image_1.png

The First 2 files are CAD files. I recommend you opening "Enclosure for Shield User Manual for on-screen viewing.pdf" and watching the steps for Acrylic enclosure from there.

Software

Arduino serial.png

Every library that you will need is in the comments at the beginning of every sketch.

Direct Access

Provides direct access to the tubes and LEDs. You can turn on and off individual segments and dots in the tubes, and control a PWM duty cycle for illuminating the LEDs.

Ordinary clock

Just clock that is set up thru serial monitor and nothing too fancy, but after around 1 day the clock is back with around 1 minute

Smart Clock.

  • Added support for optional battery-backed DS1307 RTC.
  • Added support to work only with esp8266 thru RX and TX
  • Added displaying of temperature in Celsius degrees when a 1-Wire sensor is connected. The sketch supports DS18B20, DS18S20, and DS1822. Temperature is displayed every minute.

For the esp8266 to work with the clock you will need to flash the esp and make a special bridge shown here how to put in deep sleep mode to save power. Also will need to set up the WIFI credentials and the time zone from the code on the esp. If you don't have experience with esp8266 read here to learn more about installation the board in Arduino IDE.

Thermometer

Works with 1-Wire temperature sensors. The program supports DS1820(different wiring, check for it on the internet), DS18B20, DS18S20, and DS1822.

Volt Meter

This program displays voltage measured on pin A5.

Demonstration

Example animation of tubes, PWM animation of LEDs.