Wednesday, January 07, 2026

CYD "Cheap Yellow Display" useful with Micropython

I discovered these low cost ESP32 boards with useful IO and peripherals about a year ago. Recently I came across an excellent 3D printable case and started using Micropython for development. Here's one in our kitchen monitoring the solar power:


There's a great resource at Random Nerd Tutorials that I won't duplicate here. 

I'm just using the generic ESP32 Micropython with good success along with libraries for the screen and touch panel. (There is a variant of CircuitPython for it but I didn't have much luck with it).

As well as the display, it's a very capable platform:

  • Onboard 2.8inch 240×320 pixels 65K color Touch LCD display.
  • Integrated 2.4GHz WiFi and Bluetooth wireless communication.
  • SPI Touch, Display and SD card slot.
  • Amplified GPIO26 for PWM audio output.
  • Uses the ILI9341 display driver via SPI.
  • Uses the XPT2046 touchscreen driver via SPI.

The boards sell for about AU$24 on AliExpress and I see there's a new version with USB-C in place of micro-USB.

Micropython is a great way to develop for embedded systems. One excellent feature is that the source code is stored in the device so it's easy to grab one and continue tinkering.

Managing files with ftp

While Thonny and other programs are adequate for editing and transferring files to a Micropython device the drag and drop facilities, things like moving a file into the lib folder, are lacking. If you have a device with Wifi, there's a great little ftp library and server program that makes this really easy.


Untouched in 4 years and it just works!

Monday, January 05, 2026

Installing a later hamlib on Linux

I'm currently using Ubuntu 24.04.3 LTS in the shack. Choosing an older stable version of the bleeding edge where I find changes to the sound system give me trouble with the apps I use including FreeDV, WSJT-X, and Fldig.

Unfortunately, the version of libhamlib either in the OS or bundled in the apps doesn't have some of the radios I use, including the QMX, so I wanted to upgrade it. Here are the steps I took, although there may be an easier way.

First, to find the path to the hamlib library that wsjtx is using:

ldd /usr/bin/wsjtx|grep hamlib

Next I had a look at that file to see where it symbolically linked with:

ls -l /lib/x86_64-linux-gnu/libhamlib.so.4

I downloaded the latest hamlib source tar archive from: https://github.com/Hamlib/Hamlib/releases

