A New Challenger in MCU Platform - Raspberry Pi Pico

A New Challenger in MCU Platform - Raspberry Pi Pico

If you have not heard of Raspberry Pi Pico, you should get one to try it! It is the 1st Microcontroller Development Board from the Raspberry Pi Foundation. Based on their 1st in-house designed Silicon IC - RP2040, which is the heart of Pico.

Rpi Pico Overview Hd

Overview of Raspberry Pi Pico

 

Raspberry Pi Foundation never fails to surprise us. In the 1st month of 2021, they launch the 1st MCU Platform of the product, which is also based on their first Silicon IC. 

Rpi Pico B A

Comes in SMD (surface mount device) compatible form factor

The Pico comes with a Dual-core, 32-bit ARM Cortex-M0+ Processor, clocked default at 48MHz, yet configurable up to 133MHz. Ready with 264KB of SRAM and onboard Quad-SPI of 2MByte of FLASH. It will never prompt you about not having enough memory :)

Raspberry Pi has been designing, producing, and delivering Single Board Computers that everyone loves and uses for certain applications! Cytron has been carrying the Raspberry Pi Zero to the latest Raspberry Pi 4 Model B and also the Pi 400. And now they are venturing Microcontroller Development Flatform :) I like it!

Based on RP2040 Silicon

Rpi 2040 Cu

The 1st Silicon from Raspberry Pi, the RP2040

 

RP2040 is the 1st Silicon designed in-house by Raspberry Pi's engineers. I guess many of us should have guessed correctly why it started with RP? Yes, Raspberry Pi. But why 2040? The Chip of the year 2040, future Chip :) No... is because of this:

Rp2040 Naming

So the "2" refers to Dual-Core, and the following "0" refers to the M0+ core type. The "4" refers to internal RAM size which you need to calculate through a formula, and for this case, the "4" ended up with 264 Kbyte of RAM. Last but not least, the "0" refers to onboard Flash or nonvolatile memory, in this case, is zero, with no internal Flash memory.  

RP2040 is a low-cost, high-performance microcontroller with flexible digital interfaces. Key features:

  • Dual Cortex M0+ processors, up to 133 MHz
  • 264 kB of embedded SRAM in 6 banks
  • 30 multifunction GPIO
  • 6 dedicated IO for SPI Flash (supporting XIP)
  • Dedicated hardware for commonly used peripherals
  • Programmable IO for extended peripheral support
  • 4-channel ADC with an internal temperature sensor, 0.5 MSa/s, 12-bit conversion
  • USB 1.1 Host/Device

Raspberry Pi Pico - Microcontroller Board

Since the RP2040 comes in SMD (Surface Mount Device) package, it is not beginner friendly. Fear not, Raspberry Pi Foundation knows what you need to get started, thus the Pico. Furthermore, the RP2040 is not available to the public at the time I write this article, yet! Raspberry Pi Pico comes with several components and breaks out the pins of RP2040 to PCB pads and edges. 

Rpi Pico B S

Top view of Raspberry Pi Pico Microcontroller Board

Rpi Pico B T

Bottom view of Raspberry Pi Pico

 

 

With the Raspberry Pi Pico board, it is programmable right out of the box. Of course, you must have a computer and a USB micro B cable. 

Rpi Pico Intro 16jan21

Overview of Raspberry Pi Pico

Let's look at the features of Raspberry Pi Pico:

  • 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
  • Clocked at 48MHz (default), 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 MicroPython, C, and C++ Programming Language
  • Drag and Drop Program loading method, just like moving files 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
  • Without a pre-soldered header pin
  • 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 to 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

Well, that's a long list of features :)

Let's look at the pin diagram:

Pico Pin Card Front

Pin Diagram of Raspberry Pi Pico

Rpi Pico B W

GPIO and PWM Pins of Pico

Support MicroPython, C and C++

Rpi Pico B U

Raspberry Pi Pico Supports MicroPython, C and C++ Programming Language

 

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), 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).

Drag and Drop Program Loading

With the USB Micro B receptor ready as the physical connection to a computer and the USB 1.1 device on the RP2040 (MCU), the Raspberry Pi Pico offers a simple and straightforward program loading method. It is like copying files from one 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?

Compact and Ready to be Mounted into the Product

Rpi Pico B J

PCB edge with castellated circuit board

Raspberry Pi Pico is not only super affordable, but it is also ready to be embedded in any product out of the box. With the unique PCB design, for both prototyping, and also SMT (Surface Mount Technology); it is perfect for everyone. Raspberry Pi Pico is extended out to a 40-pin 21x51 DIP (Dual Inline Package) style, 1mm thick PCB with 0.1" (100mil) through-hole pins. The width between holes is breadboard friendly, so students, makers, and engineers can use Pico on a breadboard or any standard PCB board for development or prototyping. Of course, you still need to solder the header pins manually :) Besides considering the ease of use for digital making, Raspberry Pi Pico is also ready for production. The pins are further extended to the PCB edge with castellated circuit board. This enables it to be soldered to another PCB board without the need for extra header pins, making a smaller and more compact finished product. Awesome!

Large RAM and Flash Size

Rpi Pico Memory 1

Huge SRAM and Flash on Raspberry Pi Pico

 

With 2 MByte of external QSPI Flash and 264 KByte of SRAM on Raspberry Pi Pico, it will never prompt you about not having enough memory :) Besides, the large size of RAM and Flash also enable Raspberry Pi Pico to be supported with higher programming languages such as MicroPython or even Javascript.

Flexible Power Input

Rpi Pico Vsys

Pin 39 of Raspberry Pi Pico accepts 2 - 5VDC

 

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; do not 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!

OK, that is good. Where can you get it and how much would it cost? Well, Raspberry Pi Pico is priced at USD 4.00 (without local tax and shipping). Cytron Technologies is carrying two versions of Pico:

Raspberry Pi Pico

Rpi Pico B V

Cytron added Two Rows of 20-way Straight Header Pins as Gift (at the time of launching)

Raspberry Pi Pico - Pre-soldered Headers

Rpi Pico Sh B

Raspberry Pi Pico with Pre-soldered Headers (Free USB Cable, Limited Promo)

Summary

I am sure with the specifications and powerful features of Raspberry Pi Pico, it is a good alternative microcontroller for everyone :) 

 

Resources: