An annoying fault (solved)

John  VK2ETA raised a request for help on the group list on 24 January after spending over a week trying to figure out an issue he had with his uBITx.

The problem

John built his uBitx around a manpack configuration with an external side mounted heatsink, no connection at the back, and room for an autotuner.  The issue he had was strong audio tones inside and outside the passband on receive, typically up to 15khz.

He attached an audio recording and took some audio spectrum snapshots made by placing the phone’s microphone near the uBitx speaker.  The tones were often near or above the level of the decoded signal which makes them impossible to ignore.  The frequency of the tones did not change significantly with tuning up or down, or going through the menu items except when passing over the “CW Speed” option.

After doing all the normal things you would expect, such as redoing the factory alignment and BFO adjustment several times, nothing changed.  He changed out the power supply (with three alternatives), he checked the voltage on the Radiuno: 5.01VDC, added capacitors from the Radiuno 5V rail to ground (470uF, 0.1uf mica, no change), power supply rail to ground (470uF, no change), and added 1nF between the  casing of the Arduino crystal to ground (which produced a shift in tone, but no reduction in amplitude).  He modified the software where I would shift the frequencies of both the first and second oscillators by the same amount, thereby leaving the received frequency the same. The result was no change in frequency of the annoying tone. So only a BFO frequency change produces a shift in tones.

Needless to say John was right out of ideas and welcomed input from the group.

Group responses

Jerry KE7ER immediately responded:

Your best bet might be to either replace the nano or replace the 16mhz crystal on the nano.  It might be possible to shield and filter the nano sufficiently somehow, but that would be tough.   It could be that HF Signals would consider replacing your Raduino.  You might ask them.   Do you have somebody nearby you could swap out the Raduino with, to see if the problem follows the Raduino?

There were a number of other responses from group members, and other group members had observed similar issues with tones inside the filter passband.

The problem solved

On 2 February 2018, John announced to the group that he had solved the problem:

“I bought a cheap Arduino on eBay and after some struggle I changed the Nano, re-programmed it and all came good. The tones within the passband are gone and the ones outside the passband can be eliminated with a careful choice of BFO frequency.  Also the tuning noises have disappeared.  So it must have been a bad Arduino.

“As an interesting aside, when chasing this issue I changed the first two mixers VFOs thereby changing the alignment between the 45Mhz filter and the 12Mhz one. I noticed that the default values produced a signal around 8dB lower than when “re-aligning” the two passbands.

“If anyone is interested I can share the code for this test (I simply re-assigned the RIT menu item and had an extra variable which was added to the first two VFOs so that the net received frequency stayed the same, but the first IF was shifted correspondingly).

“Please note that I found the removal of the Arduino a challenge and resorted to cutting the edges out of the Arduino board with a Dremel.   I cut the plastic spacer between each pin to be able to de-solder each pin individually.”

“Since I have mounted the display remotely and have space in front of the Raduino, I opted to use female headers so that I can plug/unplug the Arduino, just in case.”

It turns out that Jerry KE7ER’s advice was spot on.   Afterwards he commented:

“Could be that the old arduino had a faulty 16mhz crystal.  But that thing is tiny, swapping in a different crystal would be tough. Could also be that the ATMega382P processor had a faulty oscillator.”

Ashhar Farhan from HF Signals has since commented on this fault:

“Since we noticed these problems, we do check for the presence of these tones. Our pass test includes viewing the audio spectrum at 5v/db, 625 hz per division setting of FFT on rigol. We set the carrier so that the audio passband is inside two cursors at 300 hz and 3000 hz. Then we check for any spurs upto 15 khz that are above the noise floor. If these tests pass, we move to the next test of transmit outputs on 3.5, 7, 14 and 28 mhz. These tests are a part of the firmware being shipped.

“I suspect the 16 mhz crystal must have aged. There are two things you can try. First is go into the bfo settings and move it slightly so the spurs go away. Second is to add some capacitance to the 25 mhz crystal, about 10 pf. There is a third way too, which is to program the si5352 initialization code to enable a different load capacitance on oscillator. I havent tried the third method myself.

“Very often, closed commercial designs tend to ignore or bury design faults. Open source proceeds with acknowledgment and fixing these to make the system better. As the saying goes, given enough eyeballs, all bugs are shallow.”

Reference