Name |
Raspberry Pi 4B 2G |
Arduino UNO R3 |
|
Similarities |
Open-source hardware, standard interfaces for external connections, control of external devices, small size, portable, mature structure, inexpensive, lots of documentation, development requires knowledge of some basic software and hardware. |
||
Differences |
Architecture |
Microcomputer under Arm architecture |
Microcontroller under Avr architecture |
Country of Origin |
UK |
Italy |
|
Configuration |
CPU Cortex A72 64-bit (1.5G clock speed), 2G RAM, 16G starting storage (external TF card) |
CPU ATmega328 8-bit (20MHz clock speed), 2kb RAM, 32kb+1kb storage (Flash+EEPROM) |
|
Operating System |
Mainly Linux, non-real-time system |
None, real-time system |
|
Power Consumption |
High, the latest 4B version requires 3A power (15W). The new CPU is powerful and requires a heat sink, with power consumption comparable to a regular computer. |
Very low, generally 30mA (150mW) during operation, minimum 0.4mA, no need for a separate heat dissipation module. |
|
Interfaces |
2 HDMI displays, 4 USB (2.0 and 3.0), 1 camera interface, 1 audio output, 1 Ethernet, 14 GPIO. |
14 digital, 6 PWM, 6 analog, 1 USB serial, hardware IIC, hardware SPI. |
|
Size |
85.60 × 53.98 mm |
68.6 × 53.4 mm |
|
Operating Temperature |
-20°C to 80°C (high temperatures require a heat sink) |
-40°C to 85°C, can adapt to complex working conditions. |
|
Price (Taobao) |
Original version 265 yuan, imitation version 239 yuan |
Original version 138 yuan, imitation version 16.55 yuan |
|
Expansion Board |
Its expansion board is called HAT, can connect to GPIO, with relays, serial ports, displays, etc. |
Its expansion board is called a “shield”, with many types, including Ethernet, WiFi, SD cards, relays, motor control, etc. |
|
General Usage |
Versatile, suitable for complex applications, interactive control, machine learning, office use, etc. It is not much different from a regular computer, with even a Windows 10 operating system available, generally used for human interaction. |
Functionally simpler, real-time system, fast response, good stability, commonly used for industrial control, data acquisition, etc., generally used for machine interaction. |
|
Applications in Amateur Radio |
Can run various radio software developed under Linux, such as WSJT, GQRX, etc. You can also directly download images with software pre-installed by enthusiasts: Chinese, Radio Pi, https://radiopi.club/ English, Ham Pi, https://groups.io/g/Ham-Pi |
Controls antenna rotators, automatic tuning, antenna matrix control, etc. The American Radio Relay League (ARRL) has published “Arduino for Ham Radio”, but I couldn’t find a Chinese version. Other open-source hardware for amateur radio: Chinese, https://oshwhub.com/search?wd=%E4%B8%9A%E4%BD%99%E6%97%A0%E7%BA%BF%E7%94%B5 English, https://create.arduino.cc/projecthub/projects/tags/radio |
|
Deep Development Selection |
Limited options 1. If you need a smaller size, you can choose the zero version. 2. If you need stronger performance, you can only choose the 4G or 8G versions. 3. Domestic alternatives, rock pi. |
Many options 1. If you need a smaller size, you can choose the nano or mini pro series. 2. If you need stronger performance, you can choose Mega or Due, etc. 3. For cutting-edge projects, consider STM32 or ESP8266 for cost-effectiveness. 4. If you need to save costs, you can use the 51 microcontroller (wholesale price only 0.1 yuan). 5. Domestic alternatives, the ESP32 series chips from Shanghai Loxing. |
|
Software Development Method |
Can develop through the system’s built-in software development (IDE) interface. |
Develop using a dedicated development interface (Arduino IDE), directly sending to the microcontroller through serial (with BootLoader for serial transmission). |
|
Software Development Language |
Python, C/C++, supports Sketch. |
C/C++, Arduino SDK. |
|
Development Difficulty |
Simple, can develop through block programming in Sketch, with many “wheels” (development packages) available for Python. |
Relatively simple, hardware abstraction is already done, many “wheels” (development packages) can be directly copied to the library directory (libraries) for use, including examples. This design is very user-friendly, but development still requires some knowledge of C language. The only downside is that Arduino does not support breakpoint debugging. |
Usage scenarios: Raspberry Pi is mainly used for backend applications. It is powerful but complex, with the downside being slightly lower stability. Its price and power consumption are relatively high, suitable for scenarios where direct human-computer interaction or control centers are used, where power supply requirements are not sensitive. Arduino is suitable for frontend applications, ideal for controlling sensors and motors, especially for controlling hardware and sensors. Of course, the above usage scenarios are not absolute and can be chosen based on specific situations.
Open-source and secondary development: Both of these are open-source software and hardware platforms, waiting for you to expand their uses further. Both are open-source software with abundant documentation, and their programs have been continuously improved through the selfless contributions of open-source enthusiasts. If you have the ability, you can contribute your own efforts. As for open-source hardware, both can find schematics, allowing for redesign; however, it is advised not to modify the Raspberry Pi, as it integrates many hardware components, and optimization has been done very well, leaving little room for modification. On the other hand, the Arduino Uno and similar development boards are designed for testing, and the prototypes validated on these development boards cannot leverage the small size advantages of microcontrollers. Therefore, to truly turn it into a product, it is best to redraw the schematics and PCB, which will depend on your creativity.
It is impressive to note the strengths of China’s electronics industry; the availability of open-source hardware online means you can directly download PCB designs made by others, sample them at PCB factories like Jialichuang, and then buy components based on the bill of materials (BOM), leaving only the soldering to do. Isn’t that cool?
Due to my recent development of a portable satellite tracker, which requires high power supply standards for outdoor use, I ultimately chose to develop with Arduino.