Raspberry Pi and Arduino
Both boards are widely used to control sensors and motors, but they are built differently. Grablo IoT Core is a program that runs on an operating system, so it runs on single-board computers such as the Raspberry Pi and not on Arduino boards.
The Raspberry Pi was developed by the Raspberry Pi Foundation in the UK as a computer for teaching students programming. It is a single-board computer (SBC) with all the parts of an ordinary PC: CPU, graphics, memory, operating system, Ethernet, Bluetooth, and Wi-Fi. With a keyboard, monitor, and mouse attached, it does what a PC does, such as browsing, music and video playback, and programming, and its 40-pin GPIO controls and communicates with external devices. Its CPU is a microprocessor capable of complex computation and graphics, and it runs several tasks at once with multithreading.
Arduino is an open-source hardware and software platform developed in Italy to make peripherals such as sensors and actuators easy to control. It is a small microcontroller-based board with no firmware or operating system, so programs written in C/C++ on a PC are uploaded to it and run. It specializes in controlling external devices, with a dedicated development environment (IDE) and many open-source libraries, but its CPU is too slow for complex computation or graphics, and it runs only one task at a time.
| Item | Raspberry Pi | Arduino (Uno) |
|---|---|---|
| Type | Single-board computer (SBC), microprocessor | Microcontroller board |
| CPU type | ARM family (microprocessor) | ATmega family (microcontroller) |
| CPU clock | 1.5GHz (Raspberry Pi 4B) | 16MHz (Arduino Uno) |
| RAM | 1GB or more (Raspberry Pi 4B) | 2KB |
| CPU architecture | 64-bit | 8-bit |
| Power consumption | About 100mW (Pi Zero) to 600mW (Pi 4) | About 15mW (Nano) to 100mW (Due) |
| Operating system | Linux (Raspberry Pi OS and others) | None; a program written in C/C++ on a PC is uploaded and run |
| Logic level | 3.3V | 5V |
| Analog input | None (ADC module required) | Yes |
| Networking and media | Ethernet, Wi-Fi, Bluetooth, audio and video output (varies by model) | Not on the base board; separate modules required |
| Programming languages | Grablo, Python, C/C++, C#, Java, and others | C/C++ |
| Performance | High | Low |
| Concurrent tasks | The operating system runs several tasks at once | Runs one program at a time |
| GPIO | 40-pin header | Digital and analog pin headers |
| Typical uses | Networking, multimedia, image processing, external device control, and more | Controlling external devices such as LEDs and motors |
To use an Arduino with Grablo, treat it as an external device connected over serial communication. The two boards use different logic levels, so level conversion is needed (Converting Between 3.3V and 5V).