Si5351 audio pops and PLL Lockups

WB9YZU
 

Hi Folks, I'm sure you folks have fielded this question before, but search results haven't been very fruitful.
My rig is a Forty-9er that I have modified to accept a VFO instead of a XTAL. I based the idea from a 2016 article in QST where the author used a I2C DDS and a parallel display.

I decided to take on the design and programming of the Arduino backbone myself and went with a Si5351a and put the display on the I2C bus via an adapter card that just piggybacks on the display. Nothing fancy. I'm using an inexpensive digital encoder to change frequencies.

The frequency is constantly being updated to the Si5351a, this is because keying requires that I change from a receive to a transmit frequency on the fly, and to avoid transmitting while the Si5351 is changing frequencies, I am keying the Forty-9er with the Arduino.

Everything seems to work pretty well, the radio does what it's supposed to do, and I have made a number of nice QSOs.
However the enjoyment is somewhat muted by this annoying popping and PLL dropout when dialing the rig.
When the PLL goes to lunch, I can't recover and I need to reset the radio. Though the symptom can appear most anywhere, it is much more prevalent around 7.055.

Steps I've taken do date:
Scoured the code and internet for clues. I am on my NthX2 attempt to write a decent code, the last attempt actually made it worse!
I verified that I am using the latest Etherkit Si5351a Library; version 2.1.4.
I tried to debounce the encoder by using an interrupt call and a debounce routine on the interrupt.; I also added .01uf caps across the encoder CLK and DT Lines to GND.

I read that the LCD is a noise source, so I installed 100uh coils on the power feed (+ & -)  to the display board. That cleaned up some audio noise.

From the number of Si5351a based QRP rigs, I assume a solution(s) has been found? What has worked for you folks?
--
, Ron WB9YZU

Join main@4SQRP.groups.io to automatically receive all group messages.