Saturday, November 08, 2025

A headless QMX with 3D printed case

I built a QMX kit a while back but made a mistake by soldering the 2x16 LCD display on the front of the display board rather than behind. It was fine when used without a case but today I thought I'd 3D print a rather nice case and found, not surprisingly, that it wouldn't fit.

My attempts at desoldering the long row of parallel pins ended in disaster with me damaging the board. I wondered if a QMX can operate without the display.


Happily it works without the display board and I'm using it via USB as a WSPR transceiver. It's a bit hard to tell if the long press on the left encoder has turned it on so I look for ttyACM0 to appear in dev.

I've written to QRP-Labs to ask about ordering a new display board. It's great that QRP-Labs has a link to quite a big list of 3D designs for their products. I have printed the QMX Case / Stand for my other unit and it works well.

Wednesday, November 05, 2025

Tech Talk on ABC Radio - browser wars and is an 8K TV worth while?

Two new wars have broken out on our computer desktops, after a period of relative stability in two common areas of desktop computing - web browsing and image editing. 

Also, is an 8K TV a worthwhile next upgrade? 

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

Monday, November 03, 2025

Short of disk space, check what Arduino is using

My Mac has a 500GB hard disk. Last night I tried upgrading to 26.1RC and it ran out of space. Using DaisyDisk I was surprised to find that all the Arduino boards and libraries I've installed over the years have now come to almost 30GB.


In recent times my focus has shifted to Raspberry Pi PICO development either in MicroPython or their native C SDK via Visual Studio Code. I can even single step debug using the debug probe so it's a big step up from Arduino.

I remember having computers with 20MB hard disks. Amazing to be running low with 500GB now.


Sunday, November 02, 2025

Getting started with Apple's tiny AI Foundation model

Recently I asked ChatGPT how to clean the creosote stains from the glass on a wood stove. It did know the trick I've just learned about using Ammonia. I thought I'd see if Apple's tiny local Foundation model knew. I've built a minimal app to let me ask questions and show the answers. 


It's a pretty good response but didn't know the Ammonia trick. Making an app to use Apple Foundation model is super easy. Obviously you need to be on macOS 26 or iOS 26 and have Apple Intelligence enabled. Here's the code.

//

//  ContentView.swift

//  FoundationPlay

//

//  Created by Peter Marks on 31/10/2025.

//


import SwiftUI

import FoundationModels


struct ContentView: View {

    @State private var userInput = ""

        @State private var response = AttributedString("")

        @State private var isLoading = false

    

    var body: some View {

        VStack {

            TextField("Prompt", text: $userInput)

                .onSubmit {

                    Task {

                        await generateResponse()

                    }

                }

            HStack {

                Spacer()

                Button("Ask") {

                    Task {

                        await generateResponse()

                    }

                }

            }

            if isLoading {

                   ProgressView()

               }

               

               ScrollView {

                   Text(response)

                       .frame(maxWidth: .infinity, alignment: .leading)

               }

        }

        .padding()

    }

    private func generateResponse() async {

        isLoading = true

        defer { isLoading = false }

        

        do {

            let session = LanguageModelSession()

            let prompt = Prompt(userInput)

            let result = try await session.respond(to: prompt)

            response = attributedMarkdown(markdown: result.content)

        } catch {

            response = attributedMarkdown(markdown: "Error: \(error.localizedDescription)")

        }

    }

    

    func attributedMarkdown(markdown: String) -> AttributedString {

            do {

                return try AttributedString(markdown: markdown, options:AttributedString.MarkdownParsingOptions(interpretedSyntax:

                        .inlineOnlyPreservingWhitespace))

            } catch {

                return AttributedString("Error parsing markdown")

            }

        }

}


Amazingly small amount needed. Much of the code is to display the returned Markdown nicely. I wonder why they haven't bolted this on to Siri already?


How to clean creosote stains from a wood heater's glass

I've been purchasing expensive specialist glass cleaners for wood heaters for substantial money. This one works the best but is almost AU$40 a spray bottle.


Last night TikTok served up a video of someone suggesting that the stains on glass in a wood fired heater can be cleaned with Ammonia so today I spent under $3 on a large bottle of "cloudy" ammonia. 


The cloudy nature is aparently due to a bit of detergent having been added to the diluted ammonia. It's pretty strong stuff and gloves should be used (well, I will next time). Here's the stove window before:


I saturated a dish pad with the undiluted cloudy ammonia. 


Cleaning was very easy with just a bit of the scratchy side on some tough bits. Here is the result:


I hope all the LLMs training on my blog pick this up. ChatGPT (just tried) first suggests the use of fine wood ash on a damp cloth but then does suggest Cloudy Ammonia - I wish I'd asked it earlier!

FreeDV Australian net - good conditions, 20 stations

A big rollup this morning. 20 stations at least tuned in, not all could transmit. Several stations could be heard transmitting analog audio so presumably it's rig audio input configuration troubles. One station commented that it would be good if there was a regular broadcast for stations to test with. There used to be a relay of the WIA broadcast from Adelaide in, I think, 700D, perhaps it's time to revive something like that?

There were deep fades on the frequency today but generally decodes were good here. Graeme VK3GRK from Bendigo participates in a Zoom call where they experiment with digital modes and he said that at times it was hard to distinguish between FreeDV RADE audio and Zoom audio!

Stations seen on the frequency included: VK3TPM, VK2BLQ, VK3UBK, VK3CKY, VK5KVA, VK3KQT, VK3KEZ, VK5KFG, VK3SPX, VK7DIK, VK2DWG, VK3JF, VK6POP, VK2DUX, VK3SRC, VK2KNC, VK3GRK, VK3AG, VK3CRY and VK3BAL. 

Saturday, November 01, 2025

Puffing Billy steam train trip with grandson

Today was a real treat. I accomponied my daughter and my grandson on a ride on an antique narrow guage steam train in Melbourne, Australia, known as "Puffing Billy".


Perhaps some staff are paid but I suspect many of those involved are volunteers and they do a wonderful job of maintaining everything and dressing in outfits appropriate for the era. There is something magical about steam.


Three year old Ed wasn't too happy about the noise (I'm also rather sensitive to noise myself). He was most interested in the steam rail museum.


A great day out. He's not quite ready for his foundation radio license but the clock is ticking...

Thursday, October 30, 2025

New 3D printer: Bambu Labs A1 mini

For some years I've occasionally used a Creality Ender 3 printer. Worked fine and good value but when I dug it out recently during a visit from EX0AA the bed levelling drove me bonkers. Ross had recommended Bambu printers but I was a bit off them due to stories of their locked down platform. I checked the site and they had their lowest end model - A1 Mini - on sale for AU$329.

For that money it's an amazing piece of precision manufacturing. Automatic bed levelling is great but I was amazed to find that it has a camera built in so you can watch the print from your phone if desired. It takes a while to prepare itself but then prints much faster than my old Creality.


My first print is an end fed antenna winder for portable QRP operation. I design with TinkerCad but am trying to learn something a bit more sophisticated. Quite happy with the result.


There's more to learn and I'd like to be able to send print jobs to it without needing to be logged in to the internet site.

Sunday, October 26, 2025

FreeDV net - excellent conditions

Ionospheric conditions were much better for local contacts this morning and we had 14 stations at least on frequency. Good reports including Stephen VK2BLQ in Sydney. VK3GTP, VK3CKY, VK3UBK, VK3BAL, EX0AA (portable VK), VK3PCC, VK2XOR, VK3SRC, VK2BLQ, VK3KEZ, VK5KVA and VK3YV. 

There were at least two others listening while visiting participating stations. One commented about how impressed they were with the audio quality. We had a storm front coming through but there was very little interference to the conversations.