ESP32 vs Raspberry Pi Pico: which chip to put on a board you design yourself
ESP32-versus-Pico comparisons usually compare the dev boards: clock speed, memory, the language you program them in. If you are designing your own PCB, the bigger difference is what each chip asks of the board around it: a pre-made radio module with an antenna that needs room at the edge, or a bare chip that needs its own flash, crystal and core-voltage circuit. This guide compares the ESP32-S3 and ESP32-C3 with the RP2040 (Pico) and RP2350 (Pico 2) from that side, with every number from the makers’ datasheets.
Last reviewed
Short answer
If the board needs Wi-Fi or Bluetooth, use an ESP32 module: the radio is in the chip and the module brings the antenna, so your board needs a 3.3 V supply, a few capacitors, two buttons and a clear spot at the edge. The Pico W gets its wireless from a second chip on the board, which you would have to design in yourself. If the board needs no radio, the RP2040 or RP2350 is the easier chip to put down bare: Raspberry Pi’s own minimal RP2040 design is two layers with parts on one side, and its programmable I/O handles timing-critical protocols the ESP32 has no equivalent for. The RP2350 is faster and has twice the RAM, but its core regulator needs an inductor laid out exactly as Raspberry Pi shows.
The chips side by side
The Pico and Pico 2 are boards; the chips on them are the RP2040 and RP2350. The ESP32 is a family; the ESP32-S3 and ESP32-C3 are the two most often used on new boards, the S3 for performance and USB, the C3 for small, simple wireless boards.
Swipe the table sideways for the RP2040 and RP2350 columns.
| ESP32-S3 | ESP32-C3 | RP2040 (Pico) | RP2350 (Pico 2) | |
|---|---|---|---|---|
| CPU | 2 × Xtensa LX7, up to 240 MHz | 1 × RISC-V, up to 160 MHz | 2 × Arm Cortex-M0+, up to 133 MHz | 2 × Arm Cortex-M33 or 2 × Hazard3 RISC-V, 150 MHz |
| SRAM | 512 KB | 400 KB | 264 KB | 520 KB |
| Program flash | External, or in the package on some variants | External, or in the package on some variants | External QSPI, up to 16 MB | External QSPI; 2 MB stacked in the RP2354 |
| Radio | 2.4 GHz Wi-Fi 4 (802.11b/g/n), Bluetooth 5 LE | 2.4 GHz Wi-Fi 4 (802.11b/g/n), Bluetooth 5 LE | None (the Pico W adds an Infineon CYW43439) | None (the Pico 2 W adds an Infineon CYW43439) |
| GPIO | 45 | 22 | 30 | 30 (QFN-60) or 48 (QFN-80) |
| USB | Full-speed OTG, plus a USB serial/JTAG port | USB serial/JTAG port | USB 1.1 host and device | USB 1.1 host and device |
| Programmable I/O | None | None | 8 PIO state machines | 12 PIO state machines |
| Package | QFN-56, 7 × 7 mm | QFN-32, 5 × 5 mm | QFN-56, 7 × 7 mm, 0.4 mm pitch | QFN-60, 7 × 7 mm, or QFN-80, 10 × 10 mm |
Speed and memory favour the ESP32-S3 over the RP2040, and the RP2350 closes most of that gap. Programmable I/O is the RP-series’ own: small state machines that run a protocol in hardware, such as WS2812 LEDs, extra UARTs or a parallel bus, without loading the CPU.
Wireless decides most boards
The ESP32-S3 and ESP32-C3 have 2.4 GHz Wi-Fi and Bluetooth LE inside the chip, and Espressif sells both as modules with the flash, crystal, RF matching and antenna already on them. Your board treats the radio as one part.
The RP2040 and RP2350 have no radio. The Pico W and Pico 2 W add an Infineon CYW43439, a separate wireless chip connected over SPI. On a board of your own, that is a second chip with its own RF layout and antenna, or a second module. For a wireless board an ESP32 module is one part instead of two; for a board without wireless, the radio is cost and board area you do not need.
What an ESP32 module needs on your board
- A 3.3 V supply that can deliver at least 500 mA, because Wi-Fi transmit draws short peaks.
- Bulk capacitance (around 10 µF) and 100 nF right at the module’s 3V3 pin.
- EN with a 10 kΩ pull-up and a 1 µF capacitor, so the chip starts after the supply is stable, and a RESET button from EN to ground.
- A BOOT button on the download-mode strapping pin: GPIO0 on the ESP32-S3, GPIO9 on the ESP32-C3.
- The antenna at or past the board edge, with no copper on any layer under or around it, as in the module’s keep-out drawing.
- For USB, D+ and D− straight to the chip’s USB pins: both the S3 and the C3 have a USB serial/JTAG port, so no USB-to-serial chip is needed.
That is a regulator, a few passives and two buttons. The one thing that cannot be fixed later is the antenna’s position, so place the module first. The ESP32 PCB design guide goes through each of these with a routed example board.
What a bare RP2040 needs
Raspberry Pi publishes a minimal RP2040 board and explains every part of it. Its parts list is the honest answer to “how hard is it”:
- Flash. The RP2040 has none inside. The minimal design uses a W25Q128JVS, 16 MB, the largest the chip supports; the Pico itself has 2 MB.
- Crystal. A 12 MHz crystal, and Raspberry Pi strongly recommends the same Abracon ABM8-272-T3 the Pico uses, with its load capacitors, so the clock starts reliably.
- Core voltage. The chip runs its I/O at 3.3 V and makes its own 1.1 V core supply with an internal regulator. Wire VREG_VOUT to the DVDD pins, with 1 µF at the regulator’s input and output, and 100 nF at each power pin.
- USB. 27 Ω series resistors on USB_DP and USB_DM, close to the chip. The pull-ups are built in. Raspberry Pi aims the pair at 90 Ω differential: 0.8 mm tracks with a 0.15 mm gap on their 1 mm board.
- Boot select. QSPI_SS through 1 kΩ to a button or jumper to ground. Held at reset, the chip starts as a USB drive you copy firmware to.
That design is two copper layers, parts on the top only, nominally 1 mm thick. The catch is the package: a 7 × 7 mm QFN-56 at 0.4 mm pitch, which Raspberry Pi says needs considerable skill to solder by hand. Plan on machine assembly, or put a Pico on your board as a module.
DVDD is not a 3.3 V pin
What the RP2350 adds
The RP2350 keeps the RP2040’s flash, crystal and USB circuit and changes the power. Its 100 mA linear core regulator became a 200 mA switching regulator, with an external 3.3 µH inductor between VREG_LX and the core supply, its own ground return and a filtered VREG_AVDD (33 Ω and 4.7 µF in Raspberry Pi’s design).
Raspberry Pi found that the inductor’s orientation matters: the field of one fitted the wrong way round upset the regulator. They worked with Abracon on a 3.3 µH part with a polarity dot, the AOTA-B201610S3R3-101-T, and their guide says plainly that a design departing from their layout does so at your own risk. Copy that corner of their board exactly. The extra GPIO of the QFN-80 RP2350B (48 against 30) and the RP2354’s 2 MB of flash in the package, which removes the flash chip, are the other board-level differences.
Choosing for your board
- Wi-Fi or Bluetooth: an ESP32-C3 module for a small, simple wireless board; an ESP32-S3 module when you need USB OTG, more GPIO or more memory.
- No radio, custom or timing-critical I/O: RP2040 or RP2350. PIO drives LED strips, extra serial ports and odd protocols without the CPU.
- More than 30 GPIO: the RP2350B (48) or the ESP32-S3 (45).
- The fewest parts on a bare chip: the RP2354, with its flash in the package.
- Hand assembly: a module or a Pico on headers, not a bare QFN. The Pico pinout gives its footprint and pins.
What PCBEditor checks
For an ESP32 module, PCBEditor places the module with its antenna at a board edge, keeps copper out of the antenna area and adds the EN pull-up and delay capacitor. For a bare RP2040, its electrical check knows the chip makes its own core supply: a DVDD pin on any net other than VREG_VOUT’s is reported as an error that would damage the chip, and it holds back the fab files until you have read it and confirmed. That rule came from a real board, a four-layer RP2040 design with both DVDD pins on 3.3 V and VREG_VOUT left open. A boot button that is not on QSPI_SS gets a warning, from the same board, where “BOOTSEL” went to GPIO25.
The limit: the check does not judge the RP2350’s switching regulator layout or which way round its inductor sits. For that corner of the board, follow Raspberry Pi’s design to the part.
Common questions
- Is the ESP32 better than the Raspberry Pi Pico?
- For a wireless board, usually yes: the ESP32 has 2.4 GHz Wi-Fi and Bluetooth LE in the chip and comes as ready-made modules. For a board without a radio, the RP2040 and RP2350 are easier to put down bare, and their programmable I/O (PIO) handles custom and timing-critical protocols in hardware.
- Is the ESP32 faster than the RP2040?
- On paper: the ESP32-S3 has two Xtensa LX7 cores at up to 240 MHz and 512 KB of SRAM, the RP2040 two Cortex-M0+ cores at up to 133 MHz and 264 KB. The RP2350 closes much of the gap with two Cortex-M33 cores (or two RISC-V cores) at 150 MHz and 520 KB of SRAM. Benchmark your own workload before choosing on speed.
- Does the Raspberry Pi Pico have Wi-Fi?
- The Pico and Pico 2 do not. The Pico W and Pico 2 W add an Infineon CYW43439 for 2.4 GHz Wi-Fi (802.11n) and Bluetooth 5.2, connected to the microcontroller over SPI.
- Can I put an RP2040 on a 2-layer PCB?
- Yes. Raspberry Pi's minimal RP2040 design is a two-layer board, nominally 1 mm thick, with parts on the top side only. The chip is a 0.4 mm pitch QFN-56, so plan on machine assembly.
- Do I need a module to put an ESP32 on my own PCB?
- Use one. A module includes the flash, the crystal, the RF matching and the antenna, and is already certified. A bare ESP32 chip makes the radio design your job.
- What does the RP2040 need besides the chip?
- A QSPI flash chip, a 12 MHz crystal (Raspberry Pi recommends the ABM8-272-T3), a 3.3 V supply, 1 µF at the core regulator's input and output, 100 nF per power pin, and 27 Ω series resistors on the USB data lines. A button from QSPI_SS to ground through 1 kΩ gives you the BOOTSEL mode.
Start from a bare RP2040 board
The editor opens with an RP2040 board described in the chat box: flash, the recommended crystal, USB-C and the boot button. Swap it for an ESP32-C3 or ESP32-S3 module if your board needs wireless.
Open the RP2040 board in the editor→Sources
Checked 1 November 2026 against the current documents. The table compares chips, not dev boards; a board adds its own regulator, flash and connectors.
- Raspberry Pi Ltd, RP2040 and RP2350 product pages: cores, clock, SRAM, PIO state machines, USB, GPIO counts and packages.
- Raspberry Pi Ltd, Hardware design with RP2040 (RP-008279-DS-2): the minimal two-layer design, the internal 1.1 V regulator, flash, the ABM8-272-T3 crystal, USB series resistors and the BOOTSEL circuit.
- Raspberry Pi Ltd, Hardware design with RP2350 (RP-008280-DS-2): the 200 mA switching core regulator, the 3.3 µH inductor and its orientation, and the VREG_AVDD filter.
- Raspberry Pi documentation, Pico-series microcontrollers: Pico and Pico 2 flash sizes; the CYW43439 on the Pico W and Pico 2 W.
- Espressif Systems, ESP32-S3 Series Datasheet and ESP32-C3 Series Datasheet: cores, SRAM, radio, GPIO, USB and packages.
- Espressif Systems, ESP32-S3 and ESP32-C3 Hardware Design Guidelines and module datasheets: the module support circuit (see the ESP32 PCB design guide).