Note: This is Raspberry Pi Pico, the 1st MCU board from Raspberry Pi Foundation.
Note: There are two options: (please choose your preference)
- Raspberry Pi Pico with PRE-SOLDERED male headers, and it is breadboard friendly, plug and use!
- Raspberry Pi Pico without header, SMD friendly
The 1st MCU Board from Raspberry Pi - Pico
Released on the 21st of January 2021, the Raspberry Pi Pico is the 1st Microcontroller Development Board from Raspberry Pi Foundation. It is also based on the 1st Microcontroller IC/Silicon - RP2040, designed and produced by Engineers from the Raspberry Pi team too.
What is Raspberry Pi Pico? A Microcontroller Development Board
What are the differences between the Raspberry Pi 4 Model B and this Raspberry Pi Pico? Well basically, the Raspberry Pi 4 Model B is a motherboard or single-board computer that you can use to play games, work, record data, browse the Internet, watch movies, like a media player, and many more. Raspberry Pi Pico is not designed to replace the Raspberry Pi 4 Model B (or similar board), it is more for physical computing projects where it controls anything from small electronic components, LEDs, motors; reading information from sensors, or communicating 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. Of course, all these microcontrollers already have their programs for the applications.
This Raspberry Pi Pico is a microcontroller board that can perform physical computing and can be easily reprogrammed over a USB connection.
Programming with MicroPython
As Python is the official programming language of Raspberry Pi OS, MicroPython is chosen to be one of the programming languages for Raspberry Pi Pico. 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.
MicroPython is packed full of advanced features such as interactive prompts, arbitrary precision integers, closures, list comprehension, generators, exception handling, and more. Yet it is compact enough to fit and run within a microcontroller such as Raspberry Pi Pico. MicroPython aims to be as compatible with normal Python as possible to allow you to transfer code with ease from the desktop to a microcontroller or embedded system.
Programming loading of MicroPython into Raspberry Pi Pico is effortless. Just connect the Pico to any computer (including Raspberry Pi SBC) via USB, then drag and drop the file onto it. Yes! It is that easy! And Raspberry Pi Foundation has put together a downloadable UF2 file to let you install MicroPython more easily. Visit the Getting Started page by Raspberry Pi to download the necessary file. Or you can get yourself a printed copy of the "Get started with MicroPython on Raspberry Pi Pico" and start your digital-making journey.
Programming with C/C++
Not to worry, C/C++ is not forgotten :) Raspberry Pi Pico can also be programmed with C or C++ Programming language. To get started, please visit this page.
Work Seamlessly with Raspberry Pi Computer
You can always connect the Raspberry Pi Pico to any preferred computer with Windows, macOS, and Linux that supports Python 3.0, yet connecting it with the Raspberry Pi Single Board Computer will be perfect as it is designed by the same team. The official Operating System, Raspberry Pi OS comes pre-installed with Thonny Python IDE which is ready for you to get started writing MicroPython code for Pico. If you are using another OS (Windows, macOS, or other Linux distribution), please visit https://thonny.org/ to download the IDE and install it.
One of the Most Powerful MCU Dev Board
Dual-Core ARM Cortex M0+
Even though Raspberry Pico is based on 1st silicon designed by the engineers from the Raspberry Pi Foundation, they never disappoint us. The launching of Raspberry Pi 4 Model B, CM4, and Raspberry Pi 400 proves that! Check out the features and specs of this tiny yet powerful microcontroller board. It comes with not one, but two cores (dual-core) of a 32-bit ARM Cortex M0+ processor. Flexible clocking system, with configurable up to a maximum speed of 133MHz! This tiny MCU comes with a whopping 264 Kbyte of SRAM, an external QSPI with a capacity of 2 MByte, and eXecute in Place (XIP). Large RAM and Flash size enable you to write high-level programming languages like MicroPython for Raspberry Pi Pico.
The 1st MCU Platform by Raspberry Pi Foundation
1st Microcontroller Platform with the first in-house designed MCU silicon, RP2040! Yet, the Raspberry Pi team never stops surprising us with their work. This tiny board comes with a Dual-core 32-bit processor, ARM Cortex M0+ is an optimized superset of the Cortex-M0. The Cortex-M0+ has complete instruction set compatibility with the Cortex-M0 thus allowing the use of the same compiler and debug tools. The Cortex-M0+ pipeline was reduced from 3 to 2 stages, which lowers the power usage. On top of dual-core Cortex M0+, Raspberry Pi Pico comes with a reconfigurable clock speed, with the on-chip PLL (Phase-Locked Loop), which allows the MCU to be clocked at a maximum speed of 133MHz, of course, a configuration is necessary.
Compact and Ready to be Mounted into the Product
Raspberry Pi Pico is not only super affordable, but it is also ready to be embedded in any product out of the box. If you choose the version without pre-soldered headers, it is ready for SMT (Surface Mount Technology). Raspberry Pi Pico is extended out to 40-pin 21x51 DIP (Dual Inline Package) style, 1mm thick PCB with 0.1" (100mil) through-hole pins. The pins are further extended to the PCB edge with a castellated circuit board. This enables it to be soldered to another PCB board without the need for extra header pins, making it a smaller and compact finished product. Awesome!
Meanwhile, the version with pre-soldered headers is breadboard friendly, so students, makers, and engineers can use the Raspberry Pi Pico on a breadboard or any standard PCB board for development or prototyping.
USB Micro B for Power and Data
Raspberry Pi Pico incorporates the famous and commonly used USB Micro B receptor for both Power and Data. Just simply get a USB Micro B cable that normally comes with an Andriod phone or power bank to power it and load the program into it. No additional USB to Serial adapter is needed. Neat!
Peripheral Rich MCU
GPIO, ADC, UART, SPI, I2C of Raspberry Pi Pico
PWM Pins of Raspberry Pi Pico
With 26 GPIO (3.3V) broken out for applications, it has more GPIO pins than Arduino UNO, Arduino NANO, or even Arduino MKR Zero. Among these 26 GPIOs, 3 can be configured as 12-bit ADC with 500ksps (kilo sample per second), 2 x UART, 2 x SPI, 2 x I2C, and up to 16 x PWM pin. Internally, it also comes with 1 x Timer with 4 alarms and 1 x Real Time Counter. Not to forget the dual Programmable IO (PIO) peripherals which are flexible and user-programmable high-speed IO. It can emulate interfaces such as SD cards and VGA.
Note: The Raspberry Pi Pico GPIO runs at 3.3VDC. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.
Large RAM and Flash Size
Drag and Drop Program Loading Method
With the USB Micro B receptor ready as the physical connection to a computer and the USB 1.1 PHY on the RP2040 (MCU), the Raspberry Pi Pico offers a simple and straightforward program loading method. It is like copying files from a drive to another drive. The Pico appears as USB mass storage when it is connected to the computer via the USB port! It becomes a USB drive! Write your code and drag the file into that USB drive. After the file is completely copied, the Pico will reboot and run the program :) Easy right?
Support MicroPython, C, and C++
Python is one of the most famous and powerful programming languages nowadays. It is being used in many high-level applications such as AI (Artificial intelligence), DL (Deep Learning) and Web and Internet development, and more. Python is used successfully in thousands of real-world business applications around the world, including many large and mission-critical systems. 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. You will love it.
Besides MicroPython, Raspberry Pi Pico also supports C and C++ Programming Langauge. Check out the C/C++ SDK for more info. All these programming languages are loaded into Raspberry Pi Pico through USB Mass Storage which enables the simple drag and drop method (like copying a file to another drive).
Flexible Power Input
The USB Micro B receptor is the main power input to get the Raspberry Pi Pico "running", just connect the USB cable to any USB port and it will supply the power needed for the MCU to execute the program. In the case where you do not want to use the USB port, for example, a battery-powered, or a customized product; not to worry, Raspberry Pi Pico comes with a flexible onboard buck-boost Switch Mode Power Supply (SMPS) that is capable of accepting 2 to 5VDC input and converts it to a stable 3.3V supply for the RP2040 MCU to operate. Simply awesome! The pin is VSYS (Pin 39). With a wide voltage range, Raspberry Pi Pico can be powered by USB, 2 x AA battery, 2 x NiMH AA battery, 1 x 18650 Li-ion battery, or 1 x Cell LiPo battery!
Raspberry Pi Pico is inserted onto a breadboard, there are two rows of jumper holes on both sides of the PCB for prototyping.
What Will You Need to Get Started?
Since Raspberry Pi Pico is the 1st MCU platform from Raspberry Pi Foundation, everyone is new to it. Fear not! It is quite a beginner-friendly microcontroller board. Here are our recommendations for the beginner, maker, and engineer:
- Get the Raspberry Pi Pico with Pre-soldered headers if you want a hassle-free experience to get started.
- A USB Micro B Cable, you will at least need this cable to power and load the program into Raspberry Pi Pico.
- Breadboard 8.5x5.5cm (400 Holes), It can help to hold the Raspberry Pi Pico and you can extend the GPIO out for prototyping.
- Official Get Started with MicroPython on Raspberry Pi Pico-Color Printed, a comprehensive guide from Raspberry Pi to kickstart with this new MCU platform.
- Maker Pi Pico is a further beginner-friendly development board that extended all the GPIO of Pico to headers, Grove connectors, MicroSD card slot, ESP-01 (WiFi) socket, LED indicators, On-board buttons, RGB LED (Neo-Pixel).
- Raspberry Pi Pico Basic Kit without Pico, an electronics kit based on the official guide, without the Pico and Serial LCD and RGB LED
- Raspberry Pi Pico Basic Kit - with Pico, a complete electronics kit based on the official guide, without the Serial LCD and RGB LED
- 1st Microcontroller Development Board from Raspberry Pi Foundation
- 1st Silicon (IC), RP2040 MCU designed from the ground up by engineers of Raspberry Pi Foundation
- Dual-Core, 32-bit ARM Cortex M0+ Processor
- Flexible clock, configurable max to 133MHz
- Ready with USB Micro B receptor for Power and Data
- Support USB 1.1 Host and Device
- Connected to the USB port and it will appear as USB Mass Storage by default, no driver is needed
- Supports CircuitPython, MicroPython, C and C++, Arduino IDE Programming Language
- Drag and Drop Program loading method, just like moving file in Windows Explorer
- Comes in 40-pin 21x51 'DIP' style 1mm thick PCB with 0.1" through-hole pins, breadboard-friendly
- With the edge castellations PCB, it is ready to be mounted on another PCB without an additional header pin, SMD friendly
- Two options:
- Comes with PRE-SOLDERED header pins, breadboard-friendly
- Comes without header, SMD friendly
- Peripheral rich:
- Extended out 26 multifunction 3.3V General Purpose I/O (GPIO)
- 23 GPIO are digital-only
- 3 x 12-bit ADC capable of 500Ksps, Analog to Digital Converter
- 2 x UART (Universal Asynchronous Receiver/Transmitter)
- 2 x SPI (Serial Peripheral Interface)
- 2 x I2C (Inter IC)
- 16 x PWM (Pulse Width Modulation)
- 1 x Timer with 4 alarms
- 1 x Real Time Counter
- 2 x Programmable IO (PIO) that can emulate high-speed interfaces such as SD card or VGA
- Built-in 12-bit ADC temperature sensor
- 3-pin ARM Serial Wire Debug (SWD) port
- Onboard Programmable LED, GP25
- Simple yet highly flexible power supply architecture
- Support USB power, external supply (2 - 5VDC), or even battery power.
- Comprehensive SDK, software examples, and documentation
- Officially from Raspberry Pi Foundation
- Compatible with any computer with a USB port, Windows, macOS, Linux
- Work seamlessly with Raspberry Pi 4 Model B, or Raspberry Pi 400 and Raspberry Pi OS
- Dimensions: 51mm x 21mm x 1mm
- Raspberry Pi Pico with PRE-SOLDERED male headers:
- 1 x Raspberry Pi Pico - Pre-Soldered Headers
- Raspberry Pi Pico without header, SMD friendly
- 1 x Raspberry Pi Pico - without pre-solder header
- Getting Started with Raspberry Pi Pico (URL)
- Getting Started with Raspberry Pi Pico (pdf), C/C++ Development with the Pico and other RP2040-based microcontroller boards
- Raspberry Pi Pico Datasheet (pdf), An RP2040-based microcontroller board
- Pico Python SDK (pdf), A MicroPython Environment for the RP2040 Microcontroller
- Pico C/C++ SDK (pdf), Libraries and Tools for C/C++ Development on the RP2040 Microcontroller
- RP2040 Datasheet (pdf), A microcontroller by Raspberry Pi
- A New Challenger in MCU Platform – Raspberry Pi Pico, an article about Raspberry Pi Pico and RP2040
- Raspberry Pi Pico Vs Arduino UNO R3, an article to compare the spec of RPi Pico and Arduino UNO R3