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




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

About: I'm in love with electronics.

    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.


      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 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.

      If you have any questions about this project email me. I will try to answer your questions as quickly as possible

      Step 1: Overview of the Project

      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.

      Step 2: ​Assembly Hints

      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.

      Step 3: PCB Overview and Circuit Diagram

      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.

      Step 4: 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.

      Step 5: Diodes and IC Socket

      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.

      Step 6: Electrolytic Capacitors

      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.

      Step 7: Ceramic Capacitors

      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.

      Step 8: ​10K Resistors

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


      Mount them vertically as in the picture.

      Step 9: 68K Resistors

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


      Mount them vertically as in the picture.

      Step 10: 220K Resistors

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


      Mount them vertically as in the picture.

      Step 11: 100K Resistors

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


      Mount them vertically as in the picture.

      Step 12: Remaining Resistors

      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)

      Step 13: Arduino Headers

      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.

      Step 14: Power Transistors

      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!

      Step 15: NPN Transistors

      Mount the BC547B transistors

      T1 … T13

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

      Step 16: PNP Transistors

      Mount the BC557B transistors

      T14 … T25

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

      Step 17: Tube Backlighting LEDs (optional)

      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.

      Step 18: VFD Tube Mounting

      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.

      Step 19: Final Test

      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.

      Step 20: Acrylic Enclosure (optional)

      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.

      Step 21: Software

      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.


      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.


      Example animation of tubes, PWM animation of LEDs.

      Clocks Contest

      Participated in the
      Clocks Contest

      3 People Made This Project!


      • Block Code Contest

        Block Code Contest
      • Organization Challenge

        Organization Challenge
      • Baking Contest

        Baking Contest



      2 years ago on Introduction

      I have built this and managed to get the demo working, but when I try the code with the RTC and Temp using a DS1307 tiny RTC module, I can only display the temp and not the time using the supplied code. What am I doing wrong? I know the RTC is working correctly over I2C as I have check it using test code.


      Reply 2 years ago

      You will need to set the time from serial monitor. After that it will work with no problems


      Reply 2 years ago

      Yes so I understand that part, when I run the serial monitor. It reports back the data from the Temp Sensor. I then enter the required time using the format T XXXXXX , X being the numbers required to set the time according to the website.

      Is there something wrong with that or am I'm missing another command.


      Reply 2 years ago

      You can do it also using S followed by: year month date hour minute seconds. For example S 2020 07 06 22 59 15 and of course send it by enter


      Reply 2 years ago

      Hmm, well I have no idea why it's not recording the time update following the instructions. It's almost like the code is not reading any time entries entered via the serial port. I will try it on another PC to make sure it's not something setup on my PC.


      Reply 2 years ago

      Worked out the problem. I didn't realize you needed both a 12V power source and USB connection attached at the same time to update the RTC. I don't think this was mentioned anywhere in the setup notes. As soon as I did that, bingo, it updated the time using the T command.


      Reply 2 years ago

      That's true. It's not mentioned anywhere. So I will add it


      2 years ago

      Can anyone tell me 1) Is there a newer revision? 2) Where can I get the tubes? I don't have much $$ so I need them as inexpensive as I can. It is my childhood dream to make one of these clocks or voltmeter..... 3) Can I get the PCB from where you ordered it from, so I don't need to upload all the stuff myself? Thank you very much for a great step by step instructions with lots of details! Stay healthy all of you!


      Reply 2 years ago

      It would be best to check the board's creator for the newest version and not someone who is trying to capitalize on the their work. The original website is here; You can also google "Axiris IV-3 Shield" for reviews and more information.

      The IV-3 and IV-6 are dirt cheap on eBay. Right now there is a set of six IV-6s for $5.50 plus $8 shipping from the Ukraine. The top search for "IV-3 VFD" lists 6 for $4.90.

      Search ebay for "IV-6 VFD", or "IV-3 VFD". You can also search for IV-3 or IV-6 "Nixie", but strictly speaking, the Nixie is a different technology.

      Good luck.


      Reply 2 years ago

      These tubes are pretty inexpensive being small VFD (most people go for the nixie tubes). Think ~2$ each. The best to get them is straight from the motherlands they come from via e bay and they are often sold in sets of 6. Ideally you would find so called "NOS" or "New Old Stuck". which means they have never been used before and often well kept.


      Reply 2 years ago

      Thank you very much for a quick reply!
      When I was looking for NIXIE-TUBES they are expensive, somewhere $26-$40 per tube, so if you find any in the $2 per tube, please let me know - or anyone else out there.


      Reply 2 years ago

      (Sorry late) That sounds like the IN-18 nixie tubes. They are large and in charge, which also makes them popular and thus expensive. Either that or you where looking at a set as it is common for nixies to be sold in sets of 4/6. always double check this!

      For cheaper Neon Nixie tubes you gotta look at alternatives. Here are a few suggestions:
      IN-12 (Very common top facing, like 3$), IN-8 (18's little brother, ~10 each), Z570M (Famous for it's red coating,9$), IN-17 (12's itty bitty sibling for tiny clocks, 4$).

      Meanwhile the VFD family the IV- series as used here. They aren't as popular as Nixie so you can find nearly any of them for pretty low prices!

      (These are prices when having them shipped out of the ukraine/siberia)


      Reply 2 years ago

      Thank you very much!!!


      Reply 2 years ago

      The newest version is here
      The tubes I desolder from old Russian frequency generator
      I've provided a link to pcbway where I ordered the PCB and make you a link where you can directly make a order without uploading nothing


      Reply 2 years ago

      Thanks again! You are fast and I love that!


      2 years ago

      At first it was difficult, but it turned out fantastic! Respect to the author!


      Reply 2 years ago

      Oh I didn't expect that. Thank you for being kind


      Reply 2 years ago

      I need your shipping address. And can you pay for shipping?