RP2040 VS ESP32[Video+FAQ]: Which one is better?

2.4GHz~2.5GHz Bluetooth, WiFi -40°C~85°C 2.7V~3.6V ADC, GPIO, I2C, I2S, PWM, SDIO, SPI, UART 150Mbps 20.5dBm 802.11b/g/n, Bluetooth v4.2 + EDR, Class 1, 2 and 3 -97dBm Module

RP2040 and ESP32 are all microcontrollers. This article is going to talk about the differences between them.

This video demonstrates detailed information about RP2040 and ESP32, and interpret the differences between them.

Raspberry pi pico vs esp32

Overview of RP2040

The Raspberry Pi RP2040  is the company’s first microcontroller. It brings to the microcontroller arena our distinctive values of great performance, low cost, and ease of use. It provides professional users with unrivaled power and flexibility because of its huge on-chip memory, symmetric dual-core processing complex, deterministic bus fabric, and comprehensive peripheral set reinforced with our innovative Programmable I/O  (PIO) subsystem. It provides the lowest possible barrier to entry for beginning and amateur users, with thorough documentation, a polished MicroPython port, and a UF2   bootloader in ROM.

The RP2040 is a stateless device with external QSPI   memory cached execute-in-place functionality. This design option allows you to select the right density of nonvolatile storage for your application while also taking advantage of commodity Flash‘s low pricing.

The RP2040 is built on a cutting-edge 40nm process node that delivers great performance, low dynamic power consumption, and low leakage, as well as a range of low-power modes to facilitate extended battery operation.

Overview of ESP32

ESP32 is a low-cost, low-power system on a chip  (SoC) series with Wi-Fi and dual-mode Bluetooth features developed by Espressif Systems! The chip ESP32-D0WD  Q6 (and ESP32-D0WD  ), ESP32-D2WDESP32-S0WD, and the system in package (SiP) ESP32  -PICO-D4 are all part of the ESP32  family. A dual-core or single-core Tensilica   Xtensa LX6   microprocessor with a clock rate of up to 240 MHz is at its heart. Antenna switchesRF baluns, power amplifiers, low-noise receive amplifiers.  filters, and power management modules are all included in the ESP32,  ESP32  is designed for mobile devices, wearable electronics, and IoT applications, and it uses power-saving technologies including fine resolution clock gating, numerous power modes, and dynamic power scaling to achieve ultra-low power consumption.

RP2040 Features

  • Dual ARM Cortex  -M0+ @ 133MHz 
  • 264kB on-chip SRAM  in six independent banks
  • Support for up to 16MB of off-chip Flash memory  via dedicated QSPI  bus
  • DMA controller
  • Fully-connected AHB crossbar 
  • Interpolator and integer divider peripherals
  • On-chip programmable LDO  to generate a core voltage
  • 2 on-chip PLLs  to generate USB  and core clocks
  • 30 GPIO  pins, 4 of which can be used as analog inputs
  • Peripherals

ESP32 Features

Processors:

  • CPU: Xtensa   dual-core  (or single-core) 32-bit LX6   microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS
  • Ultra-low-power (ULP) co-processor
  • Memory: 320 KiB RAM, 448 KiB ROM
  • Wireless connectivity:
  • Wi-Fi: 802.11 b/g/n
  • Bluetooth: v4.2 BR/EDR and BLE  (shares the radio with Wi-Fi  )

Peripheral interfaces:

  • 34 × programmable GPIOs 
  • 12-bit SAR ADC  up to 18 channels
  • 2 × 8-bit DACs
  • 10 × touch sensors  (capacitive sensing GPIOs  )
  • 4 × SPI 
  • 2 × I²S interfaces
  • 2 × I²C interfaces
  • 3 × UART
  • SD/SDIO/CE-ATA/MMC/eMMC host controller 
  • SDIO/SPI slave controller 
  • Ethernet MAC  interface with dedicated DMA and planned IEEE 1588 Precision Time Protocol  support[4]
  • CAN bus 2.0
  • Infrared remote controller (TX/RX, up to 8 channels)
  • Motor PWM 
  • LED PWM  (up to 16 channels)
  • Hall effect sensor
  • Ultra-low-power analog pre-amplifier

