RP2040

Last updated
RP2040 microcontroller RP2040.jpg
RP2040 microcontroller
RP2040 die Raspberry-pi rp2-b0 s1-9 mit20x.jpg
RP2040 die
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]

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++, Free Pascal, Rust, [4] Go, MicroPython, CircuitPython, [1] [5] Ada [6] and TypeScript. [7] 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. [8]

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

Per the datasheet, there are multiple revisions of the chip:
"The full source for the RP2040 bootROM can be found at https://github.com/raspberrypi/pico-bootrom. This includes both version 1 and version 2 of the bootROM, which correspond to the B0 and B1 silicon revisions, respectively."

Features

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

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 [12] Raspberry Pi Ltd51×2140+3via headers6micro-USB2 MB263BOOTSEL Raspberry Pi Pico oblique.jpg
Pico W [13] Raspberry Pi Ltd51×2140+3via headers6micro-USB2 MB263BOOTSEL Wi-Fi, Bluetooth PXL 20220703 104511558.PORTRAIT (cropped).jpg
XIAO RP2040 [14] Seeed Studio20×17.5×3.514 Reset Button/ Boot ButtonUSB Type-C interface2 MBBOOTSEL + RESET
Nano RP2040 Connect [15] Arduino 45×1830via pads5+4+2micro-USB16 MB1Wi-Fi, Bluetooth, 9-axis IMU, microphone 18555 - Arduino Nano RP2040 Connect (cropped).jpg
Tiny 2040 [16] Pimoroni 22.9×18.2×68+3via headers USB-C 8 MB124BOOTSEL + RESET
Keybow 2040 [17] Pimoroni0 (USB only)USB-C2 MB16 keys
PicoSystem [18] Pimoroni96.6×42.7×15.50 (self contained)USB-C16 MB4 + joypad Color 240×240 LCD, onboard battery
Feather RP2040 [19] Adafruit 51×23×728via pinsUSB-CSTEMMA QT, lipo battery8 MB214BOOTSEL + RESET Battery charger
ItsyBitsy RP2040 [20] Adafruit 36×18×433via headersmicro-USB4 MB234BOOTSEL + RESET
Metro RP2040 [21] Adafruit 53 x 71 x 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 [22] Adafruit22x18x614Reset Button/ Boot ButtonUSB-CSTEMMA QT8 MB134BOOTSEL + RESET3.3vdc regulator, NeoPixel LED
Pro Micro – RP2040 [23] Sparkfun 36×18244+2USB-CQWIIC16 MB204BOOTSEL + RESET SparkFun Pro Micro - RP2040 - 51412593812 (cropped).jpg
Thing Plus RP2040 [24] Sparkfun59×2328JTAG pinsUSB-CQWIIC, lipo battery16 MB184BOOTSEL + RESETBattery charger 17745-SparkFun Thing Plus - RP2040-01a (cropped).jpg
MicroMod RP2040 [25] Sparkfun22×220edge connectoredge connector16 MB293none 17720-SparkFun MicroMod RP2040 Processor-01A (cropped).jpg
Müsli USB Pmod [26] Lone Dynamics45×20.3212SWDUSB Type-A female12-pin male PMOD, SWD256 KB80BOOTSELUSB host, 5V boost converter
Werkzeug USB Multi-Tool [27] Lone Dynamics50×5032USB-C12-pin female PMOD, USB Type-A female1 MB244BOOTSELUSB device/host, PMOD
RP2040 [28] WeAct Studio53x21.5240+4via headersUSB-C2MB, 4MB, 8MB, 16MB264BOOTSEL + RESET
RP2040-Zero [29] Waveshare Electronics23x1823USB-C10-pad connector2MB294BOOTSEL + RESETRGB LED

(WS2812)

Pico2040zeankun.dev18x5140+3 (2mm and 2.54mm variants are available)SWD4micro-USB16MB,

32MB, 64MB, 128MB

284BOOTSEL

+ RESET

Bus Pirate 5Where Labs, LLC10+9SWDUSB-C16MB
W5100S-EVB-Pico [30] WIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet
WIZnet W5100S-EVB-Pico W5100s-evb-pico-1.1-side.png
WIZnet W5100S-EVB-Pico
W5500-EVB-Pico [31] WIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet
W5500-EVB-Pico W5500 evb pico side.png
W5500-EVB-Pico
W6100-EVB-Pico [32] WIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet
W6100-EVB-Pico W6100-evb-pico-side.png
W6100-EVB-Pico
WizFi360-EVB-Pico [33] WIZnet Co., Ltd.75x2140+3via headersMicro-USB2 MB263BOOTSEL + RESETWi-Fi
WizFi360-EVB-Pico WizFi360-EVB-Pico Main.png
WizFi360-EVB-Pico
0xCB-Helios [34] 0xCB36x1840+3via headersUSB-C16 MB29BOOTSEL + RESETdefault off red power LED, blue user LED, level-shifter to drive 5V components. ESD protection chip onboard
0xCB-Helios 0xCB-Helios-controller.png
0xCB-Helios
Picopad [35] 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

