RP2040

Last updated
RP2040 microcontroller RP2040.jpg
RP2040 microcontroller
RP2040 die shot Raspberry-pi rp2-b0 s1-9 mit20x.jpg
RP2040 die shot
A PhobGCC, an open-source motherboard replacement for the GameCube controller designed for competitive Super Smash Bros. Melee, powered by the RP2040 PhobGCC 2.0.5.png
A PhobGCC, an open-source motherboard replacement for the GameCube controller designed for competitive Super Smash Bros. Melee , powered by the RP2040

RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit [1] [2] [3] by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board. [1] Its successor is the RP2350 series.

Contents

Overview

Announced on 21 January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd. [1] [2] The microcontroller is low cost, with the Raspberry Pi Pico being introduced at US$4 and the RP2040 itself costing US$1. The microcontroller can be programmed in assembly, C, C++, Swift, [4] Free Pascal, Rust, [5] Go, [6] MicroPython, CircuitPython, [1] [7] Ada [8] and TypeScript. [9] It is powerful enough to run TensorFlow Lite. [1]

At announcement time, four other manufacturers (Adafruit, Pimoroni, Arduino, SparkFun) were at advanced stages of their product design, awaiting the widespread availability of chips to be put in to production. [10]

Hackaday notes the benefits of the RP2040 as being from Raspberry Pi, having a good feature set, and being released in low-cost packages. [11]

Multiple stepping levels of the chip have been produced. [12]

Features

The chip is 40 nm silicon in a 7 × 7 mm QFN-56EP surface-mount device (SMD) package manufactured by TSMC [13]

Boards

A number of manufacturers have announced their own boards using the RP2040. A selection of the growing number is here:

