Skip to content

ESP32 Board Selection

ESP32 Board Selection

This section introduces the ESP32 family of microcontrollers. By the end of this section, you will be able to:

  • Identify the key models in the ESP32 series and their target use cases
  • Compare technical specifications across different ESP32 variants
  • Select the appropriate ESP32 board for a given IoT application scenario
  • Basic understanding of microcontroller concepts
  • Familiarity with IoT device terminology (GPIO, Wi-Fi, Bluetooth)

ESP32 is a series of low-cost, low-power system-on-chip (SoC) microcontrollers developed by Espressif Systems. They feature integrated Wi-Fi and dual-mode Bluetooth, making them the de facto standard for IoT prototyping and production.

Unlike traditional microcontrollers that require external connectivity chips, the ESP32 integrates both the processing core and wireless communication on a single chip, dramatically reducing BOM cost and design complexity.

ModelCoresSRAMFlashWi-FiBluetoothKey Feature
ESP32 (original)2x Xtensa LX6520 KBup to 16 MB802.11 b/g/nBLE 4.2 + ClassicGeneral purpose, largest ecosystem
ESP32-S21x Xtensa LX7320 KBup to 16 MB802.11 b/g/nNo BLEUSB OTG, lower cost
ESP32-S32x Xtensa LX7512 KBup to 16 MB802.11 b/g/nBLE 5.0AI acceleration, vector instructions
ESP32-C31x RISC-V400 KBup to 16 MB802.11 b/g/nBLE 5.0RISC-V core, lowest cost
ESP32-C61x RISC-V512 KBup to 16 MBWi-Fi 6BLE 5.0 + ZigbeeThread/Zigbee support
ESP32-H21x RISC-V256 KBup to 4 MBNoBLE 5.0 + ZigbeeMatter/Thread dedicated

ESP32 DevKit v1 / DOIT DevKit

The most common ESP32 development board. It features the original ESP32 chip, a USB-to-UART bridge (CP2102 or CH340), and breaks out most GPIO pins.

  • Core: ESP32-D0WDQ6 (dual-core)
  • Flash: 4 MB (SPI)
  • Pins: 30 or 38 pins depending on variant
  • USB: Micro-USB with CP2102/CH340
  • Price: $5-8

ESP32-DevKitC

Espressif’s official development board. Better build quality and regulatory certification.

  • Core: ESP32-WROOM-32 module
  • Flash: 4 MB
  • Pins: 38 pins
  • USB: Micro-USB
  • Price: $10-15

NodeMCU-32S

An ESP32 board in the popular NodeMCU form factor, compatible with many existing shields.

  • Core: ESP32-WROOM-32
  • Flash: 4 MB
  • Pins: 30 pins
  • USB: Micro-USB
  • Price: $6-10

ESP32-S3-DevKitC-1

Espressif’s latest general-purpose dev board with AI acceleration capabilities.

  • Core: ESP32-S3 (dual-core LX7)
  • Flash: 8-16 MB
  • PSRAM: 2-8 MB
  • Pins: 42 pins
  • USB: USB-C native (built-in USB Serial/JTAG)
  • Price: $12-18

XIAO ESP32-C3 / XIAO ESP32-S3

Ultra-compact boards from Seeed Studio, ideal for space-constrained and low-power applications.

  • Core: ESP32-C3 (RISC-V) or ESP32-S3
  • Flash: 4-8 MB
  • Size: 21 x 17.5 mm
  • USB: USB-C
  • Price: $6-10

ESP32-CAM

An ESP32 board with an integrated camera connector, designed for image capture applications.

  • Core: ESP32 (single-core in practice)
  • Flash: 4 MB (PSRAM: 4 MB optional)
  • Interface: OV2640/OV3660 camera
  • Extras: MicroSD card slot, flash LED
  • Price: $8-12

M5Stack Series (ESP32 Tower / Basic / Core2)

Modular ESP32 devices with built-in display, buttons, battery, and expansion ports. Frequently used in industrial prototyping.

  • Core: ESP32 or ESP32-S3 depending on model
  • Display: 1.14” - 2.0” TFT/LCD
  • Extras: IMU, microphone, speaker, RGB LED
  • Price: $25-45

Before selecting a board, answer these questions:

  1. Connectivity: Do you need Bluetooth (S3/C3) or only Wi-Fi (S2)?
  2. GPIO count: How many sensors/actuators need to connect?
  3. Processing power: Is AI/ML inference needed (S3)?
  4. Power source: Battery operation (C3/XIAO) or USB power (DevKit)?
  5. Size constraints: Is the board inside an enclosure (XIAO)?
  6. Budget: Per-unit cost target?
Use CaseRecommended BoardRationale
Environmental monitoringDevKit v1 or NodeMCU-32SSufficient GPIO, low cost
Image capture / cameraESP32-CAMIntegrated camera interface
Low-power button / sensorXIAO ESP32-C3Ultra-low deep sleep current
AI/ML edge inferenceESP32-S3-DevKitCVector instructions, PSRAM
Industrial HMI panelM5Stack Core2Built-in display and touch
Smart home deviceESP32-C6Thread/Zigbee support
Wearable / compactXIAO ESP32-S3Small footprint, USB-C
Prototyping / learningDevKit v1 or NodeMCU-32SBest community support

Always check the following before purchasing:

  • Arduino Core Support: All mainstream ESP32 models are supported by the ESP32 Arduino Core
  • Library Availability: Check if required libraries support your chip variant (e.g., TFT_eSPI for display)
  • Pin Compatibility: Some libraries expect specific pin assignments
  • Regulatory Certification: For production, ensure the module has FCC/CE certification

After selecting a board:

  • Confirm the board is available from your supplier
  • Check that the ESP32 Arduino Core supports the chip variant
  • Verify that all required peripherals (GPIO, I2C, SPI) are available in sufficient quantity
  • Cross-reference with the project’s minimum hardware requirements

Symptoms: Computer does not detect the board when connected via USB.

Causes:

  • Missing USB-to-UART driver (CP2102 or CH340)
  • Faulty USB cable (data-only vs charge-only)
  • Damaged USB port on the board

Solutions:

  1. Install the correct driver (CP210x or CH340)
  2. Try a different USB cable known to support data transfer
  3. Test with a different computer to isolate the issue

Symptoms: Multiple board options in the IDE, unsure which to select.

Solutions:

  1. Check the markings on the main chip (e.g., “ESP32-D0WDQ6” vs “ESP32-S3”)
  2. Look for the module label (e.g., “ESP32-WROOM-32” vs “ESP32-WROVER”)
  3. If unsure, start with “ESP32 Dev Module” in Arduino IDE or “Espressif ESP32” in PlatformIO
  • Start with a DevKit: For prototyping and learning, use a standard DevKit v1 or NodeMCU-32S — these have the broadest community support
  • Consider future production: If the project may go to production, choose a module-based board (ESP32-WROOM) for easier certification
  • Keep spare boards: ESP32 boards are inexpensive; keep 2-3 spares for testing
  • Match PSRAM to workload: Display and camera projects require PSRAM; sensor-only projects do not
  • Check voltage levels: All ESP32 GPIO are 3.3V; 5V sensors need level shifters
  1. The ESP32 family ranges from ultra-low-cost C3 (RISC-V) to high-performance S3 (with AI acceleration)
  2. Board selection should match the project’s connectivity, GPIO, power, and size requirements
  3. Common dev boards include DevKit v1 (general), ESP32-CAM (camera), and XIAO (compact/low-power)
  4. Always verify driver compatibility and library support before finalizing board selection