SparkFun
Raspberry Pi RP2040 Microcontroller IC
· MPN: COM-26191
The RP2040 is Raspberry Pi’s debut microcontroller silicon, bringing the familiar Raspberry Pi focus on performance, low cost and ease of use into embedded d...
The RP2040 is Raspberry Pi’s debut microcontroller silicon, bringing the familiar Raspberry Pi focus on performance, low cost and ease of use into embedded designs.
It combines a symmetric dual-core processor complex, large on-chip SRAM, deterministic bus fabric and a rich peripheral set. The unique Programmable I/O (PIO) subsystem gives experienced users extra flexibility for timing-sensitive interfaces and custom peripheral behaviour.
RP2040 is a stateless device with support for cached execute-in-place from external QSPI memory, letting you choose the off-chip non-volatile storage density that suits your application. Detailed documentation, a polished MicroPython port and a UF2 bootloader in ROM help make it approachable for hobbyists as well as professional users.
Manufactured on a modern 40nm process node, it is designed for high performance, low dynamic power consumption and low leakage, with low-power modes for extended-duration battery-powered projects.
Features:
- Programmable I/O (PIO) subsystem for flexible custom interfaces
- Support for cached execute-in-place from external QSPI memory
- Detailed documentation available
- Polished MicroPython port
- UF2 bootloader in ROM
- Low-power modes to support extended-duration operation on battery power
Specifications:
- Processor: Dual ARM Cortex-M0+ @ 133MHz
- On-chip SRAM: 264kB on-chip SRAM in six independent banks
- Off-chip Flash support: Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
- DMA: DMA controller
- Bus fabric: Fully-connected AHB crossbar
- Math peripherals: Interpolator and integer divider peripherals
- Core voltage regulator: On-chip programmable LDO to generate core voltage
- PLLs: 2 on-chip PLLs to generate USB and core clocks
- GPIO: 30 GPIO pins, 4 of which can be used as analogue inputs
- UART: 2 x UARTs
- SPI: 2 x SPI controllers
- I2C: 2 x I2C controllers
- PWM: 16 x PWM channels
- USB: USB 1.1 controller and PHY, with host and device support
- PIO: 8 x PIO state machines
- Process node: 40nm process node
Jargon buster
Plain-language definitions for the technical terms used above.
- Bootloader
- Small starter software on a microcontroller that lets new code be uploaded before the main program runs. Knowing how to enter bootloader mode matters when you need to program the board or recover it after a faulty sketch.
- Flash memory
- Non-volatile memory that keeps stored data even when power is removed. In this sensor, it matters because enrolled fingerprint templates can remain saved after the project is turned off.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- microcontroller
- A microcontroller is a small computer on a chip that runs your program and controls connected inputs and outputs. For this product, it is the part that reads buttons and sensors, drives the display and speaker, and communicates over Bluetooth.
- MicroPython
- A version of the Python programming language made to run on microcontrollers. It matters because it lets beginners write readable code to control LEDs, sensors, motors and displays without needing to start with lower-level languages.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- RP2040
- A microcontroller chip used on many maker boards, with enough speed and flexible I/O for some camera and display projects. Compatibility with RP2040 matters because camera modules often need many pins and careful timing to read image data successfully.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- SRAM
- Fast temporary memory used by a processor while a program is running. More SRAM helps with projects that handle larger data buffers, networking, displays, or more complex code.
- UART
- UART is a simple serial connection that sends data over separate transmit and receive wires, often labelled TX and RX. It matters because this module is designed to replace a wired UART cable with a wireless link while keeping the same serial data format.
Find this product in
RP2040 Datasheet
Datasheet · 5.1 MB · Click any page to view full size
Hardware Design with RP2040 Guide
User Guide · 19.0 MB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 540.5 KB · Click any page to view full size