รถเข็นของคุณว่างเปล่า!
Raspberry Pi RP2040 Dual Core Microcontroller
- แบรนด์ Raspberry Pi รหัสสินค้า: V-RPI-RP2040
- ส่งจาก: Malaysia
Note: This is the Raspberry Pi RP2040 Dual-core ARM Cortex-M0+ Microcontroller IC.
Note: Please choose the preferred packaging from the options:
RP2040 in 13-inch Tape/Reel - 3400 pcs | RP2040 in 7-inch Tape/Reel - 500 pcs | RP2040 - Single Unit Cut Tape |
Raspberry Pi's 1st MCU, designed and produced from the ground up by Raspberry Pi Engineers. It is being launched on the Raspberry Pi Pico in January 2021. And now, it's available for everyone to make their own product!
Well, this explained it all:
In layman terms: Raspberry Pi Dual Core ARM Cortex-M0+, on-chip 264KByte RAM, with no on-chip Flash
Well, RP2040 is a dual-core ARM Cortex-M0+ microcontroller silicon with a flexible clock up to 133MHz. A microcontroller is a brain for development boards such as Arduino UNO, yet RP2040 offers way more powerful features! A microcontroller is the main IC that allows you to program for physical computing projects where it controls anything from small electronic components, LEDs, motors; reading information from sensors, or communicate with other microcontrollers.
We probably have lots of microcontrollers in our house already. For example, a washing machine is controlled by a microcontroller; most likely our watch is too; there is also one in a microwave. And one of the closest examples to a digital maker might be the 3D printer. The controller board has a microcontroller on it. Of course, all these microcontrollers already have their programs for the applications.
It comes with not one, but two cores (dual-core) of a 32-bit ARM Cortex M0+ processor. A flexible clocking system, with configurable up to a maximum speed of 133MHz! This tiny MCU comes with a whopping 264 Kbyte of SRAM, built-in. And offers an option for designers to match external Quad-SPI Flash of up to 16 MByte, and eXecute in Place (XIP). Large RAM and Flash size enable you to utilize high-level programming languages like MicroPython for this microcontroller.
RP2040 contains a USB 2.0 controller that can operate as either:
RP2040 comes with an integrated USB 1.1 PHY which interfaces the USB 2.0 controller with the DP and DM pins of the chip. With this, the RP2040 has provided ease of interface to computers. This has been widely used on Raspberry Pi Pico, just download the UF2 file, drag and drop in the drive (Mass Storage), and you can program the RP2040 with MicroPython or CircuitPython, no additional programmer is needed. Neat!
Block Diagram of RP2040
With 30 GPIO (4 reserves for QSPI with External Flash), there are plenty of peripherals for many different applications. Among these 26 GPIOs, there are:
With on-chip 264 KByte of SRAM and external QSPI Flash up to 16 MByte, Raspberry Pi RP2040 will never prompt you about not enough memory :) Besides, the large size of RAM and Flash also enables applications to be supported with higher programming languages such as MicroPython, CircuitPython, or even Javascript.
As many platforms are now working to build the ecosystem around the Raspberry Pi RP2040, more programming language is onboard to support it. Initially, MicroPython, C, and C++. Now CircuitPython from Adafruit is also being developed to support RP2040. Not to forget Arduino IDE also supports the program of RP2040 with the launch of Arduino Nano RP2040 Connect.
As Python is the official programming language of Raspberry Pi OS, MicroPython is chosen to be one of the programming languages for Raspberry Pi RP2040. MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimized to run on microcontrollers and in constrained environments.
Programming loading of MicroPython and CircuitPython into Raspberry Pi RP2040 is effortless, as it is being shown with Raspberry Pi Pico. Just connect the RP2040 to any computer (including Raspberry Pi SBC) via USB, then drag and drop the file onto it. Yes! It is that easy! And the UF2 files for MicroPython or CircuitPython are ready for everyone to download and use.
One of the features that make RP2040 different from most other microcontroller IC is the Programmable Input/Output block. There are two PIO blocks and they are unique for RP2040, special!
Check out this video about PIO from the Raspberry Pi team:
Just imagine you want to develop a library or driver for a certain protocol that is not standard, for example, to drive WS2812B or SK6812 (NeoPixel Compatible). It requires accurate timing to send RGB information. Conventionally, many have to drill down to assembly language and bit-bang the IO with accurate instruction set timing to do that! Now, you can utilize the PIO to do that from a high-level programming language.
PIO allows you to create additional hardware interfaces or even new types of interfaces. If you’ve ever looked at the peripherals on a microcontroller and thought “I need four UARTs and I only have two,” or “I’d like to output DVI video,” or even “I need to communicate with this accursed serial device I found, but there is no hardware support anywhere,” then you will have fun with PIO.
Here is another detailed explanation about Programmable I/O from stacksmashing:
Get yourself the development board based on Raspberry Pi RP2040 will help you unleash the power of it: