Testing of sBitx at HF Signals

Testing of sBitx at HF Signals

This a document of the current process of testing the sBitx before they are shipped. From 1st May, 2023 onwards, all the sBitxs shipped will carry the test report.

Do not try this at home. You will need a dummy load and an oscilloscope with 50 MHz bandwidth and a signal generator to try it by yourself.

Setting the the test bench

1 The power supply should be on 13.8v, connect mic, and key paddle
2 Set Antuino (signal generator) to 7035, set the wweep 1 KHz to be 1 KHz wide. The signal source should be from another power supply to prevent signal leakage via power cables.
3 Connect Antuino to the other side of the dummy load with at least 60 db Attenuation (50 ohms in series with 100K resistor).
4 A PC/laptop and the  sbitx to an ethernet hub before switching on the radio.
5. Set the  Oscilloscope, to 200 uSec/horizontal division, 20v/vertical division rang. Connect the probe across the dummy load.

1. Initial test

1 Switch on the set,
2 Connect dummy load, oscilloscope, other side of dummy to antuino
3 Power on the radio
4 ssh into the radio, they default userid is pi and the password is hf12345
5 run ntpstat, if not synchronized, run

sudo apt install ntp
sudo apt install ntpdate
sudo ntpdate -u time.nist.gov

Type ntpstat until it says the time is synchronized
6 get the latest version of sbitx from the github

git reset --hard
 ./build sbitx

7 Note the DC Idling current, start sbitx from the ssh command line
8 Check that the RTC clock is detected (look for the message in the Terminal window)
9 Check that the RTC clock is synchronized (this needs active internet) (look for the message in the Terminal window)

10. Note the DC current consumption of the radio in receive mode.


Receive test

1 Tune the Antuino/Signal generator to 7035
2. set RF gain to maximum
3 Set frequency of sbitx to 7035,
5. Is the noise grass visible yes/no
6.  Note the signal level on the spectrum display. Each horizontal division is 10 dB. What is the Antuino sweep level above the noise floor? The -65 dBm signal from through the dummy load should still be at least 60 dB above the noise floor.
8.9 Check the earphone audio of sweep. The audio should be clear and distortion free.

PA bias current

1 Set Mode toUSB
2 Set Mic to 1
3 Set Drive to 1
4 Set PA_BIAS1 preset to zero (fully counter-clockwiseBias)
5 Note DC current on PTT
6.. Slowly increase the bias current until the total current consumed by teh radio is increased by approximately 250 mA.

Bridge calibration.

We first check to see if the bridge is already calibrated and if it isn’t we will proceed with the calibration

1 Set Mode to CW
2 Set Freq to 7035 KHz
3 Set CW INPUT to straight key
4 Set Drive to 1
5 Press the PTT and increase the drive gradually to bring up to the RF voltage on the across the dummy to load to read 125 v peak to peak (or, 62 volts peak).
6. Check the power reading on sbitx screen. If power is between 35 and 45 watts, skip the Part B

PartB : Setting the SWR bridge to correct reading
7. Open console panel
9. Press PTT, note that the output as shown on the oscilloscope is still between 120v and 130 v peak to peak RF
10 Adjust function knob until the power reading is 40 watts on sbitx screen.
11 Press the function knob once, change the mode to trigger saving the configuration.

Band Power calibration

1 Keep the dummy load inserted as before, with the oscilloscope probe connected across it.
2 Open the sbitx console panel
3 Enter “txcal”
4 Watch the screen show the power being gradually increased to the correct levels on all bands
6 Delete the wifi connection or take off the ethernet
7. Switch off the sBitx and switch it back again for the next test (two tone test)

Two tone test (switch it on, without Ethernet)

1 Select MODE 2TONE
2 Set frequency to 7035
3 Set Drive to 100
4 Press PTT
5 See the oscilloscope for perfect shape, (no flat top, no underflow)
6. Power output
7 Measure the output with Drive 100 on all bands, on each band. To prevent aliasing perform all transmit tests at 35 KHz from the band edge.

RTC check (after booting it without the Internet)

Check that the RTC time on sbitx screen is same as utctime.net (on phone)

Hardware check

1 Set mode to USB,
2 Mic gain to 25,
3 Frequency on 7043 freq
4 Speak into the mic, note the peak voltage
5 Remove mic
6 Set mic gain to 50
7 Speak into the mic and note the RF
8. From settings panel, Change mode to cw, cwinput to Iambic paddle
9. Test dots and dashes

RF power stress tests

  1. et the drive to maxium, mode to CW and frequency to 7035 KHz
  2. Press the PTT and transmit the full carrier for 30 seconds
  3. Disconnect the PA dummy load and transmit for for 10 seconds with antenna connector open.

