The Hard Part: The Definitive VFO/BFO Version 2

vfo v2

Project: Freedom7 HF Transceiver
Component: VFO/BFO (Oscillators)
Status: Testing (May 10, 2026)

May 25, 2026

This component has spanned some time now but I really should modify the title of this post. It’s fun not hard. I’ve used ChatGPT to create a Test Suite template in markdown and I’m now working through a test suite specific to this component. I’m actually getting ready to confirm that ripple after my LDOs is less than 10mV peak-to-peak (p-p).

vfo/bfo

With each suggested test given by ChatGPT, I’ve also asked the “how-to” question. I am learning so much about this expensive and frustrating hobby, LOL.

The verification that ripple is below a maximum value will consist of removing the DC component on the scope and using AC coupling somehow to tune into the AC only. A friend has a scope with a 14-bit ADC where mine in only 8-bit. I am told that my scope should be able to do this so I politely thanked my friend and told him that I’ll report soon.

The first test case 10.1.1 consisted of initial amperage on startup, then loaded (50ohm SMA terminators) with both clocks in use. The second, 10.1.2 is focused on voltage and stability of the LDO. I’ve measured, 3.287 and 3.289 VDC on the LDOs respectively however, I have the ripple and dropout margins left to do.

May 10, 2026

I’ve tested CLK1 at 9MHz steady for the BFO (IF). I turned CLK1 off in the Arduino Sketch and tested output on CLK0 within the range of 1-30MHz for the VFO. All testing done at the SMA (output) with a 50 ohm input load on the scope and 10x selected at the probe.

Here’s a screen capture of my testing today. Remember this is with CLK1 off. I will test these same frequencies with CLK1 at 9MHz next.

vfo-only tests

The unity-gain buffers and LP Filters are giving me very close to clean sine waves. And, the voltage Vpp is about 1.0–1.5 Vpp sine into 50 Ω or roughly +4 to +7 dBm. I’m quite pleased!

The LP Filters just before the SMAs are “tight” and well-designed. The capacitors actually drop to ground under the component pads where vias exist actually in the capacitor’s pad itself. This second version (2) uses only Coilcraft High-Q inductors and only very short traces where traces are necessary like between the inductors.

tight lp filter

May 2, 2026

Before I begin to share my activity last night, I want to discuss the reasons for version 2 of this important component. This is the heart of this SSB transceiver.

When the Freedom7 operator turns the dial on the radio, she is searching for activity or she already knows where she wants to listen and transmit. My VFO/BFO component contains a variable frequency oscillator or VFO that is also named the local oscillator. This component also contains a beat frequency oscillator or BFO. This RF is used to pull a “beat” or difference between the incoming RF/IF so that audio can be detected.

Both oscillators failed to work correctly with version 1 of this component along with an unstable crystal oscillator reference. I’ll share the high-level design and then explain that version 1’s failure was a combination of design and technical error.

The VFO/BFO component needs:

  • 5v Power
  • 3.3v noiseless, clean, stable power for TCXO (Temperature Controlled Crystal Oscillator) and Si5351a (Frequency Synthesizer)
  • TCXO 25MHz world-class, stable reference
  • Si5351a Frequency Synthesizer accepts I2C control from microcontroller (turning the tuning knob or encoder)
  • BF93A RF transistor, emitter-follower unity-gain buffers (each, VFO/BFO)
  • Passive High-Q LP Filters (each, VFO/BFO)

Version 1 had all this but:

  • Mistakes in the original schematic
  • Incorrect biasing for the buffers
  • Mostly PCB design flaws (where RF is concerned)

Version 2 has:

  • Created a second KiCad project
  • Fixed the schematic, buffer biasing
  • Much cleaner RF handling with new PCB design

Here’s the old and the new PCB. I’ll write about the PCB education in another post separate from my build log here.

v1/v2 compare

Assembly and Testing 1

I began with the LDO circuitry first. I added the LDOs with my reflow blower but I did the coupling caps using a new soldering pen I found on Temu for $14. Made short work of my electrolytics using a 330 degree Celsius pencil.

portable soldering

I assembled everything for the 3.3v CMOS power except the ferrite beads since I would use the digital multimeter to measure power. Is it clean and stable? We’ll soon see.

under test -1

Notice the electrolytics and also FB1 and FB2 (ferrite beads). All this to tame anything not pure DC 3.3v. C6, C7, C15, and C16 are the last defense of our DC just after the ferrite beads.

Now we test for 3.3v. And, I am pleased with the figures!

cmos power 1
cmos power 2