Unpacked and built the source (I already developer tools installed but I'll leave that out of this note):

tar xzvf hamlib-4.6.5.tar.gz
cd hamlib-4.6.5/
./configure
make
sudo make install

This put a new hamlib in:

/lib/x86_64-linux-gnu/libhamlib.so.4

I moved aside the old sym link:

sudo mv /usr/local/lib/libhamlib.so.4 /usr/local/lib/libhamlib.so.4.orig

And made a sym link to the newly built library:

sudo ln $HOME/Documents/hamlib-4.6.5/src/.libs/libhamlib.so.4 /usr/local/lib/libhamlib.so.4

I may not have this entirely accurate but it will serve as a note to myself. Anyhow, the programs now have a later version of hamlib.

Sunday, January 04, 2026

FreeDV Australian net - 21 stations

An excellent Sunday morning FreeDV net with several stations who were on for the first time or just installed a few days before. Stations included: VK2CJB, VK2GRF, VK2JAB, VK2JCB, VK3CKY, VK3GTP, VK3JCO, VK3KEZ, VK3MTV, VK3PCC, VK3SRC, VK3TPM, VK3XCI, VK4WGR, VK5ABE, VK5KFG, VK5KVA, VK5MH, VK5RA, VK7JB.


I run on Ubuntu 24.04 LTS linux but there was some discussion of the woes people have with Hamlib on windows. Recently here I built Hamlib from their Tar release and managed to get FreeDV (and FLDigi) to use it by changing sym links.

Thanks to VK5KVA, Jack, who will host a net on 7045 from 8:30pm eastern time tonight (Sunday).

Friday, January 02, 2026

A contact on the LARCSet radio

I'm having some trouble with this radio. Extremely low modulation with the mic amp as it comes. Not sure what's wrong. To get enough power out I'm vastly over-driving it with an external mic amp. Richard, VK3LRJ, kindly humoured me and recorded a bit of how I'm received there. I've overlayed that bit of audio in this video recording from my shack.


Not great. An interesting little radio though. https://www.hfsignals.com/index.php/larcset/ 


Developing for Apple platforms - we're in a good place

My most popular app, WSPR Watch, is now 14 years old and it's not surprising that the underlying technology has changed a lot in that time. It started out in Objective C using UIKit, was ported to Swift over time and most recently migrated to SwiftUI.

I am not a brilliant programmer, I know this because I've met and worked with some who are - they are amazing. I'm a plodder. It takes me a long time to get comfortable with a new language, new framework, the right ways to avoid problems with multi-threaded code.

Recently, I re-watched a Worldwide Developer Conference (WWDC) video on migrating to Swift 6 which has new, compiler based, features for letting me know when something I'm doing is dangerous in a multi-threaded program. When I enabled Swift 6, Xcode showed me dozens of errors. The video gave good advice: "Don't Panic". I worked through the complaints and in the end my program not only worked but a subtle bug in the map display was gone!

The other day, I read a brilliant post about Swift Concurrency, which not only helped me understand what I was doing but also showed how easy it is to do network requests with URLSession. Up until now I've been using a thirdparty package called Alamofire which provided a nice wrapper over the underlying code. Apple has cleaned things up and it all works nicely with async/await.

With the help of ChatGPT, (which gave me useful example code), I manually converted one of my network loader classes to no longer use Alamofire. The code was shorter and clearer after this effort.

LLMs are fantastic for programmers. Normally when I need to do something new, I have to read documentation, watch WWDC videos, try to find recent sample code, and generally mess around until I figure it out. An LLM can give me a code snippet that does what I want and that's a great start. They aren't perfect but they're close.

After manually porting my network code I thought I'd try the built-in AI in Xcode on one of the other data loaders. I opened the file and asked it to modify the code to use URLSession instead of Alamofire. It did and the code was better than mine in a few ways. 

It's taken time for SwiftUI to mature but today I feel more productive than ever and, with the help of the LLMs, can start projects I never would have attempted. We are in a good place as developers for Apple platforms.

Wednesday, December 31, 2025

Tech Talk on ABC Radio - Apple's year of turmoil

This week I chatted with a fellow tech commentator and journalist Nic Healey who's filling in on ABC Nightlife. Wrapping up the year we discussed Apple's controversial "Liquid Glass" user interface design and the turnover in executives at the company. 

The astounding market capitalisation of NVIDIA begs the question, are we in another bubble, like in 2000, and was Bill Gates right when he pointed out that we over estimate short term effects and under estimate long term effects - in this case of AI. Listen here: https://www.abc.net.au/listen/programs/nightlife/peter-marks/106188550 

Sunday, December 28, 2025

Sunday FreeDV net - 18 stations

A good net this morning with lots of nice Xmas cheer and looking forward to 2026 being a good year for FreeDV activity. 


Stations on frequency included: VK2AWJ, VK2CJB,VK2NP,VK2YW,VK3AHC, VK3ANC,VK3BU, VK3FAR,VK3GTP,VK3KEZ, VK3PCC, VK5ABE,VK5COL,VK5KVA,VK5LA,VK5MH,VK5RT, and me, VK3TPM.

One station, John, VK2AWJ had outstanding audio quality (to my ear) he said he was using a Logitech headest - perhaps the close mic really helps.

Tuesday, December 23, 2025

Built the new LARCSet US$39 40m 5W SSB Transceiver from HFSignals

The LARCSet is a 40m 5W SSB Transceiver Kit from hfsignals.com. It's just US$39. The VFO is analog and it's a descendant of the bitx40 line. Ashar Farhan says you can build it in a day and I can cornfirm that promise.

The board comes with the vast majority of components already fitted.


The work that needs to be done by the builder is winding a few toroids (although happly the three trifilar ones come pre-wound), assembling the front panel, fitting potentiometers, soldering crystals and a few transistors including the IRF510. The manual is very clear.

The front panel is held in place by the little screw nuts from the 3.5mm panel mount sockets and I found that there wasn't enough thread on these to hold it in place. I sanded down the front edge of the board and ended up gluing the nuts to better hold it in place.

My VFO toroid needed one extra turn to get it in the right range so bear that in mind when winding.

The varactor tuning is quite sensitive and I think a multi-turn pot or an additional fine tuning pot might be good idea. I like the idea of a totally analog VFO but amusingly QRP-Labs has just announced a compact digital VFO that could be suitable for radios like this. Here's a video showing unboxing, stages of the build, receiver testing and final completion.


I enjoyed the build and it received first go. 

The radio has some rather serious problems. CW produces about 3W but the signal is modulated with a tone. Sideband is extremely weak - it seems that the single transistor microphone amplifier produces vastly too little audio for the mixer. I shorted R73, the feedback resistor in the mic amp, and got a bit more gain.

I found that the bandpass filter, L2 & L3, peaks a bit low - at 6.9Mhz - and I plan to remove a turn to improve sensitivity. Others have pointed out that the output low pass filter is a too aggressive.

Because of the low cost of the kit, shipping is a significant part. HFSignals is offering a pack of five and I'm going to suggest it as a group build project at my local club.

Here's a bit more of it receiving. The VFO is quite stable but tuning is very sensitive. I plan to add a fine tune control.


Here's a better quality rendering of the schematic (click to enlarge):


After following the instructions, rather than the board marking, I've got L4 and L5 in the right spot and now I'm seeing about 2.7W CW out which is a little disappointing but better than before. 

Fine Tune Knob

The main tuning is quite course so I've added a 1K in series with the hot end and this makes tuning much better. Here's a demo:


I've developed a simple 3D printed case which is working quite nicely.

Conclusion

As much as I like this project, I'd have to say I would not recommend version 1. I hope Farhan will work to produce a better revision.