Saturday, January 14, 2017

Added an Arduino controlled Si5351 VFO to the Bitx40

Like, it seems, everyone on the internet, I have added a digital VFO to the Bitx40 board.

The Bitx40 board is a great base for experimenting with a 40m QRP SSB radio.

The code for the Arduino is based on code from AK2B who based it on code from Jason Mildrum, NT7S and Przemek Sadowski, SQ9NJE.

I slightly modified it to use the Etherkit version of the Si5351 library (which can be installed from within the Arduino Library manager).

Other changes were to strip out some things not needed for the Bitx40, enforce 40m band edges and improve the display of the step size a bit. Here's a video of it in use receiving.

I did run into insufficient space on one of the Arduino I had in the junk box but another worked fine. My fork of the code is available on github here. Having done all this, I'm now having second thoughts and am considering doing what Peter VK3YE did and using a ceramic resonator for the VFO.

Friday, January 06, 2017

Took out the quadcopter this morning

Great to catch up with some real pros this morning Terry and Paul.

The cyclist on the right who you see briefly in this video told us that he'd attempted a height record with a kite. The kite's angle could be remote controlled and got to about 13km of string.

Thursday, January 05, 2017

Hearing Peter VK3YE's 200mW indoor loop

I got an email this morning from Peter, VK3YE, who noted that I'm receiving his 200mW from a WSPRLite on an indoor 90cm magnetic loop.

WSPR of course.

Here's the transmitting loop:

Construction is described here.

Friday, December 30, 2016

Automatically recognising digital modes with machine learning

My favourite digital modes are PSK31 and WSPR, both on 20m, but there are a large number of other modes. Recently tuning around I saw the mode pictured on the right but despite reviewing some excellent sites that show all the modes and provide both images of the waterfall and audio recordings I was unable to decode the signal using fldigi.

Machine learning has improved enormously in the past few years and the ability of trained models to recognise new images as being things like a cat or sunset are amazing.

It might be possible to train a neural network with a collection of screen shots from the waterfall of each digital mode so that a new screen shot could be automatically identified. 

An internet search for some existing software that does this turned up something that looked hopeful - a windows application called Artemis: Free Signal Identification Software, but (after navigating through a truely evil free hosting Windows malware attempt) the downloaded utility is just a GUI for searching the collection of waterfall images so that the user must decide.

Google has open sourced TensorFlow which is a system which can be trained with sample images and then when given a new image will classify it for you. They ship a pre-trained model called Inception v3 that has been trained with 1,000 different classes of images from ImageNet

There is a really excellent introductory tutorial called "TensorFlow for Poets" that I followed.

The tutorial shows how to re-train this model with additional flowers that it doesn't know including daisy, dandelion, roses, sunflowers and tulips. Here's some of the sample daisy images.

Thanks to docker, it's very easy to get TensorFlow running. The sample images are in a directory that is mounted as a volume in the docker container. 

After getting all this to work - and very reliably recognise flowers, I captured and hunted down sample images of two digital modes, BPSK and RTTY. I chose these two because they are common and also rather similar to the eye. Here's some of my psk sample images.

One trap to note is that you do need a decent number of sample images, 30 - 40 or more or you'll get this mysterious error during training.

CRITICAL:tensorflow:Label rtty has no images in the category validation.
Traceback (most recent call last):
  File "tensorflow/examples/image_retraining/", line 1012, in, argv=[sys.argv[0]] + unparsed)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "tensorflow/examples/image_retraining/", line 839, in main
  File "tensorflow/examples/image_retraining/", line 480, in get_random_cached_bottlenecks
  File "tensorflow/examples/image_retraining/", line 388, in get_or_create_bottleneck
    bottleneck_dir, category)
  File "tensorflow/examples/image_retraining/", line 245, in get_bottleneck_path
    category) + '.txt'
  File "tensorflow/examples/image_retraining/", line 221, in get_image_path
    mod_index = index % len(category_list)
ZeroDivisionError: integer division or modulo by zero

In the end I got past this by simply duplicating my sample images which of course doesn't help improve recognition but gets past the fatal error. It is quite hard to find 40 sample images of a digital mode.

Identifying images of modes

As a first test I fed the system two images which were part of the training images.

PSK image

root@03d6e1679d7e:/tf_files# python /tf_files/ /tf_files/digital_mode_samples/psk/psk31.jpg 
psk (score = 0.99392)
rtty (score = 0.00608)

RTTY image

root@03d6e1679d7e:/tf_files# python /tf_files/ /tf_files/digital_mode_samples/rtty/rtty.jpg 
rtty (score = 0.96134)
psk (score = 0.03866)

As can be seen here it distinguish between PSK and RTTY with certainty.

Here I gave it a freshly captured PSK31 signal, one that was not in the training images.

root@03d6e1679d7e:/tf_files# python /tf_files/ /tf_files/untrained\ psk.jpg                 
psk (score = 0.74714)
rtty (score = 0.25286)

As expected, not quite as sure but still very good.

I think there is a good prospect of using machine learning image recognition for guessing digital modes. Ideally this would be built in to clients but it might make a good app (using the phone camera to capture the unidentified signal) or a web site where you upload a screen shot.

The main thing I need to expand this is lots of sample waterfall images.

There's some interesting discussion in a thread in the Reddit amateur radio subreddit.

Thursday, December 08, 2016

Radio Australia ending shortwave broadcasting

The end of an era. I talked about the value of shortwave broadcasting this morning on ABC Radio National. You can hear the audio here. (Technical friends please forgive my simplistic explanation of the ionosphere).

The official press release.

Wednesday, December 07, 2016

