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 worked first go. 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 better quality rendering of the schematic (click to enlarge):


I'm seeing about 1.5W out which is a little disappointing. Perhaps some tuning to do..

Monday, December 22, 2025

Project box designed with OpenSCAD

As someone not generally comfortable with CAD I've been enjoying the almost childlike simplicity of TinkerCAD. The other day, David, VK3KR, suggested I have a look at OpenSCAD. It is a very different approach. Rather than dragging shapes from a pallet and modifying them by dragging, you code the shapes you want.

I built a QRP L-Match some time ago, inspired by Peter VK3YE, but mounted in a small food storage box it didn't look great. Working in OpenSCAD looks like this:


You write code on the left and each time you save, the render updates on the right. Sometimes, I'd love it if I could drag something in the render and have the code update. Maybe one day. There's a button to export STL and it looks like it can talk to some 3D printers directly although I haven't tried this.

I particularly like that I can set variables and then use them throughout the code so changing things like the wall thickness is set once and updates everywhere.


My experience is about one day of playing so please don't take my code as a good example of best practice. Here it is though.

// Box for L match tuner

$fa = 1;    // Minimum angle

$fs = 0.4;  // Minimum size


wall_thickness = 1.5;

box_x=80;

box_y=65;

box_z=25;

overlap=0.001;

bnc_r=10.5/2;

bnc_holes=12.5/2;

switch_r=6.5/2;

poly_r=7/2;

poly_mount_r=3/2;

poly_mount_offset=7;


difference() {

    // Outer cube

    cube([box_x, box_y, box_z], center=true);

    

    // Inner cube (subtract from outer to create hollow space)

    // Inner dimensions: 20mm - 2*3mm = 14mm

    translate([0, 0, wall_thickness + overlap])

    cube([box_x-(2*wall_thickness), box_y-(2*wall_thickness), box_z-(wall_thickness)], center=true);

    

    bnc_socket(z=box_x / 2);

    bnc_socket(z=-box_x / 2);

    

    // inductance switch holes in side

    switch_spacing=10;

    for (i = [0:1:4]) {

        rotate([90,0,0])

        translate([(i * 10) - 20, 0, -box_y / 2]) // push to the side of the box

        cylinder(h=10, r1=switch_r, r2=switch_r, center=true);

    }

    

    // extra cap switch

    rotate([90,0,0])

    translate([0, 0, box_y / 2]) // push to the side of the box

    cylinder(h=10, r1=switch_r, r2=switch_r, center=true);

    

    translate([25,-15,0]) {

        // polyvaricon main hole

        rotate([0,0,90])

        translate([0, 0, -(box_z / 2)+4]) // push to the base of the box

        cylinder(h=10, r1=poly_r, r2=poly_r, center=true);

    

        // polyvaricon screw hole

        rotate([0,0,90])

        translate([poly_mount_offset, 0, -(box_z / 2)+4]) // push to the base of the box

        cylinder(h=10, r1=poly_mount_r, r2=poly_mount_r, center=true);

    

        // polyvaricon screw hole

        rotate([0,0,90])

        translate([-poly_mount_offset, 0, -(box_z / 2)+4]) // push to the base of the box

        cylinder(h=10, r1=poly_mount_r, r2=poly_mount_r, center=true);

    }

}


module bnc_socket(z = 0) {

// end hole for BNC socket

    rotate([0,90,0])

    translate([0, 0, z]) // push to the end of the box

    cylinder(h=10, r1=bnc_r, r2=bnc_r, center=true);

    

    // mounting holes for BNC socket

    rotate([0,90,0])

    translate([bnc_holes, bnc_holes, z]) // push to the end of the box

    cylinder(h=10, r1=poly_mount_r, r2=poly_mount_r, center=true);

    

    // mounting holes for BNC socket

    rotate([0,90,0])

    translate([-bnc_holes, bnc_holes, z]) // push to the end of the box

    cylinder(h=10, r1=poly_mount_r, r2=poly_mount_r, center=true);

    

    // mounting holes for BNC socket

    rotate([0,90,0])

    translate([bnc_holes, -bnc_holes, z]) // push to the end of the box

    cylinder(h=10, r1=poly_mount_r, r2=poly_mount_r, center=true);

    

    // mounting holes for BNC socket

    rotate([0,90,0])

