element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Documents Raspberry Pi Pico
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: e14phil
  • Date Created: 13 Jan 2021 5:44 PM Date Created
  • Last Updated Last Updated: 27 Jan 2021 3:48 PM
  • Views 19494 views
  • Likes 20 likes
  • Comments 128 comments
Related
Recommended

Raspberry Pi Pico

image

Raspberry Pi Pico

 

Buy NowBuy Now
Buy Now from CPCBuy Now from CPC

 

We are very excited to introduce the all new Raspberry Pi Pico, a tiny, $4, MicroPython and C/C++ board with custom RP2040 silicon.

This is the first product from the Raspberry Pi Foundation built with their in house designed RP2040.

At $4 and available individually or even available on reels, this Raspberry Pi is the next step in home and industrial products.

Looking at the edge of the PCB you can see the Raspberry Pi Pico has been designed to be used with header pins or soldered directly onto your products PCB.

James Adams, Chief Operating Officer, Raspberry Pi Trading, said:

“This is the start of an exciting new era for Raspberry Pi. With Raspberry Pi Pico, and RP2040, we have been able to draw on insights drawn from a decade of using other vendors’ microcontrollers, and to create an innovative silicon platform for our customers. People have used Raspberry Pi to create a broader spread of projects and products than we could have imagined a decade ago; we’re sure the same will be true of Raspberry Pi Pico.”

image

Raspberry Pi Pico Specifications:

  • GPIO and Debug Pins
  • RP2040 Microcontroller
  • Two cores clocked at 133MHz
  • 256KB RAM
  • 2MB of On-board Flash Memory
  • Micro-USB B Port for Power, Data and Reprogramming of the Flash memory.

 

Raspberry Pi Pico Peripherals:

  • I2C x4
  • SPI x2
  • PWM x2
  • UART x2
  • Timer
  • RTC
  • ADC & TS

 

Raspberry Pi Pico Dimensions:

21mm (W) x 51.3mm (L) x 3.9mm (H)

 

Raspberry Pi Pico GPIO Pinout

image

 


The 40 pin 21x51 'DIP' style 1mm thick PCB with 0.1" through-hole pins also with edge castellations

  • Exposes 26 multi-function 3.3V General Purpose I/O (GPIO)
  • 23 GPIO are digital-only and 3 are ADC capable
  • Can be surface mounted as a module
  • 3-pin ARM Serial Wire Debug (SWD) port


First Product built on Raspberry Pi designed Silicon - Meet the RP2040

Raspberry Pi Pico is built around the brand-new Raspberry Pi RP2040 microcontroller, delivering a flexible, highly affordable development platform that can also be directly deployed into end products, reducing time-to-market. RP2040 offers high performance for integer workloads, a large on-chip memory, and a wide range of I/O options, making it a flexible solution for a wide range of microcontroller applications.
Professional design engineers who are already comfortable working with Raspberry Pi will easily adopt the Raspberry Pi Pico and appreciate its ease of use and affordability.

image

RP2040 Microcontroller.
RP2040 is a low-cost, high-performance microcontroller device 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 internal temperature sensor, 0.5 MSa/s, 12 bit conversion

• USB 1.1 Host/Device




Developer tools
Simple drag and drop programming via micro-USB. 3-pin Serial Wire Debug (SWD) for interactive debugging. Comprehensive C SDK, mature MicroPython port, and extensive examples and documentation.

image

Power
On-board power supply to generate 3.3V for RP2040 and external circuitry. Wide input voltage range, from 1.8V to 5.5V, giving designers the flexibility to select their preferred power source.


Raspberry Pi Pico Size and Layout:




