Ham College 144
Ham College episode 144 is now available for download.
General Exam Questions Part 5
G1E – Control categories, repeater regulations, third-party rules, ITU regions, automatically controlled digital station.
Information on the AmateurLogic 21st Anniversary Icom ID-5200 Giveaway.
Exam Preparation Topics (G1E):
Throughout the show, the hosts discuss several key regulatory concepts:
Third-Party Rules: They clarify regulations regarding message relaying and disqualification criteria for third parties (4:10–7:28, 14:16–16:21, 33:21–34:15).
Repeater Regulations: Discussions cover retransmission rules for different operator classes (7:30–10:05).
Digital Station Control: Understanding how automatically controlled digital stations function and the requirements for interacting with them (10:19–11:46, 30:03–33:18).
Interference Mitigation: Procedures for avoiding harmful interference, particularly regarding secondary band usage and proximity to monitoring stations (11:48–14:15).
ITU Regions: The hosts explain the International Telecommunications Union radio regions, identifying that the U.S. falls into Region 2 (16:24–21:03).
Special Anniversary Giveaway:
The hosts announce an upcoming contest for the AmateurLogic.TV 21st anniversary to give away a new Icom ID-5200A transceiver (37:11–43:30).
Entry details are provided, emphasizing the need to be a licensed U.S. or Canadian operator and highlighting the importance of following specific subject-line formatting and required details in entry emails (44:27–45:47).
George Thomas, W5JDX, is co-host of AmateurLogic.TV, an original amateur radio video program hosted by George Thomas (W5JDX), Tommy Martin (N5ZNO), Peter Berrett (VK3PB), and Emile Diodene (KE5QKR). Contact him at [email protected].
Ham College 144
Ham College episode 144 is now available for download.
General Exam Questions Part 5
G1E – Control categories, repeater regulations, third-party rules, ITU regions, automatically controlled digital station.
Information on the AmateurLogic 21st Anniversary Icom ID-5200 Giveaway.
Exam Preparation Topics (G1E):
Throughout the show, the hosts discuss several key regulatory concepts:
Third-Party Rules: They clarify regulations regarding message relaying and disqualification criteria for third parties (4:10–7:28, 14:16–16:21, 33:21–34:15).
Repeater Regulations: Discussions cover retransmission rules for different operator classes (7:30–10:05).
Digital Station Control: Understanding how automatically controlled digital stations function and the requirements for interacting with them (10:19–11:46, 30:03–33:18).
Interference Mitigation: Procedures for avoiding harmful interference, particularly regarding secondary band usage and proximity to monitoring stations (11:48–14:15).
ITU Regions: The hosts explain the International Telecommunications Union radio regions, identifying that the U.S. falls into Region 2 (16:24–21:03).
Special Anniversary Giveaway:
The hosts announce an upcoming contest for the AmateurLogic.TV 21st anniversary to give away a new Icom ID-5200A transceiver (37:11–43:30).
Entry details are provided, emphasizing the need to be a licensed U.S. or Canadian operator and highlighting the importance of following specific subject-line formatting and required details in entry emails (44:27–45:47).
George Thomas, W5JDX, is co-host of AmateurLogic.TV, an original amateur radio video program hosted by George Thomas (W5JDX), Tommy Martin (N5ZNO), Peter Berrett (VK3PB), and Emile Diodene (KE5QKR). Contact him at [email protected].
Amateur Radio Weekly – Issue 441
JTTY: A WSJT-X mode that ignores the clock
K1JT and the WSJT team release WSJT-X 3.2.0-rc1 with JTTY, a weak-signal keyboard mode built for RTTY contesting.
DXZone
Projects find hidden SDR capabilities in ESP32 microcontrollers
Several ESP32 models can now be used as an internal SDR covering 2.2–2.7 GHz, plus 4.8–6.0 GHz on the ESP32-C5, with up to 80 MS/s sample rate and roughly 13–54 MHz of analog bandwidth, depending on the chip.
RTL-SDR
Successful M17 transmission using an unmodified Retevis C62
The most important thing is that the C62 radio is available at about $45 and does not require any hardware modifications to run the M17 mode.
M17 Project
What’s new at Digital Library of Amateur Radio & Communications
We scanned 179 issues of The Cornell-Dubilier Capacitor. This was a technical/service newsletter for the radio and TV repair trade published by Cornell-Dubilier Electric Corp., another capacitor manufacturer. The Capacitor was published from 1937 through 1964; we have issues spanning 1939-1960.
Zero Retries
Call sign grace period: A hard lesson learned
Don’t forget to pay the renewal fee!
K4HST
GOGUFW Messenger
Turn a $25 Quansheng UV-K1 into a radio-to-radio text messenger.
HamRadio.My
JS8Mail
Reliable offline-first radio mail above an unmodified JS8Call instance.
Steve Netting
Leo.space
Track launches, satellites, weather, and space communications from a single command center.
Leo.space
W2PH streaming radio
A premier internet radio station featuring classic rock/oldies 24/7 streaming with live DJ sessions.
W2PH Radio
Pi Pico recreates the Heathkit Pocket Packet
Once upon a time, you might have squirted data about the airwaves using something like the Heathkit HK-21 Pocket Packet.
Hackaday
Upcoming Events
EN100NP on the Air to Honor 100th Anniversary of Symon Petlura
June 8, 2026
ISS SSTV Weekend Sprint
October 2, 2026
Fire Prevention Week Special Event Highlights Fire Safety
October 4, 2026
Zero Retries Digital Conference 2026
October 16, 2026
Video
Testing the DX Launcher
The DX Launcher is a high-performance compressed air antenna launcher designed to send weighted tennis balls over tall trees with precision and ease.
KB9VBR
Massive vintage radio collection now on display
Daughter keeps her hero father’s memory alive.
WTVR
Department of Public Safety recruiter reaches across the globe
As a Ham Radio operator, he extends his talkative nature to people around the world. Listen as he chats with people on the Eastern Seaboard
Minnesota Department of Public Safety
The Yagi turns 100
Let’s look at what led up to the invention and what has happened since.
W8WWV
Get Amateur Radio Weekly in your inbox.
Sign-up here
Amateur Radio Weekly is curated by Cale Mooth K4HCK. Sign up free to receive ham radio's most relevant news, projects, technology and events by e-mail each week at http://www.hamweekly.com.
Wrapping Up the Lewis & Clark Trail
More from the trip: A Lewis & Clark POTA Journey | On The Trail | West Over Lemhi Pass | Arrived at the Pacific Ocean Joyce/K0JJW and I have wrapped up our trip along the Lewis and Clark National Historic Trail. We started at the Gateway Arch in St. Louis on September 5th and ended ... Read more
The post Wrapping Up the Lewis & Clark Trail appeared first on Above Average Terrain.
Bob Witte, KØNR, is a regular contributor to AmateurRadio.com and writes from Colorado, USA. Contact him at [email protected].
The Google gadget is back and running
It seems Google has finally gotten around to fixing its Blogs I Follow gadget! The original issue was that it had completely stopped updating. You can read my previous post to see the workaround I used while waiting for the folks at Google to address the problem.
Below is the code I used to bring back the official Blogs I Follow gadget while hiding the temporary HTML/JavaScript fix.
To keep things organized, I saved both code snippets in OpenOffice. That way, if Google's gadget ever breaks again, it’s a quick copy and paste to deploy the temporary fix, and another simple copy and paste to switch back once it's resolved.
Note: The only change you will need to make is replacing my followed blog URLs with your own. I detailed step-by-step instructions on how to do this in the post linked above. Also you do this at your own risk.
HTML
<div style="display: none;">
<div id="blogger-bloglist-feed">
<p style="font-size: 0.9em; color: #ffffff; margin: 0;">Loading blog updates...</p>
</div>
<style>
.bloglist-item {
margin-bottom: 14px !important;
padding-bottom: 10px !important;
border-bottom: 1px dashed rgba(255, 255, 255, 0.3) !important;
font-family: inherit !important;
}
/* Blog Name */
.bloglist-name {
display: block !important;
font-size: 1.05em !important;
font-weight: bold !important;
color: #ffffff !important;
margin-bottom: 4px !important;
line-height: 1.3 !important;
}
/* Article Post Title Link */
a.bloglist-link,
a.bloglist-link:visited {
display: block !important;
font-size: 1.0em !important;
font-weight: normal !important;
color: #ffffff !important;
text-decoration: none !important;
line-height: 1.3 !important;
}
a.bloglist-link:hover {
text-decoration: underline !important;
}
/* Updated Date */
.bloglist-date {
font-size: 0.85em !important;
color: #ffffff !important;
margin-top: 3px !important;
display: block !important;
opacity: 0.9 !important;
}
</style>
<script>
(function() {
var followedFeeds = [
"http://ae5x.blogspot.com/feeds/posts/default",
"https://www.kb6nu.com/feed/",
"http://w2lj.blogspot.com/feeds/posts/default",
"http://pa1b-qrp.blogspot.com/feeds/posts/default",
"https://ve7sar.blogspot.com/feeds/posts/default",
"https://swling.com/blog/feed/",
"https://www.arrl.org/arrl.rss",
"http://ve3clq.blogspot.com/feeds/posts/default",
"https://wb3gck.com/feed/",
"https://tommcquiggan.blogspot.com/feeds/posts/default",
"http://ve3vn.blogspot.com/feeds/posts/default",
"https://ke9v.net/feed.xml",
"https://kg3v.com/feed/",
"http://offgridham.com/feed/",
"http://pe4bas.blogspot.com/feeds/posts/default",
"https://qrper.com/feed/",
"https://www.amateurradio.com/feed/",
"https://k9zw.wordpress.com/feed/"
];
var container = document.getElementById("blogger-bloglist-feed");
var loadedCount = 0;
var items = [];
// Helper function to fetch feeds that rss2json fails to parse
async function fetchXmlFallback(feedUrl) {
try {
var proxyUrl = "https://api.allorigins.win/get?url=" + encodeURIComponent(feedUrl);
var res = await fetch(proxyUrl);
var data = await res.json();
if (!data.contents) return null;
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(data.contents, "text/xml");
var item = xmlDoc.querySelector("item") || xmlDoc.querySelector("entry");
if (!item) return null;
var title = item.querySelector("title") ? item.querySelector("title").textContent : "Untitled";
var link = item.querySelector("link") ? item.querySelector("link").textContent : "#";
if (!link || link.trim() === "") {
link = item.querySelector("link") ? item.querySelector("link").getAttribute("href") : "#";
}
var dateStr = item.querySelector("pubDate") ? item.querySelector("pubDate").textContent :
(item.querySelector("published") ? item.querySelector("published").textContent :
(item.querySelector("updated") ? item.querySelector("updated").textContent : ""));
var blogTitle = (xmlDoc.querySelector("channel > title") ? xmlDoc.querySelector("channel > title").textContent :
(xmlDoc.querySelector("feed > title") ? xmlDoc.querySelector("feed > title").textContent : "Blog"));
var pubDateObj = new Date(dateStr);
return {
blogTitle: blogTitle,
title: title,
link: link,
date: pubDateObj,
dateStr: isNaN(pubDateObj) ? "" : pubDateObj.toLocaleDateString(undefined, { month: 'short', day: 'numeric' })
};
} catch (e) {
return null;
}
}
followedFeeds.forEach(function(feedUrl) {
var apiUrl = "https://api.rss2json.com/v1/api.json?rss_url=" + encodeURIComponent(feedUrl);
fetch(apiUrl)
.then(function(res) { return res.json(); })
.then(async function(data) {
if (data.status === "ok" && data.items && data.items.length > 0) {
var blogTitle = data.feed.title || "Blog";
var latestPost = data.items[0];
var pubDateObj = new Date(latestPost.pubDate);
items.push({
blogTitle: blogTitle,
title: latestPost.title,
link: latestPost.link,
date: pubDateObj,
dateStr: isNaN(pubDateObj) ? "" : pubDateObj.toLocaleDateString(undefined, { month: 'short', day: 'numeric' })
});
} else {
var fallbackItem = await fetchXmlFallback(feedUrl);
if (fallbackItem) items.push(fallbackItem);
}
})
.catch(async function(err) {
var fallbackItem = await fetchXmlFallback(feedUrl);
if (fallbackItem) items.push(fallbackItem);
})
.finally(function() {
loadedCount++;
if (loadedCount === followedFeeds.length) {
if (items.length > 0) {
items.sort(function(a, b) { return b.date - a.date; });
var htmlBuffer = "";
items.forEach(function(item) {
htmlBuffer += '<div class="bloglist-item">';
htmlBuffer += '<span class="bloglist-name">' + item.blogTitle + '</span>';
htmlBuffer += '<a class="bloglist-link" href="' + item.link + '" target="_blank" rel="noopener">' + item.title + '</a>';
if (item.dateStr) {
htmlBuffer += '<span class="bloglist-date">Updated: ' + item.dateStr + '</span>';
}
htmlBuffer += '</div>';
});
container.innerHTML = htmlBuffer;
} else {
container.innerHTML = "<p style='font-size:0.85em; color: #ffffff;'>No recent updates available.</p>";
}
}
});
});
})();
</script>
</div>
Mike Weir, VE9KK, is a regular contributor to AmateurRadio.com and writes from New Brunswick, Canada. Contact him at [email protected].
The Google gadget is back and running
It seems Google has finally gotten around to fixing its Blogs I Follow gadget! The original issue was that it had completely stopped updating. You can read my previous post to see the workaround I used while waiting for the folks at Google to address the problem.
Below is the code I used to bring back the official Blogs I Follow gadget while hiding the temporary HTML/JavaScript fix.
To keep things organized, I saved both code snippets in OpenOffice. That way, if Google's gadget ever breaks again, it’s a quick copy and paste to deploy the temporary fix, and another simple copy and paste to switch back once it's resolved.
Note: The only change you will need to make is replacing my followed blog URLs with your own. I detailed step-by-step instructions on how to do this in the post linked above. Also you do this at your own risk.
HTML
<div style="display: none;">
<div id="blogger-bloglist-feed">
<p style="font-size: 0.9em; color: #ffffff; margin: 0;">Loading blog updates...</p>
</div>
<style>
.bloglist-item {
margin-bottom: 14px !important;
padding-bottom: 10px !important;
border-bottom: 1px dashed rgba(255, 255, 255, 0.3) !important;
font-family: inherit !important;
}
/* Blog Name */
.bloglist-name {
display: block !important;
font-size: 1.05em !important;
font-weight: bold !important;
color: #ffffff !important;
margin-bottom: 4px !important;
line-height: 1.3 !important;
}
/* Article Post Title Link */
a.bloglist-link,
a.bloglist-link:visited {
display: block !important;
font-size: 1.0em !important;
font-weight: normal !important;
color: #ffffff !important;
text-decoration: none !important;
line-height: 1.3 !important;
}
a.bloglist-link:hover {
text-decoration: underline !important;
}
/* Updated Date */
.bloglist-date {
font-size: 0.85em !important;
color: #ffffff !important;
margin-top: 3px !important;
display: block !important;
opacity: 0.9 !important;
}
</style>
<script>
(function() {
var followedFeeds = [
"http://ae5x.blogspot.com/feeds/posts/default",
"https://www.kb6nu.com/feed/",
"http://w2lj.blogspot.com/feeds/posts/default",
"http://pa1b-qrp.blogspot.com/feeds/posts/default",
"https://ve7sar.blogspot.com/feeds/posts/default",
"https://swling.com/blog/feed/",
"https://www.arrl.org/arrl.rss",
"http://ve3clq.blogspot.com/feeds/posts/default",
"https://wb3gck.com/feed/",
"https://tommcquiggan.blogspot.com/feeds/posts/default",
"http://ve3vn.blogspot.com/feeds/posts/default",
"https://ke9v.net/feed.xml",
"https://kg3v.com/feed/",
"http://offgridham.com/feed/",
"http://pe4bas.blogspot.com/feeds/posts/default",
"https://qrper.com/feed/",
"https://www.amateurradio.com/feed/",
"https://k9zw.wordpress.com/feed/"
];
var container = document.getElementById("blogger-bloglist-feed");
var loadedCount = 0;
var items = [];
// Helper function to fetch feeds that rss2json fails to parse
async function fetchXmlFallback(feedUrl) {
try {
var proxyUrl = "https://api.allorigins.win/get?url=" + encodeURIComponent(feedUrl);
var res = await fetch(proxyUrl);
var data = await res.json();
if (!data.contents) return null;
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(data.contents, "text/xml");
var item = xmlDoc.querySelector("item") || xmlDoc.querySelector("entry");
if (!item) return null;
var title = item.querySelector("title") ? item.querySelector("title").textContent : "Untitled";
var link = item.querySelector("link") ? item.querySelector("link").textContent : "#";
if (!link || link.trim() === "") {
link = item.querySelector("link") ? item.querySelector("link").getAttribute("href") : "#";
}
var dateStr = item.querySelector("pubDate") ? item.querySelector("pubDate").textContent :
(item.querySelector("published") ? item.querySelector("published").textContent :
(item.querySelector("updated") ? item.querySelector("updated").textContent : ""));
var blogTitle = (xmlDoc.querySelector("channel > title") ? xmlDoc.querySelector("channel > title").textContent :
(xmlDoc.querySelector("feed > title") ? xmlDoc.querySelector("feed > title").textContent : "Blog"));
var pubDateObj = new Date(dateStr);
return {
blogTitle: blogTitle,
title: title,
link: link,
date: pubDateObj,
dateStr: isNaN(pubDateObj) ? "" : pubDateObj.toLocaleDateString(undefined, { month: 'short', day: 'numeric' })
};
} catch (e) {
return null;
}
}
followedFeeds.forEach(function(feedUrl) {
var apiUrl = "https://api.rss2json.com/v1/api.json?rss_url=" + encodeURIComponent(feedUrl);
fetch(apiUrl)
.then(function(res) { return res.json(); })
.then(async function(data) {
if (data.status === "ok" && data.items && data.items.length > 0) {
var blogTitle = data.feed.title || "Blog";
var latestPost = data.items[0];
var pubDateObj = new Date(latestPost.pubDate);
items.push({
blogTitle: blogTitle,
title: latestPost.title,
link: latestPost.link,
date: pubDateObj,
dateStr: isNaN(pubDateObj) ? "" : pubDateObj.toLocaleDateString(undefined, { month: 'short', day: 'numeric' })
});
} else {
var fallbackItem = await fetchXmlFallback(feedUrl);
if (fallbackItem) items.push(fallbackItem);
}
})
.catch(async function(err) {
var fallbackItem = await fetchXmlFallback(feedUrl);
if (fallbackItem) items.push(fallbackItem);
})
.finally(function() {
loadedCount++;
if (loadedCount === followedFeeds.length) {
if (items.length > 0) {
items.sort(function(a, b) { return b.date - a.date; });
var htmlBuffer = "";
items.forEach(function(item) {
htmlBuffer += '<div class="bloglist-item">';
htmlBuffer += '<span class="bloglist-name">' + item.blogTitle + '</span>';
htmlBuffer += '<a class="bloglist-link" href="' + item.link + '" target="_blank" rel="noopener">' + item.title + '</a>';
if (item.dateStr) {
htmlBuffer += '<span class="bloglist-date">Updated: ' + item.dateStr + '</span>';
}
htmlBuffer += '</div>';
});
container.innerHTML = htmlBuffer;
} else {
container.innerHTML = "<p style='font-size:0.85em; color: #ffffff;'>No recent updates available.</p>";
}
}
});
});
})();
</script>
</div>
Mike Weir, VE9KK, is a regular contributor to AmateurRadio.com and writes from New Brunswick, Canada. Contact him at [email protected].
Arrived at the Pacific Ocean
We continued on our trip following the Lewis and Clark National Historical Trail, crossing Idaho into Washington and Oregon. And, yes, we arrived at the Pacific Ocean, near Astoria, OR, completing our adventure, in 24 days, driving 3725 miles. More on that in a future post. This section of the trip started out by going ... Read more
The post Arrived at the Pacific Ocean appeared first on Above Average Terrain.
Bob Witte, KØNR, is a regular contributor to AmateurRadio.com and writes from Colorado, USA. Contact him at [email protected].















