To build a "thinking" circuit by attaching sensors or displays to a perfboard, you need a microcontroller development board. The three beginners choose most are the Arduino Uno, the ESP32, and the Raspberry Pi Pico. The names may look alike, but the operating voltage, speed, wireless features, and development environment differ, with big effects when designing perfboard circuits. This article compares the three boards in a table and covers selection criteria by type of project and what to watch for when connecting to perfboard. The specs are for representative products and can differ by model sold, so check the datasheet before buying.
Compared at a glance
| Item | Arduino Uno (R3) | ESP32 development board | Raspberry Pi Pico |
|---|---|---|---|
| Microcontroller | ATmega328P (8-bit AVR) | ESP32 (32-bit dual core) | RP2040 (32-bit dual-core Arm Cortex-M0+) |
| Clock speed | 16 MHz | Up to 240 MHz | 133 MHz |
| Memory (RAM) | 2 KB | About 520 KB | 264 KB |
| Logic voltage | 5 V | 3.3 V | 3.3 V |
| Wireless | None | Wi-Fi + Bluetooth | None (Pico W has Wi-Fi and Bluetooth) |
| Analog inputs | 6 channels, 10-bit | Several channels, 12-bit (noise and limits) | 3 channels, 12-bit |
| Development environment | Arduino IDE (C++) | Arduino IDE, ESP-IDF, MicroPython | MicroPython, C/C++ SDK, Arduino core |
| Features | Simplest, the most material | Wireless IoT, many I/O pins | PIO (programmable I/O), cheap |
The Uno's successor (Uno R4) uses a faster 32-bit chip but keeps 5 V logic and the same pin layout.
The biggest difference: logic voltage
The Uno is 5 V, and the ESP32 and Pico are 3.3 V. This difference matters most in perfboard circuits.
- The I/O pins of 3.3 V boards mostly do not tolerate 5 V. Connecting a 5 V signal directly can destroy the pin or chip.
- To connect 5 V parts (74LS logic, some sensors) with a 3.3 V board, you have to match voltages (Connecting 3.3V and 5V Signals).
- Check that the part works at 3.3 V and that an I2C sensor does not have a 5 V pull-up (I2C Wiring Basics).
Characteristics of each board
Arduino Uno
- Pros: the most beginner material and sturdy pins. It is 5 V, so it is easy to connect LEDs and 5 V sensors directly. Each pin can pass around 20 mA, so you can light one LED directly.
- Cons: small memory, slow speed, and no wireless. The board is large.
- Suited projects: reading sensors, simple control, learning, and projects with many connections to 5 V parts.
ESP32
- Pros: built-in Wi-Fi and Bluetooth make it good for Internet of Things projects, with plenty of speed and memory. It has sleep modes and is also used in battery projects.
- Cons: it is 3.3 V, so you have to take care when connecting 5 V parts. Some pins are used to set the boot mode and have restrictions, and the current rises greatly at the moment of wireless transmission, so a weak supply makes it reboot.
- Suited projects: Internet connection, smart home, sending sensor data, Bluetooth devices.
Raspberry Pi Pico
- Pros: low price and a shape that, like a 40-pin DIP, is easy to plug into perfboard. A hardware feature called PIO lets you produce signals with exact timing (LED strips, custom communication). The documentation is good and it is easy to start with MicroPython.
- Cons: the basic model has no wireless. It is 3.3 V.
- Suited projects: projects needing accurate timing, education and experiments, cheap volume use.
Selection criteria by project
| Project | Recommendation |
|---|---|
| First sensor and LED practice | Uno |
| Projects using many 5 V parts (74LS logic, 5 V sensors) | Uno |
| Internet connection (temperature data to the web) | ESP32 |
| Connecting to a phone by Bluetooth | ESP32 |
| Accurate signal timing (LED strips, special communication) | Pico |
| Making several as cheaply as possible | Pico (or low-cost ESP32-family boards) |
| A sensor that runs long on battery | ESP32 (deep sleep) or a dedicated low-power board |
Power and pin current
- All three boards take power from USB 5 V. The 3.3 V boards make 3.3 V with an internal regulator to feed the chip.
- The current one I/O pin can supply is small (a few mA to about 20 mA). Light an LED at about 5 to 10 mA with a resistor, and turn on loads like motors and relays through a transistor (Transistor Switch Circuits, Driving Motors, Relays, and Solenoids).
- For the exact pin current limit, check the board and chip datasheets (How to Read a Datasheet).
Putting it on perfboard
Rather than soldering a development board in directly, we recommend soldering pin header sockets onto the perfboard and plugging the board in. It is easy to replace when it fails, and the board can be reused in other projects. Tips on socket spacing, antenna position, and power connections are covered in detail in Mounting a Development Board on Perfboard.
If you are choosing for the first time
If you must pick just one, learn the basics with the Arduino Uno, which has 5 V parts and plenty of material, pick the ESP32 if you need Wi-Fi, or the Pico if price and precise timing matter. All can be programmed in the same Arduino IDE, so what you learn once carries over to other boards.
Summary
The biggest differences between the three boards are logic voltage (5 V vs. 3.3 V) and wireless features. Do not connect 5 V signals directly to a 3.3 V board, and do not draw large current from the pins. Next, read Mounting a Development Board on Perfboard and Connecting 3.3V and 5V Signals.