The three stage PA starts with a 2n3904 pre-driver followed by a 2N2219A driver with a heatsink cap and the fnal is an RD0HHF1 biased at around 6.5V - which puts it squarely in class A. Bill's build and other bias more for class AB which I may experiment with later.
Next I needed a microphone and microphone amplifier. I built the microphone amplifier straight from the SBITX schematic and built a homebrew electret mic.
The homebrew electret capsule in a 3D printed case The PTT is a SPDT microswitch. When I first hooked it up the mic did not seem very sensitive - almost had to shout to see output on the scope. A little googling and noodling and I figured it out. In brief - when I finalized the mic amp build I mistakenly powered it from the 5V rail instead of the 12V rail, that accounted for most of the low output. By then I had read through the long groups.io thread from last year on electret bias and the recent thread on SSB audio quality and had ordered a ag of the -25dB capsules that Gordon recommended. They accept VCC of 2-10 V through a 2.2K resistor. So replaced the R21 10K biase resistor with 2.2K to the 5V rail. With that setup the mic is working great.
With the mic amp and PA done I began work on the LPF module. The module consists of 4 filters covering the 80 meter to 10 meter bands. In the original SBITX it is a diode switched module. I spent some time understanding the diode switching but decided instead to use relays - it takes away a lot of the complexity of the module.
Next lesson learned: when I first built the LPF board I had the relays only on the input and had tied all of the outputs together. This created all kinds of problems with the filters interferring with each other even with their input switched out of the circuit. Solution and best practice is to switch both the inputs and outputs and ground the unselected filters. Problem solved. But not out of the woods - still too much loss in the filter module. I put that asisde for now and moved on to fixing the frequency alignment.
I had previously tried to align the frequency (so that the displayed frequency matches the actual Tx or Rx freqency without success. The alignment is done by creating a compensation offset for the 25MHz clock of the SI5351. Its usually straight forward. Inject a known 10MHz signal into the receiver, zero beat and note the frequency display. The delta between 10MHz and the frequency display can be used to derive the actual crystal value. Pop that into the code and the the transceiver should be aligned. The problem was it was aligned at 10MHz but off at 5 and 20. After much testing and head scratching and with an assist from Farhan himself we discovered the problem was that the MIKROE WM8731 prototype board uses a different clock rate than the Linux driver in the Raspberry Pi. In brief, the driver expects the codec to use the standard USB clock rate of 12MHz but the MIKROE board uses the more standard audio processing frequency of 12.288MHz. The fix is to replace the 12.288MHz crystal on the MIKROE board wiht a 12MHz crystal. Like so:
The surface mount crystal did not come off the board cleanly - in fact it lifed one of the tracks clean off the board. So I put in a field expedient patch - the red enamled wired to replace the damaged trace. To my delight it worked straight away. I used blue painters tape to mask off the adjacent pins and that made the sodering to the chip much easier.
The results is very satisfying - here is the first loggable QSO I had after completing the rig:
I'm very pleased with the way the rig is working. I have a few kinks to iron out but we are appoaching the finish line.
73 from Geat Falls
Dean, KK4DAS