Board nameManufacturerSize (mm)Header pinsDebug connectionNumber of pads USB connectorOther connectors Flash size GPIO pins ADC pinsButtonsOther featuresImage
Pico [15] Raspberry Pi Ltd51×2140+3via headers6micro-USB2 MB263BOOTSEL Raspberry Pi Pico oblique.jpg
Pico W [16] Raspberry Pi Ltd51×2140+3via headers6micro-USB2 MB263BOOTSEL Wi-Fi, Bluetooth PXL 20220703 104511558.PORTRAIT (cropped).jpg
XIAO RP2040 [17] Seeed Studio20×17.5×3.514 Reset Button/ Boot ButtonUSB Type-C interface2 MBBOOTSEL + RESET
Nano RP2040 Connect [18] Arduino 45×1830via pads5+4+2micro-USB16 MB1Wi-Fi, Bluetooth, 9-axis IMU, microphone 18555 - Arduino Nano RP2040 Connect (cropped).jpg
Tiny 2040 [19] Pimoroni 22.9×18.2×68+3via headers USB-C 8 MB124BOOTSEL + RESET
Keybow 2040 [20] Pimoroni76x76x300 (USB only)USB-C2 MB16 keys
PicoSystem [21] Pimoroni96.6×42.7×15.50 (self contained)USB-C16 MB4 + joypad Color 240×240 LCD, onboard battery
Feather RP2040 [22] Adafruit 51×23×728via pinsUSB-CSTEMMA QT, lipo battery8 MB214BOOTSEL + RESET Battery charger
ItsyBitsy RP2040 [23] Adafruit 36×18×433via headersmicro-USB4 MB234BOOTSEL + RESET
Metro RP2040 [24] Adafruit 71x53×1332SWD + 3 pin JST SH compatibleUSB Type-CDC jack for 6-12VDC / STEMMA QT / SWD / pico probe16 MB244BOOTSEL + RESET NeoPixel LED, Micro SD
QT Py RP2040 [25] Adafruit22×18×614Reset Button/ Boot ButtonUSB-CSTEMMA QT8 MB134BOOTSEL + RESET3.3vdc regulator, NeoPixel LED
Pro Micro – RP2040 [26] Sparkfun 36×18244+2USB-CQWIIC16 MB204BOOTSEL + RESET SparkFun Pro Micro - RP2040 - 51412593812 (cropped).jpg
Thing Plus RP2040 [27] Sparkfun59×2328JTAG pinsUSB-CQWIIC, lipo battery16 MB184BOOTSEL + RESETBattery charger 17745-SparkFun Thing Plus - RP2040-01a (cropped).jpg
MicroMod RP2040 [28] Sparkfun22×220 edge connector edge connector16 MB293none 17720-SparkFun MicroMod RP2040 Processor-01A (cropped).jpg
Müsli USB Pmod [29] Lone Dynamics45×20.3212SWDUSB Type-A female12-pin male PMOD, SWD256 KB80BOOTSELUSB host, 5V boost converter
Werkzeug USB Multi-Tool [30] Lone Dynamics50×5032USB-C12-pin female PMOD, USB Type-A female1 MB244BOOTSELUSB device/host, PMOD
RP2040 [31] WeAct Studio53x21.5240+4via headersUSB-C2 MB,
4 MB,
8 MB,
16 MB
264BOOTSEL + RESET
RP2040-Zero [32] Waveshare Electronics23×1823USB-C10-pad connector2 MB294BOOTSEL + RESETRGB LED (WS2812)
Pico2040zeankun.dev51x1840+3 (2mm and 2.54mm variants are available)SWD4micro-USB16 MB,
32 MB,
64 MB,
128 MB
284BOOTSEL + RESET
Bus Pirate 5Where Labs, LLC60x3710+9SWDUSB-C16MB
W5100S-EVB-Pico [33] WIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet W5100s-evb-pico-1.1-side.png
W5500-EVB-Pico [34] WIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet W5500 evb pico side.png
W6100-EVB-Pico [35] WIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet W6100-evb-pico-side.png
WizFi360-EVB-Pico [36] WIZnet Co., Ltd.75×2140+3via headersMicro-USB2 MB263BOOTSEL + RESETWi-Fi WizFi360-EVB-Pico Main.png
0xCB-Helios [37] 0xCB36×1840+3via headersUSB-C16 MB29BOOTSEL + RESETdefault off red power LED, blue user LED, level shifter to drive 5V components. ESD protection chip onboard
Picopad [38] Pájeníčko s.r.o.129x5312via headersmicro-USBmicroSD, external connector2 MB6BOOTSEL + RESETon-off, Wi-Fi, micro SD card, external connector, IPS screen, speaker, battery
MUREX ANYESC [39] MUREX Robotics78×353via headersUSB-C edge connector 8 MB30BOOTSEL + RESETcommercial ESC connector, 3 user LEDs
RP2040-PICO30 [40] OLIMEX Ltd 51×2140+3via headersUSB-COptional UEXT (pUEXT)2 MB304BOOTSEL + RESET3.3V 2A (3A peak) DCDC, All 30 GPIOs available to the user, Optional status LED
RP2040-PICO30-16 [40] OLIMEX Ltd51×2140+3via headersUSB-COptional UEXT (pUEXT)16 MB304BOOTSEL + RESET
PicoUSB [41] VoltMake [42] 45×12x40 (USB only)Dual sided USB-A2 MBBOOTSEL + MODEstatus LED PicoUSB-RP2040-top.jpg

See also

Related Research Articles

<span class="mw-page-title-main">AVR microcontrollers</span> Family of microcontrollers

AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.

<span class="mw-page-title-main">Arduino</span> Italian open-source hardware and software company

Arduino is an Italian open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a CC BY-SA license, while the software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors.

<span class="mw-page-title-main">IOIO</span>

IOIO is a series of open source PIC microcontroller-based boards that allow Android mobile applications to interact with external electronics. The device was invented by Ytai Ben-Tsvi in 2011, and was first manufactured by SparkFun Electronics. The name "IOIO" is inspired by the function of the device, which enables applications to receive external input ("I") and produce external output ("O").

<span class="mw-page-title-main">Single-board microcontroller</span> Microcontroller built onto a single printed circuit board

A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program memory and any necessary support ICs. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.

