What an ESP32 is
ESP32 is a family of microcontrollers from Espressif designed for projects with wireless connectivity. Depending on the model, it includes WiFi, Bluetooth or Bluetooth Low Energy, plus digital inputs and outputs, analog inputs, timers and buses such as I2C, SPI and UART.
An ESP32 development board adds to the chip everything needed to work with it: a USB connector, a voltage regulator, reset and programming buttons, and a row of accessible pins. That board is normally what you buy for a prototype; the bare chip is reserved for product designs or your own boards.
The ESP32 is not a full computer. It does not replace a server such as Home Assistant, but it can read sensors, control actuators and send data to a dashboard or to another platform.
Which ESP32 board to choose
There is no single best board. Choose according to the project and always check the exact model printed on the board and the manufacturer’s documentation.
| Family | When it makes sense | Caution |
|---|---|---|
| Classic ESP32 | First sensors, relays and general projects | There are many revisions and compatible boards with different pinouts |
| ESP32-C3 | Small sensors and projects with contained consumption | Check which peripherals and pins your firmware needs |
| ESP32-S3 | Projects that need more memory, USB or processing | Not all modules have the same memory or the same connector |
| ESP32-C6 | Projects that require its supported connectivity features | Check support for the ESPHome version and the framework you picked |
For learning, a well-documented development board with USB usually matters more than buying the newest model. Avoid choosing only on GPIO count: some pins have boot functions, are connected to the flash memory or should not be used as a normal input.
What you need besides the board
To run a first test you will need:
- A USB cable that carries data. Many cables included with chargers only charge.
- A breadboard and jumper wires if you are going to connect a sensor without soldering.
- A stable USB power supply for the final installation. The computer’s USB is fine for early testing, but it is not a permanent solution for every build.
- The sensor or actuator you want to try and its datasheet.
The ESP32 normally works with 3.3 V logic. Do not connect a 5 V signal to a GPIO without first checking that the board and the circuit include the necessary adaptation. A development board’s power input and the logic level of its pins are not the same thing.
First steps with ESPHome
ESPHome lets you describe the device in YAML and generate the firmware without starting to write C++. The basic workflow is as follows:
- Identify the board. Note the family, the module and the model name that appears in the manufacturer’s documentation.
- Install ESPHome. You can use its configuration dashboard alongside Home Assistant or the command line tool. Use a version compatible with your board and check the documentation before copying an old example.
- Create a minimal configuration. Include the board block, the network and the components you are actually going to use. Credentials must live in local secrets, never in a public repository.
- Connect the board over USB. The first upload is usually done by cable. If the device does not appear, try another cable and check the USB-serial driver.
- Check the log. Before connecting sensors, confirm that it boots, joins the network and exposes the API or the component you need.
- Add hardware one at a time. That way you know which change introduced an error and you can revert it without rebuilding the whole setup.
A minimal configuration can have this form, but you must adapt the board name and the components to your model:
esphome:
name: sensor-prueba
esp32:
board: esp32dev
logger:
api:
encryption:
key: !secret api_encryption_key
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
This snippet is a starting point for orientation, not a universal configuration.
Some boards or versions require selecting a different board, framework or OTA
component. Always check the build result before installing it.
Common problems with the ESP32
- The port does not appear: usually a charge-only cable, a missing USB-serial driver or a port taken by another program.
- The upload fails at the start: hold the BOOT button down if the board requires it, try a different speed and confirm you selected the right port.
- Reboot loops: check the power supply, the regulator and the actuator’s consumption. A relay or an LED strip should not be fed merrily from a GPIO.
- It does not connect to WiFi: confirm the network is compatible, that the credentials are correct and that the antenna is not blocked by metal. If it still fails, see ESP32 won’t connect to WiFi.
- The sensor returns zero or
NaN: check power, ground, pin, pull-up, I2C address and the component’s read interval. - It works over USB but not once installed: check the independent power supply, coverage in its final location and whether the device needs to boot with a specific pin state.
External sources
- Espressif: ESP32 documentation — SDK, pins, memory, WiFi, Bluetooth, security, ADC.
- Espressif: ESP32 datasheet — electrical characteristics, pins, memory, consumption, antenna, temperature.
- Espressif: ESP32-C3 datasheet — RISC-V, memory, consumption, WiFi 4, Bluetooth 5.
- Espressif: ESP32-S3 datasheet — dual core, vector extensions, USB OTG, PSRAM, security.
- Espressif: ESP32-C6 datasheet — RISC-V, WiFi 6, Bluetooth 5, Matter, Thread, Zigbee.
- ESPHome: getting started guide — installation, first device, integration with Home Assistant.
- ESPHome: security best practices — secrets, API encryption, OTA, authentication.
- ESPHome: component reference — sensors, actuators, buses, protocols, parameters.
Next step
With the board working, go back to the home automation for beginners guide to choose a first sensor and plan the automation. The choice of communication protocol deserves a separate comparison in Fundamentals.
You can also compare the family with other platforms in ESP32 vs ESP8266 vs Arduino or continue with the ESPHome complete guide.