Saturday, December 07, 2019

WSPR Watch is back

There's a new version in the App Store that corrects the problem we've been having. I'm now working on improvements to the handling of data from PSKReporter and the Reverse Beacon Network.

WSPRnet has been a bit unreliable lately but the latest version of WSPRwatch will now correctly show if the network request times out. I set the timeout to 30 seconds.

Thanks to everyone who wrote in via the app with feedback and suggestions.


Thursday, December 05, 2019

WSPR Watch is down

My free iOS app, WSPR Watch, is a convenient way to display data from WSPRnet.org and a few other ham radio sites. The app stopped working last night probably because something changed in the way the site works. I emulate a browser and for some reason this has stopped working.

I'm sorry about this, it was always on the cards. I'm working on a fix and will get it out as soon as I figure out this little puzzle.

Saturday, November 30, 2019

ABC celebrates 80 years of international broadcasting

80 years of international broadcasting by the ABC was celebrated this week at the headquarters in Ultimo, Sydney.

David Hua, ABC Head, International Strategy introduced the event.

Geraldine Doogue was the MC for the evening. She described the International division as “Taking Australian culture beyond its shores”. Doogue described ABC International as the very best of the ABC and said that the people who work in it have a sense of pride in Australia and work out how to present it to the world.

Ita Buttrose, ABC chair, said “The birth of Australia’s international broadcasting service came at a time of global upheaval, uncertainty and disruption. Australia seemed far removed from the epicentre of conflict in Europe, but the technology of cable and wireless brought the war in to living rooms across the country.”

As Ms Buttrose noted in her recent speech at the Lowy Institute, radio technology also gave Australia the opportunity to speak directly, for the first time, to its near neighbours, countering the propaganda and fake news of the day.

Buttrose referred to the book “This is the ABC”, a history by Ken Inglis, where the author noted that following World War II, when it looked like the ABC’s international service would be drastically cut, the government was warned that if Australia gave up its international frequencies, someone else, perhaps the Russians, would move right in. That was enough to change the Government’s mind and in the post war period, Radio Australia flourished as an integral part of the ABC and served as a vital and effective diplomatic tool.

“Just like the early days of international broadcasting, a disruptive world order, rapid technological change, the growing influence of super powers in our region, and the use of media as a geopolitical tool; are all still very familiar to us today.”

The ABC International service of today is quite different to its past. (Hint: much smaller, and lacking shortwave -editor). Some changes are a natural evolution due to technology and audience demographics, but the current form has primarily been brought about by necessity.

However, Ms Buttrose is optimistic about the future. “In recent weeks, both Prime Minister Morrison, and the Minister for the Pacific and international development, Alex Hawke, have spoken of the importance of marshalling resources to engage with and influence the region and the wider international community”.

“The Minister for Foreign Affairs, Marise Payne, has encouraged Australian communities and institutions to take Australian values to the world in the interests of promoting peaceful, open and inclusive international relations”.

Ita Buttrose went on to say “I believe the ABC has a fundamental role to play in achieving these objectives. We are Australia’s trusted voice in Asia and the Pacific. We have a proud record of achievement, telling Australian stories, reporting fairly and fearlessly, presenting Australian culture and education, and delivering valuable information in times of crisis, and we’ve done this for eighty years”.

“Crucially, our point of difference from state broadcasters and other international media is that the ABC has an independence from Government and the longevity to secure a foundation of mutual trust and respect. An unmatched expertise and understanding. We talk with, not to, our neighbours”.

Buttrose argued that if Australia is to step up in the region, the ABC is an existing platform from which to step up.

David Anderson, ABC Managing Director, has recently shown a commitment to international broadcasting by launching an international version of the iview video on demand platform last month.

“ABC’s international services are a national asset and they have been for a vast majority of the ABC’s history. They’ve been connecting with Australians overseas, sharing Australian stories with the world, and letting our neighbours in the Indo-Pacific region know that Australia is a trusted friend. We’ve done that over multiple generations”.

Anderson commented that the international TV service, “ABC Australia”, is available in 80 territories across the Indo-Pacific region. ABC Radio Australia is available via FM relays right across the Pacific. Digital stories published in four languages reach people all over the world through web sites, social media and apps.

