Raspberry Pi RB2040 original  microprocessor from UK

500,00 EGP

Category:
Description

Raspberry Pi designs its own microcontrollers, which are standalone silicon chips for small embedded projects that provide real-time hardware control. These chips are used in Raspberry Pi Pico boards and can be used in third-party microcontroller boards. For more information about Raspberry Pi Pico, see Pico microcontroller boards.

Raspberry Pi microcontrollers can be programmed using:

  • C or C++, which are performance focussed and provide full control over hardware.
  • MicroPython, which provides simpler scripting for rapid development.

For more information on developing with RP2040 or RP2350, see the C/C++ SDK and MicroPython documentation.

Microcontroller overview

Raspberry Pi microcontrollers are silicon chips that handle specific, real-time tasks, like controlling motors or reading sensors, in embedded systems. Raspberry Pi offers two microcontrollers:

  • RP2040 is the original, general-purpose, dual-core Raspberry Pi microcontroller: a simple, cost-effective microcontroller unit (MCU).
  • RP2350 is a high-performance, dual-core microcontroller for applications with flexible hardware control; it’s a more powerful MCU with advanced features, memory, and security. RP2350 has four variants, described in RP2350 variants.

Key features

Both RP2040 and RP2350 share the following core features:

  • Dual-core processors for parallel processing.
  • On-chip SRAM for real-time workloads.
  • Deterministic bus fabric through a multi-master AHB crossbar that connects the CPUs, DMA, and peripherals to multi-bank SRAM.
  • Built-in USB controller and PHY that allows the microcontroller to act as either a USB device or USB host.
  • Flexible general-purpose I/O (GPIO) that can be configured for digital input/output or assigned to peripheral functions like UART, SPI, I2C, or PWM.
  • Programmable I/O (PIO), a unique feature of Raspberry Pi microcontrollers that provides extended peripheral support.
  • Built-in hardware peripherals for interfaces such as UART, SPI, I2C, PWM, and so on, reducing software overhead and improving efficiency.
  • High performance, low power consumption, and low power leakage as a result of the modern 40 nm manufacturing process for microcontrollers.
  • Low-power modes to support extended-duration operation on battery power.
  • Programming options with C/C++ SDK or MicroPython; you can run Python through the MicroPython port and program it using the UF2 bootloader built into ROM for drag-and-drop programming.

Feature comparison

The following table provides a comparison between RP2040 and RP2350 microcontrollers. For more details about each microcontroller’s features, see the dedicated sections for RP2040 and RP2350.

Comparison of Raspberry Pi microcontrollers (RP2040 and RP2350)
Feature RP2040 RP2350

Type

General-purpose MCU

High-performance MCU

Processor core

Dual-core Arm Cortex-M0+

Dual-core Arm Cortex-M33 (higher performance, TrustZone support) or Hazard3 (RISC-V)

Clock speed

Up to 133 MHz

Up to 150 MHz

On-chip SRAM

264 kB in six independent banks

520 kB multi-bank performance

Flash (non-volatile) memory

No on-chip flash; support for up to 16 MB of off-chip flash memory through dedicated external (QSPI.XIP) bus.

Option for on-chip flash depending on variant; support for up to 32 MB of off-chip flash memory through dedicated external (QSPI.XIP) bus. See RP2350 variants.

External volatile working memory (PSRAM)

Not supported.

Supported by a QMI memory interface using the QSPI.XIP bus.

GPIO pins

30 GPIO pins, 4 of which can be used as analogue inputs.

Depending on variant: 30 GPIO pins, 4 of which can be used as analogue inputs; or 48 GPIO pins, 8 of which can be used as analogue inputs. See RP2350 variants.

Programmable Input/Output (PIO)

Two PIO blocks, each with four state machines (eight in total).

Three PIO blocks, each with four state machines (twelve in total).

Peripherals

See RP2040 features.

Expanded set; see RP2350 features.

Direct Memory Access (DMA) controller

12-channel DMA controller with peripheral pacing and chaining.

16-channel DMA with enhanced throughput and flexibility.

AHB crossbar

A fully connected, multi-master AHB-Lite crossbar connecting CPUs, DMA, and peripherals to multi-bank SRAM and flash.

AHB5 crossbar, offering higher-throughput and bandwidth.

Interpolator

Dual interpolator blocks for fast integer maths and table lookup.

Dual interpolator blocks for fast integer maths and table lookup.

Integer divider

Separate hardware integer divider accessed through memory-mapped register.

Not present because the processors support hardware division in the CPU.

Analogue-to-digital conversion (ADC)

4 analogue inputs with internal temperature sensor, 500 kS/s, and 12-bit conversion.

Depending on variant: 4 or 8 analogue inputs with internal temperature sensor, 500 kS/s, and 12-bit conversion.

Core regulator architecture

On-chip, programmable Low-Dropout (LDO) to generate core voltage.

On-chip buck converter (SMPS) for active operation plus optional low-quiescent-current programmable LDO mode for sleep states.

On-chip Phase-Locked Loops (PLL)

Two PLLs for core clock and USB clock generation.

Two PLLs for core clock and USB clock generation.

Security features

None (basic MCU).

Arm TrustZone; cryptographic accelerators.

Deployment boards

Raspberry Pi Pico; third-party RP2040-based boards.

Raspberry Pi Pico 2; third-party RP2350-based boards.

Programming

C/C++ SDK, MicroPython

C/C++ SDK, MicroPython

RP2040

RP2040 is the original Raspberry Pi dual-core microcontroller. It’s packaged in a 7 x 7 mm QFN-56 form factor and engineered for low cost, low power consumption embedded control applications. It delivers deterministic real-time performance, flexible I/O, and moderate computational capability for tasks such as motor control, signal processing, human-machine interfaces, and embedded data acquisition. For more detailed information about RP2040, see the RP2040 datasheet.

