Resources

Move Beyond Raspberry Pi and Arduino: Embrace the Power of System on Chips and FPGAs

While Raspberry Pi and Arduino are fantastic tools for beginners and hobbyists, those looking to explore more advanced projects should consider System on Chips (SoCs) and Field Programmable Gate Arrays (FPGAs). These technologies offer a new dimension of possibilities.

FPGAs for Advanced Applications

Joking aside, I love Raspberry Pi, but what SoCs offer is truly groundbreaking. Take the Red Pitaya, for example: it features a Zynq 7000, which combines an FPGA with a dual-core CPU, and includes 2 ADCs and 2 DACs capable of 125 megasamples per second. This allows you to receive and transmit signals in the MHz range for around 300 euros.

Firstly, this means you have access to a fast digitizer, enabling you to experiment in the radio frequency range. Secondly, because this digitizer is connected to an FPGA, you can perform processing operations like FFT, filtering, and more at MHz speeds. This makes the Red Pitaya a powerful tool not only for learning but also for practical applications.

Practical Uses

I use the Red Pitaya to generate signals, amplify them with a 1kW amplifier, and inject them into a plasma to study wave propagation. Coding in C and Python is straightforward, and you can utilize GPIO pins for trigger signals or to activate other systems, integrating easily into a global control system. Additionally, I measure high-frequency instabilities in tokamak plasma, using real-time FFT to reduce the amount of data storage required.

Getting Started

Red Pitaya comes with a free version of Vivado, which, while missing some high-level features, is sufficient for most needs. The most challenging part is the installation, given its significant space requirements. Once set up, Vivado is stable and provides an excellent platform to learn hardware coding in Verilog or VHDL. It’s exciting to see gates and flip-flops come to life through your code.

Open Source and Learning Resources

One of the biggest advantages of Red Pitaya is its open-source nature. Both Vivid and Xilinx offer extensive documentation. When problems arise, which they often do for beginners, numerous resources are available to help you find solutions. Here are some of the best resources to get started:

  • Red Pitaya Notes by P. Demin: This comprehensive reference includes a variety of interesting projects, from SDR to nuclear magnetic resonance, and provides a clean, version-controlled method to manage FPGA code and the associated Linux ecosystem.
  • Vivado’s YouTube Tutorial by M. Sadri: This tutorial covers everything about Vivado, from simulation to debugging. While it may take some time, it’s definitely worth it.
  • Building Linux on Zynq: Learn how to install embedded Linux and understand the roles of different components, from boot to shell.

Advanced Projects

Once you’re comfortable, you can dive into more complex projects, such as building bare-metal applications that don’t require an OS. You might also consider using Rust to enhance security and developing your own flexible and optimized PLC, tailored to your needs rather than the profit margins of large instrumentation companies.


Let me know if there’s anything specific you’d like to add or modify!

Leave a Reply

Your email address will not be published. Required fields are marked *