Peggy Glasser nee Marks has died

Sadly, my dear Aunt Peg died on Tuesday. She had a long career as a performer in radio plays mostly on ABC radio.

I saw her on Saturday and she was alert and very funny as always.

Here she is in an interview with Beverley Dunn.

Here she is in a radio play "East Lynne" episode 7, as always she played a young boy. (About 2:30 in s/he appears as Bobby).

I've just celebrated ten years as a commentator on ABC RN Breakfast. That's nothing compared to the length of Peggy's career. On Saturday we talked about the excitement of doing live radio.


Next Saturday at noon ABC Local Radio will air this tribute edited from the audio on DAB+ and streaming as part of Editor's Choice. Thanks James O'Brien for a lovely job.

My thanks to the wonderful National Film and Sound Archive who helped me find performances by Peg a few years ago. She was amazed that some had survived.


Series: 238366
Summary: The story of the Markham family set around family house ‘Four Winds’. The story centres around Gilbert Markham, his four children and his second wife, Anne.
Contributors: Madge Thomas (SCR), Broadcast Exchange of Australia (PDC), Grace Gibson Radio Productions (DSR), Athol Reilly (PDR).
Cast: Beverley Dunn, Mary Disney, Douglas Kelly, Carl Bleazby, Noel Ferrier, Peggy Marks. Label: BEA
Episode duration: 15 mins
Episodes produced: 520
Broadcast details: Broadcast nationally in Australia over the Major Network, and in New Zealand over the New Zealand Broadcasting Corporation.
Notes: Sequel to ‘Stepmother’ and is followed by ‘The Markhams of Four Winds’.

Series: 238597
Summary: Adaptation of Mrs Henry Wood’s early Victorian novel of romance and intrigue. Contributors: Mrs Henry Wood (AUT), Marcus Clark, McDowell’s Ltd (SPO), George Matthews (PDR).
Cast: Queenie Ashton (Lady Isobel), Harvey Adams (Archibald Carlyle), Lola Kelly (Barbara Hare), Leonard Bennet (Lord Mount Severn), Ronald Morse (Francis Levison), Nellie Ferguson (Cornelia Carlyle), Margaret Johnson (Emily), Peggy Marks.
Label: BAP
Episode duration: 15 mins
Episodes produced: 52
Broadcast details: 1939- ; Sunday to Wednesday on 2HD at 8.45pm ; Monday and Wednesday on 2CH at 9.00pm
References: ‘Once upon a wireless’ oral history interview.



Series: 239090
Summary: Cheerful story which approaches the problems and pleasures of everyday life about the Grant family. Lavender Grove is a pleasant tree-lined street in a better-than-average suburb.
Contributors: Warren Glasser (PDR), Rae Clye (SCR).
Cast: John Bhore, Robert Peach, Peggy Marks, Mary Ward, Beverley Dunn, Monty Maizels, Bettine Kauffman.
Label: BEA
Episode duration: 15 mins
Episodes produced: 1452 (At least)
Broadcast details: 1955-1960 ; Major Network.
References: ‘Once upon a wireless’ oral history interview with Monty Maizels.
NFSA Holdings: Eps 15-40 (incomplete)



Series: 239427
Summary: Radio serial based on the children’s novel, Pollyanna. Contributors: John Hickling (SCR).
Cast: Ngaire Thompson, Peggy Marks.
Broadcast details: 3DB
References: ‘Once upon a wireless’ oral history interview.



Series: 239609
Contributors: Madge Thomas (SCR), Broadcast Exchange (PDC).
Cast: Beverley Dunn, Peggy Marks
Label: BEA
Episodes produced: 832
Broadcast details: 1940s-1950s
Notes: Final series in the Markham family saga. Other include ‘Stepmother’, ‘Delia of Four Winds’, ‘Markhams of Four Winds’, ‘Markhams’ and ‘His Heritage’.
References: ‘Once upon a wireless’ oral history interview.


Seems to be a program called "once upon a wireless"

And from:


Record No. - 271769
Peggy Marks (Glasser), radio drama actress, discusses her career in radio. Marks tells how she started in radio while still at school and won a part in the popular "Pollyanna". She recalls how she often won boys' parts and played Fatty in The Blytons. Marks talks about her involvement in many of her favourite shows including Lavender Grove, Simon Masterton and The Fakamagangees. (00:41:39)

Saturday, November 05, 2016

Stop complaining about Apple's USB-C transition

Wow, Apple got some heat when they announced the updated MacBook Pros with just USB-C ports. They're feeling that heat too, I can't remember a time when they have responded to criticism by cutting the prices of products like this.

Rather than focussing on the annoyance of needing dongles to convert from USB-C to USB-A, HDMI, DisplayPort, SD Card, and many others; I propose that we marvel in the genius of this new standard.

The USB-C connector is slim and strong. You can plug in either way up. The same socket can charge, output video, connect to a wired network, and even extend the PCI bus outside the box potentially to cards in a rack. One laptop can even charge another (the first one you plug in supplies power to the second). The monitor can charge the laptop via the cable being used for video and extend USB.

When I told loyal PC guy Theo on the bus that the new MacBook Pro could drive four 4K monitors he flat out didn't believe me.

We are in a transition. For a period of time we'll need either dongles or docks but soon peripherals with USB-C cables or sockets will take over and the dongles will disappear. Wireless from cameras needs to get better (maybe Apple should license a form of AirDrop?).

Apple said that they showed "courage" in removing the headphone jack from this year's iPhone. I think the real courage they're showing is going all in with USB-C. The next step would be to put USB-C on the iPhone.

This is a great new standard. Bring it on.