Is the Raspberry Pi Pico an alternative to the Arduino Nano?

In this article, I would like to answer the question “Is the Raspberry Pi Pico an alternative to the Arduino Nano?” This is not from me out of the air, but I have found on some sites so or so similar.

Is the Raspberry Pi Pico an alternative to the Arduino Nano?
Is the Raspberry Pi Pico an alternative to the Arduino Nano?

Since I have already programmed some examples with the Raspberry Pi Pico and know the Arduino Nano for several years. I think I can give you a good report here.

Price comparison

The Raspberry Pi Pico currently costs just under €10 plus shipping. The already quite aged Arduino Nano you can get for less than €5, but this is then a China clone and not an original Arduino. For an original Arduino Nano you have to calculate with €20 plus shipping costs.

Here goes a clear plus point to the Raspberry PI Pico. Whereby there are also some “replicas” these even mostly from well-known manufacturers such as Adafruit.

I think the price of this model will no longer do what roughly because the manufacturers all want to earn something on it and by the licensable layout must be achieved a certain price.

Comparison of the technical data of the Raspberry Pi Pico & Arduino Nano

Let’s compare the technical data of the two microcontrollers. Actually, you can already guess who will emerge as the clear winner here.
The Arduino Nano is much slimmed down, and therefore I will only compare the values which are available in both devices.

The Arduino Nano is available in 2 different “China clone variants” once with an old bootloader and with much less memory. Here I would like to compare the newer one.

Raspberry Pi PicoArduino Nano V3
ArchitectureARMAVR
MicrocontrollerDual-core Arm Cortex-M0+ (32-bit)ATmega328 (8-bit)
Clock speedup to 133 MHz16 MHz
Operating voltage5 V5 V
Current consumption11 mA19 mA
Input voltage1.8 V – 5.5 V7 V – 12 V
Max. current consumption per GPIO40 mA
Flash2 MB32 KB, 2 KB reservt for bootloader
SRAM264 KB2 KB
EEPROM1 KB
GPIOs30 GPIOs8 analog Pins,
14 digital Pins,
6 PWM Pins
Interfaces2x SPI,
2x I²C,
2x UART
1x SPI,
1x I²C,
2x UART
Dimensions (WxL)22 mm x 51 mm18 mm x 45 mm

As expected, the Raspberry Pi Pico has clear advantages over the Arduino Nano in pretty much all areas. But honestly, that was to be expected.

GPIOs

As can be seen from the table, the Pico has 30 GPIOs and the Nano V3 has 22 digital / analog pins.

The digital pins of the Arduino Nano are equipped with 5V and the GPIOs of the Pico are equipped with 3.3V.

The Pico has virtually on each GPIO the possibility to read / supply an analog signal on the Arduino Nano V3 these 8 pins are delivered individually.

Differences in programming

You can program the Raspberry Pi Pico with Micropython and the Arduino Nano with the slimmed down C/C++ language for the Arduino IDE. The Arduino Nano can also be programmed only with C or even assembler, and here you can clearly turn the performance screw. For programming the Pico you need some libraries which are already included with the Arduino.

Developer environment

For the Arduino Nano (also for the Arduino family) there are various development environments (called IDE for short).

Here are the most popular ones:

  • Arduino IDE,
  • Atmel Studio,
  • PlatformIO

The Raspberry Pi Pico can be programmed in Micropython. Theoretically, you don’t need a special IDE, because you can simply copy the *.py file to the microcontroller and the code will be executed.

So you can use the following IDEs besides the simple editors like Notepad++ or PSPad:

  • Thonny,
  • PyCharm,
  • Eclipse IDE

A small example – LED flashing

Let’s have a look at a very small example. Let’s assume we want to make a LED blink on the microcontrollers.

We can already see that we have to import at least 2 modules for the Pico so that we can control the pins. The code for the Arduino Nano is quite simple and comes without additional libraries (at least not visible).

Raspberry Pi Pico – Micropython

from machine import Pin
from time import sleep
led = Pin(17, Pin.OUT)
while True:
    led.toggle()
    sleep(0.25)

Arduino Nano V3 – Arduino IDE

int led = 13;
void setup(){
 pinMode(led, OUTPUT);
}
void loop(){
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led,LOW);
  delay(500);
}

Summary

As a conclusion, I would like to say that the Raspberry Pi Pico is far ahead of the Arduino Nano. However, even today the Arduino Nano has its raison d’être, if only because of the simple programming and the good, detailed documentation on the Internet.

Leave a Reply

Your email address will not be published. Required fields are marked *