Photo of mod for evening up power output

Nigel G4ZAL did Howard WB2VXW ‘s mod by adding:

  • 27uH inductor in series with R86 (NB calculated value)
  • Adding parallel caps of 220pF on top of R87 and R88.

The mods to the main board are shown in the photo below.

The power output changes that resulted were as follows:

  • 7MHz from 12.5w to 14.5w
  • 14MHz from 7w to 11.5w
  • 21MHz from 4w to 8w
  • 28MHz from 2w to 4w

Nigel says it is a “very worthwhile mod for just 3 components”.  This mod is something that all constructors should consider.


See your uBITx sketch in Assembly or Hex

Jack W8TEE notes how easy it is to find where Hex files and Assembly files for a compile of an Arduino sketch are placed on your computer, along with some other compile-time information.

First, go to your Preferences dialog (File –> Preferences) and check the compilation check box for the “Show verbose output during:”

Second, compile your program. Do not click the compile/upload icon, only the check mark for compile only. You will see a lot of stuff scroll by just below the IDE’s Source Code Window.

Third, look towards the end of that list of output for YourProgramName.hex. For example, Jack’s test program was:

Fourth, go to the directory and look at the output files. You will see file types:

elf — executable-linkable file, used for a debugger
hex — the flash output file
eep — th eEEPROM outout file
sym — symbol table information
lst — assembler output

The first file is very interesting to look at, as it shows the C code mixed in with its associated assembler output. (You can load the file into any text editor.) For example, which is more efficient: a cascading series of if statements or a switch/case? Write a short test program using both constructs and then look at the assembler output. You find that the switch/case produces a jump table, which is very efficient in terms of speed, but may be less efficient in terms of memory. Even if you don’t know assembler, you’ll get a feel for the answer. Use whichever fits the situation.