Security:

  • IEEE 802.11 standard security features all supported, including WPA, WPA2, WPA3 (depending on the version)[5] and WAPI
  • Secure boot
  • Flash encryption
  • 1024-bit OTP, up to 768-bit for customers
  • Cryptographic hardware acceleration: AES, SHA-2, RSA, elliptic curve cryptography (ECC), random number generator (RNG)

Power management:

  • Internal low-dropout regulator
  • Individual power domain for RTC
  • 5 μA deep sleep current
  • Wake up from GPIO interrupt, timer, ADC measurements, capacitive touch sensor interrupt

RP2040 VS ESP32 Features

RP2040 ESP32
Core countDual-coreSingle/dual-core
MicrocontrollerRP2040Tensilica Xtensa LX6
Clock frequency48MHz/133MHz80Mhz/160MHz/240MHz
SRAM264 KB in 6 banks520 KB
Interna Flash Memory2 MB4 MB
External Flash SupportUp to 16 MB16MB
SPI24
I²C22
PWM1616
ADC3(12-bits)18(12-bits)
GPIO(total)2636
UART23
RTC memoryNot Specified16 KB
MCU Voltage3.3 VCD3.3 VCD
Programming LanguageC, C++ MicroPythonC, C++ MicroPython
Operating Voltage3.3 VDC3.3 VDC
Temperature SensorYesYes
Touch SensorNoYes
WIFINot Supported802.11 b/g/n
Wi-Fi MeshNot SupportedUp to 1000 nodes
BluetoothNot SupportedV4.2 (Supports both Classic Bluetooth and BLE)
Bluetooth MeshNot SupportedBLE Mesh
EthernetNot Supported10/100 Mbps
Onboard LED1 programmable LED(GPIO 25)1 programmable LED(GPIO 2)
SD/MMC slotYesYes

Differences between the RP2040 and ESP32’s Features

On the spec sheet, both microcontroller boards are excellent. The RP2040  is the Raspberry Pi Pico is an ARM Cortex  -M0+ Dual-core CPU, while the Tensilica   Xtensa LX6  in the ESP32  is a 32-bit dual-core CPU,  Though an option to get a Single-core variant of ESP 32  is also available. The Pico’s CPU  runs at 133 MHz, while the ESP32  runs at 240 MHz. As a result, the Arm Cortex  -M0+ CPU  is significantly slower than the ESP 32  ‘s 32-bit LX6 CPU.

The Pi Pico has 2 MB  of Flash memory, while the ESP 32  has 4 MB. A board’s flash memory is the location where the program is stored. ESP 32  has double the flash memory of Pico, but it also has wireless connectivity, so the 4 MB  storage difference is negligible. If we don’t have any WiFi or Bluetooth-based programs, 2 MB  of storage should be plenty. The SRAM  on the ESP 32  is 520 KB, while the SRAM  on the Raspberry Pi Pico is 264 KB,  The SRAM  size is sufficient because the Raspberry Pi Pico uses MicroPython projects.

RP2040 VS ESP32 Pinout

RP2040 Pinout

ESP32 Pinout

RP2040 VS ESP32 Block Diagram

RP2040 Block Diagram.jpg

RP2040 Block Diagram

ESP32 Block Diagram.jpg

ESP32 Block Diagram

RP2040 VS ESP32 Specifications

