CIRCUITKAR
ProductsBlogToolsAboutContact
CIRCUITKAR

Components for Builders.

IG

Explore

  • Products
  • Blog
  • Tools & Calculators
  • About
  • Contact
  • Track Order

Payments

Secured by Razorpay

UPI, Cards, Net Banking & Wallets supported at launch.

ยฉ 2025 Circuitkar. GST Registered. Silvassa, India.

All articles
esp32beginnerarduino-idemicrocontrolleriotgetting-started

Complete ESP32 Beginner Guide

Circuitkar Team ยท 2 May 2026

Complete ESP32 Beginner Guide

The ESP32 is arguably the most capable โ‚น300 chip you can buy in India today. Dual-core processor, WiFi, Bluetooth, 34 GPIO pins, and a massive community. But starting out can be confusing โ€” multiple board variants, non-obvious pin restrictions, and a few traps that catch every beginner. This guide walks you through everything from unboxing to your first connected project.

Which ESP32 Board to Buy

Several variants exist. For beginners, the ESP32 DevKit V1 (also called DOIT DevKit or ESP32-WROOM-32 DevKit) is the right choice. It has 38 pins on a 0.1-inch pitch, USB-to-serial via CP2102 or CH340, and fits a breadboard with one row exposed on each side when centered on a full-size breadboard.

  • ESP32-WROOM-32: Standard module, 4 MB flash, the one you want for most projects
  • ESP32-WROVER: Adds 4 MB PSRAM โ€” useful for camera, audio, and large buffer applications
  • ESP32-S3: Newer, adds USB HID capability and AI acceleration; slightly more complex setup
  • ESP32-C3: RISC-V single-core, cheaper, good for WiFi+BLE applications with lower requirements
  • ESP32-CAM: ESP32-S module with OV2640 camera, microSD, no onboard USB โ€” needs a separate programmer

Start with the standard WROOM-32 DevKit. You can find it at Circuitkar's microcontrollers section for โ‚น280โ€“350.

Setting Up Arduino IDE

Install Arduino IDE 2.x from arduino.cc. Then:

  1. Open File โ†’ Preferences โ†’ Additional boards manager URLs
  2. Add: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  3. Go to Tools โ†’ Board โ†’ Boards Manager, search "esp32" and install the Espressif ESP32 package (version 2.x or 3.x)
  4. Select board: ESP32 Dev Module
  5. Select port: your COM port (Windows) or /dev/ttyUSB0 (Linux/Mac)

If the board is not recognized, install the CH340 driver (Windows) or the CP2102 driver depending on which USB-serial chip your board uses. Look at the chip near the USB port โ€” CH340G or CP2102 are the most common.

The ESP32 Pinout: What You Must Know

Not all GPIO pins on the ESP32 behave the same. These restrictions catch beginners constantly:

  • GPIO 0, 2, 15: Boot-strapping pins. Their state at power-on affects boot mode. Avoid connecting these to sensors that pull the pin LOW at startup.
  • GPIO 34, 35, 36, 39: Input-only pins. No internal pull-up/pull-down. Cannot be used as outputs.
  • GPIO 6โ€“11: Connected to internal flash memory. Do not use these.
  • ADC2 pins (0,2,4,12โ€“15,25โ€“27): Unreliable when WiFi is active. Use ADC1 pins (32โ€“39) for analog sensors in WiFi projects.
  • GPIO 21 (SDA) and GPIO 22 (SCL): Default I2C pins. OLED displays, BME280, and most I2C sensors use these by default in Arduino libraries.
  • GPIO 5 (SS), 18 (SCK), 19 (MISO), 23 (MOSI): Default SPI pins. RC522 RFID and SD card modules use these.

First Program: Blink

The built-in LED on most ESP32 DevKit boards is on GPIO 2. Upload this to verify your setup:

void setup() {
  pinMode(2, OUTPUT);
}
void loop() {
  digitalWrite(2, HIGH);
  delay(500);
  digitalWrite(2, LOW);
  delay(500);
}

If the LED blinks, your toolchain is working. If upload fails, hold the BOOT button while clicking upload, release after "Connecting..." appears in the console.

First Real Project: WiFi Temperature Logger

Connect a DHT22 sensor to GPIO 4 (data pin with a 10 kฮฉ pull-up to 3.3 V). Use the DHTesp library (install via Library Manager). Send readings to a free Blynk or MQTT broker every 30 seconds. This project teaches you WiFi connection handling, sensor reading, and basic reconnect logic โ€” the three skills you will use in almost every future project.

Common Beginner Traps

  • 3.3 V logic: ESP32 GPIO pins are 3.3 V only. Connecting a 5 V signal directly can damage the chip. Use a voltage divider or level shifter.
  • Power from GPIO 5V pin: The 5V pin on the DevKit passes USB voltage directly โ€” up to 500 mA from USB. For sensors drawing significant current, power them from a separate supply.
  • String class: Avoid using Arduino String objects in long-running programs. They cause heap fragmentation. Use char arrays or sprintf instead.
  • delay() blocks everything: Use millis()-based timing for anything that needs to run concurrently with WiFi or sensor reading.
  • Not handling WiFi disconnect: Add WiFi.setAutoReconnect(true) and a reconnect loop in your code. WiFi drops are normal.
Share: X LinkedIn

Related Articles

ESP32 for Small Factory Automation: A Practical Starter Guide

How small Indian manufacturers are using ESP32 for basic factory monitoring and control โ€” real use cases, limitations, and what it costs to get started.

Home Automation Bill of Materials: Complete Component List with Prices

Full BOM for a 3-room smart home โ€” every component, quantity, price range, and total cost estimate for a DIY home automation installation.

Why Cheap Components Fail and What to Buy Instead

The real reasons why no-name ESP32s, clone sensors, and unbranded relay boards fail โ€” and how to identify quality components before buying.