Red Pitaya Bears Fruit and it Tastes Good
Getting hands-on with the programmable test and measurement instrument.
Every now and again there are hardware Kickstarter campaigns that really stand out, with the promise of delivering something that is genuinely novel or that would have previously cost an order or two of magnitude more. Red Pitaya was one of those campaigns that caught my attention last year, with its goal of creating an affordable, powerful programmable hardware platform that would support a diverse ecosystem of open source test and measurement applications.
Rewards have now shipped to Kickstarter backers and RS Components recently announced that they will be global distributors for Red Pitaya. I didn't back the campaign — quite why I didn't pledge at the time escapes me! — but I was fortunate to be sent a board for evaluation.
Key hardware specs
At the heart of the Red Pitaya is a Zynq system-on-chip that combines a dual-core ARM processor and FPGA. As you would expect, it runs Linux.
The main inputs are two independent channels that run at 125MS/s and with 14-bit resolution, and with the two main analogue outputs also125MS/s and 14-bit. In addition to which there are four low speed inputs and four low speed outputs, each of which 100kS/s and 12-bit resolution.
Expansion is possible via USB, e.g. to add a flash drive, WLAN adapter or camera, and also via a connector that provides 16x FPGA pins for GPIO, e.g. for a custom add-on module.
The instrument is typically accessed over Ethernet via a web interface, but it's also possible to log in, execute remote commands and transfer data via SSH. A handy USB UART interface provides access to the SoC serial console for configuration and debugging.
The board comes supplied with a Micro SD card preloaded with the Linux operating system and a selection of applications, along with two oscilloscope probes and SMA-BNC adapters, a Micro USB power supply and a quick start guide.
If you need to configure the network settings it's simply a matter of editing the /etc/network/interfaces file on the SD card.
Since I wanted to use DHCP, I didn't need to make any changes to the interfaces file and could use the configuration as supplied.
With the Red Pitaya connected to the network and the SD card inserted, I connected the power and pointed a web browser at the IP address leased to it by my router.
The home page allows you to select which application you would like to run, and I decided to first try out the Spectrum Analyzer app, configuring a bench signal generator to provide a 10MHz sine wave output.
Controls are provided for setting the frequency range, and turning channels on and off and freezing them. An area of interest in the spectrum display can be selected to zoom in, and selecting the button to the right of the zoom controls allows the display to be panned using the mouse. At the bottom of the page are waterfall displays.
Next up I decided to try out the oscilloscope part of the Oscilloscope and Generator application. For this I programmed an Arduino to generate a pulse-width modulated signal on pin 9, using analogWrite (9, 100).
Below can be seen the waveform output by the Arduino as viewed in the app. No surprises here.
Finally, I tried out the signal generator part of the same application, cabling Output 1 up to the input of an ISO-TECH ISA 830 TG spectrum analyser.
The signal generator was configured to output a 1MHz sine wave with an amplitude of 0.5v peak-t-peak.
A close-up of the spectrum analyser display can be seen below, with a very clear peak at 1MHz and at -2dBm (0.5v peak-to-peak gives a power level of -2.03dBm into a 50 ohm load).
Note that the spectrum analyser marker may not be precisely on the signal peak.
Enabling an ecosystem
This is only the beginning as far as applications are concerned, and those interested in developing new apps can find documentation along with source code and discussion over at the Backyard. While new official and third party applications will be published to the Bazaar, a marketplace that enables them to be installed to Red Pitaya with a single click.
In time I'd fully expect to see apps for everything from a vector network analyser, to equipment and systems used in obscure scientific experiments. As such it's easy to see how this platform could have a profound effect across a great many application areas.
Red Pitaya + Parallella?
The Red Pitaya uses the same Zynq SoC as the Parallella board, and the FPGA part of the Zynq in the Parallella is used to implement an eLink interface to the Epiphany floating-point co-processor. This had me wondering whether the two boards could easily be connected together, via eLink or some other high-speed low-latency interface, to give you the best of both platforms: a high-speed data acquisition solution with a many-core floating-point accelerator and HDMI output!
Using the supplied applications was incredibly straightforward and it's great to see that everything is in place to enable the community to develop new apps. The Red Pitaya is a fantastic little board and as the ecosystem grows I can easily see it becoming an invaluable tool, and beyond which something that puts capabilities which were previously the reserve of well funded labs into the hands of hobbysists, makers, classrooms and professional engineers with modest budgets.
Those interested in purchasing a Red Pitaya can register their interest at the Red Pitaya Design Centre.
CommentsAdd a comment
"For my instrumentation development with microcontrollers (mBed 1768, ARM and PIC) I feel it will meet the majority of my requirements from low frequency analogue to my faster digital measurements."
For this you mainly use the digital part - this is not that much better than on the Analog Discovery Kit.
The main essential thing for students the Analog Discovery Kit comes for only 140€ incl. BNC adapter.
In the meanwhile also a SDK is available for Windows and Linux - a step towards open-source.
@mmcv, "Analog Discovery Kit from Digilent is nice too and a bit cheaper." Yes that's a nice piece of kit as well but only 5MHz bandwidth so will appeal to less. It has a great range of tools though. I look forward to the Red Pitaya developing software like this and more with the Open Source licensing.
@pettefar, "Unfortunately it is too slow for either microprocessor or higher frequency radio work. It seems OK for LF, SW and Arduinos but is fairly expensive for such limited applications. It is easy to pick up cheap used 200MHz digital 'scopes. I want/need a GHz system!"
So do I! But I think you are missing all the other functions available on the RedPitaya, It's far from being "just a scope".
Also with open source there is the opportunity for many niche instruments being developed (It's just software!).
I have also seen discussions on their forum for converters for higher frequency radio work, and even SDR discussions, so those may develop after take up by the community.
For my instrumentation development with microcontrollers (mBed 1768, ARM and PIC) I feel it will meet the majority of my requirements from low frequency analogue to my faster digital measurements.
I had a look at this project. Unfortunately it is too slow for either microprocessor or higher frequency radio work. It seems OK for LF, SW and Arduinos but is fairly expensive for such limited applications. It is easy to pick up cheap used 200MHz digital 'scopes.
I want/need a GHz system!
Excellent review Andrew (these are always a pleasure to read).
This is clearly a very powerful and flexible piece of hardware and being Open Source I can see many exciting application areas developing for the electronics engineer (transfer function analyser, swept frequency signal generator, semiconductor tester, inductor and tuned circuit tests and many more) through to laboratory applications such as electro-chemistry.
Looking at the specs the fast 14bit A/D (with a large storage buffer) is excellent for many areas and will allow zooming (as you show with the spectrum analyser) for examination of those elusive smaller signals.
One other area that has plagued me with USB scopes is noise injected from the PC USB connection into scope and then to my circuit, corrupting the measured signals. This being network connected provides an isolated barrier, so it is much more measurement friendly.
Thanks for sharing.
I'm not sure if a retail price has been announced yet.
I have to say I was quite surprised at how fast the web interface updated, and you are right in that the web server runs under Linux — it uses nginx (a great choice for performance). Given the nature of the product there is obviously nothing to stop people from developing other interfaces, e.g. X11 or VNC, for applications where latency has to be as low as possible. In fact, given there is FPGA GPIO I'd be amazed if within the next 6 months we didn't see someone wire up an LCD or OLED display, with perhaps some hardware buttons for control too.