Post Go back to editing

ADALM-Pluto only transmits once — TX buffer stops after first transmission (tested on Windows & Ubuntu)

Thread Summary

The user encountered an issue with the ADALM-Pluto (rev B) where it only transmits once, despite using basic Python code. The problem was resolved after running a different script that uses cycle mode, which should repeat the waveform indefinitely. The user confirmed the solution worked without needing to reinitialize the Pluto object.
AI Generated Content
Category: Software
Product Number: Adalm-Pluto

Hey everyone,
I’ve been running into a strange issue with my ADALM-Pluto (rev B). No matter what Python code I use — even the most basic examples — the device only transmits once, and then stops sending anything on the next iterations.

Basically, the first transmission works perfectly fine (I can see the waveform on my oscilloscope / SDR receiver), but after that, no more signals are sent unless I reinitialize the Pluto object. It feels like the TX buffer is getting stuck or not being cleared properly.

Here’s what I’m using:

Windows 10 with libiio 0.26, Python 3.13, running through VSCode

Ubuntu 24.04 with libiio 0.24, Python 3.13

I’ve tried both environments and get the exact same behavior.
Everything connects fine, no errors, but only one transmission occurs.

The key line that seems to trigger the issue is:

sdr.tx_enabled_channels = [0]


After enabling TX and sending once, it just won’t send again unless I restart the whole script or recreate the Pluto instance.

Has anyone else experienced this?
Could it be related to buffering / streaming mode, or maybe a mismatch between libiio versions and pyadi-iio?
I’d really appreciate hearing if someone found a workaround (like flushing the TX buffer, using continuous mode, or re-enabling the channel manually).

I’m attaching the GitHub link with the codes used.

github.com/.../Adalm-Pluto

Thread Notes