Skip to main content

Posts

Showing posts with the label ham radio

Free AI-Tutor-Enabled Extra Class Practice Exams Now Live on Project TouCans!

 I’ve just launched the new Extra Class Practice Exam site, and it’s officially the first app running on the new Project TouCans platform! The exams follow the same familiar format as the ones here on the blog — but with a major upgrade. Now, when you’re stuck on a question, you can click “AI Help” to start a ChatGPT-powered tutoring session for that specific problem. You can try the exams here: 👉 https://projecttoucans.com/

GPT Asks for Help With Its Vision

 At the moment, I have the experimental, Open AI ChatKit enabled ham radio practice exams flying blind: I'm not passing the figures for exam questions into the AI when the student asks a question. This has led to a really cool thing! The AI is asking students to tell them what they see.  The question: includes a schematic of a linear voltage regulator. Here's the thing though, the AI system doesn't know that, it's just passed the question along with the correct answer at this point in development.  See that question at the bottom? "Now, could you describe or summarize what components or features you see in Figure E7-2?" That's super-cool, I think. The LLM asked because it does not have the picture availble to it. I responded  that I sawa Zener diode attached to the gate of a transistor, and it was off and running explaining to me how linear voltage regulators function and what the zener diode was for. What About Usage Costs? So far, I've taken three ...

Morse Code Data and Ham Radio

Ever tune across the HF bands and wonder just how many Morse code operators are on the air at that moment? Thanks to WW5TH’s ingenious setup that reads directly from the Reverse Beacon Network (RBN), you can see it in near real time. The RBN ’s worldwide network of “skimmers” automatically decodes CW signals, giving a fascinating snapshot of CW activity across the globe.  Pat wrote the code up here and you can find the latest data here . Here's an example from this morning. This quick visualization from W5WTH shows how data from the Reverse Beacon Network can reveal real-time CW activity. It’s a great way to see where the bands are hopping and how propagation changes minute by minute. Check out Pat’s GitHub for code details, and watch the data to spot when Morse action is hopping. Want to dive deeper? Try building your own CW dashboard from RBN data using Chat GPT , or explore similar projects in ReverseBeacon.net and Parks on the Air to see who...

AI Help Enabled Ham Radio Extra Class Practice Test| FCC Element 4 Question Pool 2024–2028

  Extra Class Practice Exam Get ready for the FCC Extra Class license exam with this free online ham radio practice test. Our interactive exam tool uses the official FCC Element 4 Question Pool (valid July 2024–2028) and automatically tracks your performance. See your score history, review stacked bar charts of correct vs wrong answers by subelement, and drill down into specific group stats with a single click. This version of the exam is identical to the first release with a single exception. This version has an AI help facility. To see a demo of how to us it, please see this post and associated video. To use the AI features, you'll need to have your own OpenAI API key. You'll input that in a dialog that is not visible to anyone but your browser. One of the points of these exam practice pages was to demonstrate that they could be deployed without needing server-side code, and they don't. This is the first practice run of the free online ham radio practice exams. I fully e...

Lab Notebook: GPT-5 Help Agent for Ham Radio Exams Debug

 Debug notes from getting the AI help feature of the free ham radio exams to work today. Grabbing a text answer from OpenAI still works: That's from this method async function retrieveTextWithFileSearch ({ system , user }) {   const vsId = localStorage . getItem ( 'vector_store_id' );   if (! vsId ) throw new Error ( 'No vector_store_id found.' );   answText = answText + " " + user ;   const resp = await openai ( '/responses' , {     body : {       model : 'gpt-4.1-mini' ,       input : [         { role : 'system' , content : system },         { role : 'user' ,   content : answText }       ],       tools : [{ type : 'file_search' , vector_store_ids : [ vsId ] }]     }   }); With the agent  flow, it doesn't work async function retrieveTextWithAgent ({ system , user }) {   // 0) Make sure we have ...