If you want to directly load a hex file into an Arduino, you could use an AVR programmer, or XLoader (

Fitting a pull-up resistor when you don’t want to use a key

If you don’t use a key at all (i.e. you want a phone only µBITx) then this hint from Doug AC9RZ might be useful.

Doug folded over about 5mm of the bottom of each leg of the 4.7k resistor to bulk them up. Then he crimped on molex kk terminals on each leg. He put heat shrink on each leg and then popped the resistor in the digital connector where the wires for pins 2 and 3 previously resided. After double checking with his DVM, the rig was fired up and all was good.

Justin N2TOH suggested that just tack soldering the resistor to the back of the connector was easier, so the wires could be completely removed from the harness.


How will you know you need to calibrate your BFO?

  1. Tune to 7074 using LSB. You should hear nothing.
  2. Change to USB and you should hear all kinds of PSK and other digital modes. If you hear these signals in LSB then your BFO frequency is not correct, and may even be placed on the wrong side of the passband.

My BFO was way off after I first tried to calibrate it. I then started over with mine at 996.4 and ended up at 996.7. If yours is a long way off from that then I’ll bet you hear psk at 7074 when in LSB.


DSP on a cheap processor

IK8YFW Giuseppe has used a cheap US$2 processor to create a DSP audio processing unit that works with any radio (including the µBITx).

The project was aimed at achieving an economic and simple DSP unit, based on the ARM Cortex STM32f103 processor module.  Guiseppe implemented two narrow CW filters of about 300 and 700 hz and two SSB filters with a bandwidth of less than 2200 Hz and less than 3300 Hz.  He also included a 6-level noise reduction algorithm. The project is a very cheap solution suitable for embedding in any and every QRP project. The  project code can be found on Github.   It is not perfect, as Guiseppe is still experimenting with the code.  The project can be found here:

Some test here:


KD8CEC firmware now supports 6 switches

Ian KD8CEC’s test firmware supported extended extended buttons in Version 1.072 and this feature continues in the latest BETA release version 1.073.

Ian received from the beta testers to make the extended key (push button functions) a bit more flexible.   He changed the feature to allow up to six pushbuttons (previously the maximum was four buttons) and functions that are allocated to buttons can now be selected by the user.

Description of changes

In uBITX Manager V1.04, up to 6 expansion keys (pushbutton keys) can be set as follows.

You need to set the role for the ‘Function’ item.

Function settings currently able to be controlled by buttons include:
1:Mode Select
2:Band Up
3:Band Down
4:Tune Step
5:VFO A/B Toggle
6:Split On/Off
7:TX On/Off
8:SDR Mode On/Off
9:RIT On/Off

In the above example, Button 1 is Mode Select, Button 2 is Band Up, Button 3 is Band Down, and Button 4 is Tune Step.

If you are a frequent CW practitioner, you can use the TX On / Off button as shown below:

Users may also want to turn off the transmit function by pressing button 4  during CW practice.   At the end of the CW practice exercise, pressing button 4 would again activate the transmit function.

If you are a frequent user of SDR, you can probably set it up like this:

Since  the Mode select function is not very important in SDR, a VFOA / VFO B toggle switch and SDR On / Off switch may be mapped instead.

As mentioned in the previous article, resistors can be any value (but keep them apart).   Ian recommends you use resistor values over 100K (with values less than this reserved for later use cases).

Mike ZL1AXG found that resistor values greater than 500K were too close to the residual value sensed by the arduino analogue pin and caused the software to be unstable. Choose values between 100k and 500k.


ND6T AGC design a winner – boards coming!

There has been a bit of BITX20 IO Groups list chatter about the winner in ND6T’s AGC circuit (with RF gain control).

Ion VA3NOI has two versions of an ND6T AGC circuit board designed.

  • A through-hole single-side version measuring 17X38 mm.
  • An SMT board measuring 18X31 mm, with SMT components that are 0805 in size.

The . 1 uF cap is tantalum or niobium polarized.

The design was done using Eagle 7.5 freeware. The zip file in the Gerbers Folders should be uploaded to the PCB manufacturing house.

The boards are roughly 1 square inch in surface. You can place 10 boards on a 100X100 mm panel and get 10 panels for $5 plus shipping.   For making into a kit, Ian recommends the SMT version as it will be more affordable and he expects it to have better performance on the upper bands.

He has ordered a through-hole version for experimenting with some values (AGC release time minimum resistor and coupling capacitors on RF line) and this is en route to Canada.

The PCBs have provision for adding a pot to adjust AGC release time and a switch to disable the AGC.   Ion has posted the files (schematic, board layout and Gerbers) here:

Constructors should feel free to use the files as they see fit.  He is also happy for anyone wanting to put kits together.

Kees K5BCQ is looking into whether it can be sold as a kit through his website.



Simulated S-Meter and SWR meter on small OLED display





Duwayne KV4QB has been playing with an Arduino Pro Mini and a small OLED display to use as a stand alone replacement for a analog meter.  The existing Raduino in the µBITx does not have sufficinet spare analog input pins to provide everything that Duwayne wanted to measure.

More information can be found on his blog at:

He is also working on a small board to provide forward and reflected power readings for SWR metering and power measurement.

This has created a bit of interest on the list, and represents an interesting idea that is potentially adaptable to other projects and use cases.


Arduino Nano test analogue inputs

John VK2ETA has produced a small piece of diagnostic firmware intended to be used by constructors to test out the Raduino.

The objective is to help original kit builders identify issues (e.g. wiring or “not working” problems), but also for more advanced experimenters both during construction and after “oops moments”.

So far it only tests the I2C bus, the communication with the SI5351 and the analogue inputs of the Raduino in a graphical form.

The plan is to expand to the audio circuit, the receiver chain, the TX low pass filters’ relays and hopefully more.

This is where be needs the input of other constructors to determine what to test for in the first instance and then some ideas to make the test results as simple but still useful to more advanced users.

John is looking for feedback as to what issues you had when building the kit that could potentially be incorporated in the diagnostic software.  Tests need not be Arduino-only tests. Operator ‘s interpretation, as in “Do you hear the tone in the speaker, Y/N” are quite ok.

John has uploaded a beta version of the software  to the IO Groups Files area:

Basic instructions are in the README.MD file in the top directory.

The main menu number 2 (Analogue inputs), brings a second level menu for testing the encoder inputs, the push button, the PTT, the Keyer and the spare analogue input.

Results are displayed in a horizontal bar graph with a scale from 0 to 5V representing the value read by the inputs. That way you can see how it matches the values your voltmeter indicates on the respective pin.

Results are shown only on changes to the values read, for example when rotating the encoder, pushing the PTT or the encoder push-button etc…

If no results are shown then your Arduino cannot read analogue inputs and it would mean plan-B:  replacement of your Raduino.


Poor man’s panadapter

Bruce KC1FSZ has been experimenting with a panadapter for his µBITx that is likely to be of interest to constructors, especially to anyone thinking about one of those fancy ICOM 7300s.

The goal was to build a crude panadapter into his BITX rig without resorting to external PCs, SDR dongles, etc.  He used a few cheats in his scratch-build BITX that may make this a bit more tricky on a stock unit.  However,  Bruce is sure that someone in the group can figure out how to expand this into the mainstream.

It’s a bit like a Sweeperino.  Bruce has built his firmware to quickly sweep the VFO across the band of interest (40m phone in Bruce’s case) and then to look at the AF spectrum at each point and display the result in a simplistic spectrum display. Obviously, this interrupts the receive for a brief instant when it is happening, but he has also set things up with an extra MOSFET so that the audio output can be suppressed during the sweep to hide the annoying sounds. This mod may already be in your rig if you’ve added an AGC.

The more sophisticated way to go is to do some DSP fiddling of the overlapping 3 kHz segments of the spectrum that are sampled during the sweep. At the moment Bruce sweeps in 500 Hz steps so there is overlap in the samples of the audio. This needs some more experimentation to get the optimal sweep speed, the cleanest way to stitch things together, averaging, etc. but even something basic is good enough to show the activity on the band.

Bruce also uses a cheap 128×64 OLED display, which makes these simple graphics possible.  Be aware that these displays can be noisy.

The picture at the top of this news items shows what the initial display looks like. The caret at the very bottom is pointing to where the VFO is currently set. You know it’s working because you can always see the signature 7199 BITX birdie!

Bruce has produced a video with the sweep slowed and the audio on so you can hear how it works.  It sounds like a strange SSTV mode, but it’s actually the entire 40m phone band being analyzed for activity.