Universal VFO 10 KHz-160 MHz With Retro Analog Scale (variable Frequency Oscillator)

by mircemk in Circuits > Arduino

2158 Views, 6 Favorites, 0 Comments

Universal VFO 10 KHz-160 MHz With Retro Analog Scale (variable Frequency Oscillator)

APH naslov2.jpg

   A variable frequency oscillator (VFO) is a necessary component in any tunable radio transmitter or receiver. This time I will show you how to make a VFO that covers the range from 100 KHz to 160 MHz and uses a minimum number of components.

Supplies

SL.1.jpg


  • ESP32 Development Board
  • Si5351a clock generator module
  • Rotary Encoder with Push-Button
  • Through Hole Resistor, 2.2 kohm
  • Pushbutton Switch, Momentary

Description

Universal VFO 10 KHz-160 MHz with Retro Analog Scale (variable frequency oscillator)

   A variable frequency oscillator (VFO) is an oscillator whose frequency can be tuned (i.e., varied) over some range. It is a necessary component in any tunable radio transmitter or receiver, and controls the frequency to which the radio is tuned. This time I will show you how to make a VFO that covers the range from 100 KHz to 160 MHz and uses a minimum number of components.

 The selected frequency is displayed on a beautifully designed retro scale in the style of ham radios from the previous century. About 2 years ago, In one of my previous videos (https://www.youtube.com/watch?v=DSxK0jwMZw4&t=535s) I made a small shortwave radio receiver with this VFO, but the current version has additional functions for changing the tuning step, as well as storing frequencies. These options drastically simplify the operation of the device.

Sources, PCB

PCBway big.png

 Otherwise, the device was originally designed by Japanese radio amateur JF3HZB, and the version that I present to you is modified by DJ7OO. I got the code from my friend Branko Zupan (http://users.triera.net/zupanbra/), on whose page you can find many projects and useful tips, especially in the field of Radio technology. For this project he has designed a custom PCB as well as an add-on Direct Conversion Receiver with the famous NE612 mixer IC. Also a different version of the PCB for this project is on DJ7OO's site. 

  So, if you want to make a PCB for this project, or for any other electronic project, PCBway is a great choice for you. PCBway is one of the most experienced PCB manufacturing company in China in field of PCB prototype and fabrication. They have a large online community where you can find a Open Source projects, and you can also share your project there. From my personal experience I can tell you that on this community you can find many useful projects with alredy designed PCBs, from where you can place an order directly.


Principle of Operation

SL.2.jpg
IMG_20221107_205000.jpg
IMG_20221106_134847.jpg
IMG_20221106_150349.jpg
IMG_20221106_210015.jpg
IMG_20221106_220328.jpg
IMG_20221106_221016.jpg
IMG_20221106_225901.jpg
IMG_20221107_204943.jpg
IMG_20221107_211001.jpg

   Now let's see how the device works in reality.  Immediately after switching on, the start frequency that is previously defined in the code appears on the screen. Turning the rotary encoder changes the frequency. The tuning step, and thus the scale rotation speed, is controlled by the two buttons, and ranges from 10 Hertz to 1 Megahertz. With the the rotary encoder button we memorize the current frequency, and after the next power-on of the device, it will be the initial frequency. The oscillator also has the ability to memorize previously defined frequencies in the code, that we can call up with the MEM button. 

For the first few megahertz the signal has an approximately rectangular shape. Then by increasing the frequency, the shape of the signal becomes sinusoidal. Even at the highest frequencies, the shape is almost triangular and the amplitude of the signal decreases significantly.


Schematic, Code

Schematic.jpg

To compile the code you need to put all files in one folder named "VFO_CTRL_V5" and open file "VFO_CTRL_V5.ino" in Arduino Ide and compile