<span class="mw-page-title-main">Raspberry Pi</span> Series of low-cost single-board computers

Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned toward the promotion of teaching basic computer science in schools. The original model became more popular than anticipated, selling outside its target market for diverse uses such as robotics, home automation, industrial automation, and by computer and electronic hobbyists, because of its low cost, modularity, open design, and its adoption of the HDMI and USB standards.

Maximite Microcomputer is a Microchip PIC32 microcontroller-based microcomputer. This series of chips uses the MIPS 32-bit RISC MIPS architecture and was neither an ARM nor PIC variant. Originally designed as a hobby kit, the Maximite was introduced in a three-part article in Silicon Chip magazine in autumn of 2011 by Australian designer Geoff Graham. The project consists of two main components — a main circuit board and the MMBasic Interpreter, styled after GW-BASIC.

<span class="mw-page-title-main">Adafruit Industries</span> American electronic components and hardware distributor

Adafruit Industries is an open-source hardware company based in New York, United States. It was founded by Limor Fried in 2005. The company designs, manufactures and sells electronics products, electronics components, tools, and accessories. It also produces learning resources, including live and recorded videos about electronics, technology, and programming.

<span class="mw-page-title-main">ATmega328</span> 8-bit microcontroller

The ATmega328 is a single-chip microcontroller created by Atmel in the megaAVR family. It has a modified Harvard architecture 8-bit RISC processor core.

<span class="mw-page-title-main">Intel Quark</span> Line of CPUs designed for small size and low power consumption

Intel Quark is a line of 32-bit x86 SoCs and microcontrollers by Intel, designed for small size and low power consumption, and targeted at new markets including wearable devices. The line was introduced at Intel Developer Forum in 2013, and discontinued in January 2019.

<span class="mw-page-title-main">Arduino Uno</span> Microcontroller board

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.

<span class="mw-page-title-main">Micro Bit</span> Single-board computer designed by the BBC for use in computer education

The Micro Bit is an open source hardware ARM-based embedded system designed by the BBC for use in computer education in the United Kingdom. It was first announced on the launch of BBC's Make It Digital campaign on 12 March 2015 with the intent of delivering 1 million devices to pupils in the UK. The final device design and features were unveiled on 6 July 2015 whereas actual delivery of devices, initially planned for September 2015 to schools and October 2015 to general public, began on 10 February 2016.

<span class="mw-page-title-main">ESP8266</span> System-on-a-chip microcontroller model with Wi-Fi

The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China.

<span class="mw-page-title-main">Arduino Nano</span> Single-board microcontroller

The Arduino Nano is an open-source breadboard-friendly microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2008. It offers the same connectivity and specs of the Arduino Uno board in a smaller form factor.

MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller.

<span class="mw-page-title-main">ESP32</span> Low-cost, low-power SoC microcontrollers with Bluetooth and Wi-Fi

ESP32 is a series of low-cost, low-power system-on-chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, an Xtensa LX7 dual-core microprocessor, or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. Commonly found either on device specific PCBs or on a range of development boards with GPIO pins and various connectors depending on the model and manufacturer of the board.

<span class="mw-page-title-main">CircuitPython</span> Programming language

CircuitPython is an open-source derivative of the MicroPython programming language targeted toward students and beginners. Development of CircuitPython is supported by Adafruit Industries. It is a software implementation of the Python 3 programming language, written in C. It has been ported to run on several modern microcontrollers.

<span class="mw-page-title-main">Thumby (console)</span> Miniature keychain sized game console

The Thumby is a small keychain-sized programmable game console produced by TinyCircuits of Akron, Ohio and funded by a Kickstarter campaign. The console measures 1.2 by 0.7 by 0.3 inches.

<span class="mw-page-title-main">RP2350</span> ARM- and RISC-V-architecture microcontroller by the Raspberry Pi Foundation

RP2350 is a 32-bit dual ARM Cortex-M33 and Hazard3 RISC-V microcontroller integrated circuit by Raspberry Pi Ltd. In August 2024, it was released as part of the Raspberry Pi Pico 2 board.