image

  • raspberry pico
  • gpio
  • raspberry pi pico
  • farnell
  • pico
  • gpio pinout
  • new raspbery pi
  • dimensions
  • pi_pico
  • raspberry_pi
  • raspberry_pi_pico
  • raspberry pi
  • raspberrypi
  • rp2040
  • raspberry pi pico gpio
  • rpi
  • technical specification
  • specification
  • pinout
  • pi pico gpio
  • pi pico
  • cpc
  • Share
  • History
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • Fred27
    Fred27 over 5 years ago +12
    Certainly an interesting device, and I'm sure it will become very popular. I must say that personally I'm not a fan of MicroPython - or any interpreted embedded languages. I feel that the real strength…
  • Workshopshed
    Workshopshed over 5 years ago +11
    Looks to be a powerful little board in a nice form factor. I love the fact it has sensible mounting holes even if that does make the silkscreen for those pins a little hard to read. I'd be interested to…
  • Fred27
    Fred27 over 5 years ago +10
    It looks like other companies (the usual suspects) are making boards based on the RP2040 too. https://www.cnx-software.com/2021/01/21/third-party-raspberry-pi-rp2040-boards-from-arduino-adafruit-sparkfun…
  • jomoenginer
    jomoenginer over 5 years ago in reply to michaelkellett

    I suspect the extra folders and files are from the CMake build.  This is normal where typically you create a build folder in and run CMake from there which can be be deleted after the binary is created from make.

     

    Were you able to run the command line example they show in the Pico SDK doc?  This will tell you if your toolset and such is configured properly.

     

    The error you are seeing seems to be associated with Ninja so I would look there, but there.

    However, it appears the FindFirstFileA call seems to be associate with a Windows API call. There maybe an issue or config setting somewhere that is not right.

    https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-findfirstfilea

     

    Since this is all new, it might be good to post on the PicoSDK github to ensure others see the issue and it gets addressed.

    https://github.com/raspberrypi/pico-sdk

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to dougw

    Yes, but there isn't any point (for me) in buying a dual 133 MHz processor with a whizzy IO systems and sub controllers and then losing control over it to an interprter.

     

    My interest in these parts would be to do stuff I can't do with other processors - which will mean coding in C (not C++).

     

    According to the RPi docs you can drag and drop the binary from C as well. But the chip has ARM's serial debug and that's a better way to go (for my kind of work).

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 5 years ago in reply to michaelkellett

    Adafruit claims to have ported Circuitpython to the Pico. This means you could just drag and drop your code to the device which looks like a USB memory device.

    Running Micropython should be almost as easy.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Fred27
    Fred27 over 5 years ago

    I suspect a lot of these will be used for driving Neopixels via the Programmable IO. Anyone else find it ironic that this dual core microcontroller will be using the PIO's self-contained "state machine" (really it's more of a tiny limited microcontroller) to communicate with the microcontrollers in each LED. Never has illuminating an LED been more over-complicated.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to shabaz

    Hello Shabaz, thanks for the comments.

     

    I'd spotted c/:/users and searched for it in files but not found it.

     

    My guess is that soemthing somewhere is building up file names and is making a mistake.

     

    Totally agree that what's needed is a nice sorted single click install - from what I can gather that's not even the case on the PI image

     

    The complexity of what the tools do is truly mind boggling - the Keil compiler puts everything 1 folder level down from the project (typically in 2 or 3 folders).

    The Pico SDK is making an additional 12 folder levels down from the build folder !

     

    MK

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 5 years ago in reply to michaelkellett

    Hi Michael,

     

    Line 26 contains this: c/:/users (instead of c:/users) it may be a typo in some config file, or they may not have tested their scripts on Windows properly : (

     

    They are using a good set of tools in principle (Visual Studio Code* is the currently one of the most popular editors but has a ton of functionality hidden behind keypresses or prompts or extensions, so on the face of it it's very difficult to click and explore compared to other editors) and cmake allows many IDEs to support it. I feel raspberrypi.org or others will need to provide documentation or training links on the tools including cmake, and not rely on the existing documentation (a lot of open source projects are explained by engineers who are not good at explaining : ( or will have explained with a lot of assumptions in mind. The better training or documentation would then result in people being able to feel confident in the tools.

     

    Another reason for the difficulty is that the tools (Visual Studio Code, cmake etc) are also used for very large projects, so they are way more complex than needed for typical microcontroller projects. But the knowledge would help developers who then move on to non-microcontroller projects too.

     

    I reckon they may have not tested a lot on Windows (although they should have, since it's the world's most popular desktop OS). I've not had a chance to look at the documentation, I guess they are expecting users to use a Pi to build code for it : ( (I only briefly looked at the user guide, it lists instructions for Pi first) which to me seems disastrous, no sane person** would want to compile for a microcontroller target on a Pi when they have a more powerful desktop machine to do this on.

     

    *there's also better IDEs for developing code in C or C++, CLion is great, but is chargeable.

    ** Perhaps there's an argument for standardised tools to make it easier, but in this case it could be supplied pre-installed and pre-configured and pre-tested, in a virtual machine or container, ready for a Pi.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to neilk

    The Arduino people are doing a board for it, I believe.

    The problem is that the Arduino environment convienence exacts a terrible price in performance and access to hardware functions.

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • neilk
    neilk over 5 years ago in reply to michaelkellett

    Thanks, Michael. I'm a complete novice with these kind of systems!

     

    Fingers crossed that they do support it under the Arduino IDE soon......

     

    Neil

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 5 years ago in reply to neilk

    So far, badly.

    The instructions for installing under Windows are brief and pretty much nothing is explained.

    If (like me ) you have never used CMake, Code Studio or GCC X compiler its just a sequence of meaningless commands.

    There are errors in it and some things not explained.

    I think I got it to build all the example files from the command line but it throws this bizarre error when I try to build in Code Studio.

     

    [variant] Loaded new set of variants
    [kit] Successfully loaded 5 kits from C:\Users\Michael Kellett\AppData\Local\CMakeTools\cmake-tools-kits.json
    [main] Configuring folder: pico-examples 
    [proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug "-DCMAKE_C_COMPILER:FILEPATH=C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin\arm-none-eabi-gcc.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin\arm-none-eabi-g++.exe" -Hc:/Users/pico/Downloads/pico-examples -Bc:/Users/pico/Downloads/pico-examples/build -G Ninja
    [cmake] Not searching for unused variables given on the command line.
    [cmake] Pico SDK is located at C:/Users/pico/Downloads/pico-sdk
    [cmake] PICO platform is rp2040.
    [cmake] PICO compiler is 
    [cmake] PICO_GCC_TRIPLE defaulted to arm-none-eabi
    [cmake] Using regular optimized debug build (set PICO_DEOPTIMIZED_DEBUG=1 to de-optimize)
    [cmake] PICO target board is pico.
    [cmake] Using board configuration from C:/Users/pico/Downloads/pico-sdk/src/boards/include/boards/pico.h
    [cmake] TinyUSB available at C:/Users/pico/Downloads/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; adding USB support.
    [cmake] Compiling TinyUSB with CFG_TUSB_DEBUG=1
    [cmake] -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    [cmake] ELF2UF2 will need to be built
    [cmake] PIOASM will need to be built
    [cmake] -- Configuring done
    [cmake] -- Generating done
    [cmake] -- Build files have been written to: C:/Users/pico/Downloads/pico-examples/build
    
    
    [main] Building folder: pico-examples 
    [build] Starting build
    [proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/Users/pico/Downloads/pico-examples/build --config Debug --target all -- -j 18
    [build] ninja: error: FindFirstFileExA(c/:/users/pico/downloads/pico-sdk/src/rp2_common/boot_stage2): The filename, directory name, or volume label syntax is incorrect.
    [build] 
    [build] Build finished with exit code 1

     

    The first 20 lines are the response to config the file just opened in Code Studio

     

    The second chunk (23 -) are what happens when you click Build in Code Studio.

     

    Some internal thing FindFirstFileExA tries to access a file called: c/:/users/pico/downloads/pico-sdk/src/rp2_common/boot_stage2 and OS chokes on it .

    Of course  I have no idea what any of this is doing.

    The CMake based system seems to make dozens of sub folders for even tiny programs and re-compile tools (EL2UF2 and PIOASM) into new folders for every build.

     

    Life is too short - I'm going to wait until a few more people have played with this and there is a bit more discussion on the web.

     

    The processor looks as if it has some good ideas but the tools are horrible (not sure if that's inherent in the tools or the way the Pico SDK is impemented). Every year I moan about the maintenance money I pay Keil for their MDK toolset for ARM Cortex - I take it all back - when I get a new processor I just load the support package (a couple of mouse clicks) and off it goes. Not sure if RP Org will be supporting Keil  - I hope so.

     

    Maybe others will have better luck (or be more used to the open source stuff involved.

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • neilk
    neilk over 5 years ago in reply to michaelkellett

    michaelkellett  Please let us know how you get on!

     

    Mine has been shipped; due early next week. I will also need to install the support tools in W10.

     

    Neil

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube