{"product_id":"raspberry-pi-pico-w","title":"Raspberry Pi Pico W","description":"\u003csection id=\"description\" class=\"prod-accordion-content prod-accordion-content-description mobile-text-wrapper\" aria-labelledby=\"tab-description-heading\"\u003e\n\u003cdiv id=\"tab-description-content\" class=\"panel-collapse collapse in\"\u003e\n\u003cp\u003eThe Raspberry Pi foundation changed single-board computing\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.raspberrypi.org\/archives\/723\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ewhen they released the Raspberry Pi computer\u003c\/a\u003e, now they're ready to do the same for microcontrollers with the release of the brand new\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRaspberry Pi Pico W\u003c\/strong\u003e. This low-cost microcontroller board features their powerful new chip, the\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRP2040\u003c\/strong\u003e, and all the necessary circuitry to get started with IoT embedded electronics projects at a stress-free price.\u003c\/p\u003e\n\u003cp\u003eRaspberry Pi Pico W brings WiFi + BLE (coming soon) wireless networking to the Pico platform while retaining complete pin compatibility with its older sibling.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eRaspberry Pi Pico W\u003c\/strong\u003e is just like the classic Pico but adds on-board single-band 2.4GHz wireless interfaces (802.11n) using the Infineon CYW43439 while retaining the Pico form factor. The on-board 2.4GHz wireless interface has the following features:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eWireless (802.11n), Single-band (2.4 GHz) WiFi with WPA3 and Soft Access Point supporting up to 4 clients\u003c\/li\u003e\n\u003cli\u003eBluetooth Low Energy - note this isn't supported in software yet, its just a hardware capability.\u003c\/li\u003e\n\u003cli\u003eThe wireless interface is connected via SPI to the \u003ca href=\"https:\/\/www.raspberrypi.com\/documentation\/microcontrollers\/rp2040.html#welcome-to-rp2040\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eRP2040\u003c\/a\u003e microcontroller and has a micropython driver for wireless capability\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eDue to pin limitations (the Pico brings out all the GPIO) some of the wireless interface pins are shared with the exposed pads:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eSPI CLK\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eis shared with\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eVSYS\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003emonitor, so only when there isn’t an SPI transaction in progress can VSYS be read via the ADC.\u003c\/li\u003e\n\u003cli\u003eThe Infineon CYW43439\u003cstrong\u003e SPI DIN\/DOUT\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eand\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eIRQ\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eall share one pin on the RP2040. Only when an SPI transaction isn’t in progress is it suitable to check for IRQs.\u003c\/li\u003e\n\u003cli\u003eThe interface typically runs at 33MHz.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFor best wireless performance, the antenna should be in free space. For instance, putting metal under or close by the antenna can reduce its performance both in terms of gain and bandwidth. Adding grounded metal to the sides of the antenna can improve the antenna’s bandwidth.\u003c\/p\u003e\n\u003cp\u003eThe Pico W is 51mm × 21mm × 1mm and can have headers soldered in for use in a breadboard or perfboard, or can be soldered directly onto a PCB with the castellated pads. There's 20 pads on each side, with groups of general purpose input-and-output (GPIO) pins interleaved with plenty of ground pins. All of the GPIO pins are 3.3V logic, and are not 5V-safe so stick to 3V! You get a total of\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e25 GPIO\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003epins,\u003cstrong\u003e\u003cspan\u003e \u003c\/span\u003e3 of those can be analog inputs\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e(the chip has 4 ADC but one is not broken out). There are no true analog output (DAC) pins.\u003c\/p\u003e\n\u003cp\u003eOn the slim green board is minimal circuitry to get you going: A 5V to 3.3V power supply converter, single green LED connected through on the wireless module, boot select button, RP2040 chip with dual-core Cortex M0, Wireless chipset with antenna, 2 MegaBytes of QSPI flash storage, and crystal.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eInside the RP2040 is a 'permanent ROM' USB UF2 bootloader\u003c\/strong\u003e. What that means is when you want to program new firmware, you can hold down the BOOTSEL button while plugging it into USB (or pulling down the RUN\/Reset pin to ground) and it will appear as a USB disk drive you can drag the firmware onto. \u003c\/p\u003e\n\u003cp\u003eThe RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and two cores that are equivalent to our M0 (SAMD21). Since it is an M0 chip, it does not have a floating point unit, or DSP hardware support - so if you're doing something with heavy floating point math, it will be done in software and thus not as fast as an M4. For many other computational tasks, you'll get close-to-M4 speeds!\u003c\/p\u003e\n\u003cp\u003eFor peripherals, there are two I2C controllers, two SPI controllers, and two UARTs that are multiplexed across the GPIO - check the pinout for what pins can be set to which. There are 16 PWM channels, each pin has a channel it can be set to (ditto on the pinout).\u003c\/p\u003e\n\u003cp\u003eYou'll note there's no I2S peripheral, or SDIO, or camera, what's up with that? Well instead of having specific hardware support for serial-data-like peripherals like these, the RP2040 comes with the PIO state machine system which is a unique and powerful way to create\u003cspan\u003e \u003c\/span\u003e\u003cem\u003ecustom hardware logic and data processing blocks\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003ethat run on their own without taking up a CPU. For example, NeoPixels - often we bitbang the timing-specific protocol for these LEDs. For the RP2040, we instead use a PIO object that reads in the data buffer and clocks out the right bitstream with perfect accuracy.\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/raspberrypi\/pico-examples\/tree\/master\/pio\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eSame with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA\u003c\/a\u003e! In MicroPython and CircuitPython you can create PIO control commands to script the peripheral and load it in at runtime. There are 2 PIO peripherals with 4 state machines each.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThere is great\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/raspberrypi\/pico-sdk\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eC\/C++ support\u003c\/a\u003e, an official\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/raspberrypi\/micropython\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eMicroPython port\u003c\/a\u003e, and a\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/circuitpython.org\/downloads\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eCircuitPython port\u003c\/a\u003e!\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eWe of course\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/learn.adafruit.com\/welcome-to-circuitpython\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003erecommend CircuitPython because we think it's the easiest way to get started\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eand it has support with most of our drivers, displays, sensors, and more, supported out of the box so you can follow along with our CircuitPython projects and tutorials.\u003c\/p\u003e\n\u003cp\u003eAt the time of launch, only MicroPython has WiFi support.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/github.com\/earlephilhower\/arduino-pico\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eFor Arduino usage we recommend the Philhower Arduino core, which does not use mbed, has lots of peripherals supported, and many makers\/companies have submitted board definitions.\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eWhile the RP2040 has lots of onboard RAM (264KB), it does not have built-in FLASH memory. Instead, that is provided by the external QSPI flash chip. On this board, there is 2MB, which is shared between the program it's running and any file storage used by MicroPython or CircuitPython. When using C\/C++ you get the whole flash memory, if using Python you will have about 1 MB remaining for code, files, images, fonts, etc.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eRP2040 Chip features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDual ARM Cortex-M0+ @ 133MHz\u003c\/li\u003e\n\u003cli\u003e264kB on-chip SRAM in six independent banks\u003c\/li\u003e\n\u003cli\u003eSupport for up to 16MB of off-chip Flash memory via dedicated QSPI bus\u003c\/li\u003e\n\u003cli\u003eDMA controller\u003c\/li\u003e\n\u003cli\u003eFully-connected AHB crossbar\u003c\/li\u003e\n\u003cli\u003eInterpolator and integer divider peripherals\u003c\/li\u003e\n\u003cli\u003eOn-chip programmable LDO to generate core voltage\u003c\/li\u003e\n\u003cli\u003e2 on-chip PLLs to generate USB and core clocks\u003c\/li\u003e\n\u003cli\u003e30 GPIO pins, 4 of which can be used as analog inputs\u003c\/li\u003e\n\u003cli\u003ePeripherals\n\u003cul\u003e\n\u003cli\u003e2 UARTs\u003c\/li\u003e\n\u003cli\u003e2 SPI controllers\u003c\/li\u003e\n\u003cli\u003e2 I2C controllers\u003c\/li\u003e\n\u003cli\u003e16 PWM channels\u003c\/li\u003e\n\u003cli\u003eUSB 1.1 controller and PHY, with host and device support\u003c\/li\u003e\n\u003cli\u003e8 PIO state machines\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/raspberrypi.org\/documentation\/pico\/getting-started\/\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eClick here to get started with your Pico!\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e  \u003cbr\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"technical-details\" class=\"prod-accordion-content prod-accordion-content-technical-details mobile-text-wrapper\" aria-labelledby=\"tab-technical-details-heading\"\u003e\n\u003cdiv class=\"tab-heading-row\"\u003e\n\u003ch4 id=\"tab-technical-details-heading\"\u003eTechnical Details\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"tab-technical-details-content\" class=\"panel-collapse collapse in\"\u003e\n\u003cp\u003e\u003cstrong\u003eDimensions (unassembled):\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e51mm × 21mm × 1mm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eResources and more!\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/raspberrypi.org\/documentation\/pico\/getting-started\/\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eClick here to get started with your Pico!\u003c\/a\u003e\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRaspberry Pi Pico W Datasheet\u003c\/strong\u003e:\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.com\/picow\/pico-w-datasheet.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.com\/picow\/pico-w-datasheet.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConnecting to the Internet with Raspberry Pi Pico W \u003c\/strong\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.com\/picow\/connecting-to-the-internet-with-pico-w.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.com\/picow\/connecting-to-the-internet-with-pico-w.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003eRP2040 Datasheet: \u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.org\/rp2040\/rp2040_datasheet.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.org\/rp2040\/rp2040_datasheet.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003eHardware Design with RP2040: \u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.org\/rp2040\/hardware_design_with_rp2040.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.org\/rp2040\/hardware_design_with_rp2040.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003eGetting Started with Raspberry Pi Pico:\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.org\/pico\/getting_started_with_pico.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.org\/pico\/getting_started_with_pico.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003ePico C\/C++ SDK:\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.org\/pico\/sdk\/pico_c_sdk.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.org\/pico\/sdk\/pico_c_sdk.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003ePico Python SDK:\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.org\/pico\/sdk\/pico_python_sdk.pdf\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003ehttps:\/\/datasheets.raspberrypi.org\/pico\/sdk\/pico_python_sdk.pdf\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.com\/picow\/RPi-PicoW-PUBLIC-20220607.zip\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eDesign Files zip download\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/datasheets.raspberrypi.com\/picow\/PicoW-step.zip\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eSTEP file download\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003eThe antenna is an onboard antenna licensed from ABRACON (formerly ProAnt).\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eRaspberry Pi Pico and RP2040 FAQ\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eShould I buy a Raspberry Pi Pico or a Raspberry Pi Zero?\u003c\/strong\u003e\u003cbr\u003eThese are two very different devices, a microcontroller and a microcomputer, intended for different purposes. Pico is a great device for dedicating to a very specific task, whereas Zero is a multipurpose device. Raspberry Pi Zero has HDMI out, a camera interface, etc; Raspberry Pi Pico does not. However, Pico has an on-board ADC as well as other peripherals not present on Raspberry Pi Zero, and consumes considerably less power; it is therefore much more suited to embedded applications than Raspberry Pi Zero.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWhat OS does it run?\u003c\/strong\u003e\u003cbr\u003eLike other microcontrollers, it doesn't run an OS by default, but we supply a SDK which provides a rich library of functions for using the hardware\/features of the chip, along with higher-level functionality often found in an OS. You can use this to write “bare metal” C\/C++ applications easily, or you can use MicroPython, which is even simpler for beginners.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCan I buy the RP2040 chip?\u003c\/strong\u003e\u003cbr\u003eYes it is available. Please contact us for a quote.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIs it open-source?\u003c\/strong\u003e\u003cbr\u003eThe Raspberry Pi Pico board design files are open-source, along with all the provided software, examples, and documentation. The internal design of the RP2040 microcontroller itself is not open-source.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDoes it support Arduino\/Blockly\/other programming environments?\u003c\/strong\u003e\u003cbr\u003eYes!\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/earlephilhower\/arduino-pico\" aria-describedby=\"a11y-new-window-external-message\" rel=\"null noopener\" target=\"_blank\"\u003eFor Arduino usage we recommend the Philhower Arduino core, which does not use mbed, has lots of peripherals supported, and many makers\/companies have submitted board definitions.\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIs RP2040 5V tolerant?\u003c\/strong\u003e\u003cbr\u003eNo. RP2040 microcontrollers use 3.3V for GPIO.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eI've accidentally connected +5V to my Raspberry Pi Pico or other RP2040-based microcontroller. Is the pin dead?\u003c\/strong\u003e\u003cbr\u003eIt depends; often RP2040 will survive, but it is not recommended, and can reduce the life of the microcontroller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWhat is the maximum flash size for the RP2040 chip?\u003c\/strong\u003e\u003cbr\u003e16 MiB of flash (2^24 bytes).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCan I overclock it?\u003c\/strong\u003e\u003cbr\u003eThe maximum clk_sys clock speed is 133MHz at normal core voltage (1.1V ±10%), but it can be overclocked. However, this requires more power and a higher core voltage, and may affect the life expectancy of your device. No warranties are given when running outside of the limits specified in the datasheet.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWhat low-power modes are there?\u003c\/strong\u003e\u003cbr\u003eThere is no specific low-power mode, but you can do various things to reduce power consumption: slow the system clock, power down some of the memories, gate the clock to peripherals, reduce the core supply voltage, etc.\u003cbr\u003eThere are two specific modes for turning off parts of the device when not being used:\u003cbr\u003eSLEEP mode is when processors are in wfi\/wfe and DMA is inactive, so you can shut off most system clocks, including things like bus fabric.\u003cbr\u003eDORMANT mode is when you shut down all oscillators, and so is lower power still, but then you have fewer options for waking.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eI’m using VSCode. How do I set a breakpoint on the second core?\u003c\/strong\u003e\u003cbr\u003eAt the moment you need to use the command window in VSCode to set a gdb breakpoint.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGCC 10.2 is available. Why aren’t you using it by default?\u003c\/strong\u003e\u003cbr\u003eOur development work has been using the more common versions of GCC as supplied with various distributions. We have checked builds using major gcc versions from 6.3.1 to 10.2, so all of those should work.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWhat is the maximum source impedance required for the ADC inputs to achieve the 9-bit resolution?\u003c\/strong\u003e\u003cbr\u003eWe are currently working on characterising this, and will update the datasheet.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul id=\"product-files\"\u003e\n\u003cli\u003e\u003ca rel=\"noopener noreferrer\" href=\"https:\/\/cdn-shop.adafruit.com\/product-files\/5526\/PicoW-A4-Pinout.pdf\" aria-describedby=\"a11y-new-window-external-message\" target=\"_blank\"\u003ePinout Diagram\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e","brand":"Roboi","offers":[{"title":"Default Title","offer_id":45690968670291,"sku":"ROBO68","price":839.99,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0714\/1962\/5555\/files\/PICO_W_HERO_TRANSPARENT__26247_720x_a3190487-f27c-4044-bff8-cf3a7dd80746.webp?v=1781180461","url":"https:\/\/shop.roboi.ai\/products\/raspberry-pi-pico-w","provider":"Roboi","version":"1.0","type":"link"}