What Is the ESP32?

The ESP32 is a powerful, low-cost microcontroller developed by Espressif Systems. It features a dual-core 32-bit processor, built-in Wi-Fi and Bluetooth, and a rich set of peripherals — making it one of the most versatile chips available for hobbyists, makers, and professional engineers alike.

Whether you want to build a smart home sensor, a web-connected robot, or a Bluetooth audio device, the ESP32 has the hardware to support it — all for just a few dollars per module.

Key Features at a Glance

  • Dual-core Xtensa LX6 processor running up to 240 MHz
  • Built-in Wi-Fi (802.11 b/g/n) and Bluetooth 4.2 / BLE
  • Up to 34 GPIO pins with multiple functions
  • 12-bit ADC on up to 18 channels
  • Support for SPI, I2C, I2S, UART, CAN, PWM and more
  • Ultra-low power modes, including deep sleep at ~10 µA
  • On-chip Hall sensor and capacitive touch inputs

What You'll Need to Get Started

  1. An ESP32 development board — the ESP32-DevKitC or a NodeMCU-32S are popular choices for beginners
  2. A USB cable (usually Micro-USB or USB-C, depending on the board)
  3. A computer running Windows, macOS, or Linux
  4. Arduino IDE (free download from arduino.cc)

Installing the ESP32 Board Package in Arduino IDE

Arduino IDE is the easiest way to start programming the ESP32. Follow these steps to add ESP32 support:

  1. Open Arduino IDE and go to File → Preferences.
  2. In the "Additional Board Manager URLs" field, paste:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  3. Click OK, then go to Tools → Board → Boards Manager.
  4. Search for "esp32" and install the package by Espressif Systems.
  5. Once installed, go to Tools → Board and select your specific ESP32 board.

Your First Sketch: Blink an LED

Most ESP32 development boards have a built-in LED connected to GPIO 2. Here's the classic "Hello World" of hardware:

void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}

Upload this sketch by selecting the correct COM port under Tools → Port, then clicking the Upload button. You should see the onboard LED blinking every second.

Choosing the Right ESP32 Variant

Espressif makes several ESP32 variants. Here's a quick comparison for beginners:

ModuleCoresWi-FiBluetoothBest For
ESP322YesBT + BLEGeneral IoT projects
ESP32-S32YesBLE onlyAI / USB applications
ESP32-C31 (RISC-V)YesBLE onlyCost-sensitive designs
ESP32-S21YesNoneUSB-HID, no BT needed

Next Steps

Once you've blinked an LED, you're ready to explore further. Try reading sensor data over I2C, connecting to your home Wi-Fi, or setting up a simple web server. The ESP32 ecosystem is vast — and this is just the beginning.