RP2040 ESP32
CPUArm Cortex-M0+ Dual-core @133MHzTensilica Xtensa LX6
32 bit Dual-Core @ 160 / 240Mhz
Programmable pins3038
Supply Voltage1.8-5.5V2.2-3.6V
RAM264 KB520 KB
ROM (Flash)448 KB
UART23
SPI2 (OSPI)4
Deep sleep consumption18 µA (Dormant) 39 µA (Sleep)10 µA
DAC8 bit up to 2 channels
I2S12
ADC x4 12-bit 12 bit SAR ADC up to 18 channels
Temperature sensor×
Hall effect sensor×
GPIO3032 (up to)
Touch sensors10
External SPIRAM16 MB up to
RTC Memory16 KB
Ethernet (LAN, RJ45)10/100Mbps
Height0.27559 in (7 mm)0.23622 in (6 mm)
Width0.27559 in (7 mm)0.23622 in (6 mm)

Differences between the RP2040 and ESP32’s Specifications

There are 30 programmable pins on the Raspberry Pi Pico and 38 on the ESP32. External flash is present on both boards. Both boards, on the other hand, feature a sufficient number of pins for IoT development and projects. Except for I2S  and CAN, the Raspberry Pi Pico supports practically all conventional Analogue to Digital Converter  (ADC) interfaces. These two interfaces are not necessarily required, however they are included with the ESP 32Direct Memory Access  (DMA) is available on both boards. The Raspberry Pi Pico has standard USB support, however, the ESP 32  is missing this most fundamental and useful capability.

For debugging, both the Raspberry Pi Pico and the ESP 32  provide a Serial Wire Debug interface. Wireless communication, such as WiFi or Bluetooth, is not supported by the Raspberry Pi Pico,  The ESP32  board, on the other hand, supports WiFi and Bluetooth communication. The power consumption of the two boards is drastically different. With WiFi switched off, the Raspberry Pi Pico consumes only 18mA  of current, whereas the ESP 32  board consumes a massive 53 mA. Raspberry has done a fantastic job here.

When it comes to an input supply voltage, the Raspberry Pi Pico can run between 1.8 and 5.5 volts, whereas the ESP32  can operate between 2.2 and 3.6 volts. This means that a Li-Ion battery (3.3-4.2V) or two AA batteries  (2.0-3.2V) can be directly connected to the Raspberry Pi Pico.  but the ESP 32  will not accept either of these primary batteries. Both microcontroller boards are the same price, $4, making them both reasonably priced.

RP2040 VS ESP32 Datasheet

  • RP2040 Datasheet
  • ESP32 Datasheet

Conclusion:

The Raspberry Pi Pico is a beginner-friendly microcontroller board that uses MicroPython to provide a warm introduction to the IoT branch and microcontrollers. The RP2040  is a well-designed microprocessor that may be used in practically any IoT project. It has sufficient power to get the job done efficiently. ARM M0+  is the CPU type for the dual-core processor. All of these capabilities for about $4 is a fantastic price, especially for students who want to board for a variety of projects that do not require wifi access.

The ESP 32, on the other hand, is a small but powerful microcontroller board. It is a very well-developed microchip that may be utilized in a variety of IoT applications because of its low cost, low power consumption, and small size. This microcontroller board.  on the other hand, has earned a reputation as one of the best boards for IoT developers because of its wireless connectivity and other fascinating features.

RP2040 VS ESP32 Package information

RP2040 Package information.jpg

RP2040 Package information

ESP32 Package information.jpg

ESP32 Package information

ESP32 Manufacturer

PIC Programming Software. The cost of developing the Microchip PIC has been reduced thanks to the EPIC family of in-circuit emulators. The first EPIC was released in May 1995, and since then, over 10,000 units have been shipped, making the ICEPIC the most popular emulator on the planet. Microchip Technology has chosen to offer the product as well as integrate it into their own MPLAB operating system. They also sell programmers, C compilers, BASIC compilers, a variety of reference books, tutorials, and project boards, making them a one-stop-shop for PIC microcontroller development.

Parts with Similar Specs

Newsletter
Connect with us
Customer Service: 0086-755-83210457
Logistics Dept.: 0086-755-83233027
9:30am to 12pm and 1:30pm to 10pm,
Monday through Friday, UTC/GMT +8.

SSL encrypted
payment
© 2024 LCSC.COM All Rights Reserved. 粤ICP备17041818号