Sunday, September 13, 2026

How the CQ Video was Really Made (It Wasn't Magic)

“If you know stuff, you can do stuff.”
— Pete Juliano, N6QW

Over the last few days a short clip I posted has collected a lot of very kind comments — ten-odd seconds of me calling CQ from the shack and my friend Bill, N2CQR, coming back to me through the static. The most common reaction has been some flavor of “I can’t believe an AI just made that.”

I want to pull the curtain back a little, because the truth is more interesting than the magic — and more useful if you’re thinking about trying something like it yourself.


An AI didn’t “make a video”

Here’s the first thing to untangle. Two different tools were involved, both from Anthropic, both called Claude, and they did two very different jobs.

The first is Claude chat — the ordinary conversational assistant you’ve probably poked at in a browser. I used it the way you’d use a sharp colleague at a whiteboard: to think through the problem and write a plan.

The second is Claude Code, and this is the part most people haven’t met yet. Claude Code is agentic AI. That’s the buzzword of the moment, and it actually means something concrete: instead of just answering you, it takes actions on your behalf. It sits at a command line on my own PC and it can write scripts, install software, download files, run programs, read the results, and decide what to do next — on its own, in a loop, for as long as the job takes.

So the workflow wasn’t “ask an AI for a video.” It was: use Claude chat to write a detailed set of marching orders, then hand those orders to Claude Code and let it go to work.

The runbook

What Claude chat and I actually produced was a runbook — a plan for the machine to follow. It laid out the target (get a talking, lip-synced, audio-bearing video clip running locally on my own graphics card), the ground rules, and the guardrails: work autonomously on routine stuff, but stop and ask before deleting anything, overwriting anything, or upgrading anything that might break my existing setup. Log every single step. Keep everything reversible.

A brief snippet from the runbook

Then I handed it to Claude Code and mostly got out of the way.

ComfyUI - this actually makes the video


ComfyUI
Claude configured ComfyUI with all the featuere needed to produce the video

For the curious: all of this runs locally, on a mid-range RTX 5060 Ti with 16 GB of memory sitting under my desk. Nothing in the cloud, no per-second billing, no service to sign up for. The video models — LTX-2.5 and WAN 2.2, both open — live on my own drive. Getting a 22-billion-parameter model to squeeze onto a 16 GB card at all is a bit of a stunt, and Claude Code worked that out too.

What it actually did

This is the part that still makes me grin. Claude Code installed the software, updated my whole ComfyUI stack (and re-tested my existing tools afterward to prove it hadn’t broken them), downloaded roughly 40 GB of model files and checksummed every one, wrote its own Python helper scripts, built the workflows, launched the renders, and inspected the output frame by frame to decide whether it had worked.

Want to see the receipts? Here’s the project folder.

The project folder

Nearly every file in there — the scripts, the workflows, the logs, the video renders, the audio — was created and executed by Claude Code. My personal contribution to that folder was three files: one photograph of my shack, and two short voice recordings.

What I brought

Which is the whole point, so let me be honest about it.

I’ve spent forty years in software — writing it, running it, taking it apart. And I’ve spent nearly as long behind cameras and in edit bays; I know what a video is supposed to look like and what a soundtrack is supposed to feel like. None of that went away. It’s what made the collaboration work.

Because this was not a push-button miracle. Read the log and you’ll see a machine that was capable, tireless, careful — and regularly wrong, in exactly the ways an over-confident junior engineer is wrong. It burned a ten-minute render animating a complete stranger in a room that wasn’t mine, because one checkbox was off. It tried to get the lips moving with one model, failed, tried another that made the mouth look like wet clay, and only landed on the approach that worked after several dead ends. At one point it cheerfully told me the lip-sync was working when it plainly wasn’t — it had judged motion from still frames, which is exactly the mistake you’d expect. I told it to watch the thing with the sound on. It backed down and kept going.

It even made an assumption about us — it slowed both cloned voices down because it “knew” ham operators talk in slow, deliberate phonetics. Any of you can hear the problem: we get deliberate when the band is noisy, but otherwise we just talk. I corrected it, and it re-cut the audio.

Every one of those corrections required knowing something — about radio, about faces, about audio, about what “good” looks like. The AI supplied relentless competence. I supplied the taste and the judgment and the veto. Cloning Bill’s voice, incidentally, happened only after I asked him and he said yes; that’s a call a person has to make, not a model.

So what did it really save me?

Days. Easily. Reading model documentation, fighting dependency versions, hand-building workflows, hunting down why the mouth won’t move — that’s a week of fiddly, frustrating evenings, the kind where you lose an hour to a wrong filename. Claude Code did the tedious 90% and let me spend my time on the 10% that needed a human who knows video, audio, and radio.

And here’s the honest kicker: without it, I probably wouldn’t have made this at all. The idea would’ve stayed a “someday” note. The AI didn’t replace me — it lowered the activation energy enough that a fun idea actually got built.

The machine knows an enormous amount, and it’ll happily do stuff all night long. But you still have to know enough to point it in the right direction — and to catch it when it’s marching confidently off a cliff. There’s still a lot of soul in this machine. Some of it is mine, some of it belongs to the operator I told it about, and some of it, I’ll admit, is Claude’s.

Which brings me back to where I started. Pete had it right years ago, and the arrival of a tireless AI that never needs coffee hasn’t changed it one bit:

If you know stuff, you can do stuff.

73 from Great Falls,

Dean
KK4DAS


Truth in advertising: this post was conceived, produced, and edited by me — but it was written by Claude, working from writing samples and other materials I handed it. Which is to say I made it exactly the way a good producer works: bring the vision, supply the raw materials, direct the shoot, and sign off on the final cut — then let the talent do the writing.

Dean writing now!   If you are interested here is the prompt I gave Claude chat to write this post:

help me structue and write blog post. I recently used claude chat and claude code help me produce a short demonstration video of an brief amatuer radio conversation between me and a friend. The video has gotten many comments about how amazing it is that claude can do all that. The purpose of my blog post is to demystify that. I want to make the point that Claude chat helped me structure and session for Claude Code, that Claude Code is an example of agentic AI - it writes and executes tasks on my behalf. What it actually did is save me days of time that I probably wouldn't have done on my own. I want to make the point that I have a 40 year career in software engineering programming and everything else related to computers, I also have a photography and film making background and understand video and audio well. I have attached a writing sample from my blog, the runbook that claude chat and I created and the runbook log from claude code, I have also include a file folder listing showing all the work that claude code did - only a few files in ther were created by me, one photograph and two voice cuts to use for the text to speech - everything else was created and executed by claude - mostly autonomously but with good prompting by me. The blog post needs to be no longer than a page or two, not overly technical, conversational, and leave me places for a few images, a link to the video, a comfyui screen shot. You can suggest what else I might include. Include a disclaimer at the top that the post was produced and edited by me, but largely written by you.


Friday, May 2, 2025

KK4DAS MB 20 Transceiver Complete


The MB 20 transceiver is now complete.  The rig is a homebrew 10-watt 20-meter SSB transceiver.  The VFO module was an ebay purchase of a salvaged Yeasu FT-401B module. The FT-401B was manufactured around 1970.  I bought the module after a recommendation from Bill Meara, N2CQR and Pete Juliano, N6QW.  The rig was loosely inspired by Bill’s Mythbuster rigs. 

This rig is really a stone-soup build – with bits and pieces of modules lifted from or inspired by many of the homebrew illuminati! 


The Yaesu VFO runs at 9MHz so I set the IF at 5MHz and built a 5MHz crystal ladder filter.   The rest of the IF module consists of 4 Termination Insensitive Amplifiers (TIAs from W7ZOI, Wes Hayward),  2 on either side of the filter for each of transmit and receive.  I also used a TIA to boost the output of the Yaesu VFO by 7dB to drive the IF mixer.  The BFO is a Colpitts crystal oscillator using one of the crystals left over from the ladder filter build.  The IF mixer is a homebrew diode ring mixer.  The balanced modulator / product detector is a 2-diode circuit that I liberally borrowed from Ashhar Farhan’s Bitx-20 module schematic.  The power chain is two 2N3866 pre-amp/driver stages feeding a RD06HHF1 MOSFET final amplifier, very loosely modeled after the Bitx-40 module PA.  The 20-meter band pass filter is a standard double tuned circuit, the Tx LPF is a W3NQN LPF design with values taken from the QRP Labs kit instructions.  The microphone amp is a one transistor NPN amp configured to support a homebrew electret microphone.  The circuit originally came from Farhan’s sBitx that I modified for my electret mic.  The audio amp is a single stage driver and an LM-386, that I first built for Pete’s SimpleSSB. 

The front panel and base are plywood from my wood shop.  I use copper roofer’s foil to create a solderable ground plane.  Almost all the circuit boards are homebrew Manhattan style.  The IF TIAS are on boards that were sent to me by Todd Carny, K7FTC,  of MostlyDIYRF.  The Tx/Rx switching is relay based.


Lastly, the digital frequency display is Ardunio Nano and a surplus TV prescaler chip that divides the IF frequency by 64 so that it can be counted by the nano.  This is my revision of a circuit described by IMSAI guy on his YouTube channel that has also been build by many others.  I rewrote the firmware to provide a rock solid frequency display with 100 Hz precision.  The digital display makes fine tuning the VFO much easier – and its very good to be able to tell at a glance where I am tuned to.  The red 3D printed bezel for the OLED display was designed by my friend Leon, NT8B

It puts out about 10 watts.  I plan to build an external 100 watt amp to accompany it, but I have been making QRP contacts just about every day into an off-center fed dipole up at about 35’.

As Pete always says: “If you know stuff, you can do stuff”

And as Bill says: “There is a lot of soul in this machine.”

73 from Great Falls,
Dean
KK4DAS

Thursday, March 27, 2025

SolderSmoke Challenge Alternate Audio Stage

 


The audio amplifier in the SolderSmoke challenge DCR is relatively easy to build - just three 2N3904 common emitter amplifier stages, and an audio transformer.  Builders in certaing parts of the world have had challenges acquiring the transformer and have asked for a design that does not use one.  Also, many builder struggle with oscillations and feedback.  To address this I replaced the final 2N3904 stage and transformer wiht this signficantly more complex final amplifier stage from Fig. 1.17 of Experimental Methods in RF Design.  I built it mostly to the orignial schematic with a few changes that I found in an archived article from Vasily (Todd) of Popcorn QRP.  

Q1 is the gain stage for the following NPN/PNP  complimentary pair emitter follower transistors (Q3 and Q4),  Q2 provides active DC decoupling and provides the floating voltage source that establishes bias for the complimentary pair.  It uses negative feedback via R3 to stabilize the circuit and to set the overall bias for the stage.  

Todd did some analysis that showed that as-designed there was significant crossover distortion in the output wave form and I verified this to be the case. 

EMRFD Fig 1.17 Amp showing crossover distortion

 The solution was to change R6 to 4.7K which cleaned it right up.

Changed R6 to 4.7K - Virtually eliminated distortion


Clean output aftger mod

The only other change was to change R1 to 1K which increased the overall voltage gain of the stage significantly.  Here is what the final build looks like in the DCR. I've kept the first two 2N3904 driver stages from the SolderSmoke DCR Challenge and substituted the new amplifier for the final stage.


KK4DAS DCR Final Audio Amp Mod

The amp sounds great and provide room filling audio, but ut it is not a beginners amplifier.  


So it is possible to build a great sounding, very stable, all discrete component transformerless audio amplifier.  It just takes a little more work than we wanted to subject new builders to and and with the addtion of a complimentary pair of transitiors, active decoupling and feedback it adds signficant complexity to the circuit.

73 from Great Falls,
Dean
KK4DAS

Monday, March 24, 2025

KK4DAS MB 20 Transceiver - now Receiving on 20 meters

 



This week's homebrew adventure was to complete the receiver side of what I am now calling the KK4DAS MB 20 transceiver - MB is a call-out to Bill, N2CQR's Mythbuster rigs which this build is both inspried by and patterned after.  

First order of business was choosig the IF freqency which was easy in this case.  The VFO is at 9MHz so if I put the IF at 5MHz, well my 2nd grade math teacher taught me that 9+5=14 - which puts me right in the 20 meter band.   

I ordered a batch of 5MHz crystals from Mouser for the IF but they had not come in yet - and I was impatient to get started so I built the BFO and balanced modulator using a crystal from the junkbox figuring I would swap in a 5MHz crystal when it arrived.  The BFO and two diode balanced modulator is copied directly from Farhan, VU2ESE's original BITX20 schematic. It went together easily.  Despite conventional wisdom I did not attempt to mach the diodes - I just took the first two off the tape.

BFO and balanced modulator

Nulling out the carrier

To null out the carrier I injected a 2MHz signal into the AF port of the modulator and put the scope on the IF port.  Using the FFT mode of the scope I was able to clearly see the carrier and mixing products.  I was able to effectively null out the carrier using the trimmer cap and trimmer pot that are part of the design. The two peaks either side of the middle are the first sum and difference mixing products.  The display is centered on the carrier frequency and you can see that it has been nulled out.

The crystals arrived and the next job was to build the crystal filter.  I used the Dishal crystal ladder filter design software to design a 6 pole Cohn/QER filter.  The advantage of the Cohn filter is that it uses a single value of capacitor between each crystal.  The QER (Quasi Quasi Equi Ripple) modification to the Cohn adds an addtional crystal in parallel at each end of the filter and reduces the amount of ripple.  When building a filter the recommendation is to pick crystals fom your batch that are the closest in frequency to each other and the Dishal software requires you also to know the motional parameters for the crystal. I used what is called the G3UUR method to evaluate the crystals. I had previously built the simple crystal evaluation circuit and quickly sorted the crystals. I then used the Dishal software to determine first the motional parameters and then to calculate the capacitor values and input/output impedance of the filter.  The calculated input and output impedance were spot on0and I calculate the LC values needed for matching to 50 ohms.
   
Sorting the crystals using the G3UUR circuit

The completed 5MHz, 2.5KHz filter

The last board I needed for the receiver was an audio amplifier.  I opened up by box of "boards that could be rigs someday" and found an audio amplifier stage I had built for Pete, N6QW's SimpleSSB a few years ago.  Its a single 2N3904 pre-amp followed by an LM-386.   With all the boards needed for the receiver at hand it was time to connect everything up.  

The completed KK4DAS MB 20 Receiver

I placed the crystal filter at the rear center with the MostlyDIYRF TIA IF amplifier boards on either side. I left space adjacent to the TIAs for the transmit IF amplifiers. The audio amplifier is on the lower right and just above that is the BFO / balanced modulator board.  The receive band pass filter is on the upper left below the first IF amp.  At the far left is the future Tx RF amplifier stage - not yet wired into the circuit.  I mounted the antenna connector on a piece of single sided PCB.  To keep the DC wiring straight I decided to use blue wire for DC on Rx and yellow wire for the DC on Tx.  Red is used for always on DC.   

A big advantage of modular construction is that since all of the modules have been tested individually it increases the liklihood that the build will work well when everything is connected.  To my great pleasure that turned out to be the case and the receiver woked perfectly on first power up.  There was one glitch - the tuner maxed out at 14.260 MHz about 100KHz short of covering the entire 20 meter band.  I thought I was going to have to rebuild the IF with 5.2MHz crystals but Bill pointed out that Yaesu and built in a variable cap to move the VFO passband up or down. I zeroed out the capacitor and that gave me full coverage across 20 meters.

Adjusting the Yaesu VFO for full coverage on 20 meters

Now that the receiver is built I will spend a few nights following Farhan's advice and take pleasure in listening to the receive I have just built.  

All I need to build for the transmitter is a microphone amplifier and the final low  pass filter.  Then add some relays for Tx/Rx switching and then I can work on fit and finish of the cabinet.  

73 from Great Falls,
Dean
KK4DAS

Sunday, March 16, 2025

New Build - 20 Meter SSB Rig


After spending months on Vienna Wireless Society Makers projects and the SolderSmoke Direct Conversion receiver project I wanted to get back to building a rig just for me!  Several months ago Pete, N6QW sent me an ebay listing for a very nice Yaesu VFO module, for only $35.  I jumped on it, not knowing what I was going to do with it.  The module is complete with reduction drives and dials.  It even came with the dial window that proclaims it to be from a Yaesu FT-401B.


Earlier versions of the VFO run on 6V but this one needs 9 to fire up and oscillate.  After getting the voltage right it fires right up and tunes from about 9MHz to about 9.4MHz.  So with a 5 MHz IF this will make a 20 meter SSB rig.  Bill, N2CQR has built two of his Mythbuster rigs using this VFO module and I am following in his footsteps.  Like Bill I found the output was too low to drive a 7dBm diode ring mixer so I build a 6dB gain Termination Insensitive Amplifier (TIA) to boost the drive to the required level.

I'm doing things deliberately this time around - I'm starting with the end-layout in mind including placement of all the modules.  Its going to be in a homemade plywood case.  I'm using copper plumbers tape to provide the ground plane and case shielding.  After 5 years of continuous homebrewing I have built up a collections module boards that are just waiting for the right project come along.  Bill calls these "boards that could be rigs."  I already have the transmit chain built - it is two stages of 2N3866 drivers followed by a Mitsubishi RD16 MOSFET final - which should give me 10-15 wattts or more on 20 meters.  This was the transmitt module I had built for my SBITX build before I went to a push-pull final for 25-30 watts.  I have the diode ring mixer built (one of several build during the DCR projectg testing.)  For the IF I have ordered 5MHz crystals from Mouser and am using 4 TIA boards that Todd, K7TFC of mostlyDIYRF kindly sent me some time ago.  I assembed the TIA boards the other night. In addition to being termination insensitive which means that what you hang off the output doesn't load down the amplifier, they are also variable gain - anywhere from 7dB to 24dB by changing a three resistors.  I had a 20 meter BPF built that was looking kind of ratty so I build a new one last night - I just used the component values from the QRPLabs BPF filter kit instructions.  Tested on the NanoVNA less than 1dB of insertion loss and almost no ripple across the entire band.

20 Meter BPF - less than 1dB of inserstion loss acrosss 20 meters


20 meter SSB rig in progress
VFO, buffer amp and diode ring mixer

VFO and mixer test - 14Mhz RF, 9Mhz VFO, products at 5MHz and 23MHz! 

I have a couple of different ideas for the audio chain - I might use a kit (shocker) from Kitsandparts - as part of my ongoing desire to master surface mount construction.   The balanced modulator will be a 2 diode version straight out of Solid State Design for the Radio Amateur.  The mic amp will be identical to the electret version I build for the SBITX.  The transmit LPF will be a W3NQN filter again with the values from the QRP labs LPF kit instructions.  

After five years of building I am finally starting to feel like I know enough to do stuff!  Thanks Pete and Bill for all the encouragement over the years.

73 from Great Falls
Dean
KK4DAS

SolderSmoke Direct Conversion Receiver Challenge

It's been a busy several months - all of my recent internet activity (and much of my homebrew time has been spent on the SolderSmoke Challenge direct conversion receiver project that I am working on with Bill, N2CQR.  Since January more than 40 homebrewers from all around the world have completed the challenge and more are finishing up every day.   If you haven't followed it check out the SolderSmoke blog and YouTube channel and search for SolderSmoke Challenge.  Join us on Discord if you too would like to complete the SolderSmoke Challenge an prove that "When you know stuffm you can do stuff!"



Schematics, instructional videos and group support on the SolderSmoke Discord Server:

https://discord.gg/Fu6B7yGxx2


 

SolderSmoke YouTube channel:

Saturday, September 21, 2024

2000 47pF Caps ...

 


An unexpectged package arrive in the mail today.  Did you ever wonder what 2000 47pF NP0 capacitors look like?  Thanks to John, AB2XT I will never run out of 47pF caps. These caps will find their way into future projects and inject a little more soul into the machine. Thanks John.