“The importance and relevance of international media is as important now as it was on the 20th of December 1939 when Sir Robert Gordon Menzies’ voice echoed across the ionosphere. The more things change, the more they stay the same. Misinformation and fake news are a threat to the rules-based order that we have across the globe”.

Pressure on the ABC and public broadcasting continues.

“Let’s not forget our foreign correspondents who report to and from the region: from the legendary Sean Dorney, Jemima Garrett, Natalie Whiting, Melissa Clarke, and Liam Fox”.

Anderson said “I believe, with the right commitment the ABC can offer even more to the region than what we do now. The question shouldn’t be whether we can afford to have an international media service, but whether we can afford not to”.

My thanks to the organisers for inviting me.

Tuesday, November 26, 2019

Beware of macOS malware

I've always felt pretty safe from malware by running macOS but recently three people I know have found that they have unwanted software on their Macs. In each case, they were tricked into installing software that claimed to be an update to Adobe Flash. I saw this scam recently and I think it was launched from an ad on the page. Here's a screen shot:


checkupdate.mainsourceofupgrade.best yeah right, that sounds legit.

This works I think because we've all been well trained to keep Flash up to date.

The most obvious symptom of the infections I've seen is that your default search engine is changed from Google to Bing. I've no idea why that might be done but perhaps the browser extensions it installs is able to intercept your searches to Bing to better target ads at you.

To check for, or get rid of, this unwanted software, I recommend Malwarebytes which will let you do a scan for free and only asks for money if you want it to remain and keep scanning. This seems very fair to me.

I ran it on my machine and am clean, my neighbour had 17 bad things.


If you choose not to purchase then you can remove it via the Uninstall item in the Help menu.



The malware I've personally seen is "Adware" which seems to install browser plugins to show you more or different ads. It's annoying but the terrifying thing is that once on your computer who knows what it might get a look at.

Apple's macOS is getting more secure with more limits on what applications, including browsers, can access and I support this, despite occasional pain with apps that have to ask for lots of permissions.

Be very skeptical of popups on web sites, or even emails, that ask you to authenticate to install anything.

Friday, November 22, 2019

ESP32-CAM notes to self

Recently I purchased two ESP32-CAM modules from Banggood for under AU$10 each. There is lots of help on line including the excellent Random Nerd Tutorials site but I ran into a couple of problems. Here's the module I received:


I used the "video streaming face recognition" sample code but it reported that the camera found was not supported until I finally chose the CAMERA_MODEL_AI_THINKER.

Programming was done with an FDTI board running at 3.3V and powering the ESP32 board at 3.3V. When I disconnected the programming link and re-booted it would show "brownout detected". The solution was to set the USB serial board to 5V and power the board from the 5V line.

Finally I was up and running but the image was a terrible blur. Both boards were similarly bad. Close inspection showed that the lens is screwed into the sensor housing. In one case it was fully screwed in and glued. In the other case it was cross threaded and glued. Both were fixed with the help of some pliers.

The image quality is surprisingly good.


Face detection and recognition is pretty useless but amazing that it works at all on a tiny computer. The board also has a microSD socket and there's sample code to detect movement and save images to that card.

ESP32 is a great platform and is supported with the Arduino IDE or platformIO. I tend to get things going with straight Arduino and then move over to platformIO for better editing and features like code completion.

Sunday, November 10, 2019

MLA-30 active receive loop antenna

After reading a glowing review of the low cost MLA-30 active receive loop antenna, I ordered one from Aliexpress for just AU$55. Here are my initial impressions.

The components are of good quality and you get a generous run of coax.


The phantom power box is good (although the power LED is very bright). It's powered from a micro USB socket which might add to the noise floor.


I installed it on the balcony on a PVC pipe. I haven't done a good job of getting the steel wire to be circular but it's a good start. At least it has a low wind profile.


Comparison here is rather unfair on 40m as I have an excellent dipole. Here's reception on the dipole.


Here's reception on the loop. The noise floor is certainly higher.


Of course, the benefit of the loop is that it covers all of HF so beats the dipole on bands like 80m.

