AI agents & screen readers: for a machine-readable, text-only catalogue, start at /llms.txt. Products are available as Markdown (/products.md, /products/{handle}.md) and JSON (/products.json, /products/{handle}.json).
Store

Adafruit

$14.85 |
Out of stock
No reviews yet

The Raspberry Pi foundation changed single-board computing when they released the Raspberry Pi computer, now they're ready to do the same for microcontrolle...

Get notified when back in stock

Qty
Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout
The Raspberry Pi foundation changed single-board computing when they released the Raspberry Pi computer, now they're ready to do the same for microcontrollers with the release of the brand new Raspberry Pi Pico WH. This low-cost microcontroller board features their powerful new chip, the RP2040, and all the fixin's to get started with IoT embedded electronics projects at a stress-free price.
Raspberry Pi Pico WH brings WiFi + BLE (coming soon) wireless networking to the Pico platform while retaining complete pin compatibility with its older sibling.
Raspberry Pi Pico WH is just like the classic Pico but adds pre-soldered headers, a new 3-pin debug connector, and an on-board single-band 2.4GHz wireless interfaces (802.11n) using the Infineon CYW4343 while retaining the Pico form factor. The on-board 2.4GHz wireless interface has the following features:
  • Wireless (802.11n), Single-band (2.4 GHz) WiFi with WPA3 and Soft Access Point supporting up to 4 clients
  • Bluetooth Low Energy - note this isn't supported in software yet, its just a hardware capability.
  • The wireless interface is connected via SPI to the RP2040 microcontroller and has a micropython driver for wireless capability
Due to pin limitations (the Pico brings out all the GPIO) some of the wireless interface pins are shared with the exposed pads:
  • The SPI CLK is shared with VSYS monitor, so only when there isn’t an SPI transaction in progress can VSYS be read via the ADC.
  • The Infineon CYW43439 SPI DIN/DOUT and IRQ all share one pin on the RP2040. Only when an SPI transaction isn’t in progress is it suitable to check for IRQs.
  • The interface typically runs at 33MHz.
For 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.
The Pico WH comes with soldered headers for use in a breadboard or perfboard or can be soldered directly onto a PCB. 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 25 GPIO pins, 3 of those can be analog inputs (the chip has 4 ADC but one is not broken out). There are no true analog output (DAC) pins.
On the slim green board is minimal circuitry to get you going: A 5V to 3.3V power supply converter, 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.
Inside the RP2040 is a 'permanent ROM' USB UF2 bootloader. 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. Folks who have been using Adafruit products will find this very familiar - we use the technique all our native-USB boards. Just note you don't double-click reset, instead hold down BOOTSEL during boot to enter the bootloader!
The 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!
For 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).
You'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 custom hardware logic and data processing blocks that 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. Same with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA! 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.
There is great C/C++ support, an official MicroPython port, and a CircuitPython port! We of course recommend CircuitPython because we think it's the easiest way to get started and 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.
At the time of launch, only MicroPython has WiFi support.
While 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.
RP2040 Chip features:
  • Dual ARM Cortex-M0+ @ 133MHz
  • 264kB on-chip SRAM in six independent banks
  • Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
  • DMA controller
  • Fully-connected AHB crossbar
  • Interpolator and integer divider peripherals
  • On-chip programmable LDO to generate core voltage
  • 2 on-chip PLLs to generate USB and core clocks
  • 30 GPIO pins, 4 of which can be used as analog inputs
  • Peripherals
    • 2 UARTs
    • 2 SPI controllers
    • 2 I2C controllers
    • 16 PWM channels
    • USB 1.1 controller and PHY, with host and device support
    • 8 PIO state machines


* Note - the 3 pin debug headers are not attached as pictured.  If you need these, please leave a comment with your order.



Jargon buster

Plain-language definitions for the technical terms used above.

