DEV Community

Cover image for ESP32: Intro
Janada Pelahara
Janada Pelahara

Posted on

ESP32: Intro

ESP32 + Python: From Microcontroller to IoT
Artical 01: ESP32

We've discussed about ESP32 in our previous artical on introduction. In this artical, we're focusing on ESP32 features to help our IoT projects

If you have used an Arduino board, you've probebly know that the need of extra modules when it comes to wireless communications. The especiallty of these ESP32 boards are the inbuilt WiFi and Bluethooth features.

These allows the boards to connect to networks and communicate with computers, smartphones, servers, and other devices without requiring additional wireless hardware.

The ESP32 chip itself is quite small and isn't designed to be connected directly to sensors and other components by beginners. A development board usually places the ESP32 module on a larger PCB and provides GPIO pins, power connections, USB connectivity, buttons, and other useful features.

Much like Arduino Uno, Nano in Arduino family, the most popular ESP32 boards are:

  1. ESP32 DevKit V1
    Probably one of the most popular ESP32 boards for beginners. It usually uses the ESP32-WROOM-32 module and provides easy access to many GPIO pins.

  2. ESP32-WROOM-32 DevKit
    A very common development-board design based on Espressif's ESP32-WROOM-32 module. It's widely used for learning, prototyping, sensors, and IoT projects.

  3. ESP32-C3 SuperMini
    A very small and inexpensive board based on the ESP32-C3. It's useful when you want a compact project while still having Wi-Fi and Bluetooth Low Energy.

  4. ESP32-S3 DevKitC
    A development board based on the ESP32-S3, which provides more modern features and is particularly interesting for applications involving USB and AI/edge-processing workloads.

  5. NodeMCU-32S / ESP32 NodeMCU
    Another popular development-board style used in many tutorials and hobby projects.

Board Best for
ESP32 DevKit V1 Beginners & general projects
ESP32-C3 SuperMini Small/compact projects
ESP32-S3 DevKitC More advanced projects

Here is a detailed table with the basics to know:

Feature ESP32 DevKit V1 ESP32-WROOM-32 DevKit ESP32-C3 SuperMini ESP32-S3 DevKitC NodeMCU-32S
Main chip ESP32 ESP32 ESP32-C3 ESP32-S3 ESP32
CPU Dual-core Xtensa LX6 Dual-core Xtensa LX6 Single-core RISC-V Dual-core Xtensa LX7 Dual-core Xtensa LX6
Max clock 240 MHz 240 MHz 160 MHz 240 MHz 240 MHz
GPIOs on chip Up to 34 Up to 34 Up to 22 Up to 45 Up to 34
Typical exposed GPIOs ~30–32 ~30–32 ~11–13 Depends on variant ~30
PWM 16 channels 16 channels 6 channels 8 channels 16 channels
Wi-Fi 2.4 GHz 802.11 b/g/n 2.4 GHz 802.11 b/g/n 2.4 GHz 802.11 b/g/n 2.4 GHz 802.11 b/g/n 2.4 GHz 802.11 b/g/n
Bluetooth Classic + BLE Classic + BLE Bluetooth 5 LE Bluetooth 5 LE Classic + BLE
ADC 12-bit 12-bit 12-bit 12-bit 12-bit
DAC 2 channels 2 channels ❌ No ❌ No 2 channels
Capacitive touch ✅ Yes ✅ Yes ❌ No ✅ Yes ✅ Yes
Native USB ❌ No ❌ No ✅ Yes ✅ Yes ❌ No
USB connection Usually USB-to-UART Usually USB-to-UART USB USB Usually USB-to-UART
Flash Usually 4 MB Usually 4 MB Usually 4 MB Typically 4–8 MB* Usually 4 MB
PSRAM ❌ Usually no ❌ Usually no ❌ No Available on some variants ❌ Usually no
Approx. board size ~55 × 28 mm ~55 × 28 mm ~22 × 18 mm ~50 × 25 mm* ~55 × 25 mm
Main advantage Beginner-friendly & versatile Mature ESP32 platform Tiny & low-cost Advanced processing & USB Popular alternative ESP32 board
Best for General IoT projects General-purpose projects Compact IoT projects Advanced/AI/USB projects General electronics & IoT

With these knowlegde, now you can choose an ESP32 board according to your project.

Usually a dev board(development board) contain these things

Part Provived feature
ESP32 microcontroller/module the main processing unit
GPIO pins to connect sensors, LEDs, motors, displays, etc.
USB port to programme the board and to often providing power
USB-to-Serial chip allows your computer to communicate with boards that don't have native USB
Boot/EN buttons useful for programming and resetting the board
Voltage regulator converts the input voltage to the voltage required by the ESP32
Power pins provide connections such as 3.3 V and GND

Why are development boards useful?
Development boards make experimenting with the ESP32 much easier. Instead of designing a circuit around the bare ESP32 chip, you can connect components directly to the board using jumper wires or a breadboard.

This makes development boards particularly useful for learning,
prototyping, IoT projects, robotics, and hardware-software experiments.


ESP32 communication Interfaces
Wired
ESP32 board supports 5 types of communication interfaces.

Interface Type Main purpose Common uses Key feature
UART Wired / Serial Point-to-point serial communication GPS modules, computers, other microcontrollers, Python Simple and doesn't require a clock line
I²C Wired / Serial Communication with multiple peripherals OLEDs, LCDs, sensors, RTC modules Uses only 2 signal lines (SDA & SCL)
SPI Wired / Serial High-speed peripheral communication SD cards, TFT displays, memory, sensors Faster than I²C in many applications
I²S Wired / Serial Digital audio communication Digital microphones, speakers, audio codecs Designed specifically for digital audio
CAN/TWAI Wired / Bus Reliable communication between multiple devices Automotive systems, robotics, industrial control Reliable and resistant to electrical noise

Wireless
ESP32 has 3 main wireless communication methods. ESP32 consists of a unique special wireless technology called ESP-NOW, granting you the ability to send data between ESP32 boards.

Technology Type Main purpose Common uses Key feature
Wi-Fi 📶 Wireless / Network Network and internet communication IoT, web servers, APIs, MQTT, Python Can connect the ESP32 to networks and the internet
Bluetooth Classic 🔵 Wireless Continuous device-to-device communication Computers, phones, peripherals, audio Available on some ESP32 variants
Bluetooth Low Energy (BLE) 🔵 Wireless Low-power wireless communication Sensors, wearables, beacons, smart devices Designed for low power consumption
ESP-NOW 📡 Wireless Direct ESP-to-ESP communication Remote controls, wireless sensors, IoT Doesn't require a traditional Wi-Fi router

These are just a little bit of inf about ESP32 dev boards. I hope this artical was useful with the given information. I hope to discuss about wireless communications in my next article.

Seeee you with wireless communication!

  • Written By Janada Pelahara

Top comments (0)