No video

Enable Dual Receive and Dual Transmit for the new revision of Pluto

  Рет қаралды 23,258

Jon Kraft

Jon Kraft

Күн бұрын

This video will walk you through how to enable the 2nd Rx and the 2nd Tx channel of the new revision of Pluto: Rev C. If you have Rev B, it won't work. You can only get the 2nd channels with Rev C or later. We'll go through 4 steps:
1. Update the firmware
2. Set the environmental variables
3. Add the u.FL to SMA connectors
4. Simple Python example
Here's the links used in the video:
wiki.analog.co...
wiki.analog.co...
wiki.analog.co...
wiki.analog.co...
www.digikey.co...
wiki.analog.co...
analogdevicesi...
github.com/ana...
Example in Python:
github.com/jon...
Chapters:
0:00 Introduction to the new Pluto "Rev C"
2:02 Check your Pluto Revision
3:14 Step 1: Update Pluto's Firmware
4:41 Step 2: Set Pluto to AD9361
7:18 Step 3: Add SMA's to Rx2 and Tx2
8:57 Step 4: Install Pluto drivers and Python libraries
10:14 Example Python program using both channels

Пікірлер: 63
@KristianDjukic
@KristianDjukic Ай бұрын
This is all what I need to start with PlutoSDR
@kurtttttttt
@kurtttttttt Жыл бұрын
I would recommend completely disassembling the Pluto before drilling the holes in the faceplate. You can actually remove the faceplate that the native SMA connectors protrude from. Then, you'll notice on the interior surface of the faceplate there is a raised lip around the perimeter that prevents you from making flush contact against the plate if you buy the u.FL to SMA cables linked on the beamforming video from Oct-31-22 and drill the holes where Jon does using the enclosure as a guide. These cables have a bulky hexagonal collar on the SMA end that will contact the outer lip of the faceplate causing an uneven mount. So, I would use the lip on the inner surface of the faceplate as a guide instead to drill the holes. To Jon's point though, our main focus is to not damage the PCB. Also, a trick to installing the u.FL is to use the flat end of a pen or eraser of a pencil to apply even perpendicular force to get them to snap in place.
@jonkraft
@jonkraft Жыл бұрын
Thanks Kurt! Great points! Yes, in retrospect, I should have just taken the whole thing apart and drilled it then. I was trying to save a few steps, but what you are suggesting is a better way to do it. And very great tip on the u.FL connectors! I just now tried a pencil eraser and that worked great. Thanks! By any chance do you have any tips for how to easily remove a u.FL?
@kurtttttttt
@kurtttttttt Жыл бұрын
@@jonkraft hmm.. without having tried it I would probably use a pair of curved tweezers by positioning the tips beneath the connector on either side and then using the curve of the tweezers against the PCB as a fulcrum to pry the connector upward. Like I said though, I haven’t tried it, but that’s what I would do! And since i have your attention I’ll just say I really enjoy your videos! I’m an RF test engineer working in beamforming applications so this content is great to learn from
@jonkraft
@jonkraft Жыл бұрын
@@kurtttttttt Thanks for the kind words Kurt!
@tadehmirzakhanian893
@tadehmirzakhanian893 2 жыл бұрын
very interesting project! I may give this a shot soon with one of my Plutos.
@brieri4680
@brieri4680 2 жыл бұрын
Very nice hack and documented tour, Jon!
@vladimirk4734
@vladimirk4734 2 жыл бұрын
Thanks Jon! Super useful!
@MrHeatification
@MrHeatification Жыл бұрын
thank you very much great content!!
@sandeepp9341
@sandeepp9341 28 күн бұрын
Hi Jon, thanks for the video. Suppose, we transmit the same sinusoid over 2 Tx and receive the same on 2 Rx, can we get phase coherence (apart from the slight mismatch due to the slightly different properties of the connecting cable)? Have you ever checked this?
@saberx77
@saberx77 6 ай бұрын
Jon...I really appreciate this series of videos...excellent content! Any idea why I would be getting a big spike at zero hz? Using your script I can see the 2MHz and 5MHz signals, but they are somewhat overpowered by a dc spike.
@jonkraft
@jonkraft 6 ай бұрын
Yes, that's largely from LO leakage, since the LO is at the same frequency as the RF signal. They both mix down to 0 Hz (DC) together. But the LO is much more power than RF, so you get a large spike from it at DC. Pluto has some automatic calibration that compensates for this, but you can also run software algorithms to remove, or just offset your signal from DC (like those signals at 2M or 5 MHz) so that you can demod them away from all the DC stuff. More info here: www.analog.com/en/resources/analog-dialogue/articles/transmit-lo-leakage-lol-an-issue-of-zero-if-that-isn-t-making-people-laugh-out-loud.html
@tvsettv
@tvsettv Жыл бұрын
Thumbs up!
@yuribochkarev4477
@yuribochkarev4477 2 ай бұрын
How to use it on 2t2r mode with GNU Radio? or another simple soft, without python coding
@caraghlake
@caraghlake 7 ай бұрын
Jon Kraft: your example shows how to control the 2TX and 2RX channels in python. are you aware of any gnu-radio companion blocks that have control of the 2 TX and 2RX channels?
@jonkraft
@jonkraft 7 ай бұрын
Yes, the FMCOMMS GRC blocks, for the AD936x products, can do this: wiki.analog.com/resources/tools-software/linux-software/gnuradio But when I use GNU Radio, I just use the Python modules/blocks. Then I keep all the python programming pretty much exactly like what's shown here (minus all the GUI stuff though!). kzfaq.infoi17fZ7J8e_c?si=Cn7R_jl0oLY4Oc3e&t=19411
@CojocaruFlorin
@CojocaruFlorin 10 ай бұрын
Thank you very much for this! Hopefully I will be able to try it myself in the next month or so. There is however a bit I am missing completely , apologies if I ask something stupid: Even with the change the frequency it should support is 70MHz to 6GHz. However in the video we see 2 MHz and 5 MHz. What am I missing exactly here?
@jonkraft
@jonkraft 10 ай бұрын
Right, the frequency range of the radio is 70MHz to 6GHz. So it can place data anywhere in that freq range. The actually data to be placed, called baseband data, can be up to 56MHz. For these demos, the "data" was just the sine waves at 2MHz, 5MHz, etc. But in a real system, the data would be something like QPSK/QAM/OFDM, etc, that would occupy that
@ishay2002
@ishay2002 4 ай бұрын
Hey, will it increase the performance by times 2? Lets say the maximum BW is 60 mhz will it be able to recieve 120 mhz simultaneously? Or will it be able to transmit 2 signals simultaneously? Thanks in advance
@jonkraft
@jonkraft 4 ай бұрын
The dual Rx/Tx mod will allow you to output (or receive) two signals simultaneously. But the max BW will be 1/2 of the single channel. So single channel Pluto can do about 61.44MHz BW, and dual channel pluto will do about 30.72MHz BW. Neither could ever do 120MHz BW. For that, you'd want the ADRV9009.
@salimerko
@salimerko 10 ай бұрын
Hi Jon, thanks for video. It all worked for me, but I am having trouble that I can not resolve. After call of sdr.tx([iq0,iq1]) I let it transmitt for 5 seconds then shutdown by sdr.tx_destroy_buffer(). Set tx gain very low to attenuate transmitter 0 by tx_gain0 = -60 and sdr.tx_hardwaregain_chan0 = int(tx_gain0). And then again transmit sdr.tx([iq0,iq1]). It will bring up 2 signals up and after 5 second shutdown signal on chan0 However, if you run the program several times it always shutdown channel randomly and not always on chan0. Do you know why it randomize channels? Thank you
@jonkraft
@jonkraft 10 ай бұрын
I've not seen that issue before. For help with Pluto, this is the best forum: ez.analog.com/adieducation/university-program/
@user-si5rw9iv2o
@user-si5rw9iv2o 6 ай бұрын
great video thank you very much!!! how do i get the default configuration (only 1RX and 1TX again) again?
@jonkraft
@jonkraft 6 ай бұрын
You can find all the commands here: wiki.analog.com/university/tools/pluto/devs/booting#all_environmental_settings_table Or just download the latest Pluto firmware, unzip, and copy everything in that folder to Pluto. Then do the eject procedure to update the firmware. It will reset everything to factory default, 1Rx 1 Tx.
@tiville421
@tiville421 Жыл бұрын
For the pyadi-iio install to be able to run python code to the pluto. this is for linux only? I was able to install the libraries for the libio for windows but, is there a way to install it for visual studio code(my preffered IDE) for windows? Or should I run it on ubuntu vm in linux only? Thanks ahead of time!
@jonkraft
@jonkraft Жыл бұрын
You can run on Windows or Linux. But it'll have to be in Python to use pyadi-iio. So something like Spyder (which is what I use) or Pycharm would work well. There are C/C++ drivers for Pluto: wiki.analog.com/university/tools/pluto/controlling_the_transceiver_and_transferring_data. But I've never tried programming Pluto in visual studio or C, etc.
@neerajkumar9583
@neerajkumar9583 2 жыл бұрын
Hi Jon, Any directions on how to incorporate this in GNURadio PlutoSDR Sink and Source blocks? Maybe by accommodating this code in the python file generated from grc? Maybe through FMComms or IIO Device blocks?
@jonkraft
@jonkraft 2 жыл бұрын
It will be exactly the same as using the AD9361 in GNUradio. So use the FMCOMMS blocks for it. The only difference is the max output data rate is limited to
@hightlightlol2106
@hightlightlol2106 Жыл бұрын
Where are you runing it on? on local machine (on the Pluto itself) or the host machine? Is possible that you can give the instruction for a complete newbie about using python to control Pluto like that? I would like to control it over wifi network via SSH or any possible way. Thanks
@jonkraft
@jonkraft Жыл бұрын
Yes, Python is running on the computer. Just plug Pluto in via USB, and then follow the install instructions in this video. More info here: wiki.analog.com/sdrseminars
@Hotrod768
@Hotrod768 Жыл бұрын
Hi Jon, do you know if it's possible to run pyadi code directly on the pluto's embedded computer itself? The motivation for this is to not have a limited bandwidth due to the USB interface and to minimize latency that exists with all the IIO overhead on a seperate computer.
@jonkraft
@jonkraft Жыл бұрын
It's an interesting idea! But from what I understand, the ARM built into Pluto's Zynq 7010 is very tiny. Check out this post: ez.analog.com/adieducation/university-program/f/discussions/98761/gnu-radio-on-the-plutosdr-proof-of-concept Alternatively, you could upgrade to the ADRV9361-SOM, which has a much more powerful FPGA and ethernet data streaming. And all of the programming discussed here would be 99% the same. www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adrv9361-z7035.html
@Hotrod768
@Hotrod768 Жыл бұрын
@@jonkraft Thanks for the quick reply! Do you think by unlocking the second core (I know it's not official sanctioned) and cross-compiling for C is sufficient for the Pluto to do real-time DSP for communications?
@TheSmbTechy
@TheSmbTechy Жыл бұрын
​@@Hotrod768depends on how complicated your processing load is
@Hotrod768
@Hotrod768 Жыл бұрын
@@TheSmbTechy Thanks for the reply. I have been working on this since this message was posted. I have been able to get some real-time OFDM communications using the signal processing on the pluto. It requires some tricks and assumptions, but you can get some significant bandwidth (15 MHz QPSK).
@mrtechie6810
@mrtechie6810 2 ай бұрын
How do you use the second rx/tx in SDR Console?
@jonkraft
@jonkraft 2 ай бұрын
Sorry, I'm not familiar with SDR Console. If there is a way to tell it you have an AD9361 connected, then that might work.
@vincei4252
@vincei4252 Жыл бұрын
Great video. If I bought a Pluto from Mouser today would I get a REV-C or higher? What about direct from Analog ? edit hmm. I logged into Analog and it looks like they don't sell them. That's weird.
@jonkraft
@jonkraft Жыл бұрын
I think nearly all of the stock is Rev C now. But someone last week got 2 Rev B's from Mouser... I've ordered from Digikey, and those have been Rev Cs. But I think it is a bit of a gamble. Just make sure you can return, if needed.
@vincei4252
@vincei4252 Жыл бұрын
@@jonkraft Hi Jon, I ordered a pair from Analog last night. I got an email from customer service about usage and I asked but they weren't able to answer. Thy put me thru to support who then sent me back to customer service I hung up and I'm taking a bet that if I bought them from ADI they'll be C's or later. Fingers crossed. Don't know what the ADI returns policy is. I saw the comment from the unlucky purchaser from mouser so I emptied my mouser cart last night. Thanks. I'll let you know.
@vincei4252
@vincei4252 Жыл бұрын
@@jonkraft Hi John. I just received both the units I ordered from ADI. I opened one of them and it is indeed a RV-C model. The interesting thing is after I placed the order it was shipped from DigiKey's address even though DigiKey was showing no stock. Anyway, I guess my gamble paid off. Cheers! Now to go play!
@jonkraft
@jonkraft Жыл бұрын
@@vincei4252 Great! Let me know how your projects go!
@user-fn8xn4lf4n
@user-fn8xn4lf4n 4 ай бұрын
Hello sir. While ordering Pluto SDR, How to we get to know about the Pluto version Rev b or Rev c?
@jonkraft
@jonkraft 4 ай бұрын
I think they are all rev C's now. There shouldn't be any more Rev B's in inventory.
@user-fn8xn4lf4n
@user-fn8xn4lf4n 4 ай бұрын
Ok sir thank you!@@jonkraft
@Art-ys1il
@Art-ys1il 6 ай бұрын
why adalm pluto revb can't receive frequncy more
@Art-ys1il
@Art-ys1il 6 ай бұрын
can we control mutiples devices ?
@samhanie
@samhanie Жыл бұрын
I updated to .37 firmware. After setting with - fw_setenv attr_name compatible, fw_setenv attr_val ad9361, fw_setenv compatible ad9361. It comes back - fw_printenv attr_val, attr_val=ad9363a after reboot. HELP Please.It is a Pluto Plus... P.S. does someone sell modified Pluto's with the extra 2 connectors?
@jonkraft
@jonkraft Жыл бұрын
Pluto Plus is not a real Pluto. They are just copying the "Pluto" name from Analog Devices. I don't know anything about it, and I don't know how well it is supported. You'll probably need to reach out to the person who is selling the "Pluto Plus".
@thead9
@thead9 5 ай бұрын
@@jonkraft I am having the same issue with the adalm pluto rev c. I set the mode to 2r2t and after a reboot, it is reset to 1r1t. I did have .37 firmware and updated to .38 and it is still doing the same thing. name, compatible, and val all take
@edulchan
@edulchan Ай бұрын
Do you an example for 1Tx and 1Rx in python?
@jonkraft
@jonkraft Ай бұрын
Yes, check out the pluto.py example here: github.com/analogdevicesinc/pyadi-iio/tree/master/examples
@Mr_ASIC
@Mr_ASIC Жыл бұрын
can you Synchronize TXs of Multiple Units to get 4 elements or more
@jonkraft
@jonkraft Жыл бұрын
You could do it with Pluto, using the external clock input/outputs. But you'd have to recalibrate it every time it powers up--that would be a pain. For a real world application, though quite a bit more expensive, I'd recommend the ADRV9009 SOM: www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adrv9009-zu11eg.html
@buffler1
@buffler1 Жыл бұрын
Jon: If I order a pluto directly from AD, will I DEFINITELY get a rev. C? I've asked distributors, and one replied Rev B, the other did not reply. THANKS!!!!! ps I already have two rev B's but the C id definitely the better device.
@jonkraft
@jonkraft Жыл бұрын
Unfortunately, there's no way to truly guarantee that you'll get a rev C. I suppose you could buy and then return if its a rev B. That's a pain though. However, Analog released rev C over a year ago--so most of the old rev B inventory should be flushed through the system.
@rjones8508
@rjones8508 Жыл бұрын
I just ordered one from Mouser and it was rev c. Better than DigiKey because they were tacking on a $22 tariff !
@buffler1
@buffler1 Жыл бұрын
@@rjones8508 OK, I gave it a shot, thanks!
@e2jw
@e2jw Жыл бұрын
@@rjones8508 You were very lucky. It's 13 April 2023 and I just ordered 2 of Pluto Units from Mouser and am now returning them because they were REV B. To say that least I am very disappointed. I would love to know how to get the REV C units.
@rjones8508
@rjones8508 Жыл бұрын
@@e2jw As it turns out, while the device seems to work perfectly according to its spec, its sample rate is a little too low for my application (I need a bit more bandwidth, ideally quite a bit more, and should have noticed that it was right on the edge). So I haven't been using it. If you cant find one elsewhere and we can figure out a way to do it, I'd be willing to sell at or near my Nov '22 cost (230.62 + 9.79 orig shipping + 15.73 tax) + whatever it costs to get it to you. I still have the box. I was keeping it thinking that maybe I could use it for some other less demanding application.
@nirelmatok4226
@nirelmatok4226 Күн бұрын
can you send the code ?
@jonkraft
@jonkraft 11 сағат бұрын
Yes, the link is at 10:48, but also here: github.com/jonkraft/PlutoSDR_Labs/blob/master/Pluto_revC_rev2.py
Pluto Plus SDR - An Adalm Pluto Upgrade?
10:10
Tech Minds
Рет қаралды 48 М.
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 42 МЛН
Can A Seed Grow In Your Nose? 🤔
00:33
Zack D. Films
Рет қаралды 32 МЛН
The Joker saves Harley Quinn from drowning!#joker  #shorts
00:34
Untitled Joker
Рет қаралды 52 МЛН
Joker can't swim!#joker #shorts
00:46
Untitled Joker
Рет қаралды 35 МЛН
Спутниковая тарелка, 10 ГГц, AOR5000, Малахит, ADALM-PLUTO SDR, QO-100 и радиолюбители.
10:25
Implementing Time Delay For a Low Cost Digital Beamformer
21:26
Explaining RISC-V: An x86 & ARM Alternative
14:24
ExplainingComputers
Рет қаралды 444 М.
Build Your Own Drone Tracking Radar:  Part 1
20:08
Jon Kraft
Рет қаралды 507 М.
Build Your Own Phased Array Beamformer
30:38
Jon Kraft
Рет қаралды 198 М.
ADALM PLUTO Full Duplex Software Defined Radio
13:05
Tech Minds
Рет қаралды 86 М.
Monopulse Tracking with a Low Cost Pluto SDR
18:31
Jon Kraft
Рет қаралды 14 М.
Introduction to the ADALM-PLUTO SDR
1:58:39
GNU Radio
Рет қаралды 23 М.
MicroPhase ANTSDR E200 UHD USRP & PLUTO SDR SUPPORT
10:03
Tech Minds
Рет қаралды 17 М.
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 42 МЛН