Here's a snippet of the ARNSW Sunday broadcast received on 80m using the loop.



Connectors are SMA which works well with SDR receivers. Here is a recording of 9MHz shortwave using the loop. It's not as good as my big dipole but I'm really impressed with what you can hear with a small loop on the balcony.


I'm impressed with this receive loop. If you have space for a full size dipole then that's the way to go but if you only have a balcony then this is a great way to listen.

G8jnj has reverse engineered the circuit of the MLA-30 here.

Check out this comparison from "Scanner and SDR Radio" between several receive loops, some much more expensive.


The author has replaced the co-ax with better stuff and used a larger loop.

Wednesday, November 06, 2019

13 Minutes to the Moon - interesting podcast

Thanks to talented friend Aidan Roberts, I've just listened to a fascinating podcast series from the BBC World Service called "13 Minutes to the Moon". You can get it by searching in your podcast player or downloading here.

The series tells the story of Apollo 11 but in particular examines the final descent to the moon and the things that went wrong, including communications failure and the 1202 (and 1201) overflow alarms from the flight computer.

As well as different versions of the audio from the mission, there are original interviews with some of those involved. I've read several books about the Apollo program and there was new material for me in this.

The music for the podcast is by Hans Zimmer and he's even interviewed about his memory of the landing. You've got to take podcasts seriously now that they have music composed by the guy who wrote themes for Interstellar and many others.

Friday, November 01, 2019

First experiment with LoRa transceivers

LoRa is a fascinating radio system for low power but long range digital data communications. Low cost transceivers claim a range of 15km. John, VK2ASU, has been working with these for a few months with an application involving reporting activity at a remote site.

I also came across LoRa when talking with the City of Ballarat for a GovHack story. They put a LoRa Gateway up on the town hall and are using it to collect data from all over town including things like rubbish bins reporting their fullness.

Here's my hardware setup. (Receive and transmit sides look the same).


I'm using cheap Arduino Nano Pros. They need to be 3.3V to talk to the LoRa Module.

The modules I purchased are RA-01 SX1278 on 433MHz. They were AU$8.67 each (but cheaper if you buy 2 or more). For starters I'm using ones with the little spring antennas and obviously better antennas help them go further.



With one at the extreme end of the house to the other here's the received packets.


So none are being lost. I'm not sure if the protocol re-sends if there's no ACK.

The Arduino library is one of the ones available right in the IDE. It is by Sandeep Mistry and the source code and documentation is here. To get started I wired up to Arduino Nano Pros using the wiring diagram from this excellent tutorial. The examples titled "LoRaSender" and "LoRaReceiver" work well and the only change is to set the frequency to 433E6 (meaning 433MHz) on each end.

There are many levers to adjust with LoRa and you can trade of data rate for range. John ASU advises that he uses these settings:

TxPower (20,20);
Spreadfactor (12);
Bandwidth (62.5E3);

I'm just using the defaults for now.

The tutorial mentioned that the 3.3V supply from the Arduino wasn't sufficient and that may be the case at higher transmit power levels, but for me it's working from the VCC line on the board which is powered by the USB Serial board I use.

The LoRa physical protocol

LoRa is a proprietary protocol but, naturally, this puzzle has led to some excellent work to figure out how it works.


On a waterfall, the spectrum shows what people call "chirps", that is the frequency sweeps rapidly up or down. Here's a picture from the GRCon16 video above by Matt Knight.


The receiver looks for the regular header at the top and uses that to sync up with the transmitter before the data packet begins. Note that the image above is vastly expanded. I've tried to view this with an RTL-SDR dongle in SDR# and all you see is very brief signals for each packet.



Thursday, October 24, 2019

Review of Australian Broadcasting Services in the Asia Pacific released



The long awaited review of Australian Broadcasting Services in the Asia Pacific has been released and is available here.

The 193 page report has been prepared for the Department of Communications and the Arts. The review was announced in September 2017.

I'm particularly interested in that it specifically includes the role of shortwave broadcasting. Australia has ceased shortwave broadcasts.

An interesting conclusion in the report on page 128 is that the authors estimate that shortwave broadcasts to the Asia and Pacific by Australia have a net economic benefit since 2007-08 of $40.3 million.


