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.