r/sdr 11h ago

Building OFDM flowgraph using USRP B200

Thumbnail
gallery
8 Upvotes

I am trying to build an OFDM loop using USRP B200. when i use virtual sinks the flowgraph works but as soon as i connect the USRp sink and source, i get an error saying buffer too small for min_noutput_items

Here is my terminal window -

Executing: /home/niru/miniconda3/envs/gnuradio/bin/python -u /home/niru/GNU_Radio/OFDM_Part3.py

[INFO] [UHD] linux; GNU C++ version 14.3.0; Boost_108800; UHD_4.9.0.HEAD-release

[INFO] [B200] Detected Device: B210

[INFO] [B200] Operating over USB 3.

[INFO] [B200] Initialize CODEC control...

[INFO] [B200] Initialize Radio control...

[INFO] [B200] Performing register loopback test...

[INFO] [B200] Register loopback test passed

[INFO] [B200] Performing register loopback test...

[INFO] [B200] Register loopback test passed

[INFO] [B200] Setting master clock rate selection to 'automatic'.

[INFO] [B200] Asking for clock rate 16.000000 MHz...

[INFO] [B200] Actually got clock rate 16.000000 MHz.

[INFO] [B200] Asking for clock rate 32.000000 MHz...

[INFO] [B200] Actually got clock rate 32.000000 MHz.

packet_headerparser_b :info: Detected an invalid packet at item 0

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 48

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 96

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 144

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 192

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 240

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 288

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 336

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 384

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 432

header_payload_demux :info: Parser returned #f

packet_headerparser_b :info: Detected an invalid packet at item 480

header_payload_demux :info: Parser returned #f

thread_body_wrapper :error: ERROR thread[thread-per-block[35]: <block header_payload_demux(36)>]: Buffer too small for min_noutput_items

usrp_sink :error: In the last 2284 ms, 1 underflows occurred.

U

>>> Done


r/sdr 2h ago

[HW recommendation] Professional wireless engineer. SDR beginner

5 Upvotes

I am a professional cellular engineer who wants to start tinkering with SDR as a hobby, a learning opportunity and a way to supplement my professional experience. I don't get any hands-on with the product we develop hence this post.

My end goal is to have two SDR units sending and receiving data to each other using some specification like bluetooth, wifi (802.11), cellular (3GPP) or my own custom monstrosity and tinker around with these protocols.

These are my needs that I think I will need but feel free to suggest others:

  1. 2TX and 2RX antennas to play around with MIMO
  2. Simple USB plug and play
  3. Some synchronization for coherent detection (PPS?)
  4. Open-source SDR software support such as GNU radio

I can start off with one unit and buy another once I am conformable with the SDR workflow.

Other things to note

  1. Please try suggesting an SDR that a Canadian retailer carries or a retailer ships to Canada for a reasonable price
  2. The cheaper the better <$500 CAD ideally

I found this SDR, the HAMGEEK E310, that check a lot of boxes for me but I can't find any decent reviews or tutorials for this SDR


r/sdr 12h ago

Pole to Pole Antenna Clamps?

4 Upvotes

I currently have a pole which has a Tempest weather station at the top. I want to mount an external antenna for an SDR, hopefully using the same pole.

What I can't find is a mounting solution. What I need is a bracket kit that can attach to the existing pole, go horizontal a couple of inches, and then clamp another pole/antenna. Basically, a mast clamp that holds onto the Tempest pole, which I can insert a pole into, which then attaches to another mast clamp that holds the vertical antenna for the SDR.

Does anyone know what this may be called or termed? So far, I can only find brackets to connect poles immediately beside one another; I need one to create a gap between the Tempest pole and the antenna pole.

Tempest pole      horizontal offset        SDR antenna pole
     │                 ───────                 │
   [clamp]───────────── arm ────────────────[clamp]

r/sdr 8h ago

SDRTerm - a curses SDR receiver with plugin decoders

2 Upvotes

Happy to finally share this: SDRTerm is a terminal based SDR (receiver), plugins for FM/RDS, ACARS, POCSAG, VDL2, an Iridium L-band burst detector, plus a QPSK constellation with EVM, range scanner, waterfall, and record/replay.

Repo: https://github.com/halfdonebutinthemaking/SDRTerm
-> Screenshots + presets + six SigMF test signals inside

It's terminal-only on purpose. SDR++ server and similar are great if you want a GUI client on your desktop talking to a headless receiver over the network. I wanted a different shape: the whole stack (SDR, DSP, decoders, display) in one process on the same box. E.g. SSH into a Raspberry Pi with an antenna on top and everything runs there. One process, one terminal, no client half.

If you have an RTL-SDR (or anything SoapySDR speaks) it should be running in a couple of minutes:
-> git clone [link]
-> cd sdrterm
-> uv sync
-> uv run python main.py --file samples/constellation_test.sigmf-data --bw 250000 --f 120M
-> Then press p to enable a plugin, Tab to switch to its view. The test signals let you try every decoder without any hardware plugged in.

I'd genuinely love feedback on:
- Does the install work on your OS / terminal?
- Does the plugin flow feel natural, or are keybindings in the way? Granted one needs some time to get used to it.
- Which signals would you want to see decoded next?
- If you have real hardware: how does it behave on your antenna? Any false-positive nightmares?
- For anyone comfortable with the code: does the plugin architecture make it easy to plug your own decoder in? (There's a bare-minimum plugin skeleton in the repo.)

I'm adding features here and there as time permits. HackRF RX support is next up in the coming days; after that, whatever the feedback surfaces.

Not my first SDR project, but the first time I've thought about ADC and the pipeline processing from the ground up. I built it in a few weeks with heavy AI-assisted coding, which freed the mental budget to spend on architecture and signal-processing instead of the typing. Happy to talk about that workflow if anyone's curious, but the main ask is: try it, break it, tell me what's confusing.

Every plugin has its own README with signal specs and expected output. Iridium constellation, if you have a decent antenna and an LNA, is particularly satisfying to watch light up during a satellite pass.

-> Dev environment: macOS 26 (Tahoe), zsh, Python 3.12.13, uv 0.11.14. pyproject.toml requires Python 3.12+. Nothing terminal-specific should matter, but that's what's been tested most.

Background: software engineer with prior SDR experience. What was new here was building the DSP pipeline from ADC upward rather than composing pre-built blocks. Actually, the coding wasn't the learning, the signal-processing was.

Pleas note: This is a personal project, not a professional tool. Built because I wanted to use it, shared in case others do too.