Supporters of Australian Broadcasting in Asia and the Pacific (SABAP) (I am a member). Has issued an initial response.

The ASPI Strategist has now published an excellent critique by Geoff Heriot titled "Asia-Pacific broadcasting review misses the point". It's well worth a read.

Wednesday, October 23, 2019

ESP32 OLED display of power generated via Fronius inverter

This is a followup to an earlier post where I used an ESP8266 to connect to Wifi and call a JSON web service on my Fronius inverter to show the current power being generated by the solar panels here on the house.

Since then, I've moved on to marvellous little boards that combine an ESP32 with an OLED display.


(Yes, I'm rushing to finish this before the sun goes down).

The Fronius inverter joins the home wifi network and has a simple web service endpoint that returns JSON data.

To compile this you'll need:
Settings in the Arduino IDE are:

  • Board: WEMOS LOLIN32
  • Upload speed: 921600
  • CPU Frequency: 240MHz (WiFi/BT)
  • Flash Frequency: 80MHz
  • Partition Scheme: "Default"
  • Port: "/dev/cu.SLAB_USBtoUART" (Note that I'm on macOS)

Documentation is a bit of a puzzle and some of the examples are wrong for this board. The magic I needed to talk to the display on this board is:

SSD1306  display(0x3c, 5, 4);

To program the ESP32 board from the Arduino IDE, the trick is to click upload and wait until it starts showing "Connecting........_____.". Then hold the "Boot" button, and let go when it starts uploading code.

For my own future reference (and you never know, this might help someone else), here's my code. I was using Arduino 1.8.10 but have now switched to Visual Studio Code with PlatformIO. (Note that Angle Brackets don't work on Blogger so the include files have quotes in place of them). Don't forget to fill in your own WiFi SSID and Password.


#include "SSD1306.h" // alias for `#include "SSD1306Wire.h"`
#include "WiFi.h"
#include "ArduinoJson.h"
#include "HTTPClient.h"

// Fronius Inverter
const char *HOST = "192.168.86.23";
const char *SSID = "XXXXXX";
const char *PASSWORD = "XXXXXX";
const long kMaxPower = 3300; // maximum watt for the bar graph
const int16_t displayWidth = 128;
const int16_t displayHeight = 64;
  
// Initialize the OLED display using Wire library
SSD1306  display(0x3c54);
void connectToWiFi(const char * ssidconst char * pwd);

void setup() {
  // put your setup code here, to run once:
  //Serial.begin(115200);
  display.init();
  // display.flipScreenVertically();
  display.setContrast(255);
  display.setFont(ArialMT_Plain_24);
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  connectToWiFi(SSID, PASSWORD);
}

void connectToWiFi(const char * ssidconst char * pwd)
{
    WiFi.begin(ssid, pwd);
    while (WiFi.status() != WL_CONNECTED) 
    {
        delay(500);
        //Serial.print(".");
    }
    //Serial.print("Wifi connected");
}

void displayThis(String textlong power
{
  display.clear();
  display.drawString(displayWidth / 216, text); // x,y
  const int16_t barHeight = 8;
  
  display.drawRect(0, displayHeight - barHeight, displayWidth, barHeight);
  long barWidth =  power * displayWidth / kMaxPower;
  display.fillRect(0, displayHeight - barHeight, barWidth, barHeight);
  display.display();
}

void loop() {  
  if((WiFi.status() == WL_CONNECTED)) {
        HTTPClient http;

        String url = "http://" + String(HOST) + "/solar_api/v1/GetInverterRealtimeData.cgi?Scope=System";
        http.begin(url);

        // start connection and send HTTP header
        int httpCode = http.GET();

        // httpCode will be negative on error
        if(httpCode > 0) {
            // HTTP header has been send and Server response header has been handled

            // file found at server
            if(httpCode == HTTP_CODE_OK) {
                String payload = http.getString();
                
                // Allocate the JSON document
                // Use arduinojson.org/v6/assistant to compute the capacity.
                //const size_t capacity = JSON_OBJECT_SIZE(3) + JSON_ARRAY_SIZE(2) + 60;
                DynamicJsonDocument doc(900);

                // Parse JSON object
                 DeserializationError error = deserializeJson(doc, payload);
                 if (error) {
                      //Serial.print(F("deserializeJson() failed: "));
                      //Serial.println(error.c_str());
                      return;
                  }

                  // Extract current power generated from the Fronius inverter
                  long generatedPower = doc["Body"]["Data"]["PAC"]["Values"]["1"];
                  String displayedPower = String(generatedPower) + " W";
                  displayThis(displayedPower, generatedPower);
            }
        } else {
          displayThis("HTTP Error"0);
            //Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
        }

        http.end();
    } else {
          displayThis("Wifi Error"0);
          connectToWiFi(SSID, PASSWORD);
    }
  delay(5000);
}

The sun has come out again!


I've added a bar that shows how much of the maximum output of the panels we're at. Not in the code above but it's pretty simple using the excellent display library.


Update: now building under PlatformIO

I prefer to develop using Visual Studio Code and PlatformIO but initially ran in to trouble getting it to work with the ESP32. This tutorial gave me the key, which is to use the "Espressif ESP32 Dev Module" as the board.

One reason why I prefer using VSC to edit is the excellent code completion:


The Arduino IDE has a lot of weirdness compared to what I'm used to.

Monday, October 21, 2019

Multiple Low Earth Orbit satellite service will soon offer global internet access

Low Earth Orbit (LEO) satellites are cheaper to launch than geostationary satellites and, with modern manufacturing, can be cheap enough to make in the thousands.

There are several companies currently launching experimental satellites and it seems that there will soon be ways to get internet access either directly or via a small ground station that relays via local WiFi.

If the satellites are in very low earth orbit, some as low as 200km, the latency can be comparable to ground based internet services.

SpaceX

SpaceX was granted permission to launch 7,000 satellites for Starlink internet provision back in 2018. The full plan involves 30,000 satellites. The plan is offer internet to every part of the earth by having at least one satellite visible at any time. Initial service might start as early as 2020.

There's a rather out of date FAQ here on Reddit.


Amazon

Amazon's Project Kuiper involves 3,236 satellites at various low earth orbit heights. "784 satellites at 367 miles, 1,296 satellites at 379 miles, and 1,156 satellites at 391 miles". Rather than covering the entire globe, they're going for a band north and south of the equator that covers 95% of the population. 

OneWeb

OneWeb provides internet for business jets. Their system is made up of both a swarm of satellites and ground stations.


OneWeb recently completed tests from Seoul, South Korea using just six satellites and showed they could deliver "high-speed, low-latency services at speeds of more than 400 Mbps, enabling the fastest real-time video streaming in Full HD". Latency is reported to be 40 milliseconds but with an average of just 32ms.

Swarm Technologies

Swarm has been granted permission for a constellation of 150 LEO satellites for provision of non-voice Mobile-Satellite Services (MSS). While targeting IoT customers, which suggests low bandwidth. Reportedly 1kbps initially, rising to 2.7kbps. Not much good for internet but useful for tracking and messaging.

New internet competition?

The big question with all of these new options is the price. If players choose to go after the elite end of the market, such as business jets, then it won't affect many of us. If players, as Amazon is reported to be doing, target advanced markets like the US, then this could threaten terrestrial providers.

My hope is that we get services that target under served markets such as outback Australia and the Pacific Islands. Particularly in developing countries prices will need to be low to be affordable.

The equipment needed to talk to low earth orbit satellites must have rapidly steerable directional antennas but just as GPS receivers have become small and cheap, this will also become affordable at scale.

Can satellite internet be blocked?

Some countries filter the internet. Australia is on this list as a surveillance state. Unlike bans on receiving satellite TV (which used to require large dishes that could be seen), it's going to be hard to detect users of satellite internet. Like jamming of GPS, presumably these satellites or the receivers could be overwhelmed by strong RF until they comply with local requirements.

Please let me know in the comments if there are other players I've missed.

Great documentary about "Stuxnet" - "Zero Days"

There's a great documentary made in 2016 called "Zero Days" that I watched on the recommendation of a daughter. It investigates the detection, effect and alleged origin of the internet work publicly called StuxNet but known to the authors as "Olympic Games".

StuxNet was modified to aggressively spread itself but was originally highly targeted at industrial controllers connected to computers running Windows. The specific controllers ran nuclear fuel refining centrifuges.

When activated, the malware would spin the centrifuges until they were physically damaged.

What's interesting about cyber warfare is that it is a new kind of weapon which does physical harm to an enemy without it being obvious what happened and who the attacker was. It's clear that developed countries, with highly connected industrial control grids are highly vulnerable to this new kind of attack.

If our power grid was disabled by an external attacker, (for example), would that prompt a "kinetic" response?

I rented the movie on iTunes and highly recommend it.

Monday, October 14, 2019

Weekend away in the van near Goulburn playing ham radio

Kevin, VK2KB, kindly invited me to stay on a friend's property near Goulburn, south of Sydney. On a hill near the homestead, Kevin had installed a wire dipole for 40m. We added an extra dipole (fan style) for 80m and later Kevin put up another dipole for 160m.

The site seems too close for communication on 40m but 80m and in the evening, 160m was excellent.

Having no mains power and distant neighbours promises low noise and it certainly is up on the hill but closer to the house we found that the power inverter for the home solar system created quite an RF racket.

We put up a 40m dipole closer to the house (and power) which we transmitted on WSPR using an Ultimate beacon 3 and were received widely.

On Sunday we listened to the ARNSW Sunday broadcast from Sydney. You can see some of the antenna work here.


On Sunday evening, reception on 160m was excellent as you can hear here:



Out here, the blocks seem to all be 100 acres and up. I slept comfortably in the van even though the overnight low was 3C.


It was wonderful to meet a few neighbours who have built wonderful houses tuned to their own comfort. Here's Nick's place.


Nick also has built a pizza over out of dirt from an ant mound.


Pretty much everything is re-cycled.

Another neighbour, Michael, (shown at the top right of this post), showed us very interesting VR180 and VR360 movies playing on a Samsung Gear VR.

Monday, September 30, 2019

Tiny KT0803K transmitter won't do ham bands

John, VK2ASU, tipped me off about these boards. It's a little FM broadcast transmitter that can be controlled via two wire interface from an Arduino (for example). The chip is a Monolithic, digital stereo FM Transmitter KT0803K.

I got mine for AU$4.87 via eBay.

Sample software to drive it comes from the manufacturer Elechouse, here.

The board will transmit from 58MHz to 134MHz. It seems to get a little unreliable at the edges, I guess a PLL isn't locking or something.

I had to slightly modify the library for it to compile on the latest Arduino IDE. It seems they'd defined some integer sizes that are already defined these days.

In the file FMTX.h, up the top add this line:

#define __TYPE_REDEFINE 1

This will stop the type defines from being processed. Here's my test code based on their example.

#include "FMTX.h"

float fm_freq = 134;  // Here set the frequency
void setup(void)
{
  fmtx_init(fm_freq, AUSTRALIA); 
}

Anyway, a bit of fun for $5 and it certainly puts out a decent signal on the FM broadcast band. Disappointed I couldn't have a QSO on a ham band with it.

Sunday, September 29, 2019

Amateur radio NSW meeting at Dural

A lovely day for a ham radio meetup. Great to see everyone and Dural is looking great with the amazing new antenna tower now in use.

Today was a trash and treasure and home brew group meeting.

The feature presentation from Gary was about microwave operation but we also had Bob showing an amazing ATTiny85 board, John on LoRa, Graham on a bus extender he made and then found on eBay (still great he made his own), and Colin showed his Clansman PRC320.

A NanoVNA was passed around and seems amazing for the money (as so many things do these days). I've ordered one for AU$60.

Here's a few pictures from the day.


Colin with a 10Kg radio:


Bob with a 10g computer



Graham with his extender cable:


Gary microwaving the audience.


John examines a microwave transverter from the Ukraine.






Monday, September 16, 2019

Antuino - first look at a "compact radio lab"

Ashhar Farhan, VU2ESE, creator of the low cost, excellent performance for the money uBitx and Bitx40, has a new gadget. A flexible test instrument in a single box called the Antuino. For US$99 plus optional US$10 courier shipping it turned up here in Sydney just five days after ordering.


It arrived well packed. A solid metal case, fully constructed (for some reason I thought there might be some work to do by me but that was just installing the big knob).

It can be powered either via a DC jack or it has long life running on 6 AA cells. I found that the cells were rather tight and power didn't come on due to some of the cells not being pushed by the springs to the positive contact.


The display is large and clear. One moves around the on-screen items by turning and pushing the knob.


Here's a plot of my 40m dipole. I found the low SWR being at the top a little unfamiliar but it makes sense.


Here's Stephen, VK2BLQ's excellent 40m loop plotted:



Rather than duplicate the creator's feature rundown, I'll just summarise here and say it's:
  • Frequency signal source from 10Khz to 150MHz (and harmonics can be used beyond that).
  • SWR meter with plot
  • Field strength meter with logarithmic response
  • Cable loss measurement
  • RF Cable velocity factor
  • Modulation meter
  • Frequency response - able to plot filters
Best of all the software is open source and, as you can see in the photo above, it's powered by a standard Arduino Nano board. The schematic here. The circuit has:

  • Arduino Nano as the brains
  • JHD128x64 LCD 128x64 display
  • Si5351A clock generator
  • ADE-1 mixer
  • AD8307 logarithmic amplifier
  • 6 crystal 25Mhz IF filters
  • 3 x 2N3904 gain stages in the IF
The main modes are:
  • SWR - antenna analyser (use the RF In port)
  • PWR - power measurement (Use the RF in port)
  • SNA - network analyser (device between RF out and RF in ports)
The RF out is straight from an Si5351 clock generator and looks like this:


Playing around with the user interface, I find it takes more turns that I'd like to move between menu options. There are already a few forks of the software and, like the uBitX, I'm sure we'll see some great improvements built on top of the open software.

This is a great piece of test equipment for a home brewing radio enthusiast.

Friday, September 13, 2019

My next iPhone is an older iPhone SE, but I'm happy

Last time I upgraded iPhones I decided to lease the iPhone X rather than buying outright. This spreads the expense out over two years. After watching the latest iPhone launch, none of the new models attracted me and I already find the X too big in my pocket.

Looking around eBay I saw some second hand iPhone SEs at decent prices and I was lucky enough to get a 64GB model for AU$180. The colour is ugly (to me) rose gold but it was in excellent condition and the battery health is 99%. I was lucky, but even at $250, these are a good buy.

The iPhone SE is compact in the hand and pocket. The A9 processor is decent and it seems quite snappy running iOS 13 GM. (I'm in the developer program so have early access).

Although I'll miss the extra screen realestate of the iPhone X, I don't miss the size of the body and I prefer TouchID to FaceID. I love that I can wake the device with my finger when it's lying flat on a table.

Battery life isn't as good as the X although it's a fresh install and the Photos app is hammering the CPU doing all sorts of analysis so I expect this to continue for a day or two. Interestingly, Siri is using 20% of battery so far, so I've turned that off for now.

I returned the iPhone X to Telstra today. My goodness that SEBEL system is a dog! Poor Telstra shop staff. I'm saving $30 a month on a "bring your own device" plan but I know I can do better, perhaps on Aldi Mobile but I'll leave it a month or two before making more changes.

The sales woman was puzzled that I thought that $50 for 15GB was too much and explained that I was getting "unlimited" data. Oh, I said, 10 Terabytes? She had to explain that mobile phone operators mean something different by the word "unlimited".

I'm not alone in my enthusiasm for the iPhone SE, check out BuzzFeed's "Tim Cook Will Have To Pry My iPhone SE From My Cold, Tiny Hands".

There are a few apps, including ones from Apple, that don't handle the small screen too well. Happily, my WSPR Watch app has always been tested on the iPhone SE size screen so I'm not embarrassed there.

iOS 13 seems solid despite a rocky beta period. I think they've wisely taken out the things that were causing trouble and deferred them to 13.1.

Apple should make a phone the physical size of the SE, but with the edge to edge screen. I'm waiting for in-screen TouchID to appear, or perhaps FaceID could be made to work at very high angles?