Earlier quoted context omitted.
You are ignoring price point. Small FPGA board from Digilent costs as much as Raspberry Pi 4 4 GB. Development on Raspberry Pi is much more convenient, it is powerful and it already has decent CSI-2, 4K HDMI, Ethernet. Comparable FPGA board goes for hundreds $/€. Because decent CSI-2 with high frame rate and resolution as well as 4K HDMI need decent FPGA with transceivers. Add long hardware development cycles and thi…
I'm just getting started on electronics for an audio project, but the Arduino setup of compiling code on my regular computer and uploading it over USB to firmware seems pretty nice? Since I'm never going to connect it to the Internet or even a monitor, why does Ethernet or HDMI matter? Let alone 4K HDMI. It seems like that's more about having a cheap desktop computer than doing electronics? But I already have a deskt…
For many projects, people choose something higher-end than an Arduino because their project requires more compute or memory than the 8-bit microcontroller in the Arduino can provide. Common issues:
- You need to do math with larger numbers (anything > 16 bits is really slow on the Arduino), or need to do lots of math.
- Your working data exceeds the ~2 kB of RAM.
- Your project's binary exceeds the ~32 kB of flash.
With that being said, the Raspberry Pi isn't necessarily the best candidate for every project that exceeds these constraints. The Pi is basically the cheapest possible board that includes a graphics card that can handle HD video, Ethernet, and WiFi. It also has a lot of RAM compared to other single-board computers. It is weaker for "real-time" applications like signal processing - if you need to do that sort of thing you might want to look into buying a BeagleBone Black, which has two "programmable real-time units" (PRUs), which are basically small auxiliary microcontrollers that can be used to handle the real-time work.
There are other cheaper/lower power parts in between the Arduino and the Raspberry Pi/Beaglebone level of complexity, but many of them require complicated tooling and libraries that might be difficult to use if you're not already pretty familiar with embedded development.