Arduino and Raspberry Pi boards are the pinnacle of revolutionizing embedded system development. In the past, embedded system development started with hardware. The project steps typically included:
-
Defining system requirements, including rough estimates of processing speed and I/O requirements.
-
Selecting an appropriate microcontroller or microprocessor that meets power, performance, and cost requirements.
-
Connecting the hardware prototype.
-
Debugging the hardware prototype. If necessary, writing a small amount of driver code to activate the lines.
-
Once the hardware is running, starting to execute the code.
-
Debugging the code.
-
Shipping!
Now it’s not that simple. First, there are thousands of processors and microcontrollers to choose from, coming from numerous vendors. No one can remember all these alternatives.
Secondly, the third step above (connecting the hardware prototype) poses a practical problem, as the world has developed to use surface mount technology over the past thirty years. For electrical engineering, the prototyping techniques widely used in the 1970s, such as hand wiring and wire wrapping, are akin to hand forging. Such techniques are rarely used today. You indeed need to design, manufacture, and solder prototype printed circuit boards, and if there are better (faster, lower-cost) alternatives, who would spend time doing it that way?
This situation created opportunities for development boards that directly bypass steps one to four above. The two most well-known development boards on the market today are the Arduino Uno (and its many variants) and the Raspberry Pi. The latest model of Raspberry Pi is the Raspberry Pi 3 Model B+. While people often compare Arduino boards with Raspberry Pi boards, they are fundamentally different.
Arduino is the name of an open-source computer hardware and software company, an open-source community project, a user community that designs and manufactures Arduino boards, an integrated development environment (IDE), and the actual Arduino microcontroller boards themselves. (The name Arduino comes from a bar in Ivrea, Italy, where some of the original founders of the Arduino project used to meet.)
The original Arduino boards were based on Atmel’s AVR microcontrollers. After developing code using the Arduino IDE, the IDE subsequently compiles the code and downloads it to the onboard microcontroller’s flash memory. The Arduino IDE supports C and C++ languages and has its unique special code structure rules. Due to the significant development of the Arduino concept, newer Arduino models have upgraded to 32-bit Arm® Cortex®-M0 based microcontrollers for higher performance (Figure 1).
Arduino boards are designed as entry-level microprocessor development boards for controlling relatively simple embedded systems, so their I/O capabilities are quite basic. Besides a few simple digital I/O and analog input pins on a 0.1-inch pin header, the Arduino Uno board also has a USB port and some onboard LEDs that can blink. It’s that simple. The I/O pins are controlled by software, so there are not many barriers when utilizing the performance of these pins.

Figure 1: The Arduino Uno is an entry-level development board based on an 8-bit Atmel microcontroller with some simple I/O features, serving as a development platform for embedded designs that do not require high performance. (Image source: Arduino)
If your embedded design requires higher performance, then consider upgrading from Arduino to the Raspberry Pi 3 B+ development board (Figure 2). Here are the key features of this board:
-
Broadcom BCM2837B0, 1.4 GHz Cortex®-A53 (Arm®v8) 64-bit SoC
-
1 GB LPDDR2 SDRAM
-
2.4 GHz and 5 GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
-
USB 2.0 Gigabit Ethernet (maximum throughput 300 Mbps)
-
Extended 40-pin GPIO header
-
Full-size HDMI
-
Four USB 2.0 ports
-
Extended 40-pin GPIO header
-
CSI camera port for connecting a Raspberry Pi camera
-
DSI display port for connecting a Raspberry Pi touchscreen display
-
4-pole stereo output and composite video port
-
Micro SD port for loading the operating system and storing data
-
5 V/2.5 A DC power input
-
Power over Ethernet (PoE) support (requires separate PoE HAT)

Figure 2: The Raspberry Pi 3 Model B+ is an excellent embedded hardware development platform with a quad-core 64-bit Arm application processor, 1 GB SDRAM, and rich I/O capabilities. (Image source: Raspberry Pi)
With so much processing power, memory, and I/O capabilities, you can do a lot. The Raspberry Pi 3 B+ development board can run Linux, and it has a large support community. The Raspberry Pi 3 Model B+ is low-cost, making it an excellent hardware platform for many embedded development projects.
If the Raspberry Pi 3 Model B+ meets all your requirements for embedded system design, then there is no need to look for other products. Since this development board is low-cost and extremely powerful, why go through the trouble? However, what if your embedded system requires special I/O capabilities that exceed the vast I/O resources of the Raspberry Pi Model 3 B+?
This situation is an example of when you need the high-performance capabilities of an FPGA, which excels at allowing you to define new high-speed interfaces using just software. No extra wiring needed. Additionally, you can use the TE0726-03M development board ZynqBerry from Trenz Electronic (Figure 3), which provides FPGA functionality built into the form factor of the Raspberry Pi Model 2.

