June 13, 2010:
Revised: v2.0

ZL2PD DDS Variable Frequency Oscillator (VFO)

This HF DDS-based VFO with its compact graphics-capable LCD display was  published in Silicon Chip, the Australian-based electronics magazine in March 2008. It uses an Analog Devices AD9850 DDS IC which is controlled by an Atmel AT89C4051 microprocessor. All of the software can be downloaded from here for free (Go to the bottom of this page)
No schematics are shown here. Copyright is held by Silicon Chip.


This Direct Digital Synthesis (DDS) HF VFO is designed for use with amateur radio equipment in the 1.8 to 30 MHz high frequency (HF) bands. It uses an Atmel 89C4051 8051-family microprocessor to drive an Analog Devices AD9850 DDS chip and a compact graphics display. The display uses the monochrome LCD which is used in entry-level Nokia 3310 cellular phones. The software does not use any special features of the Atmel chip and it can be readily modified for use with other 8051 microprocessors.

The LCD displays a digital readout of the DDS VFO frequency to a resolution of 10 Hz as well as an analog-type display which scrolls left and right as the tuning control is rotated in either direction. The VFO supports tuning at slow, medium and fast rates, two independent VFOs (VFO A and VFO B), a fixed transmit/receive frequency offset to cater for the usual IF offset requirements, and receiver incremental tuning (RIT). The fine tuning range of the RIT control is +/- 5 kHz. A 'lock' button is also provided to prevent accidental tuning of the VFO.

The original article can be found in the relevant issue of Silicon Chip, and is available for download on the
Silicon Chip website, for a modest cost.

This is the transceiver in which I use this DDS VFO (Right click with your mouse to get a closer view)

What's on this Page?

This webpage contains software for the DDS VFO published in Silicon Chip magazine. It also contains some answers to some frequently asked questions. There is also a link provided at the foot of this page to a PDF file which provides some additional information on modifications for other IF offsets.

At the present time, I am not able to display the circuit diagram or PCB layouts. Copyright for the circuit schematic, PCB layout and related material is held by Silicon Chip and can be obtained from their website.


Software for the DDS VFO may be downloaded here. (See below) The free software here includes HEX files (for direct programming of the microprocessor), and the full source code, the latter for those wanting to see how the software was written or for those wanting to modify the software for specific applications.

Some additional project related information, such as a few extra photos and drawings, have also been provided here, with the permission of the editor of Silicon Chip magazine, to help those interested in building the VFO.


Q1. How - precisely - did you mount your VFO on the front panel?

The photo below provides another (top-down) view of how I mounted the prototype VFO in my transceiver. While other methods no doubt exist, this approach worked really well for me, and it permitted me to 'fine tune' the spacing of the buttons from the plastic panel. Right click on the photo to get a better view.

View from above the transceiver showing the DDS VFO mounted behind the black plastic front panel of the enclosure (The other transceiver modules have not yet been fitted in the enclosure)

Q2. How did you cut the Nokia LCD display away from the keyboard/display assembly?

Figure 2 shows how I trimmed my display. I've done this quite a few times now. Use a sharp knife, a pair of sharp sidecutters and take your time. The oddly shaped solid black lines on the left hand side of the figure which show where to trim actually connect convenient holes in the plastic. These make it easier to trim it to the required size. I also used a small modeller's hacksaw to make the straight cut on the right hand side.

Just make small cuts, or trim small pieces of plastic from the display, little by little. Take care.

The Nokia LCD is supplied with this plastic keyboard assembly and an integral speaker. Toss the speaker in your spare parts bin. The black
lines show the desired trim lines.

Q3. How did you make the optical encoder?

This uses parts from an old computer mouse. Look for the ones with the rubber ball inside. These contain an optical encoder wheel (a wheel with tiny slots in it) along with a plastic shaft.

This type of mouse uses two infra-red LED/detector pairs to detect movement. Each detector contains two IR light-sensitive transistors. One LED/detector pair is required for the DDS optical encoder. (Sorry - I don't have a method to use the increasingly common optical mouse. However, many of these have a centre scroll wheel and this often uses an infra-red encoder which can also be used for the DDS optical encoder)

Mount these parts so the IR light from the LED passes through the slots onto the detector. The detector requires two resistors and the IR LED requires one resistor. The resistors are shown in the circuit diagram in the original article and are mounted on the DDS VFO PCB.        

This photo shows the optical encoder I built for the DDS VFO. The optocoupler and wheel from the mouse were mounted on a scrap of brass and a connector from the same mouse was used for the cable connection.

Note: Most web browsers will allow you to see these photos in more detail if you click on the photos with the right hand button of your mouse.

Q4. Can you modify the software for me? I want to use this for a different application
        but I can't write 8051 software.
Q5. Can you build one of these DDS VFOs for me?

No, sorry. I have a full time day job and I am working on some new designs in my spare time. The source code available here should allow experienced programmers to do any software modifications required. There are kit builders who advertise in Silicon Chip who may be able to help you if you cannot build this VFO yourself.

Q6. What assembler should I use to modify the source code?

Almost any 8051 assembler can be used. I used the free Metalink 8051 assembler which can be downloaded from the web. You can find it via Google.
Q7. Do you have a kit of parts available?

No, sorry. PCBs are available from the usual suppliers, and parts can be obtained from usual component sources. The article provides more details. In particular, check out the advertisers in Silicon Chip magazine.

Q8. Can you send me a copy of the circuit diagram and PCB layout?

No, sorry. Copyright for the circuit schematic, PCB layout and related material is held by Silicon Chip magazine. However, PCB artwork can be downloaded from the magazine's website at no cost.    

Q9. My receiver has an IF of 9 MHz. What do I need to do to use your DDS VFO with my receiver?

See the PDF file at the foot of this page which describes DDS VFO modifications. It has all of the details you need.

Files Available for (Free) Downloading

Intel HEX file - Clicking on this link will allow you to download a zipped HEX format file (4 kB) for programming an 89C4051 chip for use in this VFO    

Source Code file - Clicking on this link will allow you to download a zipped Metalink compatible ASCII TEXT format source file (19 kB) for this VFO. This will allow the code to be modified by experienced 8051 programmers who may wish to add more features.    

DDS VFO Modifications - Clicking on this link will allow you to download a PDF file describing how to modify the DDS VFO for other IF frequencies and for transceivers which require a VFO with an IF offset applied during both transmit and receive modes    

Listing - Click here to download a zipped text file containing a listing of the assembled code. Some folks have asked for this.    

Spreadsheet- Clicking on this link will allow you to download a zipped file containing an Excel spreadsheet I wrote to help calculate the various 32 bit words needed for different IFs

Want to go back to the main page? Click here to return directly.