Replacing the BITX 40 BFO

The BITX 40 is all about modifications. The design itself is “cheap and cheerful”, and the circuit board is laid out to invite changes and experiments. I have a list of quirks I intend to fix in mine, and with that the mods began.

First up was a misalignment of the BFO. Each BITX 40 uses a set of 5 matched crystals, four for the IF filter and the fifth for the BFO. The BFO is set up to pull the crystal frequency slightly to put the audio passband in the right place, or at least it is supposed to. On mine, the BFO frequency was just inside the IF passband.

Having the BFO in the wrong place had several consequences. First, receive audio was bassy, running from about 0 Hz to 1800 Hz. This transmits audio frequencies that are not useful for communications and omits the ones around 2 kHz that are especially important. Worse, the passband actually stretch below 0 Hz, into the upper sideband, which meant that my transmitter was not suppressing the carrier. It was sending VSB, vestigial sideband, not SSB. That may be fine if you’re a TV transmitter, but it’s not the kind of clean SSB signal hams expect.

One solution, which Wayne NB6M used on his BITX 40, is to change the “pulling” capacitor in the BFO to put the frequency where it belongs. Instead, I replaced the BFO entirely with a spare channel on the Si5351 frequency synthesizer.

I started off by attaching wires to pins 8 and 9 of the Raduino board. These are Si5351 channel 0 and ground, respectively. For quick progress, I used a twisted pair. When I box it up, I will switch to coax and use a connector to make maintenance easier.

At the other end, I attached the wires to pins 1 and 6 of T4. This supplies the BFO to the second mixer.

Finally, I unsoldered R101 and C106 to remove power from the analog BFO and disconnect it from the second mixer.

With the hardware work done, I turned to the Arduino code. I downloaded Ashhar Farhan’s original bitx40 sketch and added one line of code near the bottom of setup().

si5351.set_freq(bfo_freq * 100ULL, SI5351_CLK0);

Then I turned it on, saw that the BFO was now too far above the IF passband, and with a couple of experiments, came up with the following edit near the top of the sketch:

#define INIT_BFO_FREQ (11997000L)
unsigned long baseTune = 7100000L;
unsigned long bfo_freq = INIT_BFO_FREQ;

With that, I was done. The rig sounds better and works better. I still haven’t transmitted, though. That will take one more mod which I will write about next.

BITX 40!

I’ve decided to build a BITX 40. This petite SSB transceiver sells for a mere $59, some assembly required. As it comes, it puts out approx. 7W, and with some straightforward upgrades it can produce 25W. It comes as a fully-assembled PCB plus most of the parts needed to hook it up. A case, speaker, and a few other incidentals are not included. The board and radio are designed to invite hacking and customization. It is also designed to serve as an introduction to homebrewing for hams who may not be ready to build a radio from scratch. For more information on the BITX-40, see its supplier http://www.hfsigs.com/ and the active and helpful support community at groups.io.

My BITX 40 is operable “al fresco” on my workbench. The included Arduino/Si5351 VFO works fine and tunes the full 40m band. It needs a little bit of work before I can transmit with it. It’s important to understand that the BITX 40 is not a turnkey rig. Many of them ship with small flaws, and figuring out and fixing the flaws is part of the fun. (This is why that helpful community at groups.io is so important.) Mine shares a flaw with Wayne, N6BM’s BITX 40 — the BFO frequency is inside the IF passband, instead of about 300 Hz below the passband like it should. This means that stations I tune sound bassy, I can hear part of the opposite sideband, and when I transmit, the carrier is not suppressed.

(I suppose I could call it “vestigial sideband”, like what NTSC TV uses, but it’s supposed to be SSB…)

Wayne fixed the problem by changing a capacitor in the BFO circuit to pull the frequency where it needed to be. I plan to fix it by disabling the analog BFO and instead use a spare Si5351 output. Having a tunable VFO will let me put the passband exactly where I want. With a little more code, it will also give me passband tuning.

I think I found a bug in the microphone amp that I’m going to take a closer look at, and I found a perfect case at the Mike and Key hamfest in Puyallup last month. I didn’t even try to negotiate the price. It was free!

I’ll have more on my BITX 40 project in upcoming posts.