github musithang/sdrtop v0.7.0
v0.7.0 - Bikeshedding & Beep Sounds

3 hours ago

The minor number moves this time, because the menu isn't the old menu any more. And behind the new menu there's something no sensible bench instrument has ever needed: a pager 📟.

The pager: This one was supposed to be a bit of weekend fun. Just a quick look at whether I could build a pager inside sdrtop: the plastic box with a tiny dot-matrix screen that doctors and plumbers carried before phones. It's under Radio › Pagers › POCSAG, and it's the first real thing behind the Radio tile.

Screenshot-2026-10-24-152658 IMG_20261024_152846150

The decoder is sdrtop's own, built straight from the ITU standard, no outside library, because apparently that's how I relax. And since this is sdrtop, the pager comes with a card beside it that a real pager would never have bothered with: how the message actually got there. How fast it was sent and how far the sender's clock was off, the frequency shift, the signal level, how many bits had to be repaired, and whether it decided the message was digits or text.

That last part is where the weekend fun ended. The very first message I sent it was "sdrtop is awesome". It came out as 372U 9][68382-37058[]. Every single bit was correct. The sender had just put text where the standard says numbers "usually" go, and "usually" turns out to be standards language for "good luck". So now the content gets a say too, and the card tells you when it overruled the label.

Then I sent one message and the inbox showed five. Four of them were from addresses that, as far as I know, belong to nobody. When the transmitter stopped, sdrtop politely kept reading the noise after it as if it were more message, and some of that noise was convincing enough to get through. My pager was taking dictation from static. It now knows when a transmission is over, which is a skill some people never learn either.

The point I care about most: none of this was tested on a simulator alone. It ran on real hardware with real signals over the air.

First a HackRF and then a PortaPack Mayhem sent the pages, an Airspy R2 received them, and I went through every kind of page I could think of: numbers, text, an address with no message, all four functions, and the signal flipped upside down. Both bugs above only showed up with real radios in the room. A simulator would have told me everything was fine, and it would have been very convincing about it.

m hides the text (handy for screenshots, or if you are standing next to a hospital), u makes it your own pager, b switches the backlight to night, and l changes the screen colour: green, amber, blue, grey or red. That last one is, without any doubt, the most important feature in this release, and nobody can tell me otherwise.


The menu: The old one was two columns, sections on the left and views on the right, and the number keys had run out some time ago. I kept adding views anyway, the way you keep putting things on a shelf that has clearly stopped agreeing to it. So now it's tiles: Radio, Lab, Options, Keys and Quit, with Resume up front when there's a view to go back to. Behind Radio and Lab there's a tree that opens one column at a time, and a card that tells you what a view shows and where it listens compared to what your radio can actually reach.

Screenshot-2026-10-24-171505

If your radio can't do something, the view doesn't quietly vanish any more. It stays in the list in grey, with the reason right next to it. "This radio tunes 24 to 1800 MHz" is a much better answer than spending ten minutes wondering where Bluetooth went. Ask me how I know.

Screenshot-2026-10-24-171525

Bikeshedding: Let's call it what it is. After the Airspy R2 got its native support last time (and there will be a few more bug hunts on it, I'm not naive), a couple of Lab panels started behaving oddly. They had been perfectly happy on the HackRF for months, and then a second radio walked in and they lost their composure.

Gain staging is now a staircase along the chain, with the converter's window beside it, and ADC loading is a ladder of bits. The IQ constellation is finally square, so a circle looks like a circle and not like an egg that had a long week. The IQ and timing benches now judge what they see against the signal and the radio's real slack, not against full scale, which turned out to be a very polite way of always being fine. The timing bench, for example, had been calling two thirds of the R2's blocks late without a single one lost, while the R2 was just using the eight-block queue its driver gives it, exactly as designed.

Screenshot-2026-10-24-170415 Screenshot-2026-10-24-170425

Have a nice weekend for everyone!

Full Changelog: v0.6.9...v0.7.0

Don't miss a new sdrtop release

NewReleases is sending notifications on new releases.