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
Amateur Radio has literally changed my world view [not-audio_url] [/not-audio_url]

Duration: 4:14
Foundations of Amateur Radio The other day I went for a walk, I know, shock-horror, outside, daylight, nature, the whole thing, in a local national park, for the first time in too many years. Almost immediately I noticed…
How small is small? [not-audio_url] [/not-audio_url]

Duration: 8:08
Foundations of Amateur Radio I've owned a Yaesu FT-857d radio since becoming an amateur and at the time I was absolutely blown away by how much radio fits inside the box. It's smaller than most of the commercial radios I…
Bald Yak 12, getting raw data from a remote receiver [not-audio_url] [/not-audio_url]

Duration: 5:13
Foundations of Amateur Radio Over the past nine months or so I've been working on a project that I've called Bald Yak. If you're unfamiliar, the Bald Yak project aims to create a modular, bidirectional and distributed si…
Using an SDR as measuring equipment [not-audio_url] [/not-audio_url]

Duration: 5:14
Foundations of Amateur Radio The other day I stumbled on a random post by Gary N8DMT which caused me to view the world in a different way. The post outlined combining a PlutoSDR and an application called SATSAGEN to meas…
Listening to local RF via a web browser [not-audio_url] [/not-audio_url]

Duration: 4:42
Foundations of Amateur Radio Recently I discussed the idea of listening to the radio spectrum across the internet for the purposes of getting signal into your shack when radios, or in my case, antennas are causing you ch…
Decoding distant signals over the web? [not-audio_url] [/not-audio_url]

Duration: 5:49
Foundations of Amateur Radio One of the many challenges associated with being a radio amateur is actually being able to listen to weak signals. If you're like me and more than half the planet, you live in an urban area,…
What can we activate today? [not-audio_url] [/not-audio_url]

Duration: 4:28
Foundations of Amateur Radio Every single radio amateur has come to this hobby with an itch to scratch. Time and again I've seen amateurs around me pursue that particular purpose, only to come out the other end with a lo…
Using Amateur Bands for other purposes [not-audio_url] [/not-audio_url]

Duration: 10:59
Foundations of Amateur Radio Recently I came across a series of strident posts about the injustice associated with a non-amateur service using the 70cm band. Complete with links to discussions, spectrum plots, angst and…
There's promotion .. and then there's Amateur Radio [not-audio_url] [/not-audio_url]

Duration: 5:33
Foundations of Amateur Radio In the community of radio amateurs scattered around the planet we have a habit of getting together with others to have fun in whatever shape that takes. The obvious ones are HAMfests, car boo…
Decoding a signal ... [not-audio_url] [/not-audio_url]

Duration: 8:22
Foundations of Amateur Radio Recently I was given some radio data captured on the 40m band. Using a piece of software called "Universal Radio Hacker", I attempted to decode it. At the time I thought that this might be Mo…