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

Поділитися
Вставка
  • Опубліковано 6 чер 2024
  • 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.com/university/to...
    wiki.analog.com/university/to...
    wiki.analog.com/university/to...
    wiki.analog.com/university/to...
    www.digikey.com/en/products/d...
    wiki.analog.com/sdrseminars
    analogdevicesinc.github.io/py...
    github.com/analogdevicesinc/p...
    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
  • Навчання та стиль

КОМЕНТАРІ • 57

  • @brieri4680
    @brieri4680 2 роки тому +1

    Very nice hack and documented tour, Jon!

  • @tadehmirzakhanian893
    @tadehmirzakhanian893 2 роки тому +1

    very interesting project! I may give this a shot soon with one of my Plutos.

  • @vladimirk4734
    @vladimirk4734 Рік тому +1

    Thanks Jon! Super useful!

  • @MrHeatification
    @MrHeatification Рік тому +1

    thank you very much great content!!

  • @kurtttttttt
    @kurtttttttt Рік тому +4

    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  Рік тому +1

      @@kurtttttttt Thanks for the kind words Kurt!

  • @saberx77
    @saberx77 4 місяці тому +1

    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  4 місяці тому

      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 Рік тому +1

    Thumbs up!

  • @CojocaruFlorin
    @CojocaruFlorin 8 місяців тому

    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  8 місяців тому +1

      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

  • @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 роки тому +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

  • @caraghlake
    @caraghlake 5 місяців тому

    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  5 місяців тому

      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!). ua-cam.com/users/livei17fZ7J8e_c?si=Cn7R_jl0oLY4Oc3e&t=19411

  • @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

  • @tiville421
    @tiville421 11 місяців тому

    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  11 місяців тому

      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.

  • @user-si5rw9iv2o
    @user-si5rw9iv2o 3 місяці тому

    great video thank you very much!!!
    how do i get the default configuration (only 1RX and 1TX again) again?

    • @jonkraft
      @jonkraft  3 місяці тому

      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.

  • @salimerko
    @salimerko 7 місяців тому

    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  7 місяців тому

      I've not seen that issue before. For help with Pluto, this is the best forum: ez.analog.com/adieducation/university-program/

  • @ishay2002
    @ishay2002 2 місяці тому

    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  2 місяці тому

      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.

  • @yuribochkarev4477
    @yuribochkarev4477 2 дні тому

    How to use it on 2t2r mode with GNU Radio? or another simple soft, without python coding

  • @Hotrod768
    @Hotrod768 Рік тому +1

    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 10 місяців тому

      ​@@Hotrod768depends on how complicated your processing load is

    • @Hotrod768
      @Hotrod768 10 місяців тому +1

      @@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).

  • @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!

  • @Mr_ASIC
    @Mr_ASIC 10 місяців тому

    can you Synchronize TXs of Multiple Units to get 4 elements or more

    • @jonkraft
      @jonkraft  10 місяців тому

      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

  • @user-fn8xn4lf4n
    @user-fn8xn4lf4n 2 місяці тому

    Hello sir. While ordering Pluto SDR, How to we get to know about the Pluto version Rev b or Rev c?

    • @jonkraft
      @jonkraft  2 місяці тому

      I think they are all rev C's now. There shouldn't be any more Rev B's in inventory.

    • @user-fn8xn4lf4n
      @user-fn8xn4lf4n 2 місяці тому

      Ok sir thank you!@@jonkraft

  • @mrtechie6810
    @mrtechie6810 12 днів тому

    How do you use the second rx/tx in SDR Console?

    • @jonkraft
      @jonkraft  8 днів тому

      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.

  • @Art-ys1il
    @Art-ys1il 4 місяці тому

    why adalm pluto revb can't receive frequncy more

    • @Art-ys1il
      @Art-ys1il 4 місяці тому

      can we control mutiples devices ?

  • @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.

  • @samhanie
    @samhanie Рік тому +1

    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  Рік тому +1

      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 3 місяці тому

      @@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