Sunday, December 27, 2015

Codan 6924 Mk2 on 40m

Picked up a Codan 6924 Mk2 at Dural a few months back. Always wanted one of these lunchbox radios. The IF is 1650kHz so by feeding a 5450kHz signal from a bench VFO in to an empty crystal socket I'm able to tune 7100kHz (for example).

It sounds a bit wobbly, but it's a good start.

The next step is to put together a little DDS oscillator small enough to be mounted internally. I'm not sure if I should try one with multi channels or just make separate ones to replace crystals.

I've now got it receiving 40m quite well using a DDS VFO with programmable offset that I purchased on ebay last year and badly boxed up.

Tip: You power it on while holding the CAL button to set the offset.

Saturday, December 26, 2015

WSPR on Ubuntu 15.10 using WSJT-X

The original WSPR software is an amazing construction, built with c++, Fortran, lots of library code and the UI is hung together with python. I've battled with building it and getting all the dependencies resolved in recent years.

Joe Taylor has re-written the suite as a C++ application that does not just the QSO modes but also the WSPR beacon mode. Here's a few notes on getting it going on Ubuntu 15.10.

Full documentation is here, but below are my abbreviated notes.

Grab the package from the URL on this page:


Install it:

sudo dpkg -i wsjtx_1.6.0_amd64.deb 

I recommend you install the time synchronisation software ntp like this:

sudo apt-get install ntp

Apparently you also need the kvasd decoder:

sudo add-apt-repository ppa:ki7mt/kvasd-installer
sudo apt-get update
sudo apt-get install kvasd-installer

Then you get a text menu with install and test options:

I ran WSJT-X, switched to WSPR-s mode. When the first 2 minute cycle ended I got an alert saying "/usr/bin/wsprd Error loading shared library".

To resolve that I installed the library:

sudo apt-get install libfftw3-bin libfftw3-dev

I have no idea if -dev is required but sometimes it has helped in the past in other contexts.

Now all seems well and I'm merrily decoding WSPR beacons.

This runs nicely on an old MSI U200 laptop with a dual core 1.2GHz processor. The short but wide screen doesn't particularly work well with the dual window design of WSJT-X but it quite usable and seems to decode very well.

Wednesday, December 23, 2015

Low cost 45W HF linear amplifier kit

I can't resist the low cost electronics kits out of China these days. On the bench at the moment is a 45 W HF linear for US$20.

My kit was missing the large capacitor and had extras of many of the surface mount components. The strips were marked with the values.

It's a familiar design with a pair of IRF530s in push pull on the output. The surface mount components are tiny and I have run in to a few problems with bad connections due to my giant sized soldering iron but it has come together.

The instructions are machine translated from Chinese and are quite amusing.

Here's some excerpts:

* I will Stress that the fourth point is Pandora's box, and you will feel good, if you do well. But if you do it not very well, you will reinstall after buying a new one!
* The welding way should be correct, no mistake, and no
* Postscript: Pay more attention please, because of the discreteness of component, the initial conditions may be not the optimization. In order to make discharge waveform best, experienced worker can make adjustments. In practical use, you must insert low pass filter after outputting, and filter the higher harmonic.

At this point I'm debugging the input stage which isn't biased correctly for some reason.


OK, I had destroyed Q3, a 2SC3357. I've roughly replaced it with a random NPN transistor and now for 2V in I see over 50V peak to peak out. The waveform looks pretty bad but that's mostly coming from the input stage having a totally wrong device in there. They are easy to source so I've ordered a bunch more.

So, it looks like the kit is good. I had one bad surface mount joint but otherwise it seems to have come together ok.

Sunday, December 20, 2015

WSPRnet down up down...

The fantastic JT65 mode which is used for the WSPR beacon network relies on the web site at

For several years, but dramatically lately, the site has been down. is both a Drupal based discussion board with key information about WSPR but more importantly a database of sports reported by the client applications.

At the time of writing, the site reports:

346,759,392 total spots
326,804 in the last 24 hours
7,653 in the last hour

