Episodios

  • You don't need an excuse to make noise!
    Apr 18 2026
    Foundations of Amateur Radio

    The other day I came across a post on mastodon.radio by Keith W6KME announcing the resumption of the Micro Field Day, spelled using the 12th letter of the Greek alphabet, Mu.

    This was news to me, since I didn't know they'd stopped, let alone existed at all. Being the curious type, I stopped to investigate and discovered an initiative that could, and in my not so humble opinion, should, be replicated all over the planet.

    Essentially an informal monthly gathering of amateurs with their portable set-up, ranging from hand-held radios through lightweight backpack gear suitable for SOTA or POTA, or Summits or Parks on the Air, to car portable stations where your vehicle acts as the carry mule and perhaps the base of your antenna.

    In other words, it's for anyone who brings along their radio to play or if you're not yet ready to do that, come and participate as you feel inclined.

    So, what of the resumption, you ask. It turns out that the activity became so popular locally that some parks required paid bookings and insurance, which is somewhat challenging if you're not actually an organisation.

    The closest I've ever come to a Micro Field Day is when we celebrated a milestone anniversary for the weekly F-troop net that has now been running for over 15 years.

    The Bored Net Group website has plenty of information about what they get up to during a Micro Field Day, Random Metal Objects On The Air, shared club activities, picnic lunches, and activations at local lakes, landmarks and other places of interest. I'd also like to make a point here about documenting your activities so the rest of the community can learn from your experience and the Micro Field Day isn't the only, or even the first activity that the group organised.

    Special mention to Zak N6PK who started hosting the BORED net four times a day during the COVID-19 pandemic lockdown in March 2020. You'll find the full story when you check out their site at theborednet.net for that and oodles more inspiration.

    While I'm perfectly happy sitting at home behind a computer reading research on the resource comparison between half a dozen algorithms for calculating a Fast Fourier Transform, that's not the only thing that amateur radio represents.

    When I started running F-troop there was no place for new and returning amateurs to gather and ask questions and share their experiences. Today the log shows at least one new callsign for each week we've been on-air, representing nearly a thousand amateurs who activated their transmitter and shared their experience.

    There is no organisation behind F-troop, it's a couple of amateurs who regularly turn up and participate to act as a welcoming voice into the diverse community that represents amateur radio.

    In other words, it started because I felt like it and it continues because people keep coming back.

    The Micro Field Day is exactly the same in that it was started to scratch an itch. I'm making this explicit because some amateurs appear to be under the impression that they'll need a local club or organisation to organise activities for them. I'm here to tell you that you can start such an activity with your friends. Ultimately, where do you think clubs come from?

    So .. what are you waiting for?

    Get on-air and make some noise!

    I'm Onno VK6FLAB

    Más Menos
    4 m
  • What's in an S-unit?
    Apr 11 2026
    Foundations of Amateur Radio The other day fellow amateur Randall VK6WR raised an interesting question. Using his HP 8920A RF Communications Test Set, which you might recall from our adventures in measuring radio harmonic power in 2023, that report is on my Github repository, but I digress, Randall wondered if the signal strength he was seeing on several radios were the same and discovered that in fact they were not. It made Randall ask who set the standard and following on from that, what does this look like in the real world? In 2014, episode 149 of the series "What use is an f-call?", I published an article titled "The simple S-unit". In it I referred to a standard for S-units defined in 1981. Unfortunately, I didn't provide any references, so, armed with more than a decade extra experience, Randall encouraged me to investigate. Twenty seconds into my search, I discovered IARU Region 1 Technical Recommendation R.1, which has four statements related to the topic at hand. Under the title "STANDARDISATION OF S-METER READINGS" it states that: 1. One S-unit corresponds to a signal level difference of 6 dB, 2. On the bands below 30 MHz a meter deviation of S-9 corresponds to an available power of -73 dBm from a continuous wave signal generator connected to the receiver input terminals, 3. On the bands above 144 MHz this available power shall be -93 dBm, 4. The metering system shall be based on quasi-peak detection with an attack time of 10 msec +/- 2 msec and a decay time constant of at least 500 msec. So. Job done, right? Yeah, nah, not so much. The web page I quoted from is linked from the Wikipedia S-meter entry and was archived in 2005 and at the time existed on a Swedish domain in the home directory of Kjell SM7GVF. The page has two additional interesting things, the words "Brighton 1981" and "Torremolinos 1990", both of which refer to IARU conferences. The reports for these meetings are online. In searching for any reference to the definition of the S-unit, the 1990 report shows that resolution "83-1" had the status of "Action completed", whatever that means. The 1981 conference document has all manner of interesting references, including "Log Forms and Summaries for International Contest Use", "Meteor Scatter qso procedure" and the definition of the standard way to determine Morse Code speeds using the word "PARIS" followed by a 7 bit word space, to name three. The one we're interested in is called "BM/134 - S-Meter Standards", appearing on page 33 and 34 of the 1981 report. It's a photocopy, so you can see the text from other pages superimposed. I'm making this observation because this is essentially a standards document, intended to be adhered to by industry and the amateur community. It gets better, or rather .. worse. The text that is referenced by Wikipedia uses numbers for the four elements, where BM/134 uses letters. The third item in BM/134 says that it applies for "bands above 30 MHz", but the document I just quoted appears to be unique in saying that it applies to "bands above 144 MHz". The fourth item, dealing with the way that the meter responds has been altered on BM/134. The text "+/- 2 ms and a decay time" are in a different font and at an angle. Worth noting that the change includes "ms" twice, rather than "msec" as the unit for milliseconds used elsewhere. Searching for a phrase within the standard, I discovered the Region 1 HF Manager Handbook v7.01, which appears to include the S-meter standard in chapter 11.1.2, but closer inspection reveals that the fourth item is missing, the one about quasi-peak detection. This is significant because the S-meter standard is based on a CW signal, not an SSB signal, which fluctuates. There's no reference as to where or when this was removed or by whom. These changes are repeated in subsequent versions of the HF Managers Handbook. There's other differences too, instead of using millivolt and microvolt as shown in the original BM/134 standard table, all units have been converted to millivolt for no discernible reason. The new table, including typo, is also copied everywhere. While we're at it, the original standard contains the letters "V", "E", "R", "O", "N" at the top. They don't show in the HF Managers Handbook either. This is curious, since last time I checked, those letters signify an organisation that at least some here will recognise, the "Vereniging voor Experimenteel Radio Onderzoek in Nederland", known to the the people who don't speak fluent Dutch, as the peak body for amateur radio in the Netherlands, VERON. Searching its website does not reveal their contribution to this standards document, which I have to say, is par for the course, much of our amateur radio history is poorly documented or archived, if at all, something which I've spent plenty of my time attempting to remedy over more than a decade, one article at a time. Moving on. The phrase I mentioned earlier bears reading out in its entirety. From BM/...
    Más Menos
    11 m
  • Where is the spark .. gap?
    Apr 4 2026
    Foundations of Amateur Radio The thing I love most about this amazing hobby of amateur radio is the sheer size of the community and the depth of knowledge that comes with it. Case in point, the other day I mentioned the spark gap transmitter at Grimeton in Sweden. A few hours after releasing my comments into the void I received a message from Paul SA7CND who lives, wait for it, 153 km from the transmitter. He's been on-site while it was running, transmitting on 17.2 kHz. Paul pointed out that the Grimeton transmitter is not a spark gap transmitter at all. It's actually an Alexanderson alternator, an entirely different beast, and all the more interesting for it. Invented by Swedish electrical engineer and inventor, Ernst Frederick Werner Alexanderson, he received a patent for it in 1911 whilst working for General Electric. He died in 1975, aged 97 with 345 patents to his name. Before I dig in, because you know I will, the transmitter at Grimeton was officially opened on the 1st of December in 1924. Built to increase Swedish independence after World War I revealed its vulnerability to foreign controlled transatlantic telegraph cables. Serving as a telegraphy station capable of transmitting traffic across the Atlantic ocean the station was in regular service until 1996. Unlike its scrapped brethren, the Grimeton transmitter is currently operated several times a year as a functioning transmitter using the callsign SAQ. Announcements are made on the station mailing list and the website at grimeton.org, but generally on Alexanderson Day in July and Christmas Eve in December. You'll need to tune to 17.2 kHz, something you can do with a sound-card, or with an SDR. Sound-card you say? Yes. Not for audio, but for RF. Connect an antenna to the microphone centre-pin input and have at it. Note that this will likely be highly susceptible to noise, so filtering and experimentation are to be expected. There's several tools around to play with this, GNU Radio, Quisk, SuperSID and SAQrx. Also, there's plenty of other VLF, or Very Low Frequency stations to listen to. I should probably add this as a 51st thing to do with SDR, but I digress. Back to Grimeton. As the last remaining functional Alexanderson alternator transmitter, it was added to the UNESCO World Heritage List in 2004. You can visit and see first hand what radio history looks like. As I said, if you pick your day, you can even watch it working. Failing that, there's plenty of YouTube videos showing the entire process, it's an absolute monster. There's even an amateur radio shack on-site with the callsign SK6SAQ. The website says that it's open sporadically, so I'd recommend you contact them before heading to Grimeton. I'll note that at the time that this station was being commissioned in 1924, it was already being superseded by valve oscillators, which brings me to how it works. Depending on where you live, you're likely familiar with the 50 or 60 Hz alternating current associated with household electricity. In 1891, Irish experimental physicist Frederick Thomas Trouton pointed out that if you could run an alternator at high enough speed it would create an alternating current at radio frequencies, said differently, creating a continuous wave at radio frequencies. Much experimentation followed and many giant shoulders supported this effort. It goes a little like this. Use an electric motor designed to spin at 900 revolutions per minute. Connect it to a gearbox. Connect that to a rotor with multiple poles. Then run the motor with a clutch to vary the speed. If that's not enough, to produce high power, the clearances between rotor and stator have to be kept to a millimetre. Then there is cooling and lubrication to consider, not to mention dealing with thermal expansion and contraction of a fast spinning and closely toleranced disk. At Grimeton, the whole transmitter weighs in at 50 tonnes, pretty much the opposite of portable operation. The rotor at Grimeton is a 1.6 meter diameter disc with a 7.5 cm thick edge with 488 slots milled into it, each filled with brass. The motor at Grimeton runs at just over 711.3 revolutions per minute, the gearbox has a ratio of 2.973 and the whole contraption generates 17,200 Hz. If you get the sense that you're balancing an elephant on top of a needle, you're almost there, but if you consider that keying the transmitter changes the load and currents, it's more like an elephant being shoved by a train, balancing on top of a needle. At Grimeton, the motor is loaded by one of three liquid resistors, which each consist of a two metre high container filled with water and baking soda. The liquid level is controlled by separate pumps, varying the resistance. Whilst transmitting, a second liquid resistor is added, reducing the resistance to regulate the speed of the motor to maintain the overall speed and the associated frequency. The resistors generate heat which is fed through a heat exchange to the station's water ...
    Más Menos
    9 m
  • Bald Yak 18: Everything Everywhere All at Once?
    Mar 28 2026
    Foundations of Amateur Radio The other day I was playing around with RDS, or Radio Data System, it's a digital signal that's often embedded in a commercial broadcast FM transmission. Among other things it contains information about the station, its content, frequencies and potentially other useful information, such as traffic alerts. If you recall I've been working on 50 things to do with a Software Defined Radio and decoding RDS is one of those things. The decoding effort aside, I imagined a screen where you could see the RDS information, in real-time, as it was being transmitted by all the local FM broadcast stations. You'd see what music each station was playing, what their local clock thought the time was, how much they transmit other data and what they might do for emergencies, like say a Tropical Cyclone heading this way. It occurred to me that this would be an example of a fundamental difference between a traditional radio and a Software Defined Radio or SDR. Specifically, we're taught that you tune a radio to a frequency, it demodulates or decodes what's there and plays the sound, or digital information, or whatever is being transmitted, on that frequency. If you want to hear something else, you need to change frequency and the radio decodes that new frequency. If you have multiple channels to choose from, there are ways to automatically switch frequency, one after the other. One of my friends recently discovered an old scanner in a box and according to the specifications, it can scan 20 stations per second. If all 1,000 stations are programmed, it takes 50 seconds to scan them all. A lot can happen in that time. The traditional solution is having more radios. Ideally you'd have one for every frequency you care about. Cost aside, logistically this is not fun. Imagine having to power a thousand radios, or find the one where the volume isn't right, or even find space for them, or antennas. In the SDR world that's not quite how it works. Instead of tuning to one frequency, you essentially tune to a range of frequencies and then, using software, decode one or more of those frequencies, at the same time. Listening to multiple broadcast FM stations like that might not make a whole lot of sense, but what about decoding RDS, or listening to aviation frequencies, or local amateur radio repeaters, or multiple digital modes? While that might sound far fetched, a $50 RTL-SDR dongle can manage 2.5 MHz of bandwidth over USB, by comparison, my $1,000 Yaesu FT-857d can receive all of 200 kHz in Wideband FM mode, and only whilst tuned to the broadcast band frequencies. In normal AM or FM mode it's 10 kHz, so you'd need 250 of them to listen to the same frequency range. Again, just so we're clear, in analogue radio you need to change frequency to decode a different signal. In SDR you can simultaneously decode as many signals as resources permit. For example, I can make a simple GNU Radio flowgraph, a little program, that accepts a command line setting, in GNU Radio it's called a parameter block, and run it with a frequency I'm interested in. Then I can run another copy of the same program with a different frequency. Rinse and repeat and I have as many receivers as I need. While we're at it, you don't need to run the same program multiple times, you can run an FM decoder, a RTTY decoder, an AM decoder, all at the same time, as long as the frequencies you're looking at fit inside the bandwidth of the receiver you're playing with. Just so we're clear, this is one receiver, one antenna, one power supply, with as many decoders as resources allow. In other words, these two methods, analogue and SDR, are not the same. Am I glossing over things? Sure. With such a wide bandwidth comes susceptibility to interference and signal overload, also the RTL-SDR dongle doesn't transmit, although, in 2014 Ismo OH2FTG managed to change the centre frequency of his dongle 300 times per second, causing the on board oscillator to leak in a controlled manner, making a Frequency Shift Keyed or FSK transmission. Yes, I know, that's not quite up to the standard of a transmission coming from an 857d. You'll also need a computer, which you don't need to run an analogue radio, though truth be told, an analogue radio from the last couple of decades is pretty much a computer anyway. You can likely get away with a Raspberry Pi to process the data coming from an RTL-SDR dongle, so another $5, and yes, you'll need a monitor, keyboard, and a power supply. The point I'm making is that these two methods are not the same and in the evolving world of amateur radio, there's space for both. It also means that once you have this infrastructure, you can start experimenting with new radio technologies and approaches. Will it make my 857d and its siblings obsolete? Perhaps, but I doubt it. There's still plenty of valve radios going around, not to mention the spark gap transmitter at Grimeton in Sweden. In other words, this is growing the ...
    Más Menos
    7 m
  • Bald Yak 17: Adventures in Radio Data Systems
    Mar 21 2026
    Foundations of Amateur Radio

    While spending some quality time discovering what I don't know about GNU Radio, I explored the notion of attempting to at least understand a little more about how an FM signal works. Depending on your background, the letters FM mean different things. In amateur radio it's a way to encode information, generally audio, using something called frequency modulation. Outside the hobby, the letters point at commercial broadcast radio.

    While the two are related, they're not the same thing.

    In amateur radio use, FM is a single channel of mono-audio, however, in commercial broadcast radio, there's a whole lot more going on, interesting because it gives you ready-made access to a composite signal that's just complicated enough to be challenging without being so complex that you need to spend hours on understanding the thing.

    In essence, a commercial FM broadcast signal is multiple channels encoded in a specific and documented way. This is helpful, since you can compare the documentation against ready made examples and replicate the process for yourself.

    In case you're new here, I'm in the process of building a radio system, in software, using GNU Radio in a project called Bald Yak. Specifically, the Bald Yak project aims to create a modular, bidirectional and distributed signal processing and control system that leverages GNU Radio. It's called Bald Yak because by the time I'm done, the Yak is likely well and truly shaved.

    One of the easy things to forget when you're using GNU Radio Companion, is that the blocks you're connecting together on the screen into a flowgraph actually represent software, generated when you either build or run the flowgraph. This code is currently generated in either Python or C++, making me wonder, what does the code look like, and more specifically, what code would be needed to decode FM?

    It turns out that an old friend, the PySDR.org website has a whole chapter dedicated to this process. Chapter 18, the End-to-End Example, details how you can decode one of the channels embedded within a commercial FM broadcast, the RDS or Radio Data System signal.

    If you're not familiar, the PySDR.org website represents a whole book about software defined radio and python. It goes into as much or as little detail as you want, to explain how this whole software malarkey works, and takes you by the hand down the path of discovery.

    So, armed with a working example, I followed along the bouncing ball and made a working RDS decoder and I think, understood most of it. There's a few interesting wrinkles that I've contacted the author, Dr. Marc Lichtman, about and we'll see what comes of that.

    Here's the kicker.

    The author, who is also a senior member of the GNU Radio team, started with a GNU Radio flowgraph and reverse engineered what was happening to get to the point of the code that's available in PySDR.org Chapter 18. This is significant because it creates a relationship between the code I have in front of me and the code generated by GNU Radio, which means that when I start with a new flowgraph, not only do I know the steps required, I also know that the outcome is predetermined, as-in, I already know that there's a solution. Having professionally written software for over 40 years, I can tell you that this is not often the case.

    I realise that I can search the Internet for an RDS decoder flowgraph, but that's unlikely to get me to a better understanding of what GNU Radio is doing.

    Once I've clarified with the author, I'll add the code to my GitHub project, "Fifty Things you can do with a Software Defined Radio", specifically, "Receive road traffic information", since among other things, that's carried by RDS.

    As an aside, Rohde and Schwarz have a lovely YouTube video on the topic, "Understanding the Radio Data System", which is giving me a whole set of ideas about things we might attempt with amateur radio repeaters, but that's a story for another time.

    Meanwhile, have you considered what other signals exist on the RF spectrum that you might want to decode and how you'd go about this?

    I'm Onno VK6FLAB

    Más Menos
    5 m
  • Bald Yak 16: How do you decode FM?
    Mar 14 2026
    Foundations of Amateur Radio How do you make a hole? That's a pretty straightforward kind of question, and by the time this sentence is finished, there's going to be at least as many answers as people who considered it. I didn't supply any parameters to this hole, so answers could include shovels, collapsing space, fire, a drill, or any number of other interesting approaches. If I narrowed it down to, say, a hole in wood, there'd still be plenty of options. Specifying the type of wood, the diameter and other parameters would further narrow down the selection of methods. What if I asked you: "How do you decode FM?" You might wonder if there's more than one way and I can assure you, just like with making a hole, there's plenty of ways to go about achieving this, even if I limit this to software implementations only. I must confess, when I recently set out to test my Soapy SDR library notions using a GNU Radio flowgraph to listen to FM radio, I searched the documentation, found a beginners tutorial and used the information there to make my first proof of concept FM receiver. I put it on GitHub and went about my business. After finally managing to hear the decode effort and being less than impressed, I started trying to understand the tutorial flowgraph. When I started looking at what would be needed to decode stereo FM broadcast radio, I discovered that there were several tutorials, examples and videos with slightly, or significantly different solutions to the problem. That's on top of the over a dozen standard FM related blocks supplied within GNU Radio. I then set about trying to discover the canonical implementation of an FM receiver and came up short. Instead I discovered even more implementations of FM receivers, each subtly different. You should know that there's a difference between how your local hit radio station does FM and how an amateur radio repeater does FM, let alone the local CB radio channels, satellite telemetry, wireless microphones or even hearing aids, so within the implementation of an FM receiver, there's additional complexity, which explains to some extent the variety of FM related blocks within GNU Radio. I think ultimately it's safe to say that there's an unlimited supply of implementations of an FM receiver within GNU Radio. It led me to ask, what is the .. for want of a better word .. "right" way and what does that actually mean? In GNU Radio, you string together blocks that process a signal. If you're familiar with flowcharts, the process is very similar. Unlike flowcharts on a piece of paper, in GNU Radio, or should I say, GNU Radio Companion, the tool you use to actually design flowgraphs, the little blocks represent underlying software and their connections represent how data flows between these bits of software. In other words, each block represents a series of programming instructions that process data and pass it on. It means that the more blocks you have in your flowgraph, the more instructions are running to process data. The more instructions, the more computing resources required. This is significant because in a complex system like this, we're likely to be doing more than one thing at a time, so preserving resources is important, if only to ensure that there's time available to process the next sample. As a result, there's a difference between implementing an FM receiver with two blocks, or with ten blocks. You might conclude that two blocks is more efficient, but that might not be true. For example, two blocks processing 2,000 samples per second each, are processing 4,000 samples per second in total. A block that converts the 2,000 samples into 200 samples, followed by nine blocks processing 200 samples per second each, is processing 3,800 samples in total. All things being equal, the ten blocks together are handling less data per second, so overall it's potentially using less resources. I say potentially, because it might be that one of those blocks is using a massive calculation, consuming more resources than all the other blocks put together, ultimately, each block is software, so whatever it's doing is using resources. So. How would you go about choosing between two implementations or algorithms, which was the "better" one and how is "better" defined? My first pass at this, is to use standard testing files and using the algorithms under consideration to process them. Run the tests multiple times, keep a record of how long they take and then attempt to measure how much the original input signal differs from the processed output signal. At the moment I have no idea how you might compare signals, other than to invert one and combine them to see if they cancel each other out, which means they're the same, or not, which means that they're different. For my sins, in trying to think of a way to do this I realised that the way I implement this radio contraption needs to be able to deal with test files and potentially multiple different implementations of...
    Más Menos
    7 m
  • One step forward ... three steps back.
    Mar 7 2026
    Foundations of Amateur Radio Still excited from my minor victory in discovering a missing puzzle piece associated with the project I'm working on, I spent the past week introducing my head, if not literally, at least figuratively, to the surface of my desk in a traditional head-desk troubleshooting move that you might be familiar with. I suppose it's an improvement on the "Bear with a Toothache" approach. In short, the Yak is losing hair .. rapidly. You might be wondering why I'm telling you about it, since in the land of milk and honey nothing ever goes wrong and all the answers are presented on a silver platter, except when they're not. Within the amateur radio community, it appears to me that the inclination to fiddle is ingrained and widespread. Given that the hobby is all about experimentation and learning, that's not a bad thing, but there are times when this behaviour can be counterproductive. Specifically when you're troubleshooting. Faced with a problem, there are times when a systematic approach is warranted. For some, the first time they come across this phenomenon is during the practical test component of their amateur radio license. Presented with a station, they're asked to determine why it's not working. The problem might be a power supply that isn't plugged in, or a disconnected antenna, the mode button set to FM, the squelch closed, the RF gain set to zero, generally something simple. Those inexperienced in the art of troubleshooting are more likely than not inclined to try everything, sometimes all at once, in the hope that one of the changes will magically fix the issue, but in reality, often making the problem worse. There is a better way. I'm mentioning this because this skill applies to many aspects of life and in the decades that I've been here, it's not something I was ever taught. It's funny to think that a quote from nearly a century ago applies to this skill: "When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth." The salient point being "eliminating all which is impossible". In other words, you're not finding the problem, you're eliminating all the things that are not the problem. Another way is to think of it as finding all the things that don't need fixing. While that might sound weird, in deeply interdependent systems like an amateur radio station, or a computer, that approach can help you find the root cause of an issue and with it the path to a potential fix. Of course, this process invites you to examine where the issue might exist. Experience will teach you that you need to start small and grow the net, rather than cast wide and narrow it down. That's not to say that you need to stop paying attention to the bigger picture. In the example of an inoperative station, you might discover that the lights in the room are out and that this coincides with the radio being off. In other words, trying to discover if the antenna is disconnected makes little sense, since there is no power to the radio. In my case, I'm balancing my efforts between maintaining an existing system whilst attempting to deploy a new one to replace it. I'm working on several related issues on multiple fronts. Their common theme is audio, though the specifics differ depending on which computer I'm looking at. Then there's the installation and ongoing care and maintenance associated with keeping GNU Radio running. It's a balancing act because while this is happening, I still need to look for work, respond to email, deal with the regulatory requirements for accounting and tax returns, not to mention the myriad projects I have going on at any given time. At this point I could go into deep and disturbing detail about the technology issues I'm juggling and I could even justify it by pointing out that a problem shared is a problem halved, but truth be told, I'm not sure you're up for a treatise on the comings and goings of forced system security updates and arising bugs, and just so we're clear, this is not the company who brought us a talking paperclip, it's the one who gave rise to companies called "Orange" and "Lemon". On the GNU Radio front, there's a snake based installer that happily installs two incompatible libraries for the same application, causing it to fail, and a beer related one that fails to install dependencies. At least I can use 'apt-get' on a real system. That said, juggling problems and all, I did manage to actually hear an FM station being decoded across the network. It did help that I actually connected the antenna to the radio, and I'm ignoring the audio buffer under-runs, or over-runs, depending on the weather, or some other unknowable variable, but I suspect that's all part of the learning I'm in the middle of. Hopefully, the hair will grow back soon. I'm Onno VK6FLAB
    Más Menos
    6 m
  • Bald Yak 15, Playing with Radio .. now with software
    Feb 28 2026
    Foundations of Amateur Radio A little while ago I discussed a lovely article by programmer, artist, and game designer "blinry" called "Fifty Things you can do with a Software Defined Radio". This week it occurred to me that I could use their article as a framework to further explore my Bald Yak project. If you're unfamiliar, the Bald Yak project aims to create a modular, bidirectional and distributed signal processing and control system that leverages GNU Radio. For that to happen, I need a solid understanding of GNU Radio and its ecosystem. While I've been playing with it off and on for a decade or so, I have yet to build anything substantial for the simple reason that there was a puzzle piece missing. Last week I discovered it .. by accident. One of the fundamental things I'm attempting to achieve is the creation of a system that doesn't care which radio device you're using. In case you're wondering, I'm doing this because there is a proliferation of device specific software that cannot keep up with the influx of new hardware, doesn't consider the growing use of network connected radios, forced by increased RF noise levels in many communities across the world, not to mention, connecting increasingly expensive computing hardware to lightning rods. If everything goes to plan, it should be possible to use the project with any radio device. This is easier said than done. In GNU Radio this complex issue is addressed by having different blocks that represent different devices. You'll find receiver specific source blocks and equivalent sink blocks representing transmitters. While that's all fine and usable, it means that if I were to publish, say an FM receiver flowgraph, essentially a collection of blocks representing software that implements an FM receiver, I have to decide how I want to deal with the specific device. Do I select an RTL-SDR dongle as the device in my flowgraph and let you figure out how to make it work on the HackRF or the PlutoSDR sitting in your shack, or do I make it completely hardware agnostic, requiring you to wire it all together for your specific situation? Neither is desirable, or simple. Added to this is the problem that trying to make this work using a traditional analogue radio would cause more issues, since there isn't a Yaesu FT-857d block, nor is there one for an Icom IC-7400, let alone something from last century. Someone with some GNU Radio experience might point out that there are source and sink blocks for an audio device, which would allow you to plug one of those radios into a sound card and access the receiver, or transmitter, that way. While that would work, it requires that the radio is physically connected to a computer that's running GNU Radio. It would also give you all manner of headaches attempting to change frequency in the same way as you could using an RTL-SDR dongle. There are several ways to get remote radio control working across a network. For example, using 'rigctld' and 'Hamlib', we can change frequency on over 300 analogue radios, but even if you do, you'll discover that getting the audio across the network creates a whole range of new issues, not to mention that GNU Radio doesn't talk to Hamlib compatible radios. This is why many remote radio solutions are implemented as remote desktop sessions to a computer that is physically connected to the radio. While attempting to solve a completely unrelated challenge last week, I came across 'SoapySDR', described as a vendor and platform neutral SDR support library. Essentially it's a project that allows an application to interact with different devices without needing to support individual radios. This allows an application developer to write their software to support SoapySDR and from then on benefit from its ability to talk to lots of radios in a variety of different ways. For example, one of the in-built features is called 'SoapyRemote' which allows you to connect to a SoapySDR radio and interact with it across a network. Specifically, you can send and receive, as well as control the radio, essentially bundling together both the audio and control signals. SoapySDR also includes a tool called 'soapy-audio'. While documentation is sparse, it appears to support Hamlib, which means that you can, at least theoretically, connect a low powered computer, like for example a $5 Raspberry Pi Zero, to your analogue radio and access and control it across the network. Best part? It's supported by GNU Radio and many other applications. I've started creating a repository with the "Fifty Things you can do with a Software Defined Radio", one directory per thing, that will contain the bits needed to run inside GNU Radio and across the network to any SoapySDR compatible hardware. Now, before you get as excited as I am, there's a few hurdles. I'm not yet sure of the status of soapy-audio, but it looks promising. I have the bits sitting on my computer and I'm working through them. For example, I'm not sure ...
    Más Menos
    7 m