Inicio/Monitores de Energía/Monitorización de Consumo Eléctrico con ESP32 y Pantalla E-Paper: Proyecto DIY de Bajo Consumo
Monitores de Energía

Monitorización de Consumo Eléctrico con ESP32 y Pantalla E-Paper: Proyecto DIY de Bajo Consumo

Alex R.Escrito por: Alex R.
Fecha: 8 Jul 2026
Lectura de 10 min
Monitorización de Consumo Eléctrico con ESP32 y Pantalla E-Paper: Proyecto DIY de Bajo Consumo

La monitorización del consumo eléctrico se ha convertido en una prioridad para hogares y pequeños negocios que buscan optimizar su eficiencia energética y reducir costes. Con la proliferación de dispositivos IoT y plataformas de código abierto, es posible construir un sistema de medición preciso, de bajo consumo y completamente personalizable utilizando un ESP32 y una pantalla E-Paper. Este artículo te guiará a través de cada etapa del proyecto, desde la selección de componentes hasta la programación y visualización de datos, ofreciendo un análisis técnico profundo y consejos prácticos para maximizar el rendimiento y la autonomía del sistema.

Fundamentos Técnicos: ESP32 y Pantalla E-Paper

El ESP32 es un microcontrolador de Espressif Systems que integra conectividad Wi-Fi y Bluetooth de doble modo, procesador dual-core Tensilica Xtensa LX6 a 240 MHz, y una amplia gama de periféricos. Su consumo energético es notablemente bajo: en modo deep sleep puede consumir apenas 5 µA, lo que lo convierte en el candidato ideal para aplicaciones de monitorización que requieren funcionamiento continuo con baterías o fuentes de energía limitadas. Por su parte, las pantallas E-Paper (o de tinta electrónica) ofrecen una visualización de alto contraste y consumo casi nulo en modo estático, ya que solo requieren energía para actualizar el contenido. Combinando ambas tecnologías, es posible diseñar un medidor de consumo que actualice los datos periódicamente (por ejemplo, cada 10 segundos) y que pueda funcionar durante meses sin recarga.

Principios de Medición de Corriente Alterna

Para medir el consumo eléctrico en un circuito de corriente alterna (CA) se utilizan transformadores de corriente (CT) o sensores de efecto Hall. Los CT, como el SCT-013, son sensores no invasivos que se colocan alrededor de uno de los conductores (fase o neutro) y generan una corriente proporcional a la corriente que circula por el cable. Esta corriente se convierte en un voltaje mediante una resistencia de carga, que luego es leído por el convertidor analógico-digital (ADC) del ESP32. Es importante tener en cuenta que el ESP32 solo puede medir voltajes entre 0 y 3.3V, por lo que se debe ajustar la resistencia de carga y posiblemente añadir un offset de DC para evitar valores negativos. La fórmula básica para calcular la potencia instantánea es P = Vrms * Irms * factor de potencia, donde Vrms es el voltaje eficaz de la red (generalmente 230V en Europa o 120V en América) y Irms es la corriente eficaz medida. Para una monitorización precisa, se recomienda utilizar un sensor de voltaje adicional (como un transformador reductor) para medir el voltaje real y corregir variaciones de la red.

Atención / Advertencia

Trabajar con corriente alterna de la red eléctrica (230V/120V) es peligroso. Aunque los sensores CT son no invasivos, cualquier manipulación del cableado debe realizarse con la instalación desconectada y por personal cualificado. No toques los conductores desnudos ni los conectores mientras el sistema esté energizado. Utiliza siempre fusibles de protección y componentes certificados.

Componentes Necesarios y Esquema de Conexión

Para construir este monitor de consumo necesitarás los siguientes componentes: un ESP32 (modelo ESP32-WROOM-32 o similar), una pantalla E-Paper de 2.9 pulgadas (con controlador SSD1680 o IL3897, interfaz SPI), un sensor de corriente SCT-013-030 (30A máximo, salida 0-1V), una resistencia de carga de 33 ohmios (para el CT), dos resistencias de 10k ohmios (para divisor de voltaje si se mide voltaje), un condensador de 10 µF (para filtrado), una placa de prototipos, cables Dupont, una fuente de alimentación de 5V (o batería LiPo de 3.7V con regulador), y un transformador reductor de 230V a 5V (opcional, para medir voltaje). La conexión básica consiste en conectar el sensor CT a un pin ADC del ESP32 (por ejemplo, GPIO34) a través de la resistencia de carga y el condensador en paralelo para filtrar ruido. La pantalla E-Paper se conecta por SPI: pines VCC a 3.3V, GND a GND, DIN a GPIO23, CLK a GPIO18, CS a GPIO5, DC a GPIO17, RST a GPIO16, BUSY a GPIO4. Si se incluye medición de voltaje, se conecta el transformador reductor a otro pin ADC (GPIO35) con un divisor resistivo para que la salida esté entre 0 y 3.3V.

ComponenteFunciónConexión
ESP32Microcontrolador principalAlimentación 3.3V / 5V vía USB
Pantalla E-Paper 2.9"Visualización de datosSPI: GPIO23,18,5,17,16,4
SCT-013-030Sensor de corrientePin jack a GND y ADC (GPIO34) con R=33Ω y C=10µF

Programación del ESP32: Código Optimizado para Bajo Consumo

El firmware del ESP32 debe realizar tres tareas principales: leer el sensor de corriente, calcular la potencia consumida, y actualizar la pantalla E-Paper con los valores. Para maximizar la eficiencia energética, se utiliza el modo deep sleep entre mediciones. A continuación se presenta un esquema del código en Arduino IDE, utilizando las librerías 'Epaper' (para la pantalla) y 'EmonLib' (para el cálculo de potencia RMS). Se recomienda configurar el ESP32 para que se despierte cada 10 segundos mediante un temporizador RTC, realice la medición, actualice la pantalla (solo si el valor cambia significativamente) y vuelva a dormir. El código debe incluir calibración del sensor CT (valor de calibración típico: 30A/1V = 30). Para una mayor precisión, se pueden tomar múltiples muestras (por ejemplo, 1000 muestras en 1 segundo) y calcular la media cuadrática.

Consejo / Recomendación

Para reducir aún más el consumo, desactiva el Wi-Fi y Bluetooth durante el deep sleep. Si necesitas enviar datos a un servidor (por ejemplo, a Home Assistant o ThingsBoard), programa el ESP32 para que se conecte a la red solo cada hora y envíe un lote de mediciones. Esto alargará la vida de la batería de semanas a meses.

Ejemplo de Código (Fragmento)

El siguiente fragmento muestra la estructura principal del sketch. Se incluye la inicialización de la pantalla, la lectura del sensor, el cálculo de potencia y la actualización de la pantalla. Es importante ajustar los pines según tu conexión.

#include <SPI.h>
#include <Epaper.h>
#include "EmonLib.h"

EnergyMonitor emon1;
Epd epd;

const int sensorPin = 34;
const float voltage = 230.0; // Voltaje nominal
const float calibration = 30.0; // Factor del SCT-013-030

void setup() {
  Serial.begin(115200);
  epd.init();
  epd.clear();
  
  emon1.current(sensorPin, calibration);
  
  // Configurar deep sleep por 10 segundos
  esp_sleep_enable_timer_wakeup(10 * 1000000);
}

void loop() {
  double Irms = emon1.calcIrms(1480); // 1480 muestras
  double power = Irms * voltage;
  
  char buffer[50];
  sprintf(buffer, "%.1f W", power);
  
  // Actualizar pantalla
  epd.displayString(buffer);
  
  // Dormir
  esp_deep_sleep_start();
}

Diseño de la Interfaz en Pantalla E-Paper

La pantalla E-Paper de 2.9 pulgadas tiene una resolución de 296x128 píxeles, ideal para mostrar información textual y gráficos simples. Para una visualización clara, se recomienda diseñar una interfaz que incluya el valor de potencia actual en vatios (W), la energía acumulada en kWh (calculada internamente), y un indicador de estado (por ejemplo, "Medición activa" o "Modo ahorro"). También se puede mostrar un gráfico de barras simple de las últimas 24 horas. Dado que la pantalla E-Paper tiene una tasa de refresco lenta (2-3 segundos), es recomendable actualizarla solo cuando los valores cambien más de un 5% o cada 10 minutos, para evitar el desgaste prematuro y ahorrar energía. La librería GxEPD2 proporciona funciones para dibujar texto, líneas y rectángulos. Se puede utilizar una fuente grande (tamaño 24) para el valor principal y una fuente más pequeña (tamaño 12) para detalles.

1Valor Principal

Muestra la potencia instantánea en vatios (W) con un tamaño de fuente grande (24px) en negrita. Se actualiza cada 10 segundos si hay cambios significativos.

2Energía Acumulada

Calcula la energía total consumida en kWh desde el último reinicio. Se almacena en la RTC del ESP32 para mantener el valor durante deep sleep.

Errores Comunes y Soluciones

Al implementar este proyecto, es frecuente encontrar problemas de precisión en la medición, ruido en la lectura del ADC, o fallos en la comunicación con la pantalla E-Paper. Uno de los errores más comunes es no incluir un filtro paso bajo en la salida del sensor CT, lo que provoca lecturas inestables. La solución es añadir un condensador de 10 µF entre la salida del sensor y GND, y una resistencia de 33 ohmios en serie. Otro problema típico es que la pantalla E-Paper no se actualice correctamente debido a una mala conexión SPI; verifica que los pines coincidan con los definidos en el código y que la alimentación de la pantalla sea de 3.3V estable. Además, el ESP32 puede reiniciarse si el consumo de pico supera la capacidad del regulador de voltaje; utiliza una fuente de alimentación de al menos 500 mA. Por último, la calibración del sensor CT es crucial: si el valor de calibración no es exacto, las lecturas pueden tener un error de hasta el 20%. Se recomienda calibrar con una carga resistiva conocida (por ejemplo, una bombilla de 100W) y ajustar el factor hasta que la lectura coincida.

Atención / Advertencia

No conectes el sensor CT directamente al ESP32 sin la resistencia de carga adecuada. El SCT-013-030 genera una corriente máxima de 1V a 30A, pero sin resistencia la tensión puede superar los 3.3V y dañar el pin ADC. Utiliza una resistencia de 33 ohmios para limitar la tensión a aproximadamente 1V a 30A.

Comparativa de Sensores de Corriente para DIY

Existen varios sensores de corriente en el mercado aptos para proyectos DIY. A continuación se comparan los modelos más populares: SCT-013-030, SCT-013-000 (salida en corriente), y el módulo ACS712 (efecto Hall). Cada uno tiene ventajas y desventajas en términos de precisión, facilidad de uso y consumo.

ModeloTipoRangoPrecisiónConsumoFacilidad
SCT-013-030CT con salida de voltaje0-30ABuena (±1%)PasivoAlta
SCT-013-000CT con salida de corriente0-100AMedia (±3%)PasivoMedia
ACS712Efecto Hall±5A, ±20A, ±30ABuena (±1.5%)Activo (~10mA)Alta

Para este proyecto, el SCT-013-030 es la opción más equilibrada por su precisión, bajo consumo (pasivo) y facilidad de uso. El ACS712 requiere alimentación externa y consume corriente, lo que reduce la autonomía en batería. El SCT-013-000 necesita un circuito de acondicionamiento adicional para convertir la corriente a voltaje.

Preguntas Frecuentes

¿Puedo usar este monitor con paneles solares?
Sí, siempre que el sensor CT se coloque en el cable de fase que va desde el inversor al cuadro eléctrico, o en la línea de carga que quieras monitorizar. Ten en cuenta que la corriente de los paneles solares puede ser continua (DC) si mides antes del inversor; en ese caso necesitarías un sensor de corriente DC como el ACS712. Para corriente alterna después del inversor, el SCT-013-030 funciona perfectamente. Además, puedes modificar el código para medir potencia bidireccional (consumo y generación) usando dos sensores CT o un sensor de efecto Hall con salida bipolar.
¿Cuánto dura la batería con una carga de 2000 mAh?
Depende del ciclo de trabajo. Si el ESP32 se despierta cada 10 segundos, realiza la medición (unos 200 ms) y vuelve a dormir, el consumo medio es aproximadamente: (0.2s * 80mA + 9.8s * 10µA) / 10s ≈ 1.6 mA. Con una batería de 2000 mAh, la duración teórica sería de unas 1250 horas, es decir, unos 52 días. Si además actualizas la pantalla E-Paper cada 10 minutos (consumo adicional de 30 mA durante 3 segundos), el consumo medio aumenta ligeramente, pero sigue siendo viable para varios meses. Para maximizar la duración, utiliza una batería LiPo de alta capacidad y un regulador de baja caída (LDO).
¿Es necesario medir el voltaje o puedo asumir 230V constantes?
Para una precisión aceptable en la mayoría de los casos, asumir un voltaje nominal constante (230V en Europa, 120V en América) es suficiente, ya que las variaciones típicas de la red son de ±10%. Sin embargo, si deseas una precisión superior al 5%, es recomendable medir el voltaje real con un transformador reductor (por ejemplo, un adaptador de 230V a 5V AC) y un divisor resistivo para adaptarlo al rango del ADC. El código puede calcular la potencia instantánea como P = Vrms * Irms, donde Vrms se mide en cada ciclo. Esto también permite detectar caídas de tensión o sobretensiones.
¿Puedo integrar este monitor con Home Assistant?
Sí, es posible. El ESP32 puede enviar los datos de potencia y energía a Home Assistant mediante MQTT o HTTP. Para ello, debes habilitar Wi-Fi en el código (conectándote cada cierto tiempo) y publicar en un tópico MQTT como 'home/energia/potencia'. En Home Assistant, configura un sensor MQTT para recibir los valores. También puedes utilizar la integración ESPHome, que simplifica la configuración y permite OTA. Ten en cuenta que el Wi-Fi consume más energía, por lo que se recomienda enviar datos cada 5-10 minutos y mantener el ESP32 en deep sleep el resto del tiempo.

Conclusiones y Plan de Acción Recomendado

La monitorización del consumo eléctrico con ESP32 y pantalla E-Paper es un proyecto DIY accesible, educativo y extremadamente útil para tomar conciencia del uso de la energía en el hogar. La combinación de un microcontrolador de bajo consumo con una pantalla de tinta electrónica permite crear un dispositivo autónomo que puede funcionar durante meses con baterías, mostrando datos en tiempo real sin necesidad de conexión a la nube. A lo largo de este artículo, hemos cubierto los fundamentos técnicos, la selección de componentes, el esquema de conexión, la programación optimizada, el diseño de la interfaz, y la resolución de problemas comunes. Como plan de acción, te recomendamos comenzar con una versión básica que mida un solo circuito (por ejemplo, el consumo total de la casa) y luego expandir a múltiples sensores para monitorizar electrodomésticos individuales. No olvides calibrar el sensor con una carga conocida y priorizar la seguridad eléctrica en todo momento. Con este proyecto, no solo ahorrarás dinero, sino que también contribuirás a un uso más eficiente de la energía.

Consejo / Recomendación

Si eres principiante, empieza con un kit de desarrollo que incluya el ESP32 y la pantalla E-Paper, y utiliza una fuente de alimentación USB para las primeras pruebas. Una vez que el código funcione correctamente, intégralo con el sensor CT y la batería. Documenta cada paso y comparte tus resultados en foros de DIY; la comunidad siempre está dispuesta a ayudar.

TRANSPARENCIA INFORMATIVA

Este análisis técnico es independiente. No recibimos pagos de fabricantes para alterar valoraciones. Si realizas una compra a través de enlaces en este sitio, podríamos percibir una comisión de afiliación que ayuda a mantener el servidor activo, sin coste extra para ti.