It wouldn't be so bad if just the discussion forum was down, but when the site goes down we lose the reports from remote stations as well. This could be critical for hams tracking beacons on balloons and of course is now relied on to get a view of propagation around the world.

The problems have not gone un-noticed not just in the forums (when up) but also on Twitter.

JT65 creator Joe Taylor posted on the site this morning:

"This excellent web site is written and maintained by Bruce Walker, W1BW. We haven't heard from Bruce in quite some time; presumably he's very busy with work or other obligations.
I get frequent emails from people saying something like "I applied for a WSPRnet account and received a confirmation email telling me approval was pending. Then nothing... Can you help?"
I always tell people to contact W1BW. But I can guess what happens, because I can't raise Bruce by email, either.
I think we need a volunteer who knows web programming to pitch in and help, perhaps sending Bruce a priority letter by FedEx or something to get the process started.
-- 73, Joe, K1JT"

I'm the author of an iOS application "WSPR Watch" that crawls the site to report spots and in the past I've tried to contact the site administrator to make sure I am being kind to the site. I was unable to get a response.

The site is well designed and has a great deal of functionality for displaying, searching and mapping spots.

The spot upload web service works like this:

function wspr
tcall ZL3DMH
dbm 37
tgrid RE66
drift 0
date 151219
dt -0.7
rcall vk2tpm
version 3.00_r2328
sig -19
rqrg 14.0956
time 2304
tqrg 14.097178
rgrid QF56of


1 out of 1 spot(s) added
Processing took 65 milliseconds.

What's to be done?

The Drupal based discussion forum is fine and should remain as is, but I think that the spot database should move to a different domain and be backed by a cloud based scaleable architecture. The project should be managed by a team in the open.

The spot database should provide APIs both for client apps and reporting apps (like my WSPR Watch and iWSPR). These APIs should require a license token and be protected from overuse.

Hopefully can return 301 Moved Permanently responses and the clients will jump over to the new API if not there will be a period of disruption but in the end we will end up with a system that can take us all forward.

I'm here to help as are many others. I'm grateful to the work done by Bruce Walker and I hope he's ok. What's the next step?

Reading a GPS with Arduino

Bought a u blox neo 6M:


Works well:

Even inside the house it found 7 satellites (I’m not sure if that’s the max).

I used the TinyGPS++ library

The "Device" example was my start. Turned out that my GPS baud rate is 9600.

When I first built the gps example the compiler printed some warnings (something about can't inline a static) while building the software serial library. At first glance these looked like errors but in fact they were just warnings and once built the first time all was clean on subsequent builds.

I've heard other hams complaining that the library they want to use won't work with the latest Arduino IDE and to overcome errors they resorting to running old versions of the IDE to overcome these problems - which of course leads to other incompatibility problems.

Struggling a bit with number to string conversions but starting to drive a little display now:

Sunday, December 06, 2015

Simple copper pipe loop for 40m

After several false starts, including complex schemes involving stepper motors and long rods, I've settled on a very simple design for a loop that nicely covers 40m.

The loop is about 1m in diameter, a cat is shown for scale.

Contrary to some other designs, I've put the coupling at the top. Two turns on a FT-114-43 toroid. (Since this picture I've anchored things with some cable ties and removed one turn to get a lower SWR).

The tuning is at the bottom. I needed an extra 180pF to get this on to 40m. A larger knob is better, a reduction drive would be even better. (Tuning is very sharp).

Here's a rough drawing of the circuit:

Sitting at the table in the back yard yields decent reception - not as good as the full size dipole - but not bad.

The 3m length of copper pipe was a standard cut length at the local hardware store.

To find where the loop was resonant and make sure it was working, I used a miniVNA pro  and the vna/j software. I'm running Ubuntu Linux and ran in to some problems getting vna/j running. The trick is to remove the open source Java implementation and install the version from Sun. Also there's the JNI libraries that are required the Arduino IDE that needed to be removed to get it running.

Here's the plot showing the SWR dip at 7.1Mhz to 1.4:1. The KX3 tuner nulls out the mis-match without problem.

I've transmitted up to 50W SSB without any bad things happening.