RP2040

RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit  by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board.

Overview
Announced on 21 January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd. 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, Free Pascal, Rust, Go, MicroPython, CircuitPython, Ada and TypeScript. It is powerful enough to run TensorFlow Lite.

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.

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

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.
 * Key features:
 * 133 MHz dual ARM Cortex-M0+ cores (supports overclocking )
 * Each core has an integer divider peripheral, and two interpolators.
 * 264 KB SRAM in six independent banks (four 64 KB, two 4 KB)
 * No internal flash or EEPROM memory (after reset, the boot-loader loads firmware from either external flash memory or USB into internal SRAM)
 * QSPI bus controller, supporting up to 16 MB of external flash memory
 * DMA controller
 * AHB crossbar, fully-connected
 * On-chip programmable low-dropout regulator (LDO) to generate core voltage
 * Two on-chip PLLs to generate USB and core clocks
 * 30 GPIO pins, of which four can optionally be used as analog inputs
 * Peripherals:
 * Two UARTs
 * Two SPI controllers
 * Two I²C controllers
 * 16 PWM channels
 * USB 1.1 controller and PHY, with host and device support
 * Eight programmable input–output (PIO) state machines
 * Four channel ADC with internal temperature sensor, 500 ksps, 12-bit conversion

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