Which Microcontroller Should I Buy?
If you're a beginner, buy an Arduino. If you need Wi-Fi or Bluetooth, buy an ESP32. If you need a full computer with a desktop and web browser, buy a Raspberry Pi. If you need industrial-grade precision and low-level hardware control, look at STM32. If you want a cheap, flexible board with MicroPython support, consider the RP2040. Each platform exists because it solves a different problem — this guide explains which one matches yours.
This article compares five platforms that Kunkune customers ask about most: Arduino, ESP32, Raspberry Pi, STM32, and RP2040. If you're starting from scratch, begin with our getting started with Arduino roadmap — it's the fastest path to building your first project.
What Is the Difference Between a Microcontroller and a Computer?
A microcontroller (Arduino, ESP32, STM32, RP2040) runs a single program in a loop. It has no operating system, no desktop, and no file manager. You upload code, and it executes that code forever until you upload something new or cut the power. Microcontrollers are designed for real-time tasks — reading sensors, controlling motors, and responding to inputs with precise timing.
A single-board computer (Raspberry Pi 4/5) runs a full operating system (Linux). It has a desktop environment, web browser, file system, and can run multiple programs simultaneously. It connects to a monitor, keyboard, and mouse. It's a general-purpose computer that happens to have GPIO pins for connecting hardware.
The confusion comes from the Raspberry Pi brand. The Raspberry Pi 4 and 5 are computers. The Raspberry Pi Pico is a microcontroller (based on the RP2040 chip). Same brand name, completely different devices.
Should I Buy Arduino or ESP32?
This is the most common question from beginners who want Wi-Fi. The answer depends on whether you need wireless connectivity now or later.
Arduino (ATmega328P) runs at 5V, has no built-in wireless, and uses a simple single-core 8-bit processor at 16 MHz. Its strength is simplicity — every beginner tutorial uses Arduino, the IDE is straightforward, and you can go from zero to blinking an LED in 10 minutes. There are more Arduino tutorials, libraries, and community examples than any other platform. A starter kit includes everything you need to begin.
ESP32 runs at 3.3V, has built-in Wi-Fi and Bluetooth, and uses a dual-core 32-bit processor at 240 MHz. It's significantly more powerful than Arduino, but that power comes with more complexity. GPIO pins behave differently, some pins have restrictions (strapping pins that affect boot mode), and the 3.3V logic means some 5V sensors need level shifters.
The practical path for most beginners: learn on Arduino first, then move to ESP32 when you're ready for wireless projects. Arduino teaches you the fundamentals (digital/analogue I/O, libraries, serial communication) without the added complexity of wireless stacks and 3.3V logic. Set up the Arduino IDE in under 10 minutes and start with the Uno or Nano — either works. Once those fundamentals are solid, ESP32 code looks almost identical — the Arduino IDE supports ESP32, and most Arduino libraries have ESP32-compatible versions.
Kunkune stocks Arduino-compatible boards from £3.90 and ESP32/ESP8266 boards from £2.90. The Wemos D1 Mini range is particularly popular for compact IoT projects.
Buy Arduino if: You're a complete beginner, following tutorials, or building projects without internet connectivity.
Buy ESP32 if: You specifically need Wi-Fi or Bluetooth, you're building IoT devices, or you've already learned Arduino basics and want to upgrade.
What Is the Difference Between Arduino and Raspberry Pi?
These are fundamentally different devices solving different problems. Comparing them is like comparing a screwdriver to a laptop — both useful, neither replaces the other.
Arduino excels at single-task, real-time control. It turns on the instant you apply power, runs your program immediately, and responds to sensor inputs with microsecond precision. It draws very little power (around 50 mA), making it suitable for battery-powered projects. It costs £3.90–£6.90.
Raspberry Pi (4/5) excels at complex computation, networking, and tasks that need an operating system. It runs Python, JavaScript, and any Linux software. It can serve web pages, process video, run machine learning models, and act as a media centre. But it takes 30–60 seconds to boot, draws 2–5 watts, and costs £55–£80 for the board alone.
Use Arduino when: You need to read sensors, control motors, blink LEDs, manage relay modules, or build any project where the task is "sense something → do something" in a continuous loop.
Use Raspberry Pi when: You need a web server, camera processing, display output to a monitor, database storage, or any task where you'd normally use a computer.
Use both when: Many advanced projects combine them — the Raspberry Pi handles the brains (data processing, web dashboard, AI) while the Arduino handles the body (sensor reading, motor control, real-time I/O). They communicate via USB serial or I2C.
Microcontroller Comparison — Quick Reference
| Feature | Arduino Uno | ESP32 | Raspberry Pi 4/5 | STM32 (Blue Pill) | RP2040 (Pico) |
|---|---|---|---|---|---|
| Type | Microcontroller | Microcontroller | Single-board computer | Microcontroller | Microcontroller |
| Processor | 8-bit AVR, 16 MHz | Dual-core 32-bit Xtensa, 240 MHz | 64-bit ARM Cortex-A76, 2.4 GHz | 32-bit ARM Cortex-M3, 72 MHz | Dual-core ARM Cortex-M0+, 133 MHz |
| RAM | 2 KB SRAM | 520 KB SRAM | 4 GB / 8 GB LPDDR4X | 20 KB SRAM | 264 KB SRAM |
| Flash / Storage | 32 KB | 4 MB (typical) | microSD (any size) | 64 KB | 2 MB (external) |
| Wi-Fi | No | Yes (built-in) | Yes (built-in) | No | No (Pico W: Yes) |
| Bluetooth | No | Yes (BLE + Classic) | Yes (BLE) | No | No (Pico W: BLE) |
| Digital pins | 14 | ~30–34 | 26 GPIO | 37 | 26 |
| Analogue inputs | 6 (10-bit) | Up to 18 (12-bit) | None (needs ADC) | 10 (12-bit) | 3 (12-bit) |
| Operating voltage | 5V | 3.3V | 3.3V GPIO | 3.3V | 3.3V |
| Programming | Arduino IDE (C++) | Arduino IDE / ESP-IDF | Python, C++, any Linux language | STM32CubeIDE / Arduino IDE | MicroPython / C / Arduino IDE |
| Operating system | None | None (or FreeRTOS) | Linux (Raspberry Pi OS) | None (or RTOS) | None |
| Setup time | ~5 minutes | ~10 minutes | ~30 minutes | ~20 minutes | ~10 minutes |
| Beginner difficulty | Easiest | Moderate | Moderate | Hard | Moderate |
| UK price (approx.) | from £3.90 | from £2.90 | £55–£80 | £3–£5 | £4–£7 |
| Best for | Learning, sensors, motor control | Wi-Fi/BT IoT projects | Web servers, video, AI/ML | Industrial, real-time, commercial | MicroPython, PIO, dual-core |
Arduino and ESP32 prices reflect Kunkune UK pricing for compatible boards as of April 2026. Raspberry Pi, STM32, and RP2040 prices are approximate UK retail.
When Should I Use STM32 Instead of Arduino?
STM32 is a family of ARM Cortex-M microcontrollers made by STMicroelectronics. The range is enormous — from tiny low-power chips to high-performance processors running at 480 MHz with DSP instructions and hardware floating-point units.
For hobbyists, the most common STM32 board is the "Blue Pill" (STM32F103C8T6), which runs an ARM Cortex-M3 at 72 MHz with 64 KB flash and 20 KB SRAM. It costs around £3–£5 and is significantly more powerful than an Arduino Uno.
The trade-off is development experience. Arduino's IDE, libraries, and community are designed for beginners. STM32's native development environment (STM32CubeIDE with HAL libraries) is designed for professional embedded engineers. The learning curve is steep — you're configuring clock trees, DMA channels, and interrupt priorities instead of calling analogRead().
You can program STM32 boards with the Arduino IDE (using the STM32duino core), which makes them feel more like a faster Arduino. But you lose access to many STM32-specific features, and community support is thinner than native Arduino.
Use STM32 when: You need precise real-time control (motor control loops, signal processing), ultra-low power consumption for battery applications, or you're building a commercial product where cost-per-unit and peripheral integration matter.
Stick with Arduino when: You're learning, prototyping, or building hobby projects. The difference in raw performance rarely matters for beginner and intermediate projects.
What Is the RP2040 and Should I Consider It?
The RP2040 is the Raspberry Pi Foundation's microcontroller chip, used in the Raspberry Pi Pico board. It features a dual-core ARM Cortex-M0+ processor at 133 MHz, 264 KB SRAM, and a unique feature called PIO (Programmable I/O) that can generate custom hardware-level signal protocols.
The Pico costs around £4–£5 and the Pico W adds Wi-Fi for around £6–£7. It supports MicroPython, CircuitPython, and C/C++ programming.
Advantages over Arduino: More processing power, more RAM, native MicroPython support, cheaper with dual cores, and the PIO subsystem is genuinely unique — it can emulate protocols that would require dedicated hardware on other platforms.
Disadvantages vs Arduino: Smaller community and fewer tutorials (growing rapidly but still behind Arduino), 3.3V logic (same issue as ESP32), and no shield ecosystem. If you're a Python programmer, the MicroPython workflow on Pico feels more natural than Arduino's C++. If you're following Arduino tutorials, the Pico adds friction.
Use RP2040 when: You prefer Python over C++, you need dual-core processing without wireless (or use Pico W for Wi-Fi), or you need the PIO subsystem for custom protocols.
Use Arduino when: You want maximum tutorial compatibility, shield support, and the largest community for troubleshooting.
How Do I Choose Between All Five?
Ask these questions in order:
Do I need a full operating system? If yes → Raspberry Pi 4/5. None of the microcontrollers run Linux.
Do I need Wi-Fi or Bluetooth? If yes → ESP32. Built-in wireless, Arduino IDE compatible, from £2.90 at Kunkune.
Am I a complete beginner? If yes → Arduino. Widest tutorial support, simplest setup, 5V logic works with most beginner components.
Do I need industrial-grade precision? If yes → STM32. Best real-time performance, lowest interrupt latency, broadest peripheral options.
Do I want to use Python? If yes → RP2040 (Raspberry Pi Pico). Best MicroPython experience among microcontrollers.
For most Kunkune customers, the journey goes: Arduino → ESP32 → whatever the project demands. Arduino teaches the fundamentals. ESP32 adds wireless. Everything after that depends on what you're building. See our best Arduino board for beginners guide to pick your first board, then work through our 10 beginner project ideas. If you get stuck, our troubleshooting guide covers every common error.
Frequently Asked Questions
The Bottom Line
Start with Arduino. It's the simplest platform, has the most tutorials, and teaches skills that transfer to every other microcontroller. When you need Wi-Fi, move to ESP32 — Kunkune stocks both from under £5. Raspberry Pi is for when you need a computer, not a microcontroller. STM32 and RP2040 are excellent platforms, but they solve problems most beginners haven't encountered yet. Pick the platform that matches your project, not the one with the most impressive spec sheet. See our free learning resources to get started.
