ADALM-PLUTO: A New $149 TX Capable SDR with 325 – 3800 MHz Range, 12-Bit ADC and 20 MHz Bandwidth
Recently we’ve heard about the ADALM-PLUTO (a.k.a PlutoSDR) which is an up and coming RX/TX capable SDR that covers 325 – 3800 MHz, has a 12-bit ADC and a 61.44 MSPS sampling rate. All this and it is currently priced at only $149 USD on Digikey (but note that it is not shipping yet). This makes it the lowest price general purpose TX capable SDR that we’ve seen so far.
Regarding the features and specs they write:
ADI’s ADALM-PLUTO is the ideal learning tool/module for radio frequency (RF), software defined radio (SDR), and wireless communications. Each ADALM-PLUTO comes with two antennas, one for frequencies of 824 HMz to 894 HMz and the other for 1710 MHz to 2.170 GHz. Each unit comes with one 15 cm SMA cable with both transmitter and receiver capabilities and is powered via USB. The self-contained RF learning module supports both half and full duplex communications and uses MATBAB and GNU Radio sink source blocks, Libiio, A C, C++, C#, and Python API.
The internal components of ADALM-PLUTO include, AD936x RF Agile Transceiver™ and Power, Micron DDR3L and QSPI Flash, Xilinx® Zqynq® programmable SoC and USB 2.0 PHY. The firmware PlutoSDR is open source and comprises technology from Das U-Boat, the Linux Kernal and Buildroot. The ADALM-PLUTO is the ideal wireless, SDR learning tool for students, hobbyists, and educators.
- Portable self-contained RF learning module
- Cost-effective experimentation platform
- RF coverage from 325 MHz to 3.8 GHz
- Flexible rate, 12-bit ADC and DAC
- One transmitter and one receiver (female SMA, 50 Ω)
- Half or full duplex
- MATLAB, Simulink support
- GNU radio sink and source blocks
- Libiio, a C, C++, C#, and Python API
- USB 2.0 interface
- Plastic enclosure
- USB powered
- Up to 20 MHz of instantaneous bandwidth (complex I/Q)
The PlutoSDR appears to be mainly advertised as a learning module for electrical engineering students (see the promotional PDF pamphlet here), but it there seems to be no reason why it could not be used as a general purpose SDR. In fact it seems that @csete the author of GQRX has already made his PlutoSDR work in GQRX
Looks like I got the plutosdr working in gqrx 😊 pic.twitter.com/jaGDcxoWp2— Alexandru Csete (@csete) February 12, 2017
The PlutoSDR is also more than just an SDR. On board is a full SoC (‘System on Chip’) which includes an FPGA and ARM processor that allows Linux to run directly on the device. The processor and Linux can access the SDR and run applications on the device itself. Over on the PlutoSDR wiki there are already a few tutorials that show how to use the SDR with MATLAB, Simulink and GNU Radio.
From the specs of this SDR the main limitation seems to be the tuning range with the lowest frequency tunable being only 325 MHz. But a simple upconverter could easily solve this limitation. As it is designed to be a learning tool for University students we also expect that there will be a lot of documentation and applications eventually built for it.
At the moment the PlutoSDR does not appear to be for sale. It only seems that several early model units have been sent out to developers. But it looks like the PlutoSDR will be available on Digikey for $149 USD. We’re not sure if this is the exact pricing, as a few days earlier a lower price was shown, but even at $149 USD it seems to be a good deal.
Hi, I purchased a Pluto this past spring (2021) and am just now playing around with it and “GQRX”. It works fine, I’m hoping that as I get more experience with the software and spend more time in the shack this winter I’ll get better acquainted with this little treasure. I believe it’s fairly priced and has far more possibilities than some SDRs given its ability to also transmit. I also plan to pick up an RTL-SDR for the lower bands.
Due to the Pluto’s ability up to 6GHz, I hope to fabricate either a multi stack of SHF antennas for satellite listening or make use of a modified dish antenna, probably both since I have the allowable footprint in my yard.
I also have Linrad software on my computer but as I’ve not found the Pluto mentioned I haven’t tried to interface yet.
Equipment: Lenovo ThinkCentre running Linux Mint 17.3
Software: Linrad, GQRX, SDR++
RF Hardware: Heathkit 201 & 202 linear VHF FM amplifiers (need a bridge amp between the Pluto and the Heathkit)
Location: Halifax, NS
Thanks for your comments Robin.
Just a question – what’s the expected frequency stability for Pluto? Can we expect 1ppm?
Disclaimer – I work for ADI, and did work on the ADALM-PLUTO.
No – not even close to 1ppm by default. Have a look at:
Did you happen to meassure the suppression of spurious emission when you generate a signal.
When can we expect this to be available for purchase?
Disclaimer: I work at ADI, and was involved in the ADALM-PLUTO design.
Currently – the best date we can commit to is April 29th. We are trying to pull this in, (and think we can), but today – that’s what we can commit to.
Shut up and take my money!!!!!
I read a bit through the documentation the link for the AD9363 links to the AD-9361 board (70 – 6000 MHz) version is available, but costs 731 €. http://www.analog.com/en/products/rf-microwave/integrated-transceivers-transmitters-receivers/wideband-transceivers-ic/ad9363.html#product-evaluationkit
Present boards are Rev.A and Rev.B and it’s not clear if Rev.C will be final.
I find it interesting, that their designers also did not consider (Ultra-)Low Noise, LDO Linear Voltage Regulator Noise necessary.
Drone already mentioned lack of galvanic USB isolation
The PSSR on the AD9363 is good enough – it doesn’t need Ultra Low Noise LDO. We hit much better than datasheet specs on rev B. I should be publishing those on the wiki shortly.
I contacted Digikey, availability subject to confirmation by AD. Maybee they are just fishing for interest and have not produced it yet for sale
Disclaimer – I work at ADI, and had some impact on the ADALM-PLUTO
Not fishing – that is for those who post their projects on kickstarter/crowdfunding web sites 🙂
We are in process of building production units, based on rev B. Units will be hitting warehouse in end of April (plastic injection molding takes a long time, and Chinese new year slowed things down). I just need to update Digikey on the date, and then they can start publishing things/taking orders. Rev B is the production unit for now – we have some ideas to make things a little more robust (and lower complexity of the power solution), but it should effect performance of the unit).
Just like software – hardware is never done, there is always things you learn, and want to fix and anyone copying that design should understand any future plans/experiments we are looking at, so they can do the same, or at least understand the tradeoff.
Only 5mw transmit power.
That’s not too bad; HackRF and LimeSDR are both in the 10-13 dBM range so 10-20 mW. I don’t know the output on Y.A.R.D.stick or others, but I suspect that most of them are also pretty low power devices.
It’s only reasonable to expect that you’re going to have bring your own linear amplifier for any applications that involve transmitting outside of the laboratory.
Just for comparison 5mw = 7dBm
Rectified easily enough. Gain is cheap. MAR, ERA, MGA, PSA, etc
A quick first-take comment on my side, corrections are welcome… This appears to be based on ADI’s AD9363 RF Agile Transceiver. I wonder why ADI chose the AD9363 with its 325-3800 MHz range over their quite similar AD9861 part its with 47 MHz to 6.0 GHz Tx & 70 MHz to 6.0 GHz Rx range. The press-release calls out MATLAB/Simulink, while at the same time mentioning the device might be of interest to the “Hobbyist” community. Well, that’s a no-starter due to the VERY high cost per-seat of MATLAB. Maybe something like Scilab/Xcos might be a FOSS alternative. Reference to GNU Radio sink/source blocks is a big plus. But reference to Libiio is somewhat limiting currently IMO. As usual, While the Xilinx Zinq FPGA/SoC on-board may be welcome, expect a HUGE toolchain burden and lots of proprietary ($$) limitations to come with it. Looking at the hardware changes on the ADALM-PLUTO Hardware Wiki, it seems the ADI Engineers don’t have a CLUE about mitigating issues like power supply (noise) management. Also it looks to me that the ADI design does NOT use anything like the excellent galvanic USB isolation parts they manufacture (ground loops anyone?). Anyway, it’s nice to see a dev/eval board with near cutting-edge parts available for a $149 price-point. Let’s see if that price can be maintained in decent quantities for next generation third-party designed SDR boards based on PlutoSDR (I doubt it, but you never know).
The AD chip is ~$100 in orders of ~1.5k units and the Zinq ~$60. I do not think that you are going to see a cheaper device for a while. Unless it is by a chip maker undercutting the margins they provide to their resellers.
Disclaimer – I work for ADI, and helped design the ADALM-PLUTO.
The ADI chip in question AD9363 is $80 @ 1k units (and @ Digikey is $115.44 at quantity one. The Xilinx part XC7Z010 is $57.75 @ quantity 1. We don’t actually use the standard 7010, but a single core version of the 7010 (which was before the single core versions were released). We are going to stick with that since the FPGA in the 7010 (28k logic cells) a little larger than the XC7Z007S-1CLG225C 23k logic cells ($46.13 @ quantity 1) and the next step up is only in the larger package (which would cost more $, and give us pins we don’t need).
When you buy things at volume (even 1k, 5k, or 10k) prices are lower, but I don’t think we are getting special treatment from anyone on pricing (including the ADI chips – we pay a different group inside ADI for the AD9363). Xilinx, Micron and MicroChip have helped the design from a technical support standpoint (and we certainly appreciate the help) – but nothing more than what any customer would expect from their local FAE, or support forum.
Yea but you are still selling this far below what an actual SDR company would selling this for, thanks for the platform but it seems pretty anti competitive….
Disclaimer: I work for ADI, and helped design the ADALM-PLUTO
Everyone is entitled to their opinion. Anti-competitive is a discussion handled by lawyers, so I won’t do that.
Personally – I think the ADALM-PLUTO has lots of issues, since we designed it from the start to hit a pricepoint.
I think this falls somewhere between RTL-SDR ($30, 8-bits, no transmitter), and LimeSDR ($300, 2 x 2, larger FPGA, full temp, USB 3). The pricepoint of the ADALM-PLUTO falls in between these devices, and is priced to what the market (students) are willing to pay.
Many of ADI’s commercial SDR customers initially express the same, but after looking at the design, come to the conclusion that this doesn’t compete with anything they do (no one puts an 50ppm oscillator on things), and opens their eyes about ADI being designed into cost sensitive applications. At the end of discussions most are OK with things (I could be super oblivious, missing the gnashing of teeth with people just being polite, but I don’t think so).
Disclaimer – I work for Analog Devices, and helped design the ADALM-PLUTO
To run down your comments in order (I know this might come off as defensive, and it’s not, I’m just trying to describe the design choices we made).
Yes – the key difference between the AD9363 and AD9361 & AD9364 are :
* tuning range (325-3800 MHz for the AD9363, and 70-6000MHz for the AD9361/4)
* bandwidth (20 MHz for the AD9363 and 56 MHz for the AD9361/4)
* RF performance EVM (-34 dB for the AD9363 and −42 dB for the AD9361/4 – both Rx @ 800MHz)
* price ($80.00 for the AD9363, $130.00 for the AD9364, and $175 for the AD9361, all at 1k)
Since we wanted to design for students, the key was cost, so we stuck to a economical USB2 solution (Zynq), which limited transfer bandwidth and the AD9363. The tuning range (from a learning standpoint) is nearly meaningless. Timing recovery at 2.4GHz is the same as 70 MHz. Yes – you can not listen to FM radio and we agree – that sucks. However most of the professors we talked to – wanted something cheap with Tx on it. Our goal was under the price of a textbook, and while we don’t meet RTL-SDR, I think its close for many people.
MATLAB/Simulink is highly popular at education settings, most of the schools we work with have these tools available (for free) for all students. For home– yes – it’s a few hundred dollars ($149 for MATLAB, and $45 for each toolbox), within the reach of most people. I have spent more money on other hobbyist equipment that I use less than I use MATLAB. (my tablesaw was not cheap).
For people who don’t want to pay – there is GNURadio, supported by libiio and the IIO sink/source blocks. Does that need some work – yes. Are we looking for help – yes. Are we looking for feedback – yes. Are there people using it today – yes. It’s about the open source way – Release early, release often. If you don’t like it – please give us feedback. Right now – zero open issues. If you think something sucks – tell us the details so we can make it better.
Xilinx tools : We use the Vivado HL WebPACK Edition. This is zero cost, (not free, not open) – so I think that is acceptable to most students. This works with the 7010 that is designed into the ADALM-PLUTO. Is it a huge install – yes. if you want to re-program the FPGA – that’s what most people are stuck with. For those that just want to compile ARM code – the 32-bit ARMv7 Cortex-A, hard-float, little-endian toolchain that Linaro distributes should work. (still undergoing testing).
Yes – we improved the power supply on rev B, but you are correct – it is not GND isolated. However – we do have a clue (sometimes not much, but most of the time we do OK). The excellent USB Isolators that you refer to are low speed (1Mbps), or full speed (12Mbps) only. Something that would most SDR users (including students) would not find acceptable. If you want/need galvanic isolation, our solution would be to use the external power (even battery), and your favorite USB/LAN or USB/Wifi adapter (although in early testing the Wifi makes the RF performance worse – as you might expect). You can even store data to a thumb drive, and analyze it off line later.
Our target was students, learning comms, learning RF, learning SDR, with the attached antennas from in the box – we did look at isolation and decide it was not worth the extra complexity/cost.
That is the same reason that the device is not 2 x 2 (like the chip is) – cost.
That is the same reason that the on-board oscillator has so much drift – cost
That is the same reason it’s only USB2 – cost.
It’s primary target was for students as a learning tool. It wasn’t meant to replace commercial equipment.
Could we change these things – yes – but then it would failed the under textbook pricepoint goal.
Let me know if you feel differently.
thank you for the detailed explanation. We, a number of frequency users of a band, are faced on short notice to take part in a L-band sharing study and define/conduct practical tests within the next 9 month, that’s why we have limited resources, except some support from a university. For tests we need to simulate many different signals from different systems/equipment to generate a combined realistic extraneous signal environment (ESE) for the receiver under test. While all of us have equipment to generate signals, it is hard/impossible to combine/move it to tests sites. Therefore to create a realistic ESE/receiver loading I started reading up on your design, wondering if it could be fast alternative to the existing SDTRx boards we already have, also hoping that existing work can be applied directly to AD9361/AD9364 when performance requires. Is there a chance to get into contact and get get your opinion on the feasibility to use the circuit for this purpose, because I did not find you registered at the forum, to send you a PM ?
Disclaimer: I still work for ADI, and most of the things you may not like about the ADALM-PLUTO were my decision. Anything that you like was the decision of the other people on the team.
Running things in the L-band (1-2 GHz) is well within the tuning range of the ADALM-PLUTO. Inside the ADALM-PLUTO is a full Linux system, running with 512Meg of DDR3. You can load up a buffer into system memory, and play it out at full sample rates/full bandwidth (repeating). So, if it is co-existence that you are trying to test – (as long as the data is under 30.72 MSPS/20MHz channels) – repeating a second or two of RF data will be possible. This could be loaded up over a thumb drive, or over a network – depending on how things are powered/attached/dynamic/remote controlled you want things. The thumb drive use case is very standalone, but the downside – is the only want to make it dynamic is to drive/walk over to the unit, and replace thumb drives. Network over USB is possible – worse case – a RPi can control the ADALM-PLUTO pretty easily.
I normally hang out on ADI’s engineerzone, where I’m pretty responsive (most of the time anyway).
Low cost is important, but don’t take it so far as to give the students a bad reference design to carry with them from the lab into their first job interview! If you do, it makes both of you look bad.
What “Professors” want is most often far removed from what is needed, even in the classroom or lab. I know, I spent many years under the tutelage of many “Professors” – the effects of which took a lot of lab time on the “outside” to cure.
Ground loops can be such a problem with SDRs (especially direct-converting types), I think USB galvanic isolators are a must even if they are only USB 2.0 Full Speed (12Mbps) limited. If you think the “Professors” don’t need the isolators, then don’t populate them, but leave the traces on the board so the rest of us here on Planet Earth can solder them on ourselves. Leave pads to jumper the isolators out if the full 20MHz BW is needed.
“$149 for MATLAB”. Wow I stand corrected! I see prices have plummeted for a single-seat non-commercial license. BTW the non-commercial license looks to me like $85, with toolboxes at $25 each to start, not $149/$45.
The oscillator instability is a good point. That’s something that might be OK if a couple/few pads were left on the board for the user to inject an external reference. If the external reference connect could be a footprint for a connector (e.g. MCX or SMA), that would be even better. Next I would need to look at the phase-noise/jitter specs. Something I haven’t done yet.
Sorry about the “No Clue” comment regarding the power design, but I see you iterating through the power at each Rev-level and Rev-C looks like nothing special is happening. Add to this the lack of USB isolation and I’m not getting a warm-fuzzy. Remember this is a radio; clean power is a must to keep phase noise and spurs to a minimum, plus unknown USB power can be real messy to begin with. With compact DC-to-RF single-board mixed-signal designs like SDR’s, best practice is to first nail the power, ground topologies and board zoning at the very beginning. If you do that, everything comes together much more easily. If you are at a high Rev-number and still tweaking power and ground, then something else is wrong.
Please take all my comments with a large dose of salt. I’m on the outside, briefly peeking in.
Disclaimer: I work for ADI, and had something to do with the ADALM-PLUTO.
Totally agree – not matter how much you polish a turd, at the end of the day – you still have a turd (however shiny it might be).
In lab settings – we exceed datasheet performance (connected to PCs, and lab equipment, etc). It’s unlikely to uncover any real ground loop issues (as you know)- as when doing this sort of testing – I’m plugged into the same bench, but I think it does typify the use case of the majority of students. Like I mentioned – USB/LAN or USB Isolators are cheap.
Yes – you can inject an external frequency – the existing part is AC coupled, and by removing the cap, you put in whatever you want. MCX or SMA footprints – no we didn’t do that.
Understand – about the issues – if we were designing something in the few hundred $ range, you are correct – but I’m not sure we will ever go there – that is for “real” SDR like products.
Please can you identify any USB/LAN for isolation that are suitable? They mostly seem NAS or print server oriented.