Crystal Measuring Adapter (CMA) for NanoVNA

Updated : 26-06-2023.


As a hamradio homebrewer I often use crystals as a frequency source or for building of crystal filters.  Most of the time I buy a large bulk of crystal from the same frequency and  measure the response of the individual crystal  with a improvised adapter which plugs into my QRP-Labs filter adapter for NanoVNA.


Looking at one 16MHz crystal out of a batch of 10. Screenshots taken with my NanoVNA-H4


Reference material 

Looking for more information on measuring crystals I found a few technical PDF's and websites about crystal testing : 

  1. Technical Introduction Crystals - Corning Frequency Control Inc (PDF) - points out IEC444-1 and 2
  2. Crystal Motional Parameters A Comparison of Measurement Approaches - Jack R. Smith K8ZOA (PDF)
  3. Precision VXO for Crystal Characterization & Matching - Jim Kortge K8IQY (website)
  4. Simplified Tools and Methods for Measuring Crystals - Jim Kortge, K8IQY (PDF)
  5. Crystal characterization and crystal filter design An overview of tools and techniques - Nick Kennedy, WA5BDU (PDF)
  6. Measuring crystals through various methods - W2AEW (Youtube) - points out to Jack R. Smith K8ZOA (see above), shownotes can be downloaded.

In general a matching network from 50 ohm to 12.5 ohm and back is used to get the best match. This can be done by using a PI resistor network or by using a 4:1 bifilar transformer. 

A small improvement

Based on that information I made another improvised adapter using 4:1 bifilar wound FT37-43 cores. 


Looking at the same 16MHz crystal with my NanoVNA-H4 i found out that it's showing a much better detailed and deeper response. Little loss on the first peak but more depth in the bottom. 


So using the 4:1 bifilar wound FT37-43 seems to be a good improvement and although the NanoVNA and the NanoVNA H4 don't have super dynamic range it gives a lot of information about the crystal.  

Another step : new design

With this new information and experience with the the improvised adapter and plans to build a new SSB rig which includes a few crystal filters (SSB, CW in 2 band widths), I designed a crystal test adapter for the NanoVNA or any other VNA / spectrum analyzer. Just like like my QRP-Labs filter adapter for NanoVNA, it has build in calibrations support to get the maximum out of it. Also I added  2 attenuation sections because in the document Simplified Tools and Methods for Measuring Crystals, Jim Kortge, K8IQY states that crystal under test should not be driven at a level higher than aprx -10 dBm. And because i don't know what the output power is of my NanoVNA's and other people use big boy toys, I think it's a good idea to add them. 



When the design was ready I ordered a set of prototype PCB's and after 1.5 weeks they got delivered.


I designed a bifilar wound T37 holmer to prevent the toroidal transformers from sitting lose on the PCB and placed all the components for the first prototype. Because at first I couldn't measure the output of my NanoVNA's because of dBM meter being out of order (got a magic smoke moment).  So for starters I placed a 0 ohm bridge in it and once I have a accurate measurement of my NanoVNA output I would place a correct input attenuation on the adapter.  


Looking at the same 16MHz crystal with my NanoVNA-H4 again 5 dB more depth. 


Next steps is to make more measurements to verify the correct working and write a construction / usage manual. When that is all done I will publish the manual including examples of usage of the faseshift and -3dB measurment methode and the final designs on this page. 


As mentioned before the adapter has 2 attenuation sections because crystal should not be overloaded. Luckily the magic smoke from my dBm was just in the power section and could be quickly fixed. So after checking the correct working of the dBm meter I measured the CH0 / S1 output signal of my NanoVNA's around a 16Mhz signal with a 50Khz span. 

  • CH0 output V2 : -6.1 dBm  with the original firmware it can't be use for crystal measurements (see important note regarding NanoVNA V2 below) 
  • CH0 output org : -4.1 dBm  needs at least a 6dB attenuation
  • CH0 output H4 : +6.2 dBm  needs at least a 16dB attenuation
  • CH0 output H : +0.7 dBm  needs at least a 10dB attenuation (thank you Dale KS4NS for measuring and sharing).

If you have a dBm meter and a NanoVNA, please let me know what the output power is around 16Mhz (put the NanoVNA signal genration mode aka. 0Hz span). That way I can make a list of the various outputs.

When you don't have a dBm meter but do have a oscilloscope, you can also measure the output of your NanoVNA. Check out this page.


