Skip to main content

Exciting Bitx40 Modifications

Make your Bitx40 Work FT-8 & WSPR!


Happy New Year ~ 2020!

[The following describes two methods for adding USB capabilities to your Bitx40 and further adds an alternative to the Raduino controller.]


So OK I built my first Bitx20 shortly after VU2ESE announced to the world his exciting project -- that was over 10 years ago. Even then W6JFR (now N6QW) hacked that project by converting the inductors to ferrite core, shifting the IF to 9 MHz and adding an LCD Display complete with a EI9GQ VFO stabilizer.




So it goes to reason that I would still be hacking this amazing design --today! Bill N2CQR provided two "seed" Bitx40 boards and I am happy to report that both boards have now been "hacked" so that they are USB capable and working the 40 Meter Digital Modes such as WSPR and FT-8. 



But here is the icing on the cake the hacks involve two completely different approaches and this experimentation has provided some new ideas for me for use on other rigs.


  1. The first hack was to design a controller other than the Raduino. You see I got two Bitx40 boards from Bill and only one Raduino --which doesn't work. I now have a working controller which has been expanded into two working controllers to support the two boards. They are not identical...

  2. The first approach was to create two BFO frequencies (Upper and Lower Sideband) using the 5 MHz LO so that you could select USB or LSB. Much experimentation was required to find these two frequencies. That done we added two VFO's in the code and also a TUNE Tone. That rig has been in operation for several weeks using WSPR and FT-8. A bit of history here -- not all Bitx40's are standard as there are as many as three variants depending on the crystal sorting process and the Center Frequency of the 4 pole filter. So be aware --not all is plug and play. You will have to find the Cf and BFO frequency of your particular Bitx40. This mode involved unsoldering one end of L5 and applying the BFO signal through a 10NF Capacitor which is fitted to the base of Q10.  
  3. So now to the second Bitx40 board -- here the BFO frequency is actually about 400 Hz higher so you have to account for that in the code. This also means that the Filter Center Frequency is different! In the  SolderSmoke Podcast #216, Bill described his adventures with digging into the innards of a uBitx. One comment just sort of passed through my head and it wasn't until I was listening to #216 on my morning walk -- I had a Shazam Moment. Boom another way to do it. Bill mentioned that the uBitx being dual conversion used a technique to place a conversion oscillator with either the clock above 45 MHz by an amount of the IF or below 45 MHz by the same value of the IF. 
  4. There it was... The Normal LO of the Bitx40 is in the 5 MHz range and with a 12 MHz IF a mixing process puts the display at 7 MHz and LSB. Now suppose you put the LO at 19 MHz and down mixed so LO - IF now gives the Display at 7 MHz but with sideband inversion and USB. Boom it works; but more must be done to have it work on the Bitx40 board. Read ON!
  5. The code has to be modified so that for LSB you have a term that is software selected such that ( bfo - rx ) will result with the 5 MHz LO (rx). But when you change to the 19 MHz LO (rx) a new term must be called up in the software so that you now have (rx - bfo). This also causes in one case a CW rotation of the encoder makes the display go higher in frequency. When you switch to the other LO then it is a CCW rotation that will make the display go higher. For those who cannot take this quirk the LO select switch instead of a simple SPST could be a DPST switch where the 2nd half controls a small DPDT relay to reverse pins D2 and D3 so that it will always be CW increases the LCD reading. So for those of you who have trouble seeing this arrangement.
    In essence we have a cross connected DPDT relay that when not energized connects the D2,D3 pins on the Arduino to the Rotary Encoder. Upon being energized the D2, D3 pins are now switched to the opposite direction from the former state. the Encoder will now tune in the same direction for either LO. The triggering circuit would be to have a spare Arduino Pin go HIGH which would drive the base (through a 1K resistor) of a 2N3904 wired to the field coil of the relay. This would mean keeping the USB LSB Select to just the single SPST switch.
  6. There are those who would maintain that juggling the software could do the same thing -- well friends a hardware solution like this is simple to accomplish and you will not spend countless hours debugging software. When you know stuff you can do stuff. 
  7. So I rewrote the code such that with one position of a SPST switch you have the 5 MHz LO and LSB which is displayed on the LCD. The engagement of the switch shifts the LO to 19 MHz AND changes the math so that the BFO frequency is now subtracted in this case and the LCD reads USB. A further refinement would be to have the USB Boot Up be at 7.074 MHz, which is a simple code change.




  • I then loaded the software and connected my controller to the Bitx40 where now the original BFO crystal is retained and works for either USB or LSB. I simply plugged Clock 0 into the two pin port and fired it up. All worked well for LSB and the sound is really crisp and I have indeed installed the correct offset -- the sound is on the mark and the frequency is on the mark!


    A switch over to USB and while signals were heard -- they were weak, very weak. Hmmm my new theory has been shot to hell! 


    It is always best to put things aside and "noodle" over what happened. The frequency scheme does work (super good for LSB); but marginal for USB. I printed out the schematic for the LO injection and saw (after sleeping on it) a possible reason for the USB issue. 

    In the original Bitx40 the frequency control was by means of a varactor tuned VFO which shortly was replaced by the Raduino. Essentially the varactor tuned VFO is a Colpitts Oscillator and in place of the tuning network the Raduino is installed. There are a couple of very Large caps -- 1000 PF in the Colpitts circuit that work OK at 5 MHz but when you place a 19 MHz signal in there -- closer to a short circuit! If you do the math assuming  a 500 PF load at 5 MHz the load is 63 Ohms and at 19.2 MHz the load is 16 Ohms. So it must be a loading issue. (Two 1000 PF is series = 500 PF)

    So my first thought was to bypass the Colpitts oscillator transistor and introduce the LO beyond that stage. Boom -- when you know stuff you can do stuff!

    That did the trick and the above schematic shows the where to inject the signal. We now have a way to add LSB and USB to the Bitx40 while retaining the same BFO Crystal. Listen to the SolderSmoke Podcast #216 and you will hear me discuss how Ten Tec did a similar trick to use one BFO crystal.

    There is a bonus here in that you even end up with two VFO's and the memory function holds.


    So dig out that Bitx40 and put it on FT-8. If you email me at craponthebench@gmail.com, I will be happy to send you both sets of code.

    Here is the 2nd Bitx40 on WSPR today:
    That is Europe, Africa and South Africa! The Modification definitely works. Pout = 5 watts! The antenna is an inverted V with an apex of 35 Feet. 

    Caveat Emptor -- there are three different BFO frequencies used with the Bitx40 so you might have to "diddle" a bit to, get yours to work. If you don't know how to do that --don't even start my modification!

    73's & Happy New Year
    Pete N6QW




    Popular posts from this blog

    January 21, 2025. More Low Power Suggestions.

    January 23, 2025. Yet another Fire in the LA Area.

    January 24, 2025. We are Safe and Power Back On!

    January 25, 2025. A QRP SDR Radio from Italy and Grocery Prices are Up!

    January 26, 2025. So, OK you just bought 100 pieces of the J310 SMD type--What Now?

    January 20, 2025. Designing a Rig for Low Power Operation.