References

  1. 1 2 3 4 5 "Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4". January 21, 2021.
  2. 1 2 Adams, James (1 February 2021). "Raspberry Pi RP2040: Our Microcontroller for the Masses". Arm Blueprint. Retrieved 20 February 2021.
  3. 1 2 "RP2040 Datasheet" (PDF). Raspberry Pi Ltd. Retrieved 20 February 2021.
  4. apple/swift-embedded-examples, Apple, 2024-06-14, retrieved 2024-06-14
  5. "Rust on the RP series of microcontrollers". GitHub. Retrieved 29 March 2023.
  6. "Raspberry Pi Pico". TinyGo. Retrieved 2024-09-10.
  7. Rembor, Kattni. "Getting Started with Raspberry Pi Pico and CircuitPython". Adafruit Learning System. Adafruit . Retrieved 17 February 2023.
  8. "Ada on the Raspberry Pi Pico" . Retrieved 10 July 2023.
  9. "RP2040 | DeviceScript". microsoft.github.io. Retrieved 2023-11-28.
  10. "Tweet". twitter.com. Retrieved 2021-02-18.
  11. Williams, Elliot (20 January 2021). "Raspberry Pi Enters Microcontroller Game With $4 Pico". Hackaday. Retrieved 20 February 2021.
  12. "RP2040 datasheet" (PDF). Raspberry Pi Ltd. 2 May 2024. p. 391. There are two hardware issues with the device controller, both of which have software workarounds on RP2040B0, RP2040B1, and are fixed in hardware on RP2040B2
  13. "Raspberry Pi: Here's how we built our own chip to power the Pico". ZDNET. Retrieved 2023-10-05.
  14. "RP2040 Datasheet" (PDF). raspberrypi.com. Retrieved 2021-03-28.
  15. "Buy a Raspberry Pi Pico".
  16. "Pico W - Raspberry Pi | Rasppishop - Raspberry Pi Boards und Zubehör". Pico W - Raspberry Pi | Rasppishop - Raspberry Pi Boards und Zubehör (in German). Retrieved 2023-09-04.
  17. "Seeed Studio XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython". www.seeedstudio.com. 2023-08-06. Retrieved 2023-09-04.
  18. "Welcome Raspberry Pi to the world of microcontrollers". 20 January 2021.
  19. "Tiny 2040 – Pimoroni".
  20. "Keybow 2040 – Pimoroni".
  21. "PicoSystem – Pimoroni".
  22. "Adafruit Feather RP2040".
  23. "Adafruit ItsyBitsy RP2040".
  24. "Adafruit Metro RP2040".
  25. "Adafruit QT Py RP2040".
  26. "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics".
  27. "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics".
  28. "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics".
  29. "Müsli USB Pmod™ Compatible Module".
  30. "Werkzeug USB Multi-Tool".
  31. Studio, WeAct (2023-08-17), RP2040 / WeAct Studio 微行工作室 出品 , retrieved 2023-09-04
  32. "RP2040-Zero, A Low-Cost, High-Performance Pico-Like MCU Board Based On Raspberry Pi Microcontroller RP2040". www.waveshare.com. Retrieved 2023-09-04.
  33. "WIZnet W5100S-EVB-Pico".
  34. "WIZnet W5500-EVB-Pico".
  35. "WIZnet W6100-EVB-Pico".
  36. "WIZnet WizFi360-EVB-Pico".
  37. "0xCB Helios". GitHub .
  38. "Picopad".
  39. "ESC – MUREX Robotics Documentation". docs.murexrobotics.com. Retrieved 2024-07-07.
  40. 1 2 "RP2040-PICO30 - Open Source Hardware Board". Olimex. Retrieved 2024-07-19.
  41. "PicoUSB: Raspberry Pi (Pico) RP2040 powered Bad USB (Rubber Ducky)". PicoUSB. Retrieved 2024-09-29.
  42. "VoltMake - Electronics Engineering - PCB Design - Firmware - Software". VoltMake. Retrieved 2024-09-29.