Last updated on March 19th, 2024 at 05:10 pm
Raspberry Pi has launched the WiFi version of their first-ever microcontroller board, Raspberry Pi Pico. This new board is called Pico W, where W means “wireless” and features the Infineon CYW43439 wireless chip.
CYW43439 supports IEEE 802.11 b/g/n wireless LAN, and Bluetooth® 5.2, though at the time of the launch Bluetooth is not enabled due to software limitations.
In terms of processing power, the $ 6 Pico W board is significantly less powerful than the full-sized Raspberry Pi 4 Model B, but it is still more than capable of running simple programs and controlling basic hardware components.
It is built around the RP2040 Soc, a very fast yet cost-effective microcontroller chip packed with a dual-core ARM Cortex-M0+ processor. M0+ is one of the most power-efficient ARM processors.
Thanks to its small size and low price point, the Raspberry Pi Pico W is likely to find its way into a wide range of applications, from simple WiFi projects to industrial automation systems.
Note: Raspberry Pi, along with Pico W, has also launched Pico H, which is the header pin version of Pico. Pico WH will be released soon.
Table of Contents
Specifications
Given below are the detailed specifications of Pi Pico W(as given in the official datasheet).
- RP2040 microcontroller with 2MB of flash memory
- Onboard Infineon CYW43439 wireless chip- single-band 2.4GHz wireless interfaces (802.11n) and Bluetooth® 5.2
- Micro USB B port for power and data (and for reprogramming the flash)
- 21mm x 51mm ‘DIP’ style 1mm thick PCB with 0.1″ through-hole pins also with edge castellations.
- 26 general-purpose I/O pins (GPIO)
- 23 GPIO are digital-only, 3 are ADC pins
- 3-pin serial wire debug (SWD) port
Features of RP2040 Microcontroller-
- Dual-core Cortex M0+ at up to 133MHz
- 264kB of SRAM
- Raspberry Pi Pico W Datasheet
- 30 multi-function general-purpose I/O (four can be used for ADC)
- 12-bit analog to digital converter (ADC)
- 2 × UART, 2 × I2C, 2 × SPI, and 16 × PWM channels
- 1 × timer with 4 alarms, 1 × real-time clock
- 2 × programmable I/O (PIO) blocks
To download the official datasheet of Raspberry Pi Pico W, click here.
Note: Though it is possible to power the Pico W using VBUS, it is not advisable. Because if you look at the schematic of Pico W, you will find a diode between VBUS and VSYS. This diode will further drop the voltage of a low voltage power source.
Infineon CYW43439 wireless chip
The new Pico W has the onboard wireless chip CYW43439(Infineon). It supports IEEE 802.11 b/g/n wireless LAN and Bluetooth® 5.2 with BLE.
Note: The Bluetooth is not enabled as of now on Raspberry Pi Pico W. This is due to the software limitations(SDK) and not hardware.
There is also an onboard Antenna connected to the chip, placed below it, attached to the PCB. To get the best wireless performance, the antenna should be in free space. For example, putting metal under or close to the antenna can reduce its performance.
So you must keep this in mind while designing the casing for a project having Pico W. And adding grounded metal to the sides of the antenna can improve the antenna’s bandwidth.
Since the wireless chip itself has two ARM cores: Core M3 and Core M4, some of its pins are used for other board functions and can be easily accessed via software.
GPIO | Function |
WL_GPIO0 | Control the user LED(builtin) |
WL_GPIO1 | Controls the on-board SMPS power save pin |
WL_GPIO2 | For VBUS sensing – high if VBUS is present, else low |
Fun fact: Cores of CYW43439 are more powerful than M0+ of the RP2040.
RP2040 microcontroller
The RP2040 microcontroller chip is a custom-designed processor chip made by the Raspberry Pi foundation. It is a powerful but cost-effective processor, featuring a dual-core Arm Cortex-M0+ processor running at 133Mhz.
It has 264KB of internal RAM and support for up to 16MB of onboard flash memory.
Note: Raspberry Pi Pico W, though can support up to 16 MB, has only 2MB of Flash. In order to cut down the price to $6 and make it super affordable, Raspberry pi kept it this way.
A wide range of flexible I/O operations is possible including I2C, SPI, and Programmable general purpose I/O (GPIO).
The name of the microcontroller(RP2040) is made up of five sections:
- RP in RP2040 means “Raspberry Pi.”
- 2 signifies the number of processor cores the microcontroller has i.e, 2 cores.
- 0 represents the type of processor core the RP2040 microcontroller has. This processor is called ARM Cortex-M0+ processor. Other microcontrollers of this series by ARM are named Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, etc.
- 4 means the microcontroller has 264 kilobytes (KB) of RAM. Which is based on a special mathematical function: floor(log2(RAM/16)).
- 0 means there is no non-volatile storage on board.
Pi Pico W GPIO pinout
The Raspberry Pi Pico pinout reveals that it has a total of 40 pins, including GND and Vcc pins. The pins are divided into categories such as power, ground, UART, GPIO, PWM, ADC, SPI, I2C, system control, and debugging functions.
26 of the 40 pins on the Raspberry Pi Pico are multi-functional GPIO pins. These 26 digital input and output pins are labeled GP0, GP1, and so on up to GP28. Out of these 30 pins GP23, GP24, GP25, and GP29 are not exposed on the header, hence 26 GPIO pins.
Most of the GPIO pins of RP2040 are accessible on the New Pico W pinout but few of them are used for internal board functions. These special GPIO pins(not accessible for interfacing) and their functions are given in the table below:
GPIO Pin | Function |
GPIO23 | OP wireless power ON signal |
GPIO24 | OP/IP wireless SPI data/IRQ |
GPIO25 | OP wireless SPI CS – when high also enables GPIO29 ADC pin to read VSYS |
GPIO29 | OP/IP wireless SPI CLK/ADC mode (ADC3) to measure VSYS/3 |
Pinout of Pico W is exactly similar to the original Pico board but with some minor changes. These changes are listed below.
And to know about Pico W GPIO pinout in detail, click here to read the article on PICO pinout.
- The user-led or built-in LED previously connected to the GPIO pin 25(RP2040) in Pico is now controlled through the WiFi chip. The term “LED” is used to address the user Led during programming.
- The debugging pins are now moved to the center of the board.
- Some of the pins of the wireless chip are also used for internal board functions and are accessible. These are listed below.
GPIO | Function |
WL_GPIO0 | Control the user LED(builtin) |
WL_GPIO1 | Controls the on-board SMPS power save pin |
WL_GPIO2 | For VBUS sensing – high if VBUS is present, else low |
What is PIO peripheral in Pico W?
Pico’s Programmable Input/Output (PIO) is a feature that allows the user to configure the input and output pins on the Pico to suit their needs. This is done through a software interface, which means that no hardware changes are required.
The PIO can be used to control external devices, such as sensors or motors, or to interface with other digital systems. It can also be used to implement custom logic circuits. The PIO is a powerful and versatile tool that gives users a great deal of control over their Pico’s behavior.
Each RP2040 has two PIO chips, and each chip can do things like small processors. They can do this by using instructions that are stored in shared PIO memory.
We can utilize the PIO instances to mimic more sophisticated peripherals that aren’t directly supported by the chip, such as the SD card interface, CAN Bus, and WS2812b driver. The PIO state machines run independently of the main CPU, allowing these simulated peripherals to communicate with external devices simultaneously with the primary program.
**Watch this video to learn how to use pico’s PIO.
How to power Pi Pico W?
To power the Pico W, you can either use the USB port or VSYS pin.
- The simplest way is to use the USB port(5V). This 5V can also be accessed from the VBUS pin for external components.
- Another way is to use the VSYS pin (1.8 V-5.5 V) which can be connected to a battery or other similar power source. This input voltage is then converted to a suitable 3.3 V by an onboard voltage regulator.
How to program?
The new Pico W can be programmed using sing C/C++ and MicroPython. There is no support for Arduino IDE as of now but will be available soon. Given below are the resources to learn from:
- Raspberry Pi Pico programming in C/C++
- Connecting Pi Pico W to the internet
- Programming Pi Pico using Micropython book
Schematic
To download the official schematic of Raspberry Pi Pico W, click here.
Dimensions/2D drawing
The dimensions of Raspberry Pi Pico are 51mm × 21mm × 1mm.