Figure 3: The TE0726-03M ZynqBerry development board from Trenz encapsulates a Xilinx Zynq Z-7010 SoC in the form factor of the Raspberry Pi Model 2, suitable for embedded designs requiring additional I/O performance. (Image source: Trenz Electronic)
ZynqBerry is based on the Xilinx Zynq Z-7010 SoC, which integrates a dual-core Arm® Cortex®-A9 32-bit microprocessor and FPGA. This device can handle more high-performance tasks compared to a single processor (or even four processors running at 1.4 GHz). You can program the Trenz ZynqBerry using the downloadable Xilinx Vivado tool suite, which provides an IDE for both the software (processor) and hardware (FPGA) side of the Zynq SoC.
But what if you prefer the form factor of the Arduino Uno? Trenz Electronic’s TE0723-03M ArduZynq can also meet this need (Figure 4).

Figure 4: For Arduino projects that require more processing and I/O performance, Trenz Electronic’s TE0723-03M ArduZynq places a Xilinx Zynq SoC in the form factor of an Arduino development board. (Image source: Trenz Electronic)
Like the Trenz ZynqBerry, you can program the Trenz ArduZynq using the downloadable Xilinx Vivado tool suite.
Development boards like the Arduino Uno and Raspberry Pi can simplify many embedded development choices but cannot address all embedded design challenges. When your needs exceed the capabilities of these development boards, there is no need to change the form factor of the development board. You only need to add a little FPGA to the mix.
Steve Leibson is a systems engineer at HP and Cadnetix, editor of EDN and Microprocessor Report magazines, and a technical blogger for Xilinx and Cadence, having served as a technical expert on two episodes of “The Next Wave with Leonard Nimoy.” For 33 years, he has been dedicated to helping design engineers develop better, faster, and more reliable systems.
Note: This article is reproduced from the Digikey website, copyright belongs to the original author. If there is any infringement, please contact the editor for removal.
-
Quickly Build and Program FPGA-Based Designs Using Python and Jupyter Notebooks
-
AI Tech 2019: Laoshan Discusses Intelligence, Xilinx Showcases Exclusive “Secrets”
-
Three Cities Link Up, Xilinx Industrial IoT Seminar Registration Ongoing!
-
How to Break the “Scissors Gap” to Accelerate AI Implementation? Xilinx Provides the Answer
-
Invitation: Xilinx’s Nine Demonstrations at the Second Digital China Construction Summit
-
Alveo U200, U250, U280 Data Center Accelerator Card User Guide Chinese Version Released
-
Xilinx Partners with Solarflare to Break Through Network Barriers
-
[Video Tutorial] Using System Generator DSP Version for RFSoC
-
Four Major Platforms Open for Application, Ten Thousand Yuan Prize Awaits You – Xilinx Competition Supports Upgrade
-
Let “Open Sesame” Come to Life, Xilinx Provides Acceleration Strategy
-
Xilinx Joins Hands with Samsung to Create a Rich 5G Ecosystem
-
Double Champion! Xilinx ADAS Solutions and RFSoC FPGA Both Win CEM 2018 Editor’s Choice Award for Most Competitive
-
[Heavyweight] GCC and CCIX Announce Cooperation to Promote Heterogeneous Cache Coherence Acceleration Architecture
-
Easy to Learn Xilinx Vivado Tool Practical Design Skills
-
[Video] Ultra-Low Latency KVS Provides a Better User Experience
-
Avnet Launches Ultra96-V2 Development Board
-
[Tutorial] Using TMDS I/O for DVI Output on PYNQ-Z2 Board
-
Powerful Computing – Xilinx Helps Huawei’s New FusionServer Pro Smart Server Achieve “Chip-Level” Takeoff
-
[Tutorial] Supporting Multiple HDMI Resolutions (TX) on ZC702 Evaluation Board
-
Hardware Emulation World
-
Using SystemVerilog Interfaces to Connect Logic in Vivado Synthesis
-
[Video] Real-Time Inference Using Xilinx Machine Learning Suite
-
Download Model Composer Getting Started Guide
-
Retiming in Vivado Synthesis Operations
-
How to Deploy Advanced 58G PAM4 Technology While Retaining Existing Infrastructure?
-
Why Choose Xilinx AI Solutions?

Product Recommendations