Skip to main content

Posts

Showing posts from August, 2025

Exploring NOAA’s Hidden Gems: New to Me Ionosphere & Aurora Forecast Tools for Ham Radio

  While analyzing the skip path of a a 5-watt QSO I made last week from the San Francisco to Argentina with Project TouCans, I stumbled across a set of NOAA resources that completely changed how I look at ionospheric conditions. From real-time aurora dashboards to animated MUF forecasts and electron flux data, these tools offer hams powerful insights into propagation—and some surprises along the way. I made a grey line QSO from the campus of City College San Francisco to Argentina with our 5-watt Project TouCans rig last week. Last night, KO6BTY and I found ourselves deep in the rabbit hole of ionospheric conditions. What started as curiosity about the Kp index and whether aurora activity might have influenced the QSO's skip path, led us to discover some powerful NOAA resources. From aurora dashboards and global ionosphere forecasts to animated MUF predictions and GOES electron flux data, these tools give ham radio operators new ways to understand HF propagation, F2 layer behavior...

Presidio POTA (US-7889) inside Golden Gate NRA (US-0647) — QRP CW, transit, and a surprise eyeball QSO

  Live portable ham radio from San Francisco’s Presidio with a clean take-off toward the Pacific. Route via PresidiGo, light wire vertical, and a crystal-locked 14.0574 MHz start. I keep local times in the story; the QSO map is in UTC. I arrived downtown at Embarcadero Station at 15:20 PST yesterday with Project Toucans , a portable ham radio. There was a newly married couple, still in their dress and tux, waiting to ride the cable car up towards California and Powell. I was waiting for the PresidiGo bus out to the Presidio. It's a free bus out to the park that passes through downtown several times a day. I hopped on the bus at 4 PM downtown. After a few stops at 4:07 PM PST, the bus was completely full. Interestingly, when we arrived at the first Presidio stop at 4:15, almost everyone got off and exited the Presidio back towards town. I don't know why. The bus winded through the rest of the Presidio towards the transit center. The center is right in front of the new park, cal...

GPT5 Reads Schematics,Does Simple RF Analysis!

 GPT5 helped me understand how the Tuna Topper ][ amplifier in Project TouCans operates yesterday. It started from just this clip of the schematic! While debugging the power supply relay of Project TouCans a few days ago, I noticed an interesting thing. With the Pico-W rig controller plugged into the supply brick TouCans itself was only being doled out twelve volts by the phone charging brick in its base, not the fifteen volts its USB-C adapter was asking for. That mattered the most to the Tuna Topper II  amplifier that drives the five watts to the antenna. I changed the rig so that, for now,  the Pico-W runs on three AA batteries. That upped the supplly to the rig back to its intended fifteen volts. I wanted to understand in broad terms what that meant for the power output of the rig. I tooled around for a bit on paper and spreadsheets before it occurred to me to ask GPT5. I didn't expect to get an answer at all. I definitely didn't expect it to be able to read the sc...

OpenAI ChatGPT Frequently (Always?) Opening in 4o

 Early Sunday morning, the code generated by ChatGPT became noticeably clunky. Why!? I figured it out when this message arrived Ah yes! The LLM that berates me a bit for the code it wrote :) At some point after the release of GPT5, OpenAI started defaulting my chats back to 4o. For me GPT5 is better. I switched back over 5 and a bit later, the code coming out of the LLM was just working, and when it didn't, I got messages like this By the way, at that point GPT5 was fixing code created by 4o when I had specifically asked for: " Also save the vh and vw settings of the subpanel in subpanelsize and resize it to its original extent if the subpanelsize arg is present in a url  " Anyway! GPT5 rocks for me. If you're using the browser UI instead of the API, check to see what model you're using before you go too far down the wrong path.

Things I Learned: Using URLs to Store Web App State in Cesium Sandcastle

 With Cesium Ion Sandcastle users can try out various parts of the Cesium JS library to create maps. Once their code is working, they can also share those maps with the code. I initially wondered about the infrastructure that required to store and then serve every single map examples code. Then, I realized that the code isn't stored in a server, it's in the share URL! I originally started to put this together when I noticed how long a typical Cesium Sandcastle is. They tend to look like this: except longer. The seemingly random characters are a base64 encoded transcript of the JavaScript code along with the html and styling for the Sandcastle project. The fact that everything was encoded in the URL made me wonder what else could be achieved with the URL. A lot, it turns out. NOTE : I discovered it's important to place your additional URL args before the #c anchor that contains the Sandcastle code. Otherwise, your args get interpreted as being part of the JavaScript that...

Grey Line in Sweden and New Mexico Demonstration

 I'm using the new map in map feature I coded up this week to for a map that demonstrates that as the sun sets in Sweden, it's rising near Las Cruces, NM. A few minutes later, my QSO to Sweden from the Organ Mountains went through. The code is in a github repo . Here's the map: And here's a video demonstrating how to interact with the map above: For those who are curious, here's how Project TouCans was situated that day. Note that the dipole is only about five feet off the ground.

