---
title: ESP32
description: "  [![](https://inamata.io/wp-content/uploads/2024/03/esp-32-dev-kit-c-v4-895689-copy-1-300x300.png)](https://inamata.io/wp-content/uploads/2024/03/esp-32-dev-kit-c-v4-895689-copy-1.png) El ESP32 es un microcontrolador versátil y potente con conectividad WiFi y Bluetooth, así como una serie de interfaces de E/S que abarcan entradas y salidas analógicas y digitales (ADC, PWM) y buses de comunicación mediante I2C, SPI,…"
url: "https://inamata.io/es/docs/esp32/"
updated: "2024-04-29"
category: Hardware
---

# ESP32

 

[![](https://inamata.io/wp-content/uploads/2024/03/esp-32-dev-kit-c-v4-895689-copy-1-300x300.png)](https://inamata.io/wp-content/uploads/2024/03/esp-32-dev-kit-c-v4-895689-copy-1.png)

El ESP32 es un microcontrolador versátil y potente con conectividad WiFi y Bluetooth, así como una serie de interfaces de E/S que abarcan entradas y salidas analógicas y digitales (ADC, PWM) y buses de comunicación mediante I2C, SPI, UART, CAN y Ethernet. Funciona con una CPU de doble núcleo a 240 MHz y 520 KiB de RAM. En los DevKits, la memoria flash oscila entre 4 y 16 MiB para almacenar el firmware y los datos de configuración. Los DevKits se pueden comprar en una serie de tiendas online como [Amazon](https://www.amazon.com/s?k=esp32+devkit) y [eBay](https://www.ebay.com/sch/i.html?_nkw=esp32+devkit+c). Para profundizar en los pines de entrada y salida, consulta la [página de RandomNerdTutorial](https://randomnerdtutorials.com/esp32-pinout-reference-gpios/). Aprende a configurarlo manualmente a continuación.

## Interfaces del DevKit-C ESP32

- ~20 salidas digitales
- ~24 entradas digitales
- ~6 entradas analógicas
- ~16 salidas PWM (WIP)
- 2 interfaces UART (WIP)
- 2 interfaces I2C (WIP)
- Micro-USB
- Entrada de alimentación de 5 V

## Firmware para dispositivos ESP32

Las variantes de firmware mainline *ima_esp32* e *ima_esp32_dbg* son compatibles con este dispositivo. Utiliza la app Inamata Flasher para flashear la última versión (desde 0.11.0) y conectarlo con el servidor. Actualmente sólo son totalmente compatibles las entradas y salidas digitales y las entradas analógicas. El resto de periféricos son compatibles con el backend, mientras que aún se está trabajando en el frontend.

## Configuración manual del dispositivo

### Salidas digitales

*Estado: Apoyo total*

Las salidas digitales permiten controlar y alimentar pequeños dispositivos eléctricos. Los LED pueden encenderse y apagarse para indicar diferentes estados y los transistores o relés pueden recibir órdenes para encender y apagar cargas mayores, como motores y lámparas. Para configurarlo sólo hay que crear un periférico de salida digital.

[![Muestra la superposición de configuración de la salida digital, donde se puede establecer el tipo de pin y de punto de datos y probar el dispositivo.](https://inamata.io/wp-content/uploads/2024/04/Screenshot-from-2024-04-29-16-08-00-166x300.png)](https://inamata.io/wp-content/uploads/2024/04/Screenshot-from-2024-04-29-16-08-00.png)

### Entradas digitales

*Estado: Apoyo total*

La entrada digital permite medir estados digitales. Esto es útil para elementos HID, como botones, así como para sensores sencillos, como sensores de movimiento o de barrera de luz. Para configurarlo sólo hay que crear un periférico de entrada digital. Aquí hay que seleccionar tanto el pin como el tipo de punto de datos. Establecer el estado pull-up o down, así como activo bajo, es opcional.

[![Muestra una superposición de configuración para los periféricos digitales internos. Permite configurar un pin y el tipo de punto de datos, así como su estado pull-up/down y activo bajo.](https://inamata.io/wp-content/uploads/2024/04/Digital-in-peripheral-configuration-165x300.png)](https://inamata.io/wp-content/uploads/2024/04/Digital-in-peripheral-configuration.png)

### Entradas analógicas

*Estado: Apoyo total*

Las entradas analógicas permiten medir tensiones en un ADC interno multiplexado. Configurarlo sólo requiere crear un periférico de entrada analógica. Tras seleccionar una patilla y un tipo de punto de datos adecuado, selecciona si la tensión bruta debe medirse o asignarse a una unidad. El mapeo a una unidad realiza una conversión lineal a lo largo de un rango definido por el usuario.

[![Muestra una superposición para configurar los periféricos de entrada analógica (ADC). Permite asignar la tensión medida a una unidad.](https://inamata.io/wp-content/uploads/2024/04/Analog-in-peripheral-configuration-180x300.png)](https://inamata.io/wp-content/uploads/2024/04/Analog-in-peripheral-configuration.png)

### Salidas PWM

*Estado: Soporte backend, frontend WIP*

El PWM (
 modulación por ancho de pulsos
 ) permite aproximar las tensiones de salida analógicas. La clavija de salida se enciende y se apaga a alta frecuencia con una relación configurable para aproximarse a una tensión específica cuando se promedia en el tiempo. Se suele utilizar para ajustar el nivel de brillo de los LEDs, así como el nivel de potencia de determinados motores eléctricos. Para configurarlo es necesario crear un periférico de salida PWM. Sólo hay que ajustar el pin y el tipo de punto de datos.

[![Una superposición que muestra la configuración de los periféricos para las salidas PWM. Permite configurar el pin y el tipo de punto de datos.](https://inamata.io/wp-content/uploads/2024/04/Peripheral-properties-overlay_-PWM-Output-198x300.png)](https://inamata.io/wp-content/uploads/2024/04/Peripheral-properties-overlay_-PWM-Output.png)

### Interfaces UART

*Estado:* *Soporte backend, frontend WIP*

La interfaz UART permite enviar y recibir mensajes a y desde otros dispositivos UART. Para configurarlo es necesario crear un periférico adaptador UART. Sobre esta interfaz se pueden añadir otros dispositivos, como el medidor de potencia CSE7766.

[![Muestra una superposición para configurar los periféricos UART. Permite configurar los pines RX y TX, así como la codificación a utilizar.](https://inamata.io/wp-content/uploads/2024/04/Peripheral-properties-overlay_-UART-adapter-198x300.png)](https://inamata.io/wp-content/uploads/2024/04/Peripheral-properties-overlay_-UART-adapter.png)

### Interfaces I2C

*Estado:* *Soporte backend, frontend WIP*

La interfaz I2C permite enviar y recibir mensajes a y desde otros dispositivos I2C. Para configurarlo es necesario crear un periférico adaptador I2C. Sobre esta interfaz se pueden añadir otros dispositivos, como las entradas analógicas ADS1115, los medidores de pH, CE y turbidez Atlas Sensor o los sensores de aire BME280 o BH1750.

[![Muestra una superposición para configurar las interfaces I2C. Permite configurar los pines de reloj (SCL) y datos (SDA).](https://inamata.io/wp-content/uploads/2024/04/Peripheral-properties-overlay_-I2C-interface-198x300.png)](https://inamata.io/wp-content/uploads/2024/04/Peripheral-properties-overlay_-I2C-interface.png)

## Apoyo adicional

Para más información sobre el DevKit ESP32, consulta [la página de introducción de RandomNerdTutorial](https://randomnerdtutorials.com/getting-started-with-esp32/) o pide ayuda en nuestro [foro de soporte](https://inamata.io/forums/forum/support/).