See also

Related Research Articles

<span class="mw-page-title-main">Universal asynchronous receiver-transmitter</span> Computer hardware device

A universal asynchronous receiver-transmitter is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Common signal levels are RS-232, RS-485, and raw TTL for short debugging links. Early teletypewriters used current loops.

<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 used for educational purposes and embedded systems

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. Since 2013, Raspberry Pi devices have been developed and supported by a subsidiary of the Raspberry Pi Foundation, now named Raspberry Pi Ltd. 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 and 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.

<span class="mw-page-title-main">STM32</span> ARM Cortex-M based Microcontrollers by STMicroelectronics

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.

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">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 microchip, 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 a 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, 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. ESP32 is created and developed by Espressif Systems, a Chinese company based in Shanghai, and is manufactured by TSMC using their 40 nm process. It is a successor to the ESP8266 microcontroller.

<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">Raspberry Pi 4</span> 4th generation of the mainline series of Raspberry Pi single-board computer

The Raspberry Pi 4 is the 4th generation of the mainline series of Raspberry Pi single-board computers. Developed by Raspberry Pi Trading and released on 24 June 2019, the Pi 4 came with many improvements over its predecessor; the SoC was upgraded to the Broadcom BCM2711, two of the Raspberry Pi's four USB ports were upgraded to USB 3.0, and options were added for RAM capacities larger than the 1 GB standard for the preceding Raspberry Pi 3 series. The Pi 4 also ends the trend of the $35 maximum MSRP that previous Raspberry Pis had adhered to, as the larger RAM capacities added extra cost to the board; however, the base 1 GB model is still sold for $35. On 28 September 2023, the Raspberry Pi 5 was announced as the successor to the Raspberry Pi 4.

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. "Rust on the RP series of microcontrollers". GitHub. Retrieved 29 March 2023.
  5. Rembor, Kattni. "Getting Started with Raspberry Pi Pico and CircuitPython". Adafruit Learning System. Adafruit . Retrieved 17 February 2023.
  6. "Ada on the Raspberry Pi Pico" . Retrieved 10 July 2023.
  7. "RP2040 | DeviceScript". microsoft.github.io. Retrieved 2023-11-28.
  8. "Tweet". twitter.com. Retrieved 2021-02-18.
  9. Williams, Elliot (20 January 2021). "Raspberry Pi Enters Microcontroller Game With $4 Pico". Hackaday. Retrieved 20 February 2021.
  10. "Raspberry Pi: Here's how we built our own chip to power the Pico". ZDNET. Retrieved 2023-10-05.
  11. "RP2040 Datasheet" (PDF). raspberrypi.com. Retrieved 2021-03-28.
  12. "Buy a Raspberry Pi Pico".
  13. "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.
  14. "Seeed Studio XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython". www.seeedstudio.com. 2023-08-06. Retrieved 2023-09-04.
  15. "Welcome Raspberry Pi to the world of microcontrollers". 20 January 2021.
  16. "Tiny 2040 – Pimoroni".
  17. "Keybow 2040 – Pimoroni".
  18. "PicoSystem – Pimoroni".
  19. "Adafruit Feather RP2040".
  20. "Adafruit ItsyBitsy RP2040".
  21. "Adafruit Metro RP2040".
  22. "Adafruit QT Py RP2040".
  23. "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics".
  24. "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics".
  25. "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics".
  26. "Müsli USB Pmod™ Compatible Module".
  27. "Werkzeug USB Multi-Tool".
  28. Studio, WeAct (2023-08-17), RP2040 / WeAct Studio 微行工作室 出品 , retrieved 2023-09-04
  29. "RP2040-Zero, A Low-Cost, High-Performance Pico-Like MCU Board Based On Raspberry Pi Microcontroller RP2040". www.waveshare.com. Retrieved 2023-09-04.
  30. "WIZnet W5100S-EVB-Pico".
  31. "WIZnet W5500-EVB-Pico".
  32. "WIZnet W6100-EVB-Pico".
  33. "WIZnet WizFi360-EVB-Pico".
  34. "0xCB Helios".
  35. "Picopad".