The image below contains a list of "standard" PI network attenuation resistor values. 



I used this calculator : 

For now I have added a 10dB attenuation on the CH0/S1 of my adapter. I'm going to build another adapter with a 0dB on the input and compare measurements on the same crystal. To see what's the difference in over driving a crystal does (for my H4 I would need a 16dB attenuation for the final adapter). 


Looking at the picture above, I'm thinking : should the short calibration be before or behind the attenuator?  For a 0dB attenuator it wouldn't be a problem, but with any other values . . . . that would be a good question, on which I didn't have the answer.  So I drilled a small hole next to the Load jumper and did the test with both short calibration before the attenuator and after the attenuator. 


The measurement results look like this :  

M1 (10dB Att, calibration before ATT)
RL = 12.5 Ohm
C0 = 3.89 pF
fR = 15996181 Hz
fL = 15995829 Hz
fH = 15996684 Hz
S21 = -2.13 dB
deltaF = 855 Hz
Q = 18708.983625730994
Rm = 6.94773023915719 Ohm
Reff = 31.94773023915719 Ohm
Cm = 0.01664614289678226 pF
Lm = 5.946946418863492 mH
M2 (10dB Att, calibration after ATT)
RL = 12.5 Ohm
C0 = 3.89 pF
fR = 15996177 Hz
fL = 15995825 Hz
fH = 15996684 Hz
S21 = -2.13 dB
deltaF = 859 Hz
Q = 18621.85913853318
Rm = 6.94773023915719 Ohm
Reff = 31.94773023915719 Ohm
Cm = 0.016724027952706343 pF
Lm = 5.919254002477633 mH

There are some minor differences so we put them side to side and calculate the absolute difference and the percentage. The result looks like this : 


With a difference of max 0.5% on deltaF, Q, Cm and Lm (which make sense because they depend on have deltaF in there equation), It seems that calibration before or after doesn't have much impact on the results. So no need for drilling a hole and installing a jumper pin for short calibration or a re-design of the PCB. 

Usage and calculations

To use this adapter you have to find the series resonant frequency of your crystal (from that you can look for the 3rd, 5th etc).
Select a span for example from 100Khz to 30Mhz, enable trace CH1 LOGMAG and CH1 PHASE. Look at the traces there should a peak and a valley on the CH1 LOGMAG trace. 


Use the marker to select the peak and use MARKER - OPERATIONS - CENTER to center the screen. And set the SPAN for 100Khz. You might have to re-center the screen again (you can use the center operation for the marker). 


Set the SPAN to a smaller value 5 Khz or even less to see +45 dgr and - 45 dgr phase shift.


When you have the maximum detail, start a full callibration cycle (Open, Short, Load, Isoln & Thru). The best way to do the Thru calibration is to place the jumper on the XTAL header, that way you calibrate through the 4:1 toroids. 

To calculate delta f, Q, Rm, Reff, Cm and Lm, you need to measure fR (0°), fL (+45°), fH (-45°)S21 LogMag (0°) and have to know the RL (the load one side of the crystal sees, in this adapter that is 12.5 Ohm). When you have these values you can do all the math by hand based on the the calculations shown in the section 2. "Phase Shift Measurement" of  Crystal Motional Parameters A Comparison of Measurement Approaches By Jack R. Smith K8ZOA 11 June 2006.

But this can be automated in a spreadsheet (like this Google sheet I made) or you can use the my "Online FaseShift Crystal calculator" (shown below) in which you only have to enter fR (0°), fL (+45°), fH (-45°)S21 LogMag (0°) and the calculator does the math for you to calculate delta f, Q, Rm, Reff, Cm and Lm. I used the same calculations  as Jack K8ZOA describes in his publication, but output is more human readable.  

For a demonstration of this calculator we take a look at a real measurement shown in the images below.  


When you have found the series resonance frequency and calibrated you NanoVNA, you can take the values for fR (0°)S21 LogMag (0°)  from the screen  : 

fR = 15996181 Hz
S21 Logmag = -2.09


faseshift_fL+45 faseshift_fH-45

In the images above values for fL(+45°)fH(-45°), are can be found : 

fL = 15995825 Hz
fH = 15996688 Hz

We fill in these values in my Online FaseShift Crystal calculator as shown below and it will calculate  delta f, Q, Rm, Reff, Cm and Lm for us and shows them in fairly human readable values (frequency entry is in Hz).