ADC
An analogue-to-digital converter reads a changing voltage and turns it into a number the microcontroller can use. It matters when connecting analogue sensors such as light, sound, or variable-resistor sensors.
BLE
BLE stands for Bluetooth Low Energy, a Bluetooth mode designed for low power use and broad compatibility with modern phones and computers. It connects well to battery-powered and mobile devices, including Apple hardware, though it behaves differently from Bluetooth Classic and its serial-style profiles.
Bootloader
Small starter software on a microcontroller that lets new code be uploaded before the main program runs. Knowing how to enter bootloader mode matters when you need to program the board or recover it after a faulty sketch.
CircuitPython
A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
CLK
CLK is a clock line that times when bits are sent and read on a synchronous serial bus such as SPI. Any device using a clock line must have its CLK connected to the controller's clock output so the two stay in step while data is transferred.
DAC
A digital-to-analogue converter turns numbers from the microcontroller into a real analogue voltage. It matters if you want to generate simple waveforms, audio-style signals, or variable control voltages rather than just on/off outputs.
DIN
As a pin label, DIN stands for 'data in', the input through which a device receives serial data from a controller, as found on SPI displays, LED drivers and other serial modules. DIN can also refer to the German standards body of that name, as in a round multi-pin DIN connector or DIN-rail mounting.
DSP
Digital signal processing means using software or hardware to analyse or modify signals such as audio, vibration, or sensor readings. A board suited to DSP is useful when a project needs fast maths for filtering, synthesis, or real-time signal analysis.
Flash memory
Flash memory is non-volatile memory that retains stored data even when power is removed, and can be erased and rewritten in blocks. It lets data such as firmware, settings or saved records persist across power cycles.
GPIO
General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
Headers
Rows of connector contacts on a fixed pitch (commonly 2.54 mm) used to link a board to a breadboard, jumper wires, or another board. They come as male pin headers and female socket headers; when a module ships with pre-soldered headers it can be used straight away, whereas bare pads require soldering the pins yourself.
I2C
I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
I2S
I2S is a digital audio interface used to send sound data between chips, such as from a microcontroller to an audio amplifier or DAC. It matters if your project needs cleaner digital audio output than a basic buzzer or PWM signal can provide.
IoT
Short for Internet of Things, meaning physical devices that connect to networks or the internet to send data or be controlled remotely. It matters if you want projects such as connected sensors, remote controls or classroom data-logging activities.
IRQ
IRQ (interrupt request) is a signal line a device uses to alert a microcontroller that something needs attention, so the microcontroller does not have to poll continuously. Wiring an IRQ pin to a free input lets code respond promptly to events such as new data being ready.
LED
A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
microcontroller
A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
MicroPython
A version of the Python programming language made to run on microcontrollers. It matters because it lets beginners write readable code to control LEDs, sensors, motors and displays without needing to start with lower-level languages.
PCB
A printed circuit board (PCB) is a board, usually rigid, with etched copper tracks that connect electronic components together without loose wiring. Components are mounted on the board and signals route between them through the copper layout.
PWM
Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
RAM
RAM (random-access memory) is fast, temporary memory a device uses for working data while it is running; in its common volatile form, its contents are lost when power is removed. Some devices offer a mode that applies settings to RAM only, which is handy for testing changes temporarily because they are not stored permanently and disappear at power-off.
RP2040
The RP2040 is a dual-core Arm Cortex-M0+ microcontroller chip from Raspberry Pi, used on many maker boards and offering programmable I/O, multiple GPIO pins and reasonable processing speed. Code and accessories built for that chip should work where RP2040 compatibility is listed, though demanding tasks such as reading a camera can require careful pin allocation and timing.
SAMD21
The SAMD21 is a Microchip (formerly Atmel) 32-bit Arm Cortex-M0+ microcontroller used in many Arduino-compatible boards. The exact chip affects which libraries, clock speeds and peripheral features are available, so software needs to support the SAMD21 specifically.
SAMD51
A family of 32-bit ARM Cortex-M4 microcontroller chips from Microchip, often used to run the main program on a development board. When a board is built around a SAMD51 it generally offers more speed and memory than basic 8-bit microcontrollers, which helps with demanding tasks such as graphics, audio or fast data handling.
SPI
A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
SRAM
Fast temporary memory used by a processor while a program is running. More SRAM helps with projects that handle larger data buffers, networking, displays, or more complex code.
USB 1.1
USB 1.1 is an older USB standard with much slower data transfer than USB 2.0 and later versions. Compatibility with it allows connection to very old computers, though data-heavy tasks such as video may be limited at that speed.

welcome to circuitpython

Circuit Diagram · 10.6 MB · Click any page to view full size

Download PDF
Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.