Implementing the new QSO Map in Map View

 I frequently find myself zooming in and out of QSO maps to see where the sun was with regard to my station's horizon  vs how far a given QSO propagated. I wanted a way to view maps without all the zooming. Now I have it! How I got It I've had Cesium maps on the blog for a while. Once I got the idea for a better way to view QSO maps, I deliberately executed on the habit I've been trying to build in myself:  I immediately asked GPT5 if it could augment my existing code. It turned out that it definitely could. In under half an hour, I had the new map view pictured above. You can steer around the maps at my POTA post .  The code for implementing map in map can be found in the csm-map-n-map repo.

Project TouCans Back on the Air on the San Juan Bautista National Historic Trail

 Project TouCans made it back on the HF airwaves last night! I had forgotten that urban POTAs are kind the epitome of luxury here in San Francisco. On my way to the bus stop for the MUNI 49, I noticed that it was happy hour, so I stepped in for a drink. Perched on a barstool at the joint's open front window, I contemplated the world outside and whether or not the radio would work. The power switch latching relay for the rig gave up on the last day of our Great Basin National Park camping trip. That'd been perfect timing, (if the thing was going to break at all), but also led to me not being on the air in the better part of two months. I wound up making the ten QSOs to activate the park in just over half an hour. My operating site was on the campus of City College San Francisco (CCSF.) The view across the city is kind of nice. I was there just into the night this time, and the city lights up after dark. I'm trying something new in the map below. I asked GTP5 to help me with...

RockMite Sidetone Spectrum: Why That QRP Beep Sounds So Square

 One of the first things I realized about my RockMite, (the tranciever at the heart of Project TouCans, our low power, Morse code only, ham radio), is that the sidetone output is, shall we say, LOUD! This works for me since my hearing isn't great and I'm frequently operating from urban environments where there's lots of ambient QRM in the air around me: horns, crowds, sirens, and so on. I'm often reminded of that the sidetone is loud by other posts I find00 about working on old RockMites. The author usually starts by mentioning that theyauthor turned down the sidetone volume by changing the circuit. The post that comes to the top of my mind is  Taming the Wild Rockmite  by G. Forrest Cook. It has a great section on boosting the output power Rockmite's that I've put to good use. In any event, while workking on training an AI to decode Morse code, I started looking at spectograms of the Project TouCans audio output. Here's what I saw  Those vertical bands tha...

Why the TouCans CW AI Isn't Decoding Real CW Yet

 Yesterday I posted about ChatGPT5 writing a TensorFlow CW decoder. It's actually decoding clean CW from its training data, but when I feed it audio recorded from an actual HF receiver, nope. I asked ChatGPT to write me a script to inspect the recorded audio and found out why this morning. The first thing I should point out is that this particular model is learning Morse code the wrong way. It is defineitly comparing dots and dashes. It's based on a vision neural net and so... The second thing I should point out is that it's learning Morse code faster than I did, so, you know, that's pretty impressive. OK. Here's why the AI isn't understanding RF-borne CW yet. Here's a spectrogram that corresponds to its self created training data. This particular one is from the video I posted about yesterday. The video is included again below so you can listen to the code as well. This is fairly impressive in that you can in fact actually read out the dits and dahs. Now, ...

Using AIs to Build AIs ChatGPT5 -> Morse Code AI

 This week's AI project is to create an AI Morse code decoder. I've been working with the new ChatGPT 5 model since late last week. I've asked a few different models if they could understand Morse code. ChatGPT 5 couldn't. Gemini couldn't. That's when it occurred to me that this was probably the perfect time to learn how to use TensorFlow to make an AI. So, I changed my question. I asked ChatGPT 5, "If I wanted to setup a model that learned Morse code using Google's Tensor engines, could you describe the entire process and output the code for me?" To which it promptly, (what an awesome pun!), replied, "Heck yes—that’s a super fun project. Here’s a complete, practical path to a TPU-accelerated Morse code recognizer using TensorFlow + CTC (Connectionist Temporal Classification). It generates synthetic Morse audio (with realistic timing/noise/tempo wobble), trains a small CRNN on log-mel spectrograms, and decodes with greedy CTC. You can run it ...

DC POTA QSO Map from Freedom Plaza

  Almost a year ago, I made a POTA activation from DC in Freedom Plaza. I'm discussing antennas and buildings today with Bill Meara of the soldersmoke blob and published this map to carry along the conversation. I alternately convince my myself that buildings do not matter, and then a few weeks later, that they do. QSO Map

Things I Learned: Logitech Capture vs. Windows Snipper for Screen Capture

 Logitech Logi Capture turns out to be better at capturing fine details in  a screen replay than the Microsoft Snipping tool.  Here's a demo. The Windows munging is more apparent in a larger frame or full screen. Videos Logi Capture Windows Snipping Tool