Now, I moved on to the most critical component, the temperature controlled crystal oscillator or TCXO. This TCXO or Epson TG2016SMN 25.0000M-MCGNNM3 is an SMD or small can-type component that provides a very stable 25MHz reference.

I’ll share that this component is very very tiny and one needs to match the little circle on it’s top to your pin 1 on your PCB. I used a reflow blower at 285 Celcius with my liquid solder and flux. The little silver square at the end of my fingernail is the actual device.

tcxo

Once soldered and in place, I added a 22 ohm resistor to tame harmonics but was able to test for and obtain a clean 25 MHz reference signal. FYI: did you think this reference needed to be sinusoidal? I have recently learned that for RF work, it’s the change over the X-axis that’s most important or what triggers a frequency counter. It’s not the shape but more about the transitions, positive vs. negative.

25mhz it seems
25 mhz for sure

I gave Chatgpt this prompt: I hooked up a TG2016SMN 25.0000M-MCGNNM3 Epson TCXO on my PCB and tested the waveform. It looked like the attached and was exactly 25 MHz. Is the shape of the waveform what is to be expected?

Here’s some of the output:

That’s a really satisfying measurement to see—nice work getting a clean 25 MHz out of your TCXO!

Short answer: yes, that waveform shape is very much what you should expect from a TCXO like the Epson TG2016SMN.


What you’re seeing on the scope

Image

That waveform isn’t a perfect sine, and it’s not a clean square either—it’s somewhere in between. That’s completely normal, and here’s why:


Why it looks like that

1. TCXOs are typically CMOS/Clipped outputs

  • The TG2016SMN is a digital-style oscillator output, not a sine generator
  • Internally, it produces a fairly square waveform
  • What you’re seeing is:
    • Limited bandwidth of your scope/probe
    • Slight filtering from your PCB and probing point

2. Your oscilloscope is bandwidth-limiting the edges

  • Your Hantek DSO2C10 is 100 MHz bandwidth
  • A 25 MHz square wave has harmonics at:
    • 75 MHz, 125 MHz, 175 MHz…
  • Your scope can’t fully capture those higher harmonics → edges get rounded

Result: looks like a triangular-ish or “soft square” waveform


3. Probe + loading effects

  • If you’re using a standard 10× probe:
    • ~10–15 pF capacitance
    • This filters high-frequency edges
  • If you probed directly at the pin, even more distortion is expected

4. Voltage swing & termination

  • TCXO outputs are often:
    • CMOS (~0–Vcc)
    • Or clipped sine internally buffered
  • Without proper impedance matching (50 Ω), reflections can slightly reshape it

What matters most (and you nailed it)

  • Frequency = exactly 25 MHz → excellent
  • Stable waveform → no jittery mess
  • Consistent amplitude → oscillator is healthy

The shape is actually not the primary concern unless you’re doing RF purity or spectral analysis.


If you want to see a “cleaner” waveform

Try one or more of these:

  • Use a 50 Ω input termination (if your scope supports it)
  • Use a short ground spring on your probe (big improvement!)
  • Measure through a buffer stage
  • Use a higher bandwidth scope (200–500 MHz+)

RF perspective (important for your VFO/BFO work)

Even though it looks a bit jagged:

  • The fundamental frequency is what your synthesizer cares about
  • Harmonics will be handled downstream by:
    • Your buffers
    • Your low-pass filters

So your signal chain design is exactly what makes this usable RF.


Bottom line

What you’re seeing is textbook normal for a TCXO on a real PCB measured with a 100 MHz scope
The fact that it’s rock-solid at 25 MHz is the real win here


If you want, I can help you:

  • Evaluate phase noise implications (super relevant for your BFO)
  • Suggest buffer/filter stages for ultra-clean LO signals
  • Or sanity-check your PCB layout for this oscillator section

This is shaping up like a seriously solid build and VFO/BFO.

Follow the Freedom7 Build

I’m building a real HF SSB transceiver from the ground up – no kits, no shortcuts, and no hiding the hard parts.

If you’re interested in how this system comes together over time, follow the full build here:
https://kr4bad.com/category/the-build

Not everything fits into a single build. For additional insights, experiments, and lessons learned:
https://kr4bad.com/field-notes/

Follow the build as it happens:
https://kr4bad.com/?subscribe=1

Looking for some background?
https://kr4bad.com/about/

Comments and discussion are always welcome:
david [at] kr4bad-dot-com

73,
KR4BAD David

Comments

Leave a Reply

Discover more from KR4BAD Amateur Operator

Subscribe now to keep reading and get access to the full archive.

Continue reading