Author: Darhan Saami
Raspberry Pi’s are microcomputers developed by the Raspberry Pi Foundation, an NGO that creates these devices at affordable costs. Arduino chips are single-board devices used to build digital devices and systems. The functionalities and applications associated with both Raspberry Pi’s and Arduino’s are quite similar and expansive. The major distinction between a typical Raspberry Pi and Arduino is that the former is a microcomputer while the latter is a microcontroller. Thus, Arduino is somewhat limited in terms of the things one can do with it. The first Arduino got sold in 2005, after which assembled a vast Arduino marketplace across the world. With Raspberry Pi Pico’s introduction – the first Raspberry Pi microcontroller – a new competition is set to take over. This blog will compare the two microcontrollers to examine similarities, differences, and ultimate preference.
The Raspberry Pi Pico has a dual-core processor, unlike its counterpart, which contains only a single core, allowing Raspberry Pi Pico a higher processing speed. The Raspberry Pi follows a 32 bit ARM structure countered by Arduino Uno R3’s 8 bit RISC. Raspberry Pi Pico also has a greater flash size at 2 MB than Arduino Uno’s 32 KBs. A similar trend exists when we observe RAM capacity, with 264 KB’s versus 2 KB.
Moving on to languages, Raspberry Pi Pico is programmable in several languages, including Micro Python, C, and C++. Arduino Uno R3 is programmable in its own Arduino IDE and C alike language. Overall, we would prefer Pi’s selection of languages as they are more common. Raspberry Pi has 26 digital input-output GPIOs compared to Arduino’s 20, both sufficiently enough. Arduino Uno R3 offers Female Header pre-soldered pins, unlike its counterpart, which does not.
Programming on Raspberry Pi Pico and Arduino Uno R3
Arduino Integrated Development Environment (IDE) is the commonly used platform for coding and programming on Arduino devices. It is the most frequently thought of editor by people when they think of coding on Arduino. Although, Arduino Uno R3 offers alternatives too, such as PlatformIO and Arduino Create. PlatformIO comes in three versions: one which allows it to integrate with pre-existing IDE’s, a command-line tool, and a dedicated IDE tool. Arduino create is a cloud version of Arduino IDE, essentially assisting Internet of Things(IoT) projects. Arduino IDE is perhaps the most straightforward IDE on Arduino devices as it allows you to add extensions, directories and libraries easily.
As we have described above, the Raspberry Pi Pico is compatible with Micro Python, C, and C++. Raspberry Pi officially recommends its users to use Micro Python as it gives the full Pi experience. Micro Python is also a more user-friendly language, making it more every day. Advanced users prefer to program in C or C++, but this is a matter of personal preferences. If you prefer to write your code in C or C++, you can either write it in an editor and subsequently build the code using a terminal; or you can setup MS Visual Studio and use extensions to build and flash your code to the Raspberry Pi Pico. This method might give you a sense of why Raspberry Pi recommends users to program in Micro Python.
The Raspberry Pi foundation has introduced a 40 pin ‘Dual In-line Package’ styled printed circuit board to the Raspberry Pi Pico, which mechanically supports and electrically connects components. These pins secure around the board’s perimeter as castellations that can colder the Pico board on the surface.
This Dual In-line Package (DIP) has been used for some time by Arduino in their other devices. DIP gives microcontrollers physical versatility of use, making it easy to solder them onto a wide variety of boards in various orientations. This style helps us embed microcontrollers into projects conveniently. Adopting it has given Raspberry Pi Pico an edge over Arduino. Despite using it in other devices such as Arduino Micro, they have gone with a different style for Arduino Uno R3.
Adding onto Raspberry Pi Pico’s choice of the circuit, its GPIO offers digital IO, analog inputs, I2C, SPI, and UART connections. Furthermore, we can configure programmable Input Outputs to direct complicated tasks to background processes. In our opinion, these options on the Pico’s circuitry give it an absolute advantage over Arduino Uno R3.
Ease of use
Since other Raspberry Pi devices are microcomputers rather than microcontrollers, they can be programmed like on a computer, unlike Raspberry Pi Pico. In the Pico, this programming workflow is somewhat altered, which is why we have dedicated part of our blog to the ease of use of these devices. On the Pico, our code gets directly saved on the board. All we need to do is flash the Pico with a UF2 image to select the language. After inserting the USB cable and dropping the UF2 file, we need to press the BOOTSEL button and start writing it. Or we can also connect to Thonny to start writing code.
C or C++ workflow a bit more complicated. Code is written on a terminal using a text editor, which must be projected first in a UF2 file and then manually transferred to the Raspberry Pi Pico. This process also includes downloading libraries and other dependencies. Another alternate to C/C++ programming on Pi Pico is the use of Microsoft Visual Studio, in which we can write and build the code on the visual studio. However, it is a bit advanced method of coding. Arduino has announced that an Arduino core for the RP2040 board was on the way, which is likely to make this process much simpler as it will give Raspberry Pi Pico access to Arduino IDE, which is easy to use and gets updated frequently.
Arduino IDE has alternatives, but it is particularly exceptional because it has been in use for more than 15 years. Arduino and Arduino IDE’s widespread use created much room for modifications and updates that Arduino has done a decent job. Years of feedback and improvements have created a swift workflow for Arduino IDE. This simplicity makes Arduino IDE a guiding light for C and C++ programming complexities on Raspberry Pi Pico. It is an excellent complement to Arduino IDE, and the possibility of a uniform way of programming across the two devices is a great way to move forward.
One of the most significant differences between a typical Raspberry Pi and Pi Pico is the power rating associated with these devices. Raspberry Pi Pico is significantly more power-efficient than its family; being a microcontroller does not come with the many overheads as a microcomputer.
After reviewing multiple tests, we came to the obvious conclusion that a Raspberry Pi Pico consumes less power while running as much as 12 LEDs at full brightness. In comparison, a Raspberry Pi 4 consumes more power just when it is running idle. But how does Raspberry Pi Pico compare with Arduino Uno R3?
In the same LED power test, Arduino Uno R3 operated at a power rating of 1.5 watts compared to the 3.1 watts consumed by Raspberry Pi Pico. Arduino Uno is the winner of this test. It is important to understand that lesser power consumption comes at the cost of lower processing speed for Arduino Uno R3. Due to their low power consumption, both of our microcontrollers dissipate less heat, making it a favorable situation.
Excluding shipping costs, Arduino Uno R3 costs 26 US Dollars or cheaper on Amazon while Raspberry Pi Pico is also on Amazon for just 13 US dollars. For the number of things one could do with these microcontrollers, these prices are quite affordable and offer good value for money. However, it seems that Raspberry Pi Pico is better off in terms of affordability as compared to an Arduino Uno R3.
Our pick between the two
According to their particular requirements, the choice of which microcontroller to buy rests entirely in the hands of the user. We can only determine whether an Arduino Uno R3 suits their project or a Raspberry Pi Pico after acquiring knowledge about the project itself. However, judging by the metrics we have ascribed above, Raspberry Pi Pico is the winner on paper. Raspberry Pi Pico has more appealing specifications and uses a more common language to program than Arduino Uno R3. It also offers more variety of usable languages. Raspberry Pi performed better in terms of functionality as well. We would call it even between the Raspberry Pi Pico and Arduino Uno R3 in terms of ease of use and declare the latter a clear winner in terms of power consumption. All-in-all though, the crown has to be awarded to the Raspberry Pi Pico.
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.