Microcontroller Guide: Compare ESP32 and Wearable Boards
Every board here is one I've used in a build or a video. Pick from the quick list below, or compare them all in the table. All of them program with Arduino IDE or PlatformIO (my favourite), and most also run MicroPython or CircuitPython.
Quick picks
- Your very first board: the ESP32 30-pin (USB-C). It's the board most tutorials use, it fits a breadboard with room to spare, and it has Wi-Fi and Bluetooth.
- Touch sensing with conductive fabric: choose a classic ESP32, an ESP32-S3, an S2 or a SAMD21 board. ESP32-C3 boards have no touch pins, so they need an add-on such as the MPR121 touch sensor for fabric buttons.
- Sewing it straight into clothes: Gemma M0 for small circuits, Flora when you need more pads, or the Beetle ESP32 if it needs Wi-Fi.
- As small as possible: ESP32-C3 SuperMini, ESP32-S3 SuperMini or XIAO RP2040.
- Running on a battery: the Beetle ESP32-C3 charges a Li-ion cell on the board. Gemma, Flora and Circuit Playground have a JST battery plug.
- Plug-in sensors with no soldering: the Adafruit QT Py boards have a STEMMA QT port that also takes Qwiic sensors.
- Teaching a class: Circuit Playground Express. Sensors, sound and 10 LEDs are built in, and it works with MakeCode blocks.
- Screens, camera or audio: an ESP32-S3 N16R8 with 16 MB of flash and 8 MB of PSRAM.
Compare every board
On a phone, swipe sideways to see every column.
| Board | Chip | Wireless | Touch pins for fabric | USB | Size and shape | Sewable | Battery | Best for | Price |
|---|---|---|---|---|---|---|---|---|---|
ESP32 30-pin (USB-C) |
ESP32, dual-core 240 MHz | Wi-Fi + Bluetooth | Yes, up to 10 | USB-C | 30-pin, breadboard friendly | No | No | Your first board; follows most tutorials | $14.95 |
ESP32 30-pin |
ESP32, dual-core 240 MHz | Wi-Fi + Bluetooth | Yes, up to 10 | Older USB (not C) | 30-pin, breadboard friendly | No | No | Lowest-cost classic ESP32 | $11.95 |
ESP32 38-pin (USB-C) |
ESP32, dual-core 240 MHz | Wi-Fi + Bluetooth | Yes, up to 10 | USB-C | 38-pin, every pin broken out | No | No | Projects that need every pin | $15.95 |
Pink ESP32-WROOM-32E |
ESP32 (32E revision), dual-core 240 MHz | Wi-Fi + Bluetooth | Yes, up to 10 | USB-C | 30-pin, pink board | No | No | Classic ESP32 that looks good on show | $17.95 |
White ESP32-WROOM-32E |
ESP32 (32E revision), dual-core 240 MHz | Wi-Fi + Bluetooth | Yes, up to 10 | USB-C | 30-pin, white board | No | No | Classic ESP32 that looks good on show | $17.95 |
ESP32-S3 SuperMini |
ESP32-S3, dual-core 240 MHz, 2 MB PSRAM | Wi-Fi + Bluetooth 5 LE | Yes | USB-C, native | Smaller than a postage stamp | Solder wires | No | Powerful wearables in a tiny space | $11.95 |
ESP32-S3 N16R8, pre-soldered |
ESP32-S3, dual-core 240 MHz, 16 MB flash, 8 MB PSRAM | Wi-Fi + Bluetooth 5 LE | Yes | Two USB-C | Breadboard, headers fitted | No | No | Displays, camera and audio projects | $19.95 |
ESP32-S3 N16R8, unsoldered |
ESP32-S3, dual-core 240 MHz, 16 MB flash, 8 MB PSRAM | Wi-Fi + Bluetooth 5 LE | Yes | Two USB-C | Headers loose, for low-profile builds | Solder wires | No | Big-memory projects built into garments | $19.95 |
ESP32-C3 SuperMini, black |
ESP32-C3, RISC-V 160 MHz | Wi-Fi + Bluetooth 5 LE | No | USB-C | Thumb-sized | Solder wires | No | Cheapest tiny Wi-Fi board | $9.75 |
ESP32-C3 SuperMini, pink |
ESP32-C3, RISC-V 160 MHz | Wi-Fi + Bluetooth 5 LE | No | USB-C | Thumb-sized, pink | Solder wires | No | Cheapest tiny Wi-Fi board | $9.75 |
ESP32-C3 with 0.42" screen |
ESP32-C3, RISC-V 160 MHz | Wi-Fi + Bluetooth 5 LE | No | USB-C | 23.5 × 18 mm, screen built in | Solder wires | No | Tiny wearables that show text or numbers | $19.75 |
ESP32-C3 with 25 LEDs |
ESP32-C3, RISC-V 160 MHz | Wi-Fi + Bluetooth 5 LE | No | USB-C | 21 × 18 mm, 5×5 LED matrix | Solder wires | No | Badges and wearables that light up | $24.75 |
Beetle ESP32 [Sewable] |
ESP32, dual-core | Wi-Fi + Bluetooth | Some pins | Micro-USB | 35 × 34 mm, gold sew pads | Yes | No | Wireless projects sewn into clothes | $13.99 |
Beetle ESP32-C3 |
ESP32-C3, RISC-V 160 MHz | Wi-Fi + Bluetooth 5 LE | No | USB-C | Coin-sized | Solder wires | Yes, Li-ion | Battery projects without a charger board | $12.65 |
Adafruit QT Py SAMD21 |
SAMD21, 48 MHz | None | Yes, 6 | USB-C, native | XIAO size, STEMMA QT port | Solder wires | No | Fabric touch and plug-in sensors, no wireless | $14.95 |
Adafruit QT Py ESP32-S2 |
ESP32-S2, single-core 240 MHz | Wi-Fi only | Yes | USB-C, native | XIAO size, STEMMA QT port | Solder wires | No | Wi-Fi plus plug-in sensors | $22.75 |
Adafruit QT Py ESP32-C3 |
ESP32-C3, RISC-V 160 MHz | Wi-Fi + Bluetooth 5 LE | No | USB-C | XIAO size, STEMMA QT port | Solder wires | No | Bluetooth plus plug-in sensors | $17.75 |
Seeed XIAO RP2040 |
RP2040, dual-core 133 MHz | None | No | USB-C, native | 20 × 17.5 mm | Solder wires | No | Tiny, cheap LED and sensor projects | $8.95 |
Adafruit Gemma M0 |
SAMD21, 48 MHz | None | Yes, on the sew pads | Micro-USB, native | 28 mm round, 3 sew pads | Yes | JST battery plug | Small sewn circuits and first wearables | $15.75 |
Adafruit Flora V3 |
ATmega32u4 | None | Not built in | Micro-USB, native | 45 mm round, 14 sew pads | Yes | JST battery plug | Bigger sewn circuits with many parts | $26.75 |
Circuit Playground Express |
SAMD21, 48 MHz | None | Yes, 7 pads | Micro-USB, native | 50 mm round, sensors and 10 LEDs built in | Yes (pads) | JST battery plug | Classrooms and first projects, MakeCode blocks | $39.99 |
ESP32, S3, C3 or S2: what's the difference?
- ESP32 (classic): two cores, Wi-Fi and Bluetooth, up to 10 touch pins. The safe all-rounder with the most tutorials.
- ESP32-S3: the newer, faster two-core chip, with native USB, more memory options and plenty of touch pins. Best for bigger wearables, displays and LED effects.
- ESP32-C3: one RISC-V core, Wi-Fi and Bluetooth 5 LE, very cheap and very small, but no touch pins.
- ESP32-S2: one core, native USB, touch pins, Wi-Fi but no Bluetooth.
Boards without wireless (SAMD21, RP2040, ATmega32u4) are simpler and great for LEDs, sensors and sewn circuits that don't need to talk to a phone.
Questions people ask
Which microcontroller is best for wearables?
For sewing straight into fabric, Gemma M0 or Flora. For wireless wearables, the Beetle ESP32 (sewable) or an ESP32-S3 SuperMini with wires soldered on.
Which boards work with conductive fabric touch sensors?
Any board with capacitive touch pins: classic ESP32, ESP32-S3, ESP32-S2, QT Py SAMD21, Gemma M0 and Circuit Playground Express. Sew or snap the fabric to a touch pin and read it in code. See the Conductive Fabric Guide to pick the fabric.
30-pin or 38-pin ESP32?
The 30-pin fits on one breadboard with a free row on each side. The 38-pin breaks out every pin but covers the whole width of a standard breadboard.
Do I need to solder?
Not for the sewable boards, the boards with pre-soldered headers or the QT Py STEMMA QT port. The SuperMini boards need headers or wires soldered on.
Where can I buy ESP32 boards in Canada?
Right here: every order is packed by hand in Nova Scotia and ships across Canada, with small parcels from $3.50. See shipping rates.
ESP32 30-pin (USB-C)
ESP32 30-pin
ESP32 38-pin (USB-C)
Pink ESP32-WROOM-32E
White ESP32-WROOM-32E
ESP32-S3 SuperMini
ESP32-S3 N16R8, pre-soldered
ESP32-S3 N16R8, unsoldered
ESP32-C3 SuperMini, black
ESP32-C3 SuperMini, pink
ESP32-C3 with 0.42" screen
ESP32-C3 with 25 LEDs
Beetle ESP32 [Sewable]
Beetle ESP32-C3
Adafruit QT Py SAMD21
Adafruit QT Py ESP32-S2
Adafruit QT Py ESP32-C3
Seeed XIAO RP2040
Adafruit Gemma M0
Adafruit Flora V3
Circuit Playground Express