    translate([-bnc_holes, -bnc_holes, z]) // push to the end of the box

    cylinder(h=10, r1=poly_mount_r, r2=poly_mount_r, center=true);

}

Here's the lid:

// Box lid for L match tuner

$fa = 1;    // Minimum angle

$fs = 0.4;  // Minimum size

wall_thickness = 1.5;

box_x=80;

box_y=65;

box_z=wall_thickness;

overlap=0.001;

// lid

cube([box_x, box_y, box_z]);

// inside

translate([wall_thickness, wall_thickness, 0])

cube([box_x-(wall_thickness*2), box_y-(wall_thickness*2), wall_thickness * 3]);

The language is a bit odd. I don't know why what I call functions are called modules for example.

There are some very interesting looking libraries available including one for project boxes called YAPP_box like mine. 

The downloadable binaries are quite old, dated 2021, but development seems active. I tried building the macOS version but it failed and I haven't persisted.

Although the learning curve on a code driven 3D design program is higher than a click and drag version there are benefits. Things like the row of holes for inductance switches is a loop and a single setting of the radius of the hole is used throughout.

Sunday, December 21, 2025

Good Australian FreeDV net despite some storms over Victoria

A good FreeDV net again this morning with stations including VK2KNC, VK2SPB, VK2VCO, VK3CKY,  VK3FFB,  VK3JCO, VK3JFR, VK3KEZ, VK3SRC,  VK3UH,  VK5AG,  VK5COL, VK5KFG,  VK5KVA, VK5QI,  and VK3TPM. 

Thanks everyone for coming up and for all the season's greetings. Note that Jack, VK5KVA, will be hosting a net tonight from 20:30 Eastern Time also on 7.045Mhz.

Wednesday, December 17, 2025

Tech talk on ABC Radio - Under 16 social ban, how it's working

Last Wednesday the 10th of December the social media tap was turned off to children and teens under 16 of course in our world first social media ban.  

Almost a week later, how has the ban been faring? We've heard some stories of kids getting around the ban, but overall has it been effective? 

A summary of recent AI news including SuperHuman hearing aids for the wealthy.

Peter Marks, mobile software developer and technology commentator from Access Informatics, joined Philip Clark and listeners to Nightlife. Listen here: https://www.abc.net.au/listen/programs/nightlife/nightlife-tech-talk-with-peter-marks/106151168 

Sunday, December 14, 2025

Sunday FreeDV net - 27 stations despite difficult conditions

A record rollup this morning although NVIS (local) propagation was poor. The best signals for me were from Sydney - Melbourne but South Australia was good too. Again we had some new stations and there was mention of the article in the latest Amateur Radio magazine and a new video from Peter VK3YE.


Stations on frequency, not all transmitting, included VK2AWJ (John first time on the net), VK2BLQ, VK2DWG, VK2JAB, VK2KNC, VK2SPB, VK2SPD, VK2VCO, VK3CKY, VK3CRY, VK3FFB, VK3GTP, VK3KEZ, VK3SRC, VK3PWG, VK3VB, VK3VKL, VK3YE, VK4XYZ, VK5COL, VK5KFG, VK5KVA, VK5UR, VK6KR and me VK3TPM.

As an aside.. it's wonderful to see so much FreeDV activity here in Australia. Here's the list just for one frequency on 40m today, a Monday.


FreeDV has really taken off in recent weeks.

Thursday, December 11, 2025

Teens turning to Amateur Radio after Australia's social media ban starts

I'm the acting secretary of the Macedon Ranges Amateur Radio club and this morning we were contacted by a twelve year old who is interested in getting in to Ham Radio. Here in Australia the social media ban on under sixteens came in just yesterday and I think we can safely say that this is just the beginning of a dramatic migration over to the first social media: Ham Radio. ;-)

Tuesday, December 09, 2025

New head2head reception comparison feature in WSPR Watch

Inspired by the wspr.rocks head2head analysis feature, I've added a similar feature to the iOS app WSPR Watch

This lets you compare WSPR reception between two stations. My version finds transmissions that were received by both stations and displays the SNR for each of them. (wspr.rocks averages all spot reception which I think is not the best evalation of relative receive performance).

WSPR has always been a useful way to compare reception and for things like comparing antenna performance.

Head2Head requests all bands and the time range is whatever is set elsewhere in settings.