RP2040 powers Raspberry Pi PicoPico WPico HPico WH, and other third-party RP2040-based microcontroller boards. For more information, see Raspberry Pi Pico and RP2040-based boards.

rp2040
RP2040 microcontroller chip

RP2040 naming

Raspberry Pi silicon chips follow a naming convention that starts with RP to refer to ‘Raspberry Pi’, followed by a number. Specifically, the microcontroller name, RP2040, is derived as follows:

  • RP specifies that the chip is Raspberry Pi silicon.
  • 2 refers to the number of processor cores.
  • 0 refers to the type of core processor (Cortex-M0+).
  • 4 refers to the amount of RAM, expressed as a logarithmic factor, which corresponds to 264 kB of on-chip SRAM.
  • 0 refers to the amount of non-volatile storage, expressed as a logarithmic factor (where 0 means that there is no on-board flash memory).
rp2040 explanation

RP2040 features

RP2040 is a standalone microcontroller designed for embedded systems, real-time control, and I/O management. Specifically, RP2040 provides the following:

  • Symmetric dual-core processor complex. The dual-core Arm Cortex-M0+ processor runs at up to 133 MHz and provides symmetric multiprocessing. The CPU cores provide equal low-power and efficient processing performance, and can run tasks in parallel. This is useful for real-time control, multi-tasking, and general embedded tasks.
  • Large on-chip memory. The 264 kB of on-chip SRAM in six independent banks provides fast internal memory for running code and storage data, and allows simultaneous access by CPUs and peripherals.
  • Support for external flash memory. RP2040 has no built-in flash memory, and so doesn’t store programs internally. Instead, RP2040 can run code directly from external flash memory over a fast QSPI interface, using caching to keep performance high. This allows you to choose how much flash storage your product needs and to use inexpensive, widely available chips.
  • Thermal monitoring. 4-channel ADC with internal temperature sensor, 500 kS/s, and 12-bit conversion; used for reading sensors and voltages, including an on-board temperature sensor.
  • Flexible hardware control with Programmable I/O (PIO). A mini processor subsystem that you can program to implement custom peripherals in hardware, consisting of two PIO blocks, each with four state machines (eight in total).
  • Fixed function peripherals. Built-in hardware blocks for standard protocols that handle common tasks and don’t need to be implemented in software, including:
    • Two UARTs for serial communication.
    • Two SPI controllers for data transfer.
    • Two I2C controllers for communication with low-speed peripherals.
    • 16 PWM channels.
    • A USB 1.1 controller and PHY, with host and device support.

Internal temperature sensor

The internal temperature sensor in RP2040 is a low-resolution, user-calibrated sensor. If you don’t calibrate the sensor, it’s unlikely to be accurate.

Accurate temperature measurement critically depends on knowing the ADC reference voltage (VREF). Because the temperature conversion formula is highly sensitive to VREF, even small errors in this value can result in significant temperature inaccuracies. RP2040 doesn’t include an internal fixed voltage reference for determining VREF, and so the reference voltage must either be:

  • Measured externally (noting that it can vary over time).
  • Provided by an external precision voltage reference.
Note
The RP2040 sensor voltage falls as temperature rises.

For more information about the internal temperature sensor in RP2040, see RP2040 datasheet: a microcontroller by Raspberry Pi.

Sleep mode power

RP2040 draws a typical ~180 μA, even in deep sleep. Sleep current depends on PVT:

  • Process; varies between chips.
  • Voltage; current varies linearly.
  • Temperature; current varies nonlinearly.

For minimal current draw use cases, we recommend that you completely power off the system or the RP2040 part of the system. For information about how to do this, see Power switching RP2040 for low standby current applications, adjusting as needed for your use case.

RP2040-based boards

You can use the first-generation of Raspberry Pi Pico microcontroller boards as development boards and as reference designs for other RP2040-based boards. For discussions about third-party RP2040-based boards, see the Raspberry Pi forums.

The design files for Raspberry Pi Pico and Pico W are openly available with no limitations. Raspberry Pi grants permission to use, copy, modify, and distribute the following designs for any purpose, with or without fee:

Raspberry Pi also offers design files for the RP2040 microcontroller:

Important
Designs are provided ‘as-is’ and the author disclaims all warranties with regard to the design, including all implied warranties of merchantability and fitness. In no event shall the author be liable for any special, direct, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data, or profits, whether in an action of contract, negligence, or other tortious action, arising out of or in connection with the use or performance of the design.
Reviews (0)

Reviews

There are no reviews yet.

Be the first to review “Raspberry Pi RB2040 original  microprocessor from UK”

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

Shipping and Delivery

MAECENAS IACULIS

Vestibulum curae torquent diam diam commodo parturient penatibus nunc dui adipiscing convallis bulum parturient suspendisse parturient a.Parturient in parturient scelerisque nibh lectus quam a natoque adipiscing a vestibulum hendrerit et pharetra fames nunc natoque dui.

ADIPISCING CONVALLIS BULUM

  • Vestibulum penatibus nunc dui adipiscing convallis bulum parturient suspendisse.
  • Abitur parturient praesent lectus quam a natoque adipiscing a vestibulum hendre.
  • Diam parturient dictumst parturient scelerisque nibh lectus.

Scelerisque adipiscing bibendum sem vestibulum et in a a a purus lectus faucibus lobortis tincidunt purus lectus nisl class eros.Condimentum a et ullamcorper dictumst mus et tristique elementum nam inceptos hac parturient scelerisque vestibulum amet elit ut volutpat.