Home made test gear. A handy sig gen.


Staff member
I thought it my be a good idea to start a home made test gear thread. So here is the first entry!


This is a sig gen I tossed together to help convert the PCM Hawk II hand held radios from 162Mhz to 2M. It generates the RX crystal frequency and when the PTT is on, the TX "crystal" to produce a signal that will have enough harmonics in it to tune the RX. The RX "crystal" runs all the time.

Here is the code I've come up with. It can be a handy test device with the appropriate numbers changed to suit.
The target freq, IF offset and multiplier need to be changed for other sets. This code does not have limits set so it would really need to be cleaned up a bit.

// synthesiser default settings on start up.
unsigned long frequency = 162400000;     // 4 bytes required for frequency
unsigned long step_size =      1000;     // default tuning increment (Hz)
unsigned long IFoffset  =  21400000;     // IF offset for clockgen
unsigned long VFO       =        0;      // VFO frequency
unsigned long RXmultiplier=     16;      // crystal RXmultiplier
unsigned long TXmultiplier=     16;      // crystal TXmultiplier

int32_t cal_factor = 33100;             //  for my tester, found from Si5351 calibrator sketch.
byte updateFlag=HIGH;

#define       RX               HIGH
int           TRXmode         = RX;          // HIGH = RX, LOW = TX
An addition that may be useful is to have the second Si5351 output switch selectable to output the signal frequency, or t least, that divided down so as you are changing the "crystal" frequency, there is a receive frequency available to listen to. I'm not sure how to FM it as yet, but that can come.

Oh, I forgot to say, this is built using my Arduino Nano VFO that is featured in most of the crystal replacement posts on the forum, like...
http://www.sadarc.org/xenforo/upload/index.php?threads/ax-144-cb-to-10m.488/ or
and others.

EDIT: Fixed a code bug and added a little bit of FM on TX. 20240409


Last edited: