by George Heron, N2APB

(See new notes mid-page regarding source available in MPASM format!)

Here's a wonderfully-simple project first done by Curtis Preuss, WB2V in the July '97 issue of QEX. The article was entitled "Building a Direct Digital Synthesis VFO" and was geared as a straightforward starting point for building and evaluating a DDS VFO based on the Analog Devices AD9850 chip.

Curtis used the PIC1654 microcontroller, but this chip is somewhat difficult to use in that it's a UV-erasable device and the developer needs to put it into a UV lamp eraser when making any changes to the program. Also for some reason the 1654 doesn't fall into the same "class" of PICs that are programmable by some of the (cheap) programmers on the market.

Well, long story short, I ported the 1654 software to work on the 16C84 ... the nice, newer EEPROM-based PIC that you can quickly and electrically erase again and again. The 16C84 is electrically compatible with the 1654, so you can use it in the same circuit board without modifications. Additionally, the programmer for the 16C84 is of the newer, easier, cheaper kind on the market in the Jameco and DigiKey catalogs for under $80.

NEWS FLASH !!! -- Both Curtis and I used the SPASM assembler mnemonics (8051-like instructions) in this project. Well, Craig Johnson, AA0ZZ recently ported these SPASM instructions over to the MPASM instructions that are more "native" to all the Microchip app notes as well as being used in the Easy PIC'n books! Now you can start with either version for your 16F84-based DDS VFO project! Click here to see what Craig has to say about his port to MPASM, and you can see/download his software source code at the bottom of this page along with my original SPASM code.

Here's the block diagram of the project:

The reasons I'm playing around with this are because the pcb is available (from FAR Circuits) and cheap ($7), and the AD9850 is worth experimenting with as a VFO in some QRP projects (small, fast, not too $$). BTW, you also get a copy of the QEX article when you buy the pcb from FAR.

The surface mount DDS device was not easy to solder in place, but with some deep steadying breaths, a magnifying glass and some Solder Wick, I was able to get it in place.

The circuit board uses SMD chip capacitors and inductors in the low pass filter output stage, which are a bit easier to solder in place but not as plentiful in ye ole junk box. So you'd be advised to place an order for these parts from Digikey.

Here's the software you can use as a starting point for your own experimentation with the PIC16C84 and DDS VFO. I made register and architectural modifications to the WB2V code necessary to get it working on the 16C84, and only some minor formatting changes to better suit my taste for readability. Otherwise, the program is the same as described in Curtis' QEX article.

You can view the software files by left-clicking on the links below. You may also download the files by right-clicking on the links and then selecting "Save as..." to get the file onto your local system.

dds_vfo2.txt -- source code, compiled with EPIC tools (SPASM)

dds_vfo4.txt -- source code, compiled with Microchip tools (MPASM)

dds_vfo2.hex -- binary code suitable for directly programming the 16C84

This project is a fun and easy one ... you should give it a try. It's a pretty simple next-step of plugging this VFO into your Sierra, OHR, or whatever QRP rig, thus giving you a stable and precisely controlled VFO down to 1 Hertz resolution! It also can serve as a precise RF signal source for the bench.


PS: Thanks to Curtis Preuss WB2V for the original project and code in QEX.

(Go back to Ham-Pic resource page)

Last Modified: Nov 2, 1998