The calculator is filled with default values take from the example above.  The result (including the input values) can be download as a text string and as a JSON string by clicking on the buttons.

It's a single page calculator so when you want feel free to download it and  modify it to your own preferences. 

Using the Dislord XTAL series measurement user Dislord has its own version of the NanoVNA firmware (see :  ) with lots of options and features in it. He frequently releases a firmware package for various NanoVNA models incl the V2 models. 

Check out :  

It even has the special XTAL- S21 series measurements option. I highly recommend this version.  I have tested the H4 and V2 version in the link above and I can confirm that you correctly crystals with this version.  

Select a span for example from 100Khz to 30Mhz, enable trace CH1 LOGMAG and CH1 PHASE. Look at the traces there should a peak and a valley on the CH1 LOGMAG trace. 


Use the marker to select the peak and use MARKER - OPERATIONS - CENTER to center the screen. And set the SPAN for 100Khz.

You might have to re-center the screen again (you can use the center operation for the marker). 


Set the SPAN to a smaller value 5 Khz or even less to see +45 dgr and - 45 dgr phase shift. You might have to re-center the screen again (you can use the center operation for the marker). And from the Menu select MEASURE -  SERIES XTAL (S21) and on the screen all relevant XTAL series measurement values are shown as shown below. 


Note : this adapter has coils to transform the 12.5 Ohm crystal impedance to the 50 Ohm of the Nano VNA, but for the measurement to be correct, be sure to set MEASURE R1 = 12.5 Ohm . If not, use Menu select MEASURE -  MEASURE R1 and update.


Crystal Measuring Adapter (CMA) for NanoVNA - Kit building and usage manual  

I wrote a manual on the construction and how to use it. This manual can be download here : link to manual (PDF).


Important note regarding the V2 NanoVNA models 

The website of the NanoVNA V2 models, state that all V2 versions switch on and off the test signal rapidly and can not measure crystals or be used as a signal generator (source : ).  

Update 2023-06-26 :  

The user Dislord has released a firmware package for variouse NanoVNA models incl the V2 models. I have tested the version in the link below and I can confirm that you measure crystals with this version.

It even has the special XTAL- S21 series measurements option. I highly recomend this version. 


Base plate and toroid holder 

I designed a base plate with 6 pins, and 2 torioid holders for 3D printed. When you don't have a 3D printer I can print them for you. When you interested use the form on the For-Sale page.

The 3D base plate design is  publicly available so you print your own but licensed it Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0).
Meaning : 

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial — You may not use the material for commercial purposes.
  • NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.

It's not to be childish but it now happened a few times that a 3D design I made was sold by other people just because is was "Open source, so I can do anything I want with it" without any credits or even a token of appreciation

When you want it to be used Commercial, please contact me.   


Other use full links  

Check out these other use full links regarding crystals and crystal fylters :  

  1. Anleitung zum Bau eines Quarzfilters - website DK7JB
  2. Quarze und Quarzfilter von Horst dj6ev Filter-Programm Dishal2052 - website DK7JB 
  3. more to come. 


Where to buy 

The left-over PCB's of this small batch will be sold through this  For-Sale page on my website. They can be bought as a plane PCB with the SMD parts pre-soldered, a complete kit or even completely build and tested. Remember : the stock is limited.

When they are sold out and there is a demand, I might be ordering a new batch of PCB's to sell them, make new kits or even sell full assembled adapters. So when they are sold out and your interested, let me know. 

Also there is the option to buy a GerberFile license for this PCB design. License covers a 3 PCB's order at OSHPark.  

Note : When you buy these adapters anywhere else, they are clones or rip-offs (it happened to be me before) and I can’t give any support or answer questions regarding these products.  


Real nice crystal sockets  

I got my hands on a batch of authentic crystal sockets for HC49/18 crystals.


And couldn't resist  replacing the sockets on my prototype adapters with it. Looks much more professional already.   


The kits of the adapter which I have on sale on my For-Sale page will be supplied with this new socket.


User gallery 

When people buy one of my PCB's, kits etc. I ask then if they send me a picture when they build it or using it. Below you find images some OM's send me.
OM's thanks for the pictures. All pictures (c) to the OM. 

Petre PA1PDY's CMA

Peter PA1PDY send me this picture of his CMA in combination with his miniVNA Pro.The CMA is configured with a 10dB input attenuator because the miniVNA Pro has a output of 0dBm. 


Thanks for the picture Peter.