It beeps!

It beeps!

Author: Onno (VK6FLAB) March 5, 2022 Duration: 4:39
Foundations of Amateur Radio

After weeks of attempting to get some noise, any noise out of my PlutoSDR I have finally cracked it. Not sure if cracked it refers to my sanity or the outcome, but beeping was heard from the Pluto on my radio, so I'm doing victory laps around the house, all conquering hero type affair, complete with whooping and hand waving.

In the end it all came down to serendipity and truth be told, I know it beeps, I've heard it beep, it does so on a predictable frequency, but why it exactly works is still a mystery that has yet to be discovered since the documentation I have isn't sharing and the example code I have contradicts what I'm seeing.

For context, a PlutoSDR, or Pluto, is a very capable software defined radio, perfect for experimentation. I've talked about it before in the context of using it as a receiver.

My most recent efforts involved coaxing my Pluto out of a corner after it sat there sulking for weeks. Turns out that not only was my USB power lead broken, which caused the blinken lights to stay off. When I finally figured that out, I discovered that one of the two wireless dongles I'd purchased together was Dead On Arrival. After a frustrating morning with the manufacturer who wouldn't take my word for it that swapping out the two identical units would not require installing the driver, something about Windows Device Manager on my Linux computer, I went back to the store who happily swapped out the faulty device on the spot. Mind you, the Pluto still isn't talking to my wireless network, but at least it's not the dongle anymore.

I plugged the Pluto into the back of my main workstation and discovered to my surprise that in addition to showing up as a thumb-drive, which I knew about, it also turned up as a network device, which I didn't know about.

It's been a while since I powered this up to play, so I updated the firmware which fixed some annoying issues and started to explore.

The aim of my quest was to create a proof of concept beep from the command-line on the Pluto.

If you're not familiar with this. The Pluto is running a flavour of Linux. You can connect to its command-line and run commands from inside the hardware.

This is important because for most radios, of both the analogue and software kind, you generate the information somewhere, like Morse Code, a WSPR signal, your voice, what-ever and then you send that to the radio. On an analogue radio it's likely to go across an audio cable of some sort and if you have a software defined radio, it's likely to travel from your computer across a USB or network cable to the radio to get processed.

This is different in that there is no such signal coming across the USB link. The link is used as a network cable to ssh into the radio where you can generate whatever you want. In my case Morse. If you're not familiar with ssh, think of it as a keyboard connection to a remote computer.

My script, hacked together as it is, more on that shortly, takes a string, like say "CQ DE VK6FLAB" and processes that character by character. It converts each into the equivalent Morse code dits and dahs and then uses those to turn on a test tone for an appropriate amount of time.

So, to send "CQ", the script changes that into -.-. --.- and then turns on the transmitter for three units, off for one, on for one, off for one, on for three, off for one, etc.

This is Morse code at its very simplest, the software equivalent of holding down a Morse key for the correct amount of time and then releasing it.

I disparagingly called it hacked together, because it's using the in-built busybox command shell that comes with the Pluto. If you're familiar, the actual shell is called ash, or Almquist shell. It's strictly limited in functionality, no arrays, minimal redirection, all very basic. Perfect for what I want to do, but not so much if you want to write software.

After working around the lack of arrays, one of the things that caused me the most problems was to discover just how to setup the Pluto to actually do this. I found a couple of examples online that pretended to work, claimed to be doing what they said they were, but nothing was heard on my local analogue radio. At one point I heard clicks, but no beeping.

After spending literally hours testing, scanning up and down the radio dial with my Yaesu FT-857d, I stumbled on a tone that stopped when my test script stopped. I started the script again and the tone came back. When it ended, the tone stopped again. I finally had a relationship between a tone on the PlutoSDR and the frequency on my radio.

So, with all manner of funky offsets in my code, subject to me understanding the how and what of them, I can now beep to my hearts content. Of course I've shared my efforts on github, cunningly called Pluto Beacon.

Have a look and tell me what I did wrong.

I'm Onno VK6FLAB


For anyone curious about the crackle of a distant voice emerging from the static or the thrill of making a contact across the globe using nothing but radio waves, Foundations of Amateur Radio offers a friendly, steady guide. Hosted by Onno (VK6FLAB) from Australia, this long-running podcast acts as a companion for newcomers navigating the initial, often overwhelming, steps into this vast hobby. Each episode deliberately unpacks a single facet of amateur radio, breaking down technical concepts, equipment, and operating practices into digestible pieces. You'll hear practical advice on how to get started, find your place within the global community, and discover which of the hobby's countless avenues-from building antennas to satellite communication or emergency service-might spark your passion. It’s not about dry theory; it’s about demystifying the process and sharing the genuine rewards that keep enthusiasts engaged for a lifetime. Having evolved from its earlier incarnation in 2011, this podcast builds from the ground up, week by week, creating a solid resource that grows with you. Tune in for a down-to-earth conversation that makes the airwaves feel a little more accessible and a lot more inviting.
Author: Language: English Episodes: 579

Foundations of Amateur Radio
Podcast Episodes
What's in an S-unit? [not-audio_url] [/not-audio_url]

Duration: 10:43
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 harmoni…
Where is the spark .. gap? [not-audio_url] [/not-audio_url]

Duration: 8:35
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…
Bald Yak 18: Everything Everywhere All at Once? [not-audio_url] [/not-audio_url]

Duration: 7:02
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 inform…
Bald Yak 17: Adventures in Radio Data Systems [not-audio_url] [/not-audio_url]

Duration: 5:01
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. Dependin…
Bald Yak 16: How do you decode FM? [not-audio_url] [/not-audio_url]

Duration: 6:51
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.…
One step forward ... three steps back. [not-audio_url] [/not-audio_url]

Duration: 5:38
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 fig…
Bald Yak 15, Playing with Radio .. now with software [not-audio_url] [/not-audio_url]

Duration: 6:48
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 t…
How to go about documenting your setup? [not-audio_url] [/not-audio_url]

Duration: 5:22
Foundations of Amateur Radio How to go about documenting your setup? Possibly the single most important thing that separates science from "fiddling around" is documentation. Figuring out how to document things is often n…
Transmitting into a dummy load .. for a year .. on purpose. [not-audio_url] [/not-audio_url]

Duration: 8:34
Foundations of Amateur Radio Just under a year ago I started an experiment. I set-up a beacon for WSPR, or Weak Signal Propagation Reporter, transmitting at 200 mW into a dummy load using eight bands between 80m and 10m.…
How to become a radio amateur today? [not-audio_url] [/not-audio_url]

Duration: 6:02
Foundations of Amateur Radio The other day a fellow amateur revealed that they qualified for membership of the QWCA, the Quarter Century Wireless Association .. twice over .. there may have been some innocent whistling i…