================================================================================================================================================

Sunday, January 9, 2022

Raspberry Pi Pico - A Tiny Power-Packed Development Board

 




Raspberry Pi Pico is a relatively new, tiny but powerful development board designed by the Raspberry Pi (UK), which is based upon RP2040 microcontroller chip, developed in-house by Raspberry Pi. The microcontroller has dual-core Arm Cortex- M0+ Processor, running at clock up to 133MHz, with 264KB internal RAM and supports up to 16MB of external Flash. Multicore operation is supported by a pair of four entry FIFOs (one in each direction between the cores).

The Pi Pico board has 2MB of on-board QSPI Flash, which is programmable through USB Mass Storage Device mode or using Serial Wire Debug port. It also features wide range of flexible I/Os, like GPIO, UART, I2C, SPI, USB and also Programmable I/O (PIO), which is unique to this board. The board has small footprint with solderable headers. It is very cost-effective, available from large number of vendors, may be available in your nearest electronic shop, too. This opens doors for utilization towards a wide range of applications for novices as well as experts.

Detailed information on Raspberry Pi Pico is available here:

Following image with Pin-diagram of Pi Pico gives idea about various I/Os of the device: (courtesy- Raspberry Pi website):


The Pi Pico can be programmed in C/C++ (SDK support is provided by Raspberry Pi), Arduino or MicroPython. A lot of resources have already been made available in such a short time, for this board. That actually shows the rapid growth of interest in Pi Pico and usage by hobbyists/ professionals together. New libraries, packages and platform supports are getting added at quite a fast pace.

I've liked this board so much that I'm literally hooked to it 😊. The purpose of my this post is just to put up an introduction with resource pointers, which I wanted to do for quite some time, before I start posting experimental codes also, using it.


The Pico-SDK: This is official SDK from Raspberry Pi team, for writing C/C++ or assembly language code for Pi Pico, full with headers, libraries and build system, designed to provide an API and programming environment. Multicore support examples are also given.

Pico-SDK GitHub page provides detailed description and links for documentation for using the SDK projects. The SDK can be easily setup with VS Code for programming the Pi Pico. It also has the example projects to demonstrate the use of SDK for various peripherals/ interfaces of the device.

(You can also visit the wizio-pico project page on github, for faster way of getting started with installation and usage of pico-sdk on PlatformIO with VS Code)


The Pico-Arduino: The addition of the Arduino support has made Pi Pico even more easier to use for any newcomer who wants to get hands-on experience with it. 

There are two packages, shown in Arduino Boards Manager, "Arduino Mbed OS RP2040 Boards" and "Raspberry Pi Pico/RP2040" as shown here:



Both these board support Pico-SDK functions also. Raspberry Pi Pico/RP2040 GitHub page shows detailed information on installation and usage of the package with Arduino. Arduino Pico Document  provides detailed information on writing the code, with examples. This document by Earle F. Philhower, III, is getting updated, like, every other day! :)  This board also supports multicore programming using additional setup() and loop() functions (named setup1() and loop1()).

The  Arduino Mbed OS RP2040 Boards package supports Pico with Mbed RTOS for Arduino. This is really powerful. The Mbed OS is already being used widely in ARM Cortex devices, and support for the same in Pico Arduino makes things even more versatile and mighty by providing access to the various Mbed APIs inside Arduino.

With PlatformIO for VS Code: PlatformIO is a powerful IDE, which can be used for Pi Pico Arduino. The "Raspberry Pi Pico" board is shown in the Board Explorer of PlatformIO home menu. This is same as "Arduino Mbed OS RP2040 Boards" in Arduino IDE. The platfomIO provides professional features of code editing, auto code-completion suggestions / intelliSense, debug options, etc., which are not available currently in Arduino IDE.

Both the above Arduino packages have different default pin assignments for I2C, SPI, etc. Hence, interchangeability of the code has to be properly checked before changing the board setting. As lot of work is currently going on, I suppose there will be a single combined package in the future, which will do away with some of the initial confusion while programming.


Pi Pico with MicroPython: Pi Pico can also be used with MicroPython (or CircuitPython) interpreters, which make programming still easier for newbies who want to avid C/C++, or for programmers already experienced in Python.

Micropython.org page for Pi-Pico provides quick-start reference on installation and usage of micropython on Pi Pico. Also, Raspberry Pi official Datasheet of Python SDK is filled with detailed info on coding with micropython, with examples. This GitHub page also provides ready to use examples in micropython.

Thonny is easy to use, light-weight Python IDE for beginners. The Raspberry Pi page here provides getting started with micropython using Thonny IDE. The Adafruit page provides details on configuring Thonny with CircuitPython for Pi Pico.


Supporting Base Boards: Raspberry Pi Pico is easy to use on breadboard itself for initial prototyping or testing work, great for hobbyists. But if you need some proto board with ready connections for experiments, the Maker Pi Pico Base board looks great. It has got LEDs already mounted on each GPIO pin, providing visual feedback on the code functioning. It has also got other peripherals like microSD card, buzzer (speaker), audio jack, pushbuttons and also connector for ESP32 device for adding WiFi to the project. It's also available online, I think at most places. Here is my board:


You can also opt for a simple GPIO extension boards, like these:



These board are available on amazon, needs to just search for Pi Pico. You'll also get these or similar easily from your local suppliers, too. (In my recent experience during the chip shortage period, I've found getting Pi Pico boards far easier than many other development boards. That's one more incentive to use them!)

Summary:

I hope this gives you the idea of how easy it is to get started with Pi Pico board. The board is really cute, beautifully manufactured! Once you hold it in your hand, may be you'll fall in love with it, too!!😊 Small and yet, it is so powerful for such a size! Go ahead and grab one, you won't regret it.! 👍


Further Reading/ References:

  1. Raspberry Pi Pico Getting Started (Intro to setting up development environment, programming and loading the code into the board)
  2. RP2040 Microcontroller Datasheet (device datasheet of the chip itself)
  3. Pi Pico Board Datasheet (Pico board details with electrical, mechanical specs, powering, components, schematics and application briefs)
  4. Pi Pico Pinout (Pinout with alternative functions)
  5. Pi Pico Hardware Design Reference (Must read before you go ahead with making more hardware connections, other than blinking LEDs!)
  6. Pi Pico C/C++ SDK (C/C++ API function/interface details)
  7. Pi Pico Python SDK  (Python API function/interface details)
  8. Pico-SDK Documentation (doxygen)
  9. Arduino Pico documentation (details of Arduino API implementation)
  10. MicroPython Quick Reference for Pi Pico
  11. Beginner's Guide for R-Pi Pico (A nice starting guide with hardware setup and programming in MicroPython, from seeedstudio.com)

    You can also check out my next post on Raspberry Pi Pico with AES encryption example codes.

18 comments:

Jerry Martin said...

These topics are too complex for me to understand and I have been enrolled in a computer course, now I have to understand the topics and write on these microcontrollers and stuff. Also, I would like to thank you for this essay help online which I may use for clearing my concepts.

Ariel Wilson said...

Indeed Pi Pico is a tiny but the most powerful board built by a Pi Pico. I just want to say thanks for providing such an informative post with us about the new development microcontrollers sector. It helps students to find dissertation writing service london and also helps them to stay connected with the new development in the microcontrollers world.

QuickBooks Support said...

Your blog is great. I read a lot of interesting things from it. Thank you very much for sharing. Hope you will update more news in the future. If you want to Fix QuickBooks Error Code C=51 please contact QuickBooks team for instant help.

Victor Vaden said...

Hey there! Our proofreading services have experienced authors in our panel. They have experience writing APA annotated bibliography. We have qualified personnel in various fields of research, and we accordingly assign work to the author. Our professionals know how to create concisely and Chicago style annotated bibliography according to the needs of our customers.

Rhys Alexander said...

I'm taking a computer course, so I have to comprehend these issues and write about microcontrollers and other things, even though they are too complex for me to understand. I also want to thank you for providing me with this academic writing service Uk , which I may utilise to clarify some of my ideas.

Unknown said...