Updating the sBitx

Updating the sBitx software

The latest version of the sBitx software is always on github.com. The easiest way to get this is use the update script and rebuild the sBitx. Here is how :

Open a terminal by clicking Terminal Icon from the top bar. Another way to open the Terminal is to Hold Ctrl and Shift down together and press T.

In terminal, type:

pi@sbitx:~ $cd sbitx
pi@sbitx:~/sbitx $./update
pi@sbitx:~/sbitx $./build sbitx

Here is what it will look like (the exact output from git pull maybe different, depending upon the version you are pulling from github):

May 4th update for sbitx

The May 4th, 2023 update fixed many things. This post describes how to update the sBitx with these updates.

Step 1 Get Online and get the RTC running

You can still proceed to the next steps even if the RTC is not working properly.

Step 2 Update the sBitx software.

The latest version of the sBitx software is always on github.com. The easiest way to get this is use the update script and rebuild the sBitx. Here is how :

Open a terminal by clicking Terminal Icon from the top bar. Another way to open the Terminal is to Hold Ctrl and Shift down together and press T.

In terminal, type:

pi@sbitx:~ $cd sbitx
pi@sbitx:~/sbitx $./update
pi@sbitx:~/sbitx $./build sbitx

Here is what it will look like (the exact output from git pull maybe different, depending upon the version you are pulling from github):

Step 3: Calibrating the SWR/Power meter

The power meter will report your output so you can adjust it to save battery or excessive output that can destroy the transistors. The software updates after May 4th, 2023, also have an ALC (Automatic Level Control) that limits the power output of the PA to below 40 watts by monitoring the power and SWR bridge.

Variations in the diodes used in the power meter make it necessary to use calibration of the meter.

What if I don’t calibrate?

If you don’t calibrate, the radio will work all the same, at slightly reduced output. Others will hear you half an S-unit down.

What do I need?

You will need two things:

  1. An external SWR/Power meter that can measure the output power to within 10% accuracy. That is, if it reads 36 watts or 44 watts intead of 40 watts, it is good enough.
  2. A dummy load or an antenna . If you are using an antenna, it should have an SWR of less than 1:1.5 on 40 meters or 80 meters.

Checking the Meter Calibration Procedure

Attach the SWR/Power meter to the sBitx and a dummy load (or an antenna with an SWR of less than 1:1.5 on 80m or 40 meters.

  1. Start the sBitx, enter the passkey to get to sBitx main screen
  2. Set Mode to CW
  3. Set Freq to 7035 (or 3035 Khz, if you are using an 80 antenna) KHz
  4. From the Set CW INPUT to straight key
  5. Set Drive to 1
  6. Press the PTT to generate the carrier.
  7. Slowly bring up the drive until the external SWR/Power meter shows 20 watts.
  8. Note the reading of the on-screen power. The attached meter and the sBitx meter should be within a few watts of each other. If they are not, you will have to calibrate the meter.

Here is picture of the well calibrated meter. Note that the sBitx power meter on the left is reading 42 watts and the oscilloscope connected across the dummy load is showing 127 volts peak to peak (127v peak to peak across a 50 ohms is  40.3 watts).

Calibrating the meter

  1. Keep the mouse and keyboard attached to the sBitx
  2. Start the sBitx, enter the passkey
  3. Select 40 meter band, mode CW. (If you are using an 80 meter antenna), select 80 meter band.
  4. From the left panel, scroll  down to the Console button and press it to open the console panel.
  5. Console panel, type metercal and press Enter (from this point on do not touch anywhere on the screen)
  6. Press the PTT to generate the carrier and use the function knob on the top right to set the power reading on the sBitx to with 5 watts of the extrernal power meter reading.
  7. Change the mode, and wait for a minute to allow the periodic saving to settings to save the meter calibration.

For those who live dangerously

The meter calibration is stored at the value bridge in the user_settings.ini file. You will find the file at /home/pi/sbitx/data/user_settings.ini.

The two usual values for bridge are 100 or 72. If your uncalibrated power meter is reporting excessive power compared to the external power meter reading, you can just edit the bridge setting to 70 (if it is at 100).

Check that the values at 20 watts and 40 watts are within a few watts of each other between the sbitx readings and the attached power meter.

Re-Calibrating the Transmit output for different bands

The power amplifier gain decreases from 3.5 MHz to 30 MHz. The gain is compensated by decreasing the drive on lower frequencies and increasing it on the higher frequencies. These settings are in the file /home/pi/sbitx/data/hw_settings.ini. In almost all cases, these settings will work for you.

If you would want to recalibrate the drive for each band, this is how it can be done:

The sbitx can automatically run this calibration. Before you do that, you need

  1. The sbitx power meter must be calibrated as described above
  2. Attach a dummy load (not an antenna)

Start the sbitx, from the left panel, choose console. In the edit window of console, type txcal and press Enter. The software will trudge along for a minute or so and complete the calibration process.

If the settings get messed up, the there is a backup file called default_hw_settings.ini that you can use to restore the factory defaults.


Connecting the sBitx to Internet

Connecting the sBitx to Internet

Though sBitx works offline, you may need to conenct to the Internet to to sync time and get the latest software update. Here is how you do it.

You will need to attach a keyboard and mouse to the sBitx to do this.

Connecting with Ethernet

Plug in an Ethernet cable from your access point into the sBitx (see picture), and you are done.

Connecting with Wifi

Click on the Internet Icon from the top bar and choose your WiFi access point:

Now, enter your WiFi password/key,

Press Enter and you are done.

Tip: To test the Internet, you can open the chromium browser (it is the blue globe Icoon on the top left) and see if you can browse the Internet.

PA sequencing to avoid blow outs

PA sequencing to avoid blow outs

There have been many reports of the PA blowing up. The PA transistor is a MOSFET that can blow up due to high input voltages that can lead to the input gates blowing up or drawing too much current and blowing up the source-drain channel.

What is going on? 

We applied an oscilloscope probe to the TX_LINE. The TX_LINE goes high under raspberry Pi control during transmission. We applied the second probe to a dummy load connected to the antenna socket. What we found is below.

sBITX PA spike on TX->RX

As you can see, there is an enormously high power spike of 220V peak to peak (more than 100 watts of power).  Even more telling is that the gate RF t has 20 volts of RF. The maximum rating for the gate is +/-20V as per the datasheet some of the spikes are hitting that as well. See below

PA Spike on the Gate

Why is this happening?

The power amplifier is permanently connected between the exciter portion and the harmonic filters. On receive, the power to the drivers and the bias is switched off and the relay K9 with U3 bypass the PA to directly the signal to the rest of the radio.

When the transmission ends, the TX_LINE goes low and the power to the PA is switched off, simultaneously, the relay K9 and the analog switch U3 are released, allowing the RF to flow back from the PA output to the input. The power amplifier takes a few hundred microseconds to power down as the bypass capacitors still hold charge. This sets up the oscillations that we are seeing. To confirm this, I desoldered C14 and the spike went away, (it also renders the receiver dead) by breaking the feedback loop.

The spike of the oscillations remains on for as long as the bypass capacitors of the PA hold charge and they quickly discharge, killing the oscillations. Not quickly enough  to do damage.

What is to be done?

The powering up and down of the PA has to be sequenced. When we switch to transmit, we must first switch off the relay and U3, give it a millisecond and then power up the PA. When transiting to receive from transmit, we have to follow the reverse sequence. First power down the PA, wait for the caps to discharge and then switch the relay K9 and the switch at U3 to bypass the PA.

How can it be done?

The PA power is turned on and off in the existing sBitx when TX_LINE goes high at the gate of Q10. Now, instead of the TX_LINE, we take another GPIO line (we can call it TX_POWER) to separately control the powering up and down of the PA. This makes the spike go away.

Four things to do: 

  1. We pull in the new code from github. This software mod does not impact the unmodded sbitx but it can potentially blow up the modified sBitx if this mod is not in place.
    Power on the sBitx, open the terminal with Ctrl-Alt-T and type the following:

    cd sbitx
    git pull
    ./build sbitx
  2. We cut the track that brings the TX_LINE to the gate of the Q10 with a sharp knife.
  3. We add a wire from the Gate of Q10 to be taken to pin 36 of the Raspberry Pi’s connector on the digital board.

    Gate of Q10 isolated from TX_LINE and connected to TX_POWER
  4. We solder the wire coming from the Q10 gate to pin 36 of the Raspberry Pi’s connector on the digital board.

    Wire soldered to Pin 36 of RPI to connect to Q10 gate (TX_POWER)



You can see that the spike is gone. The two pictures are taken with different timing bases to be sure.

PA showing no spike after the mod
PA output clean after the mod at greater resolution

Corrupted sBitx – How to reset the settings.ini

Corrupted sBitx – How to reset the settings.ini

Anthony Good

Before you replace files, try deleting (or renaming) your settings file, /home/pi/sbitx/data/user_settings.ini.  I have had it several times where upon restart of the app or restart of the Pi, something goes wonky and deleting the settings file fixes it.  I haven’t gotten to the bottom of it yet.

If you need to toss a hand grenade, I would do the following (First open a terminal with Ctrl-Alt-T and then type:)
cd /home/pi
mv ./sbitx ./sbitx.old
git clone https://github.com/afarhan/sbitx.git
cd ./sbitx
./build sbitx