I am very inspire form your blog it's very informative to the reader. Also i want to share some information roofing reapire and change it. In the USA country the many roof repair service privder are working. But we are one of the best and expert proffessional Laredo Roofing company those provide the best roofing servies in the reasonable prices and we are working on the your door step.

joe_chef90 said...

I'm sure there are a number of great top game development companies out there, but I think it's important to look at the design aspect of things as well. Good design is essential in creating a great game. A design team should have experience in creating both 2D and 3D graphics, as well as an understanding of UI/UX elements of gaming. Look for a company that has a history of creating visually stunning games, and make sure to read reviews from other players to make sure that the design of the game is up to your standards.

working capital leads said...

This development board looks amazing! It is so tiny yet has so many useful features. It's great that it can be used for a variety of applications. I love that it has a wide range of I/O ports and can accommodate different types of expansion boards. It's also great that it has a built-in debugger, so it can be used for prototyping and development. This board looks like an amazing piece of tech that can be used in a variety of projects!

Data Visualization said...

This development board looks amazing! It seems like it is packed with so much power, yet it's incredibly small. I'm sure it will be perfect for all sorts of projects, from robotics to connected home devices. I'm really looking forward to seeing what can be accomplished with this tiny power-packed development board.

Laverne D. Tillson said...

The Raspberry Pi Pico is a powerful yet compact development board that can be used for a variety of projects. For individuals or businesses looking to create a website or landing page related to electronics or technology, it is important to find affordable Instapage web design services. With their expertise in web design and development, a professional Instapage web design service can help you create a stunning online presence that accurately reflects the power and versatility of the Raspberry Pi Pico. By partnering with the right service provider, you can ensure that your website or landing page effectively showcases the features and capabilities of this tiny yet mighty development board.

Marlene Jeff said...

The Raspberry Pi Pico is a highly capable development board that packs a lot of power into a small package, making it a popular choice for hobbyists and professionals alike. With its dual-core processor and support for a wide range of programming languages, it's a versatile tool for building everything from simple electronics projects to complex industrial automation systems. While it may not be directly related to sales compensation software, it's a valuable resource for anyone looking to develop innovative solutions for their business.

Wilson said...

Thanks for your beautiful information and keep sharing more like this...
appealing a protective order in virginia
attorney to contest protective order virginia

Phil Smith said...

A Tourism Development Board is a government or private sector entity responsible for the development, promotion and management of tourism in a particular destination. In the case of "Dubai desert safari," a Tourism Development Board would be responsible for creating and implementing strategies to attract visitors to the safari, improving the visitor experience, and ensuring the sustainability of the industry.

Alexa Demie said...

Design with microcontrollers is an exciting and rapidly developing field with a wide range of applications. It offers many opportunities for students to gain hands-on experience with cutting-edge technology, which can be valuable for those interested in pursuing careers in engineering or related fields. While not directly related to study abroad consultants, developing skills in microcontroller design could potentially enhance a student's academic profile and make them more competitive when applying to study abroad programs or other academic opportunities.




blank wholesale clothing said...

A Tiny Power-Packed Development Board: Perfect for compact projects with its impressive performance and versatile features. It's a game-changer for developers seeking efficiency without compromising on functionality. Highly recommended!

Best Textile ERP Software said...

We are one of the best textiles software provider in India. Our Best Textile ERP Software provides user-centric solutions in the textile company computing space.

motherboard accessories said...

The Raspberry Pi Pico is a game-changer in the world of microcontrollers, offering a compact yet powerful development board. With its versatile features, including a dual-core ARM Cortex-M0+ processor and programmable I/O, the Pico empowers enthusiasts and professionals alike to explore endless possibilities in the realm of embedded systems and DIY projects. Whether you're a beginner or an experienced developer, the Raspberry Pi Pico is a must-have tool for unleashing your creativity in the world of electronics and coding.

Appscre8ve said...

AppsCre8ve stands as the premier it staff augmentation services provider in the USA. Our expertise lies in seamlessly augmenting your team with top-tier professionals, ensuring skillful and agile solutions. Elevate your projects with our unmatched staff augmentation services, driving efficiency and innovation. Partner with us for transformative results and propel your business to new heights in the ever-evolving tech landscape.